BR112013001351B1 - dispositivo de codificação preditiva de imagem, método de codificação preditiva de imagem, dispositivo de decodificação preditiva de imagem e método de decodificação preditiva de imagem - Google Patents

dispositivo de codificação preditiva de imagem, método de codificação preditiva de imagem, dispositivo de decodificação preditiva de imagem e método de decodificação preditiva de imagem Download PDF

Info

Publication number
BR112013001351B1
BR112013001351B1 BR112013001351-6A BR112013001351A BR112013001351B1 BR 112013001351 B1 BR112013001351 B1 BR 112013001351B1 BR 112013001351 A BR112013001351 A BR 112013001351A BR 112013001351 B1 BR112013001351 B1 BR 112013001351B1
Authority
BR
Brazil
Prior art keywords
prediction
information
region
block
target
Prior art date
Application number
BR112013001351-6A
Other languages
English (en)
Other versions
BR112013001351A2 (pt
Inventor
Yoshinori Suzuki
Junya TAKIUE
Choong Seng Boon
Thiow Keng Tan
Original Assignee
Ntt Docomo, Inc.
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=45496857&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR112013001351(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ntt Docomo, Inc. filed Critical Ntt Docomo, Inc.
Publication of BR112013001351A2 publication Critical patent/BR112013001351A2/pt
Publication of BR112013001351B1 publication Critical patent/BR112013001351B1/pt

Links

Classifications

    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

disposição de codificação de predição de imagem, método de codificação de predição de imagem, programa de codificação de predição de imagem, dispositivo de decodificação de predição de imagem, método de decodificação de predição de imagem, e programa de-codificação de predição de imagem. a presente invenção refere-se a uma região-alvo de codificação em uma imagem que é partcionada em uma pluralidade de regiões de predição. com base em informações de predição de uma vizinha de região vizinha a uma região-alvo, o número de regiões de predição previamente codificadas na região-alvo, e informações de predição previamente codificadas da região-alvo, um candidato a informações de movimento a ser usado na geração de um sinal predito da região de predição-alvo como uma próxima região de predição é selecionado a partir de informações de movimento previamente codificadas de regiões vizinhas à região de predição-alvo. de acordo com o número de candidatos a informações de movimento selecionadas, informações de bloco de fusão para indicar a geração do sinal predito da região de predição-alvo que usa o candidato selecionado para as informações de movimento e informações de movimento detectadas pelo meios de fusão ou das informações de predição, ou uma das informações de bloco de fusão ou das informações de movimento são codificadas. além disso, as informações de movimento a serem usadas na geração do sinal predito da região de predição-alvo são armazenadas nos meios de armazenamento de informações de predição.

Description

DISPOSITIVO DE CODIFICAÇÃO PREDITIVA DE IMAGEM, MÉTODO DE CODIFICAÇÃO PREDITIVA DE IMAGEM, DISPOSITIVO DE DECODIFICAÇÃO PREDITIVA DE IMAGEM E MÉTODO DE DECODIFI-CAÇÃO PREDITIVA DE IMAGEM
CAMPO DA TÉCNICA
Um aspecto da presente invenção refere-se a um dispositivo de codificação preditiva de imagem, a um método de codificação preditiva de imagem, e a um programa de codificação preditiva de imagem. Outro aspecto da presente invenção se refere a um dispositivo de decodificação preditiva de imagem, a um método de decodificação preditiva de imagem, e a um programa de decodificação preditiva de imagem. Particularmente, estes aspectos se referem a um dispositivo de codificação preditiva de imagem, a um método de codificação preditiva de imagem, a um programa de codificação preditiva de imagem, a um dispositivo de decodificação preditiva de imagem, a um método de decodificação preditiva de imagem, e a um programa de decodificação preditiva de imagem para gerar um sinal predito de um bloco alvo utilizando-se informações de movimento de blocos circundantes. Ainda outro aspecto da presente invenção se refere a um dispositivo de codificação de vídeo, a um método de codificação de vídeo, a um programa de codificação de vídeo, a um dispositivo de decodificação de vídeo, a um método de decodificação de vídeo, e a um programa de decodificação de vídeo para gerar um sinal predito com compensação de movimento por um vetor de movimento.
ANTECEDENTES DA TÉCNICA
As tecnologias de codificação por compactação são usadas para transmissão e armazenamento eficientes de imagens estáticas e dados de vídeo. Os sistemas de MPEG-1 a 4 e ITU (União Internacional de Telecomunicações) H.261 a H.264 são comumente usados para dados de vídeo.
Nestes sistemas de codificação, uma imagem que serve como - um alvo de codificação é dividida em uma pluralidade de blocos e, então, se realiza um processo de codificação ou um processo de decodificação. Em codificação preditiva intraquadros, um sinal predito é gerado utilizando-se um sinal de imagem vizinho previamente reconstruído (isto é, um sinal reconstruído a partir de dados de imagem compactados) presentes no mesmo quadro como um bloco alvo e, então, codifica-se um sinal diferencial obtido subtraindo-se o sinal predito de um sinal do bloco alvo. Em codificação preditiva interquadros, realiza-se uma compensação de movimento com referência a um sinal de imagem vizinho previamente reconstruído presente em um quadro diferente de um bloco alvo para gerar um sinal predito, e codifica-se um sinal de diferença obtido subtraindo-se o sinal predito de um sinal do bloco alvo.
Por exemplo, a codificação preditiva intraquadros de H.264 emprega um método para gerar o sinal predito extrapolando-se os valores de pixel previamente reconstruídos vizinhos a um bloco que serve como um alvo de codificação, em uma direção predeterminada. A Figura 22 é um diagrama esquemático que serve para explicar o método de predição intraquadros usado em ITU H.264. Em (A) da Figura 22, o bloco alvo 802 é um bloco que serve como um alvo de codificação, e um grupo de pixel 801 que consiste em pixels Pa-Pl vizinhos a um limite do bloco alvo 802 é uma região vizinha, que consiste em um sinal de imagem previamente reconstruído em um processamento passado.
No caso mostrado em (A) da Figura 22, o sinal predito é gerado estendendo-se para baixo o grupo de pixel 801 que inclui pixels vizinhos localizados imediatamente acima do bloco alvo 802. No caso mostrado em (B) da Figura 22, o sinal predito é gerado estendendo-se para direita os pixels previamente reconstruídos (Pi-Pl) localizados à esquerda do bloco alvo 804. Descrevem-se métodos específicos para geração do sinal predito, por e-xemplo, na Literatura de Patente 1. Calcula-se uma diferença entre cada um dos nove sinais preditos gerados pelos métodos mostrados em (A) a (I) da Figura 22 da maneira descrita anteriormente, e o sinal de pixel do bloco alvo, e o sinal predito com a menor diferença é selecionado como um sinal predito ótimo. Conforme descrito anteriormente, o sinal predito pode ser gerado por extrapolação de pixels. Os conteúdos anteriores são descritos na Literatura de Patente 1 abaixo.
Em uma codificação preditiva interquadros típica, o sinal predito para um bloco que serve como um alvo de codificação é gerado por um método de buscar imagens previamente reconstruídas para um sinal similar a um sinal de pixel do bloco alvo. Um vetor de movimento que consiste em uma quantidade de deslocamento espacial entre o bloco alvo e uma região composta pelo sinal detectado, e um sinal residual entre o sinal de pixel do bloco alvo e o sinal predito são, então, codificados. A técnica de busca por um vetor de movimento para cada bloco conforme descrito anteriormente é denominada como correspondência de bloco. A Figura 21 é um diagrama esquemático que serve para explicar um processo de correspondência de bloco. Abaixo, descreve-se um procedimento para gerar um sinal predito para um exemplo de bloco alvo 702 em uma imagem de alvo de codificação 701. A imagem 703 é uma imagem previamente reconstruída e a região 704 é uma região localizada espacialmente na mesma posição do bloco alvo 702. Na correspondência de blocos, uma faixa de busca 705 ao redor da região 704 é ajustada e uma região 706 para minimizar a soma de erros absolutos do sinal de pixel do bloco alvo 702 é detectada a partir de um sinal de pixel desta faixa de busca. O sinal desta região 706 é determinado como sendo um sinal predito, e uma quantidade de deslocamento a partir da região 704 até a região 706 é detectada como um vetor de movimento 707. Emprega-se, também, um método para preparar uma pluralidade de imagens de referência 703, selecionar uma imagem de referência a ser usada na correspondência de blocos para cada bloco alvo, e detectar informações de seleção de imagem de referência. Em H.264, prepara-se uma pluralidade de tipos de predição de diferentes tamanhos de bloco para codificação de vetores de movimento, com a finalidade de adaptar alterações de recurso local de imagens. Os tipos de predição de H.264 são descritos, por exemplo, na Literatura de Patente 2.
Em codificação por compactação de dados de vídeo, uma ordem de codificação de imagens (quadros ou campos) pode ser opcional. Por esta razão, existem três tipos de técnicas sobre a ordem de codificação na predi-ção interquadros para gerar o sinal predito com referência a imagens previamente reconstruídas. A primeira técnica é a predição progressiva para gerar o sinal predito com referência a uma imagem passada previamente reconstruída em uma ordem de reprodução, a segunda técnica é a predição regressiva para gerar o sinal predito com referência a uma imagem futura previamente reconstruída na ordem de reprodução, e a terceira técnica é a predição bidirecional para realizar tanto a predição progressiva como a predição regressiva e calcular a média dos dois sinais preditos. Os tipos de pre-dições interquadros são descritos, por exemplo, na Literatura de Patente 3.
Em HEVC (codificação de vídeo de alta eficiência) sob padronização como um sistema de codificação de vídeo de próxima geração, a introdução de divisões assimétricas conforme mostrado em (E) a (F) da Figura 20 também está em análise, além das bissecções retangulares mostradas em (B) e (C) da Figura 20 e o corte em quadrados mostrada em (D) da Figura 20, como tipos de divisão de um bloco de predição. Em HEVC, uma técnica adicional em análise consiste em usar informações de movimento (o vetor de movimento, as informações de imagem de referência, e o modo de predição interquadros para identificar a predição progressi-va/regressiva/bidirecional) de um bloco adjacente a um bloco de predição-alvo que serve como um alvo de predição, na ocasião de gerar o sinal predito do bloco de predição dividido desta maneira. Esta técnica de predição é denominada como fusão de blocos e é caracterizada por permitir uma codificação eficiente de informações de movimento. (A) da Figura 2 é um desenho que ilustra, de modo esquemático, blocos vizinhos em fusão de blocos com o bloco de predição T1 gerado por uma divisão vertical do bloco de codificação 400. O sinal predito do bloco de predição T1 é gerado utilizando-se 1) informações de movimento do bloco vizinho A, 2) informações de movimento do bloco vizinho B, ou 3) informações de movimento detectadas em correspondência de blocos. Por exemplo, quando um codificador selecionar as informações de movimento do bloco vizinho A, o codificador primeiramente ajusta as informações de identificação de fusão (merge_flag) indicativas do uso de informações de movimento do bloco vizinho para "merge_flag=1" e transmite as informações de identificação de fusão (merge_flag) a um deco-dificador. Em segundo ligar, o codificador ajusta as informações de seleção de bloco de fusão (merge_flag_left) indicativas do uso do bloco vizinho A dentre o bloco vizinho A e o bloco vizinho B, para "merge_flag_left=1" e transmite as informações de seleção de bloco de fusão (merge_flag_left) ao decodificador. O decodificador, que recebe as duas partes de informações, pode identificar que o sinal predito do bloco de predição-alvo deve ser gerado utilizando-se as informações de movimento do bloco vizinho A. De modo similar, quando o decodificador receber "merge_flag=1" e "mer-ge_flag_left=O" (seleção do bloco vizinho B), este pode identificar que o sinal predito do bloco de predição-alvo deve ser gerado utilizando-se as informações de movimento do bloco vizinho B; quando ele receber "merge_flag=O," ele pode identificar que o mesmo deve receber, ainda, as informações de movimento a partir do codificador, e restaurar as informações de movimento do bloco de predição-alvo. A fusão de blocos descrita no presente documento é descrita na Literatura de Não Patente 1.
Na predição interquadros em padrões como MPEG-1, 2 e MPEG-4, cada imagem é dividida em um conjunto de blocos retangulares sem uma sobreposição entre eles e um vetor de movimento é associado a cada um dos blocos. O vetor de movimento é aquele obtido por busca de movimento para cada bloco e representa um deslocamento horizontal e um deslocamento vertical de um bloco atual a partir de um segundo bloco usado para predição do sinal de imagem do bloco atual. A Literatura de Patente 4 abaixo descreve um método para realizar uma predição de compensação de movimento com uma precisão maior em situações onde existe um limite de movimento em uma direção obliqua em um bloco. Este método serve, ainda, para dividir um bloco em subparti-ções não retangulares e realizar uma predição compensada por movimento para cada uma das subpartições. A Literatura de Patente 5 abaixo descreve um método de dividir, ainda, um bloco em pequenas subpartições retangulares e realizar uma predição de compensação de movimento para cada uma das subpartições. Neste método, para codificação de um vetor de movimento de uma subparti-ção de alvo de processamento, um vetor de movimento predito é gerado a partir de um vetor de movimento de um bloco estando em contato com a subpartição de alvo de processamento e localizado anterior em uma ordem de processamento à subpartição, e uma diferença entre o vetor de movimento da subpartição de alvo de processamento e o vetor de movimento predito, isto é, codifica-se apenas um vetor de movimento diferencial. Neste método, se a subpartição de alvo de processamento não tiver contato com um bloco anterior em ordem de processamento, o vetor de movimento predito da subpartição de alvo de processamento é gerado a partir de um vetor de movimento de outra subpartição anterior em ordem de processamento no bloco que inclui a subpartição de alvo de processamento.
Lista de Citação Literatura de Patente Literatura de Patente 1: Patente U.S. No. 6.765.964 Literatura de Patente 2: Patente U.S. No. 7.003.035 Literatura de Patente 3: Patente U.S. No. 6.259.739 Literatura de Patente 4: Pedido de Patente Japonesa Aberta à Inspeção Pública No. 2005-277968 Literatura de Patente 5: Pedido de Patente Japonesa Aberta à Inspeção Pública No. 2009-246972 Literatura de Não Patente Literatura de Não Patente 1: Modelo de Teste sob Consideração, Joint Coliaborative Team on Video Coding (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTCIISC29/WG11, 1st Meeting: Dresden, DE, 15 a 23 de abril de 2010, Documento: JCTVC-A205 SUMÁRIO DA INVENÇÃO
Problema da Técnica Na Literatura de Não Patente 1 acima, os candidatos para informações de movimento a serem usadas em fusão de blocos de uma plurali- dade de blocos de predição resultantes da divisão de um bloco de codificação alvo que serve como um alvo de codificação são selecionados pelo mesmo método, independentemente dos blocos de predição e situações adjacentes. Por esta razão, por exemplo, conforme mostrado na Figura (B) da Figura 2, os candidatos para informações de movimento na geração do sinal predito de bloco de predição T2 incluem as informações de movimento de bloco de predição T1 no mesmo bloco de codificação. O tipo de divisão de bloco de predição que consiste em um bloco de predição T1 e em um bloco de predição T2 é preparado sob a hipótese de que os sinais preditos dos dois blocos são gerados utilizando-se diferentes partes de informações de movimento. Portanto, é desfavorável que as informações de movimento de bloco de predição T1 estejam incluídas nos candidatos para informações de movimento de bloco de predição T2. Isto é, pode resultar em uma codificação ineficaz.
Portanto, um objetivo da presente invenção, em alguns aspectos, consiste em proporcionar um dispositivo de codificação preditiva de i-magem, um método de codificação preditiva de imagem, um programa de codificação preditiva de imagem, um dispositivo de decodificação preditiva de imagem, um método de decodificação preditiva de imagem, e um programa de decodificação preditiva de imagem nos quais candidatos para informações de movimento a serem usadas na geração do sinal predito do bloco de predição-alvo são selecionados com base em informações de predição previamente codificadas ou decodificadas (informações de movimento e tipo de divisão de bloco de predição) do bloco de codificação alvo e blocos de codificação circundantes, para suprimir a ocorrência de codificação ineficiente. Isto é, nestes aspectos, o objetivo da presente invenção consiste em proporcionar um dispositivo de codificação preditiva de imagem, um método de codificação preditiva de imagem, um programa de codificação preditiva de imagem, um dispositivo de decodificação preditiva de imagem, um método de decodificação preditiva de imagem, e um programa de decodificação preditiva de imagem capazes de alcançar um aperfeiçoamento na eficiência de codificação.
Adicionalmente, existem métodos para realizar a predição de compensação de movimento para cada uma das subpartições obtidas pela divisão de um bloco alvo de processamento, conforme descrito na Literatura de Patente 4 ou na Literatura de Patente 5. Nesta predição de compensação de movimento, é preferível gerar o vetor de movimento predito para cada subpartição, com base em um vetor de movimento de um bloco anterior na ordem de processamento a uma subpartição alvo de processamento, e codificar apenas o vetor de movimento diferencial entre o vetor de movimento da subpartição e o vetor de movimento predito, em termos de quantidade de código. A Figura 23 é um desenho que serve para explicar a predição de compensação de movimento. Conforme mostrado na Figura 23, um bloco alvo de processamento P pode ter uma subpartição SP 1 em contato com pelo menos um bloco CP anteriormente em uma ordem de processamento ao bloco P, e uma subpartição SP2 não tendo contato com o bloco CP. Um vetor de movimento V2 de tal subpartição SP2 é codificado conforme ele se encontra, sem o uso do vetor de movimento predito, no método descrito na Literatura de Patente 4. Este método é equivalente a um método de ajustar o vetor de movimento predito para um vetor zero.
Por outro lado, no método descrito na Literatura de Patente 5, um vetor de movimento predito de subpartição SP2 é gerado a partir do vetor de movimento V 1 da subpartição SP1 sendo outra subpartição no bloco P e estando anterior na ordem de processamento à subpartição SP2. No entanto, o vetor de movimento da subpartição SP1 e o vetor de movimento da subpartição SP2 são originalmente considerados como sendo diferentes entre si. Portanto, o método descrito na Literatura de Patente 5 pode falhar em codificar eficientemente o vetor de movimento da subpartição SP2.
Portanto, é um objetivo da presente invenção, em alguns outros aspectos, proporcionar um dispositivo de codificação de vídeo, um método de codificação de vídeo, e um programa de codificação de vídeo capazes de alcançar um aperfeiçoamento na eficiência de codificação e um dispositivo de decodificação de vídeo, um método de decodificação de vídeo, e um pro- grama de decodificação de vídeo correspondentes à codificação de vídeo. Solução ao Problema O primeiro aspecto da presente invenção se refere à codificação preditiva de imagem.
Um dispositivo de codificação preditiva de imagem de acordo com o primeiro aspecto da presente invenção compreende: um meio de divisão de região que divide uma imagem de entrada em uma pluralidade de regiões; um meio de estimação de informações de predição, que subdivide uma região-alvo que serve como um alvo de codificação resultante da divisão pelo meio de divisão de região em uma pluralidade de regiões de predição, que determina um tipo de divisão de bloco de predição que indica um número e os formatos de região das regiões de predição adequadas para a região-alvo, que prediz informações de movimento para aquisição de cada um dos sinais altamente correlacionados às respectivas regiões de predição a partir de um sinal previamente reconstruído, e que obtém informações de predição contendo o tipo de divisão de bloco de predição e as informações de movimento; um meio de codificação de informações de predição que codifica as informações de predição associadas à região-alvo; um meio de geração de sinal predito que gera um sinal predito da região-alvo, com base nas informações de predição associadas à região-alvo; um meio de geração de sinal residual que gera um sinal residual com base no sinal predito da região-alvo e um sinal de pixel da região-alvo; um meio de codificação de sinal residual que codifica o sinal residual gerado pelo meio de geração de sinal residual; um meio de restauração de sinal residual que decodifica os dados codificados do sinal residual para gerar um sinal residual reconstruído; e um meio de gravação que adiciona o sinal predito ao sinal residual reconstruído para gerar um sinal de pixel restaurado da região-alvo, e que armazena o sinal de pixel restaurado como o sinal previamente reconstruído. O meio de codificação de informações de predição é configurado da seguinte forma: o meio de codificação de informações de predição tem um meio de armazenamento de informações de predição que armazena as informações de predição previamente codificadas; o meio de codificação de informações de predição codifica o tipo de divisão de bloco de predição da região-alvo e armazena o tipo de divisão de bloco de predição no meio de armazenamento de informações de predição; com base: nas informações de predição de uma região vizinha adjacente à região-alvo, no número de regiões de predição previamente codificadas na região-alvo, e nas informações de predição previamente codificadas da região-alvo; o meio de codificação de informações de predição seleciona um candidato para informações de movimento a serem usadas na geração de um sinal predito de uma região de predição-alvo que serve como uma próxima região de predição, a partir das informações de movimento previamente codificadas de uma região vizinha à região de predição-alvo; de acordo com o número de candidatos para as informações de movimento selecionadas, o meio de codificação de informações de predição codifica informações de bloco de fusão indicativas da geração do sinal predito da região de predição-alvo utilizando-se o candidato selecionado para informações de movimento e as informações de movimento detectadas pelo meio de estimação de informações de predição, ou codifica as informações de bloco de fusão ou as informações de movimento, e armazena as informações de movimento a serem usadas na geração do sinal predito da região de predição-alvo, no meio de armazenamento de informações de predição.
Um método de codificação preditiva de imagem de acordo com o primeiro aspecto da presente invenção compreende: uma etapa de divisão de região para dividir uma imagem de entrada em uma pluralidade de regiões; uma etapa de estimação de informações de predição para subdividir í uma região-alvo que serve como um alvo de codificação resultante da divisão na etapa de divisão de região, em uma pluralidade de regiões de predição, determinar um tipo de divisão de bloco de predição que indica um número e formatos de região das regiões de predição adequadas para a região-alvo, estimar as informações de movimento para aquisição de cada um dos sinais altamente correlacionados às respectivas regiões de predição, a partir de um sinal previamente reconstruído, e obter informações de predição contendo o tipo de divisão de bloco de predição e as informações de movi- mento; uma etapa de codificação de informações de predição para codificar as informações de predição associadas à região-alvo; uma etapa de geração de sinal predito para gerar um sinal predito da região-alvo, com base nas informações de predição associadas à região-alvo; uma etapa de geração de sinal residual para gera um sinal residual com base no sinal predito da região-alvo e um sinal de pixel da região-alvo; uma etapa de codificação de sinal residual para codificar o sinal residual gerado na etapa de geração de sinal residual; uma etapa de restauração de sinal residual para decodificar dados codificados do sinal residual para gerar um sinal residual reconstruído; e uma etapa de gravação para adicionar o sinal predito ao sinal residual reconstruído para gerar um sinal de pixel restaurado da região-alvo, e armazenar o sinal de pixel restaurado como o sinal previamente reconstruído. A e-tapa de codificação de informações de predição é configurada da seguinte forma: a etapa de codificação de informações de predição compreende codifica o tipo de divisão de bloco de predição da região-alvo e armazena o tipo de divisão de bloco de predição no meio de armazenamento de informações de predição que armazena informações de predição previamente codificadas; a etapa de codificação de informações de predição compreende, com base nas informações de predição de uma região vizinha adjacente à região-alvo, o número de regiões de predição previamente codificadas na região-alvo, e as informações de predição previamente codificadas da região-alvo, selecionar um candidato para informações de movimento a serem usadas na geração de um sinal predito de uma região de predição-alvo que serve como uma próxima região de predição, a partir das informações de movimento previamente codificadas de uma região vizinha à região de predição-alvo; a etapa de codificação de informações de predição compreende, de acordo com o número de candidatos para informações de movimento selecionadas, codificar informações de bloco de fusão indicativas da geração do sinal predito da região de predição-alvo utilizando-se o candidato selecionado para informações de movimento e as informações de movimento detectadas na etapa de estimação de informações de predição, ou codificar as informações de bloco de fusão ou as informações de movimento, e armazenar as infor- mações de movimento a serem usadas na geração do sinal predito da região de predição-alvo, no meio de armazenamento de informações de predição.
Um programa de codificação preditiva de imagem de acordo com o primeiro aspecto da presente invenção faz com que um computador funcione como cada um dos meios do dispositivo de codificação preditiva de imagem descrito anteriormente.
De acordo com o primeiro aspecto da presente invenção, o candidato para informações de movimento a serem usadas na geração do sinal predito do bloco de predição-alvo é selecionado com base nas informações de predição previamente codificadas (nas informações de movimento e no tipo de divisão de bloco de predição) do bloco de codificação alvo e dos blocos de codificação adjacentes, que suprimem a ocorrência de uma codificação ineficaz.
Em uma modalidade, com base no número de regiões de predição previamente codificadas na região-alvo, o tipo de divisão de bloco de predição da região-alvo, e o tipo de divisão de bloco de predição da região vizinha adjacente à região-alvo, o candidato para informações de movimento da região de predição-alvo que serve como a próxima região de predição pode ser selecionado a partir das informações de movimento previamente codificadas da região adjacente à região de predição-alvo.
Em uma modalidade, com base no número de regiões de predição previamente codificadas na região-alvo e no tipo de divisão de bloco de predição da região-alvo, o candidato para informações de movimento da região de predição-alvo que serve como a próxima região de predição pode ser selecionado a partir das informações de movimento previamente codificadas da região adjacente à região de predição-alvo; quando a região-alvo for dividida em duas regiões de predição e quando a região de predição-alvo for uma região de predição a ser codificada em segundo lugar na região-alvo, as informações de movimento de uma região que seja adjacente à região de predição-alvo e que não seja incluída na região-alvo podem ser selecionadas como o candidato para informações de movimento a serem usadas na geração do sinal predito da região de predição-alvo.
Em uma modalidade, com base no número de regiões de predição previamente codificadas na região-alvo, no tipo de divisão de bloco de predição da região-alvo, nas informações de movimento previamente codificadas na região-alvo, e nas informações de movimento da região vizinha adjacente à região-alvo; o candidato para informações de movimento a serem usadas na geração do sinal predito da região de predição-alvo que serve como a próxima região de predição pode ser selecionado a partir das informações de movimento previamente codificadas da região adjacente à região de predição-alvo; quando a região-alvo for dividida em duas regiões de predição, quando a região de predição-alvo for uma região de predição a ser codificada em segundo lugar na região-alvo, e quando as informações de movimento da região de predição codificada primeiramente na região-alvo forrem iguais às informações de movimento de uma região que seja adjacente à região de predição-alvo e que não seja incluída na região-alvo, pode-se determinar que as informações de movimento da região adjacente à região de predição-alvo não são usadas na geração do sinal predito da região de predição-alvo, e as informações de movimento podem ser codificadas. O segundo aspecto da presente invenção se refere à decodificação preditiva de imagem.
Um dispositivo de decodificação preditiva de imagem de acordo com o segundo aspecto da presente invenção compreende: um meio de análise de dados que extrai, a partir de dados compactados de uma imagem resultante da divisão em uma pluralidade de regiões, e codifica: dados codificados de informações de predição para indicar um método de predição a ser usado na predição de um sinal de uma região-alvo que serve como um alvo de decodificação, os dados codificados de um sinal predito da região-alvo, e os dados codificados de um sinal residual; um meio de decodificação de informações de predição que decodifica os dados codificados das informações de predição para restaurar um tipo de divisão de bloco de predição que indica um número e formatos de região das regiões de predição que são regiões subdivididas da região-alvo, e informações de movimento para aquisição de cada um dos sinais preditos das respectivas regiões de predição a partir de um sinal previamente reconstruído; um meio de geração de sinal predito que gera o sinal predito da região-alvo, com base nas informações de predição associadas à região-alvo; um meio de restauração de sinal residual que restaura um sinal residual reconstruído da região-alvo a partir dos dados codificados do sinal residual; e um meio de gravação que adiciona o sinal predito ao sinal residual reconstruído para restaurar um sinal de pixel da região-alvo, e que armazena o sinal de pixel como o sinal previamente reconstruído. O meio de decodificação de informações de predição é configurado da seguinte forma; o meio de decodificação de informações de predição tem um meio de armazenamento de informações de predição que armazena informações de predição previamente decodificadas; o meio de decodificação de informações de predição decodifica o tipo de divisão de bloco de predição da região-alvo e armazena o tipo de divisão de bloco de predição no meio de armazenamento de informações de predição; com base nas informações de predição de uma região vizinha adjacente à região-alvo, no número de regiões de predição previamente decodificadas na região-alvo, e nas informações de predição previamente decodificadas da região-alvo, o meio de decodificação de informações de predição seleciona um candidato para informações de movimento a serem usadas na geração de um sinal predito de uma região de predição-alvo como uma próxima região de predição, a partir das informações de movimento previamente decodificadas de uma região adjacente à região de predição-alvo; de acordo com o número de candidatos para as informações de movimento selecionadas, o meio de decodificação de informações de predição decodifica as informações de bloco de fusão indicativas da geração do sinal predito da região de predição-alvo utilizando-se o candidato selecionado para as informações de movimento e as informações de movimento, ou decodifica as informações de bloco de fusão ou as informações de movimento, e armazena as informações de movimento a serem usadas na geração do sinal predito da região de predição-alvo, e no meio de armazenamento de informações de predição.
Um método de decodificação preditiva de imagem de acordo com o segundo aspecto da presente invenção compreende: uma etapa de análise de dados para extrair, a partir dos dados compactados de uma imagem resultante da divisão em uma pluralidade de regiões e codifica: dados codificados de informações de predição para indicar um método de predição a ser usado na predição de um sinal de uma região-alvo que serve como um alvo de decodificação, os dados codificados de um sinal predito da região-alvo, e os dados codificados de um sinal residual; uma etapa de decodificação de informações de predição para decodificar os dados codificados das informações de predição para restaurar um tipo de divisão de bloco de predição que indica um número e formatos de região das regiões de predição que são regiões subdivididas da região-alvo, e as informações de movimento para aquisição de cada um dos sinais preditos das respectivas regiões de predição a partir de um sinal previamente reconstruído; uma etapa de geração de sinal predito para gerar o sinal predito da região-alvo, com base nas informações de predição associadas à região-alvo; uma etapa de restauração de sinal residual para restaurar um sinal residual reconstruído da região-alvo a partir dos dados codificados do sinal residual; e uma etapa de gravação para adicionar o sinal predito ao sinal residual reconstruído para restaurar um sinal de pixel da região-alvo, e armazenar o sinal de pixel como o sinal previamente reconstruído. A etapa de decodificação de informações de predição é configurada da seguinte forma: a etapa de decodificação de informações de predição compreende decodificar o tipo de divisão de bloco de predição da região-alvo e armazenar o tipo de divisão de bloco de predição como as informações de predição previamente decodificadas no meio de armazenamento de informações de predição que armazena as informações de predição previamente decodificadas; a etapa de decodificação de informações de predição compreende com base: nas informações de predição de uma região vizinha adjacente à região-alvo, no número de regiões de predição previamente decodificadas na região-alvo, e nas informações de predição previamente decodificadas da região-alvo; selecionar um candidato para informações de movimento a serem usadas na geração de um sinal predito de uma região de predição-alvo que serve como a próxima região de predição, a partir das informações de movimento previamente decodificadas de uma região adjacente à região de predição-alvo; e a etapa de decodificação de informações de predição compreende, de acordo com o número de candidatos para informações de movimento selecionadas, decodificar as informações de bloco de fusão indicativas da geração do sinal predito da região de predição-alvo utilizando-se o candidato selecionado para as informações de movimento e as informações de movimento, ou decodificar as informações de bloco de fusão ou as informações de movimento, e armazenar as informações de movimento a serem usadas na geração do sinal predito da região de predição-alvo no meio de armazenamento de informações de predição.
Um programa de decodificação preditiva de imagem de acordo com o segundo aspecto da presente invenção faz com que um computador funcione como cada um dos meios do dispositivo de decodificação preditiva de imagem descrito anteriormente.
De acordo com o segundo aspecto da presente invenção, uma imagem pode ser decodificada a partir dos dados compactados gerados pela codificação preditiva de imagem supramencionada.
Em uma modalidade, com base no número de regiões de predição previamente decodificadas na região-alvo, no tipo de divisão de bloco de predição da região-alvo, e no tipo de divisão de bloco de predição da região vizinha adjacente à região-alvo, o candidato para informações de movimento da região de predição-alvo que serve como a próxima região de predição pode ser selecionado, a partir das informações de movimento previamente decodificadas da região adjacente à região de predição-alvo.
Em uma modalidade, com base no número de regiões de predição previamente decodificadas na região-alvo e no tipo de divisão de bloco de predição da região-alvo, o candidato para informações de movimento a serem usadas na geração do sinal predito da região de predição-alvo que serve como a próxima região de predição pode ser selecionado a partir das informações de movimento previamente decodificadas da região adjacente à região de predição-alvo; quando a região-alvo for dividida em duas regiões de predição e quando a região de predição-alvo for um região de predição a ser decodificada em segundo lugar na região-alvo, as informações de movimento de uma região que seja adjacente à região de predição-alvo e que não seja incluída na região-alvo podem ser selecionadas como o candidato para as informações de movimento da região de predição-alvo.
Em uma modalidade, com base no número de regiões de predição previamente decodificadas na região-alvo, no tipo de divisão de bloco de predição da região-alvo, na região de movimento previamente decodificada na região-alvo, e nas informações de movimento da região vizinha adjacente à região-alvo, pode-se selecionar o candidato para as informações de movimento a serem usadas na geração do sinal predito da região de predição-alvo que serve como a próxima região de predição, a partir das informações de movimento previamente decodificadas da região adjacente à região de predição-alvo; quando a região-alvo for dividida em duas regiões de predição, quando a região de predição-alvo for uma região de predição a ser decodificada em segundo lugar na região-alvo, e quando as informações de movimento da região de predição decodificada em primeiro lugar na região-alvo forem iguais às informações de movimento de uma região que seja adjacente à região de predição-alvo e que não seja incluída na região-alvo; pode-se determinar que as informações de movimento da região adjacente à região de predição-alvo não são usadas na geração do sinal predito da região de predição-alvo, e as informações de movimento podem ser decodificadas. O terceiro aspecto da presente invenção se refere à codificação de vídeo.
Um dispositivo de codificação de vídeo de acordo com o terceiro aspecto compreende um meio de divisão, um meio de geração de subpartição, um meio de detecção de movimento, um meio de geração de sinal predito, um meio de predição de movimento, um meio de geração de vetor de movimento diferencial, um meio de geração de sinal residual, um meio de adição, um meio de armazenamento, e um meio de codificação. O meio de divisão divide uma imagem de entrada em uma sequência de vídeo em uma pluralidade de partições. O meio de geração de subpartição particiona uma partição de alvo de processamento gerada pelo meio de divisão, em uma pluralidade de subpartições e gera informações de formato para especificar os formatos das subpartições. O meio de detecção de movimento detecta um vetor de movimento da partição de alvo de processamento. O meio de geração de sinal predito gera um sinal predito da partição de alvo de processamento a partir de um sinal de imagem previamente reconstruído, utilizando-se o vetor de movimento detectado pelo meio de detecção de movimento. O meio de predição de movimento gera um vetor de movimento predito da partição de alvo de processamento, com base nas informações de formato geradas pelo meio de geração de subpartição e um vetor de movimento de uma região parcial previamente processada. A região parcial previamente processada pode ser uma partição ou uma subpartição anterior em uma ordem de processamento à partição de alvo de processamento. O meio de geração de vetor de movimento diferencial gera um vetor de movimento diferencial, com base em uma diferença entre o vetor de movimento usado na geração do sinal predito da partição de alvo de processamento e o vetor de movimento predito. O meio de geração de sinal residual gera um sinal residual com base em uma diferença entre o sinal predito e um sinal de pixel da partição de alvo de processamento. O meio de adição adiciona o sinal residual ao sinal predito para gerar um sinal de imagem reconstruído. O meio de armazenamento armazena o sinal de imagem reconstruído como um sinal de imagem previamente reconstruído. O meio de codificação codifica: o sinal residual gerado pelo meio de geração de sinal residual, o vetor de movimento diferencial gerado pelo meio de geração de vetor diferencial, e as informações de formato geradas pelo meio de geração de subpartição; para gerar dados compactados. Quando uma subpartição de alvo de processamento na partição de alvo de processamento não tiver contato com uma partição anterior em ordem de processamento à subpartição de alvo de processamento, o meio de predição de movimento gera um vetor de movimento predito da subpartição de alvo de processamento, com base em um vetor de movimento de uma região parcial previamente processada pertencente a um domínio que também contém a subpartição de alvo de processamento ou outro do- mínio. Este e outro domínio podem ser divididos por uma linha de extensão de um limite entre a subpartição de alvo de processamento e outra subpartição na partição de alvo de processamento.
Um método de codificação de vídeo de acordo com o terceiro aspecto compreende: (a) uma etapa de divisão para dividir uma imagem de entrada a partir de uma sequência de vídeo em uma pluralidade de partições; (b) uma etapa de geração de subpartição para particionar uma partição de alvo de processamento gerada na etapa de divisão, em uma pluralidade de subpartições e gerar informações de formato para especificar os formatos das subpartições; (c) uma etapa de detecção de movimento para detectar um vetor de movimento da partição de alvo de processamento; (d) uma etapa de geração de sinal predito para gerar um sinal predito da partição de alvo de processamento a partir de um sinal de imagem previamente reconstruído, utilizando-se o vetor de movimento detectado na etapa de detecção de movimento; (e) uma etapa de predição de movimento para gerar um vetor de movimento predito da partição de alvo de processamento, com base nas informações de formato geradas na etapa de geração de subpartição e um vetor de movimento de uma região parcial previamente processada como uma partição ou uma subpartição anterior em uma ordem de processamento à partição de alvo de processamento; (f) uma etapa de geração de vetor de movimento diferencial para gerar um vetor de movimento diferencial, com base em uma diferença entre o vetor de movimento usado na geração do sinal predito da partição de alvo de processamento e o vetor de movimento predito; (g) uma etapa de geração de sinal residual para gerar um sinal residual com base em uma diferença entre o sinal predito e um sinal de pixel da partição de alvo de processamento; (h) uma etapa de adição para adicionar o sinal residual ao sinal predito para gerar um sinal de imagem reconstruído; (i) uma etapa de armazenamento para armazenar o sinal de imagem reconstruído como um sinal de imagem previamente reconstruído; e (j) uma etapa de codificação para codificar: o sinal residual gerado na etapa de geração de sinal residual, o vetor de movimento diferencial gerado na etapa de geração de vetor de movimento diferencial, e as informações de formato geradas na etapa de geração de subpartição; para gerar dados compactados. Quando uma subpartição de alvo de processamento na partição de alvo de processamento não tiver contato com uma partição anterior em ordem de processamento à subpartição de alvo de processamento, a etapa de predição de movimento compreende gerar um vetor de movimento predito da subpartição de alvo de processamento, com base em um vetor de movimento de uma região parcial previamente processada que pertence a um domínio contendo a subpartição de alvo de processamento ou outro domínio. Este e outro domínio podem ser divididos por uma linha de extensão de um limite entre a subpartição de alvo de processamento e outra subpartição na partição de alvo de processamento.
Um programa de codificação de vídeo de acordo com o terceiro aspecto faz com que um computador funcione como cada um dos meios do dispositivo de codificação de vídeo descrito anteriormente. O domínio que inclui uma subpartição não tendo contanto com uma partição anterior em ordem de processamento, dentre os dois domínios definidos pela linha de extensão supramencionada do limite, tem grande probabilidade de ter um movimento similar a um movimento da subpartição. Portanto, de acordo com o terceiro aspecto, a precisão do vetor de movimento predito aperfeiçoa, o valor do vetor de movimento diferencial se torna menor, e o vetor de movimento é codificado com uma quantidade de código menor. Portanto, aperfeiçoa-se a eficiência de codificação. O quarto aspecto da presente invenção se refere à decodificação de vídeo.
Um dispositivo de decodificação de vídeo de acordo com o quarto aspecto compreende um meio de decodificação, um meio de predição de movimento, um meio de adição de vetor, um meio de geração de sinal predito, um meio de adição, e um meio de armazenamento. O meio de decodificação decodifica dados compactados para gerar um sinal residual reconstruído de uma partição de alvo de processamento em uma imagem, um vetor de movimento diferencial da partição de alvo de processamento, e informações de formato para especificar os formatos de uma pluralidade de subpar- tições na partição de alvo de processamento. O meio de predição de movimento gera um vetor de movimento predito da partição de alvo de processamento, com base nas informações de formato e um vetor de movimento de uma região parcial previamente processada que consiste em uma partição ou em uma subpartição anterior em uma ordem de processamento à partição de alvo de processamento. O meio de adição de vetor adiciona o vetor de movimento predito gerado pelo meio de predição de movimento, ao vetor de movimento diferencial gerado pelo meio de decodificação, para gerar um vetor de movimento da partição de alvo de processamento. O meio de geração de sinal predito gera um sinal predito da partição de alvo de processamento a partir de um sinal de imagem previamente reconstruído, com base no vetor de movimento da partição de alvo de processamento. O meio de adição adiciona o sinal predito ao sinal residual reconstruído gerado pelo meio de decodificação, para gerar um sinal de imagem reconstruído. O meio de armazenamento armazena o sinal de imagem reconstruído como um sinal de imagem previamente reconstruído. Quando uma subpartição de alvo de processamento na partição de alvo de processamento não tiver contato com uma partição anterior em ordem de processamento à subpartição de alvo de processamento, o meio de predição de movimento gera um vetor de movimento predito da subpartição de alvo de processamento, com base em um vetor de movimento de uma região parcial previamente processada pertencente a um domínio contendo a subpartição de alvo de processamento ou outro domínio. Este e outro domínio podem ser divididos por uma linha de extensão de um limite entre a subpartição de alvo de processamento e oura subpartição na partição de alvo de processamento.
Um método de decodificação de vídeo de acordo com o quarto aspecto é um método para decodificar dados compactados para gerar uma sequência de vídeo, que compreende: (a) uma etapa de decodificação para decodificar os dados compactados para gerar um sinal residual reconstruído de uma partição de alvo de processamento em uma imagem, um vetor de movimento diferencial da partição de alvo de processamento, e informações de formato para especificar os formatos de uma pluralidade de subpartições na partição de alvo de processamento; (b) uma etapa de predição de movimento para gerar um vetor de movimento predito da partição de alvo de processamento, com base nas informações de formato e um vetor de movimento de uma região parcial previamente processada como uma partição ou uma subpartição anterior em uma ordem de processamento à partição de alvo de processamento; (c) uma etapa de adição de vetor para adicionar o vetor de movimento predito gerado na etapa de predição de movimento, ao vetor de movimento diferencial gerado na etapa de decodificação, para gerar um vetor de movimento da partição de alvo de processamento; (d) uma etapa de geração de sinal predito para gerar um sinal predito da partição de alvo de processamento a partir de um sinal de imagem previamente reconstruído, com base no vetor de movimento da partição de alvo de processamento; (e) uma etapa de adição para adicionar o sinal predito ao sinal residual reconstruído gerado na etapa de decodificação, para gerar um sinal de imagem reconstruído; e (f) uma etapa de armazenamento para armazenar o sinal de imagem reconstruído como um sinal de imagem previamente reconstruído. Quando uma subpartição de alvo de processamento na partição de alvo de processamento não tiver contato com uma partição anterior em ordem de processamento à subpartição de alvo de processamento, a etapa de predição de movimento compreende gerar um vetor de movimento predito da subpartição de alvo de processamento, com base em um vetor de movimento de uma região parcial previamente processada pertencente a um domínio contendo a subpartição de alvo de processamento ou outro domínio. O domínio e outro domínio sendo dividido por uma linha de extensão de um limite entre a subpartição de alvo de processamento e outra subpartição na partição de alvo de processamento.
Um programa de decodificação de vídeo de acordo com o quarto aspecto faz com que um computador funcione como cada um dos meios do dispositivo de decodificação de vídeo descrito anteriormente.
De acordo com o quarto aspecto, o vetor de movimento predito da subpartição é gerado a partir de um vetor de movimento previamente decodificado no domínio contendo a subpartição que não tem contato com uma partição anterior em ordem de processamento. Este vetor de movimento predito tem grande probabilidade de ser similar ao vetor de movimento da subpartição. De acordo com as modalidades anteriores, portanto, a precisão do vetor de movimento predito se aperfeiçoa, o valor do vetor de movimento diferencial se torna menor, e se torna possível realizar uma decodificação a partir dos dados compactados com uma quantidade de bits menor. Portanto, obtém-se uma decodificação eficiente.
Efeitos Vantajosos da Invenção O dispositivo de codificação preditiva de imagem, o método de codificação preditiva de imagem, o programa de codificação preditiva de i-magem, o dispositivo de decodificação preditiva de imagem, o método de decodificação preditiva de imagem, e o programa de decodificação preditiva de imagem de acordo com alguns aspectos da presente invenção proporcionam o efeito de uma codificação mais eficiente das informações de movimento porque o candidato para informações de movimento a serem usadas na geração do sinal predito do bloco de predição-alvo pode ser selecionado com base nas informações circundantes previamente codificadas ou decodificadas.
Alguns outros aspectos da presente invenção proporcionam o dispositivo de codificação de vídeo, o método de codificação de vídeo, e o programa de codificação de vídeo capazes de aperfeiçoar a eficiência de codificação. Adicionalmente, proporciona-se o dispositivo de decodificação de vídeo, o método de decodificação de vídeo, e o programa de decodificação de vídeo correspondentes à codificação de vídeo anterior.
BREVE DESCRIÇÃO DOS DESENHOS A Figura 1 é um diagrama de blocos que mostra um dispositivo de codificação preditiva de imagem de acordo com uma modalidade. A Figura 2 é um diagrama esquemático que serve para explicar os candidatos para informações de movimento na fusão de blocos convencional. A Figura 3 é um diagrama esquemático que serve para explicar os candidatos para informações de movimento na fusão de blocos de acordo com uma modalidade. A Figura 4 é um fluxograma para ilustrar um procedimento de processamento de um codificador de informações de previsão mostrado na Figura 1. A Figura 5 é um fluxograma que mostra um procedimento de um método de codificação preditiva de imagem do dispositivo de codificação preditiva de imagem mostrado na Figura 1. A Figura 6 é um diagrama de blocos que mostra um dispositivo de decodificação preditiva de imagem de acordo com uma modalidade. A Figura 7 é um fluxograma para ilustrar um procedimento de processamento de um decodificador de informações de predição mostrado na Figura 6. A Figura 8 é um fluxograma que mostra um procedimento de um método de decodificação preditiva de imagem do dispositivo de decodificação preditiva de imagem mostrado na Figura 6. A Figura 9 é um primeiro desenho esquemático que serve para explicar processos que usam informações de movimento de uma pluralidade de blocos vizinhos adjacentes a um bloco de predição-alvo, como informações de movimento do bloco de predição-alvo. A Figura 10 é um segundo desenho esquemático que serve para explicar processos que usam informações de movimento de uma pluralidade de blocos vizinhos adjacentes a um bloco de predição-alvo, como informações de movimento do bloco de predição-alvo. A Figura 11 é um fluxograma para ilustrar um processo que usa informações de movimento de uma pluralidade de blocos vizinhos adjacentes a um bloco de predição-alvo, como informações de movimento do bloco de predição-alvo. A Figura 12 é um terceiro desenho esquemático que serve para explicar processos que usam informações de movimento de uma pluralidade de blocos vizinhos adjacentes a um bloco de predição-alvo, como informações de movimento do bloco de predição-alvo. A Figura 13 é um segundo exemplo de um fluxograma para ilus- trar um processo que usa informações de movimento de uma pluralidade de blocos vizinhos adjacentes a um bloco de predição-alvo, como informações de movimento do bloco de predição-alvo. A Figura 14 é um segundo exemplo de um diagrama esquemático que serve para explicar os candidatos para informações de movimento na fusão de blocos de acordo com uma modalidade. A Figura 15 é um terceiro exemplo de um diagrama esquemático que serve para explicar os candidatos para informações de movimento na fusão de blocos de acordo com uma modalidade. A Figura 16 é um diagrama de blocos que mostra um programa capaz de executar o método de codificação preditiva de imagem de acordo com uma modalidade. A Figura 17 é um diagrama de blocos que mostra um programa capaz de executar o método de decodificação preditiva de imagem de acordo com uma modalidade. A Figura 18 é um desenho que mostra uma configuração de hardware de um computador para executar um programa gravado em um meio de gravação. A Figura 19 é uma vista em perspectiva de um computador que serve para executar um programa armazenado em um meio de gravação. A Figura 20 é um diagrama esquemático que serve para explicar tipos de divisão de bloco de predição de blocos de codificação. A Figura 21 é um diagrama esquemático sobre um processo de estimação de movimento (A) e um processo de correspondência de modelo (B) em predição interquadros. A Figura 22 é um diagrama esquemático que serve para explicar o método de predição intraquadros convencional. A Figura 23 é um desenho que serve para explicar a predição compensada por movimento. A Figura 24 é um desenho que mostra, de modo esquemático, uma configuração de um dispositivo de codificação de vídeo de acordo com uma modalidade. A Figura 25 é um desenho que serve para explicar a geração de subpartições. A Figura 26 é um desenho que mostra uma configuração de um preditor de movimento em uma modalidade. A Figura 27 é um fluxograma de um método de codificação de vídeo de acordo com uma modalidade. A Figura 28 é um fluxograma que mostra um processo do preditor de movimento de acordo com uma modalidade. A Figura 29 é um desenho que mostra um exemplo de subpartições de uma partição alvo e regiões parciais circundantes. A Figura 30 é um desenho que mostra outro exemplo de subpartições de um bloco alvo e regiões parciais circundantes. A Figura 31 é um desenho que mostra ainda outros exemplos de subpartições de um bloco alvo e regiões parciais circundantes. A Figura 32 é um desenho que mostra ainda outro exemplo de subpartições de um bloco alvo e uma região parcial circundante. A Figura 33 é um desenho que mostra ainda outro exemplo de subpartições de um bloco alvo e regiões parciais circundantes. A Figura 34 é um desenho que mostra, de modo esquemático, uma configuração de um dispositivo de decodificação de vídeo de acordo com uma modalidade. A Figura 35 é um desenho que mostra uma configuração de um preditor de movimento de acordo com uma modalidade. A Figura 36 é um fluxograma de um método de decodificação de vídeo de acordo com uma modalidade. A Figura 37 é um fluxograma que mostra um processo do preditor de movimento de acordo com uma modalidade. A Figura 38 é um desenho que mostra uma configuração de um programa de codificação de vídeo de acordo com uma modalidade.
A Figura 39 é um desenho que mostra uma configuração de um programa de decodificação de vídeo de acordo com uma modalidade. DESCRIÇÃO DAS MODALIDADES
Descreve-se uma variedade de modalidades abaixo em detalhes com referência aos desenhos em anexo. Na descrição, os desenhos idênticos ou elementos equivalentes serão denotados pelos mesmos sinais de referência, sem descrição redundante. A Figura 1 é um diagrama de blocos que mostra um dispositivo de codificação preditiva de imagem 100 de acordo com uma modalidade. Este dispositivo de codificação preditiva de imagem 100 é dotado de um terminal de entrada 101, um divisor de blocos 102, um gerador de sinal predito 103, uma memória de quadro 104, um subtraidor 105, um transformador 106, um quantizador 107, um quantizador inverso 108, um transformador inverso 109, um adicionador 110, um codificador de coeficiente de transformação quantizada 111, um terminal de saída 112, um seletor de tipo de divisão de bloco de predição 113, um estimador de informações de movimento 114, uma memória de informações de previsão 115, e um codificador de informações de previsão 116. O transformador 106, o quantizador 107, e o codificador de coeficiente de transformação quantizada 111 funcionam como um meio de codificação de sinal residual e o quantizador inverso e o transformador inverso funcionam como um meio de restauração de sinal residual. O seletor de tipo de divisão de bloco de predição 113 e o estimador de informações de movimento 114 funcionam como um meio de estimação de informações de predição, e a memória de informações de previsão 115 e o codificador de informações de previsão 116 funcionam como um meio de codificação de informações de predição. O terminal de entrada 101 é um terminal que aceita a entrada de um sinal de uma sequência de vídeo que consiste em uma pluralidade de imagens. O divisor de blocos 102 divide uma imagem que serve como um alvo de codificação representado por uma entrada de sinal a partir do terminal de entrada 101, em uma pluralidade de regiões (blocos de codificação). Na presente modalidade, a imagem alvo de codificação é dividida em blocos que consistem em 16x16 pixels, porém, a imagem pode ser dividida em blo- cos de qualquer outro tamanho ou formato. Adicionalmente, os blocos de diferentes tamanhos podem ser misturados em um quadro. O seletor de tipo de divisão de bloco de predição 113 divide uma região-alvo (bloco de codificação alvo) que serve como um alvo de codificação em regiões de predição a serem submetidas a um processo de predição. Por exemplo, este seleciona um entre (A) a (H) na Figura 20 para cada bloco de codificação e subdivide o bloco de codificação de acordo com o modo selecionado. Cada região dividida é denominada como uma região de predição (bloco de predição) e cada um dos métodos de divisão (A) a (H) na Figura 20 é denominado como um tipo de divisão de bloco de predição. Um método disponível de selecionar um tipo de divisão de bloco de predição é, por exemplo, um método para realizar cada uma das subdivisões do sinal do bloco de codificação alvo alimentado através da linha L102, realizar realmente o processamento de predição e o processamento de codificação descritos abaixo, e selecionar um tipo de divisão para minimizar um valor de distorção de taxa calculado a partir da energia de um sinal de erro de codificação entre o sinal original do bloco de codificação e um sinal reconstruído, e uma quantidade de código necessária para codificar o bloco de codificação, mas não se limita a este. O tipo de divisão de bloco de predição do bloco de codificação alvo é emitido através da linha L 113 a, através da linha L113b, e através da linha L113c à memória de informações de previsão 115, ao estimador de informações de movimento 114, e ao gerador de sinal predito 103, respectivamente. O estimador de informações de movimento 114 detecta informações de movimento necessárias para geração de um sinal predito de cada bloco de predição no bloco de codificação alvo. Um método aplicável para geração do sinal predito (método de predição) consiste em uma predição interquadros e uma predição intraquadros (a predição intraquadros não é mostrada) conforme descrito nos antecedentes, mas não se limita a estes. No presente documento, garante-se que as informações de movimento são detectadas pela correspondência de blocos mostrada na Figura 21. Um sinal original do bloco de predição-alvo sendo um alvo de predição pode ser gera- do a partir do sinal original do bloco de codificação alimentado através da linha L 102a e o tipo de divisão de bloco de predição do bloco de codificação alvo alimentado através da linha L113b. Um sinal predito para minimizar a soma de erros absolutos para o sinal original do bloco de predição-alvo é detectado a partir dos sinais de imagem adquiridos através da linha L104. Neste caso, as informações de movimento contêm um vetor de movimento, um modo de predição interquadros (predição progressi-va/regressiva/bidirecional), um número de quadro de referência, e assim por diante. As informações de movimento detectadas são emitidas através da linha L114 à memória de informações de previsão 115 e ao codificador de informações de previsão 116. A memória de informações de previsão 115 armazena as informações de movimento de entrada e o tipo de divisão de bloco de predição. O codificador de informações de previsão 116 seleciona candidatos para informações de movimento a serem usados na fusão de blocos de cada bloco de predição, codifica por entropia as informações de predição do bloco de codificação alvo, e emite os dados codificados através da linha L116 ao terminal de saída 112. Um método aplicável de codificação por entropia inclui a codificação aritmética, a codificação de comprimento variável, e assim por diante, mas não se limita a estas. As informações de predição contêm informações de fusão de blocos para execução de fusão de blocos utilizando-se informações de movimento de blocos vizinhos ao bloco de predição, além do tipo de divisão de bloco de predição do bloco de codificação alvo e das informações de movimento do bloco de predição. O processo do codificador de informações de previsão 116 será descrito mais adiante. O gerador de sinal predito 103 adquire sinais previamente reconstruídos a partir da memória de quadro 104, com base nas informações de movimento de cada bloco de predição no bloco de codificação alvo alimentado através da linha L114 e o tipo de divisão de bloco de predição alimentado através da linha L113c, e gera um sinal predito de cada bloco de predição no bloco de codificação alvo. O sinal predito gerado no gerador de sinal predito 103 é emitido através da linha L103 ao subtraidor 105 e ao adicionador 110. O subtraidor 105 subtrai o sinal predito para o bloco de codificação alvo alimentado através da linha L103, do sinal de pixel do bloco de codificação alvo alimentado através da linha L 102b após a divisão pelo divisor de blocos 102, para gerar um sinal residual. O subtraidor 105 emite o sinal residual obtido pela subtração, através da linha L105 ao transformador 106. O transformador 106 é uma parte que realiza uma transformada discreta de cosseno no sinal residual de entrada. O quantizador 107 é uma parte que quantiza os coeficientes de transformada obtidos pela transformada discreta de cosseno pelo transformador 106. O codificador de coeficiente de transformação quantizada 111 codifica por entropia os coeficientes de transformada quantizados obtidos pelo quantizador 107. Os dados codificados são emitidos através da linha L 111 ao terminal de saída 112. Um método aplicável de codificação por entropia inclui a codificação aritmética, a codificação de comprimento variável, e assim por diante, mas não se limita a estas. O terminal de saída 112 emite as partes de informações a partir do codificador de informações de previsão 116 e do codificador de coeficiente de transformação quantizada 111, juntas à parte externa. O quantizador inverso 108 realiza uma quantização inversa nos coeficientes de transformada quantizados. O transformador inverso 109 realiza uma transformada discreta inversa de cosseno para restaurar um sinal residual. O adicionador 110 adiciona o sinal residual restaurado ao sinal predito alimentado através da linha L103, para reconstruir um sinal do bloco de codificação alvo, e armazena o sinal reconstruído na memória de quadro 104. A presente modalidade emprega o transformador 106 e o transformador inverso 109, porém, pode-se empregar outro processo de transformada ao invés desses transformadores. Adicionalmente, o transformador 106 e o transformador inverso 109 nem sempre são essenciais. Desta maneira, para uso na geração do sinal predito do bloco de codificação alvo subsequente, o sinal reconstruído do bloco de codificação alvo submetido à codificação é restaurado pelo processo inverso a ser armazenado na memória de quadro 104. A seguir, ο processo do codificador de informações de previsão 116 será descrito. O codificador de informações de previsão 116 seleciona primeiramente candidatos para informações de movimento a serem usados na fusão de blocos de cada bloco de predição (candidatos para informações de movimento a serem usados na geração de um sinal predito de uma região de predição-alvo) a partir das informações de movimento de blocos vizinhos ao bloco de predição-alvo. A fusão de blocos se refere à geração do sinal predito do bloco de predição-alvo utilizando-se as informações de movimento de blocos vizinhos. A seguir, o codificador de informações de previsão 116 compara as informações de movimento detectadas pelo estimador de informações de movimento 114, com os candidatos para informações de movimento assim selecionados, para determinar se a fusão de blocos deve ser realizada. Então, de acordo com o número de candidatos para informações de movimento a serem usados na fusão de blocos, e com a aplicabilidade de execução de fusão de blocos, o codificador de informações de previsão 116 codifica por entropia as informações de fusão de blocos ou as informações de movimento, junto ao tipo de divisão de bloco de predição. As informações de fusão de blocos incluem informações de identificação de fusão (mergeflag) para indicar se o sinal predito do bloco de predição-alvo deve ser gerado utilizando-se informações de movimento de um bloco vizinho, isto é, se a fusão de blocos deve ser realizada, e as informações de seleção de bloco de fusão (merge_flag_left) para indicar quais devem ser usadas entre as partes de informações de movimento de dois ou mais blocos vizinhos ao bloco de predição-alvo para gerar o sinal predito do bloco de predição-alvo.
Se não existir um candidato para informações de movimento a ser usado na fusão de blocos de cada bloco de predição, não há necessidade de codificar essas duas partes de informações, isto é, as informações de identificação de fusão e as informações de seleção de bloco de fusão. Se existir um candidato para informações de movimento, as informações de i-dentificação de fusão são codificadas; se existirem dois ou mais candidatos para informações de movimento e se a fusão de blocos for realizada, as duas partes de informações, isto é, as partes de informações de identificação de fusão e as informações de seleção de bloco de fusão são codificadas. Mesmo com dois ou mais candidatos para informações de movimento, não há necessidade de codificar as informações de seleção de bloco de fusão se a fusão de blocos não for realizada. A Figura 3 é um diagrama esquemático que serve para explicar um processo de selecionar candidatos para informações de movimento a serem usados na fusão de blocos de um bloco de predição de acordo com uma modalidade. A Figura 3 mostra um exemplo de um tipo de divisão de bloco de predição para atravessar verticalmente o bloco de codificação (ou dividir o bloco de codificação em blocos direitos e esquerdos), conforme no caso do bloco 301 mostrado em (B) da Figura 20. Abaixo, descreve-se este bloco 301 como um exemplo, porém, a mesma descrição também se aplica aos blocos 302, 304, 305, 306, e 307. A seleção de um candidato para informações de movimento é realizada com base nas informações abaixo. 1) O número de blocos de predição já codificados/já decodificados Np bloco de codificação alvo 2) O tipo de divisão de bloco de predição do bloco de codificação alvo 3) O tipo de divisão de bloco de predição de um bloco vizinho ao bloco de predição-alvo 4) As informações de movimento dos blocos de predição já codificados/já decodificados no bloco de codificação alvo 5) As informações de movimento e o modo de predição (predição intraquadros/predição interquadros) do bloco vizinho ao bloco de predição-alvo No exemplo da Figura 3, um candidato para informações de movimento a ser usado na fusão de blocos é selecionado utilizando-se as partes de informações de 1), 2), 4), e 5).
Primeiramente, descobriu-se a partir das informações de 2) que o número total de blocos de predição já codificados/já decodificados no bloco de codificação alvo 400 é igual a 2, blocos de predição T1 e T2, e que o bloco de codificação é verticalmente dividido em duas subpartições. Desco-briu-se a partir das informações de 1) que o próximo bloco de predição é o bloco de predição T1 ou o bloco de predição T2.
Quando o próximo bloco de predição for o bloco de predição T1 (ou quando o número de blocos de predição já codificados/já decodificados no bloco de codificação alvo for 0), as partes de informações de movimento do bloco vizinho A e do bloco vizinho B são ajustadas como candidatos para informações de movimento para fusão de blocos (as setas no desenho indicam que as partes de informações de movimento dos blocos vizinhos A e B são candidatos para informações de movimento a serem usados na geração do sinal predito do bloco de predição T1). Nesta ocasião, se o bloco vizinho A ou B for um bloco gerado por predição intraquadros ou um bloco fora da imagem, as informações de movimento do bloco podem ser excluídas dos candidatos para informações de movimento para fusão de blocos (também é possível ajustar as informações de movimento para um valor pseudo-padrão; por exemplo, o vetor de movimento é ajustado para 0 e o número de quadro de referência para 0). Se as partes de informações de movimento dos dois blocos vizinhos A e B forem idênticas entre si, as informações de movimento de um bloco vizinho podem ser excluídas dos candidatos.
Quando o próximo bloco de predição for o bloco de predição T2 (ou quando o número de blocos de predição já codificados/já decodificados no bloco de codificação alvo for 1), conforme mostrado em (A) da Figura 3, as informações de movimento do bloco vizinho T1 são excluídas dos candidatos para informações de movimento para fusão de blocos. Isto ocorre porque o bloco de codificação alvo é originalmente dividido em dois blocos su-pondo-se que os sinais preditos do bloco de predição T1 e do bloco de predição T2 sejam gerados a partir de diferentes partes de informações de movimento. Isto é, serve para evitar tal situação onde as informações de movimento do bloco de predição T2 se tornam iguais às informações de movimento do bloco de predição T1. Visto que este processo proporciona apenas uma parte de informações de movimento para fusão de blocos do bloco de predição T2, os custos para codificação de informações de seleção de bloco de fusão podem ser reduzidos (uma seta no desenho indica que as informações de movimento do bloco vizinho D são aplicáveis para geração do sinal predito do bloco de predição T2).
Adicionalmente, com base em partes de informações de 4) e 5) acima, as informações de movimento do bloco de predição T1 são comparadas às informações de movimento do bloco vizinho D e se estas partes de informações de movimento do bloco de predição T1 e do bloco vizinho D forem idênticas entre si, as informações de movimento do bloco vizinho D também são excluídas dos candidatos para informações de movimento para fusão de blocos conforme mostrado em (B) da Figura 3. A razão para isto é que o sinal predito do bloco de predição T2 é gerado utilizando-se as informações de movimento do bloco vizinho D, as partes de informações de movimento dos blocos de predição T1 e T2 se tornam idênticas entre si. Devido a este processo, as informações de movimento para fusão de blocos do bloco de predição T2 se tornam nulas, podendo reduzir os custos para codificação de informações de identificação de fusão e informações de seleção de bloco de fusão. A Figura 4 é um fluxograma do codificador de informações de previsão 116 para substancializar o processo da Figura 3.
Primeiramente, o codificador de informações de previsão 116 codifica o tipo de divisão de bloco de predição do bloco de codificação alvo e armazena o tipo de divisão de bloco de predição na memória de informações de previsão 115. Ao mesmo tempo, o codificador de informações de previsão 116 ajusta o número N de blocos de predição no bloco de codificação alvo, com base no tipo de divisão de bloco de predição codificado, e reajusta um número de bloco de predição-alvo i para 0 (etapa S151). A seguir, o codificador de informações de previsão 116 determina se um bloco de predição-alvo é um bloco de predição a ser codificado por último no bloco de codificação alvo e se o número de blocos de predição no bloco de codificação alvo não é menor que 2 (etapa S152). Por exemplo, no caso de N=2, a decisão é positiva com i=1, e o processamento procede para a etapa S157. No caso de N=4 ((D) da Figura 20), a decisão se torna positiva com i=3. Quando a decisão for negativa, o processamento procede para a etapa S153. No caso da Figura 3, o processamento procede para a etapa S153 quando o bloco de predição-alvo for o bloco de predição T1; o processamento procede para a etapa S157 quando o bloco de predição-alvo for o bloco de predição T2.
Na etapa S153, as informações de identificação de fusão são codificadas. As informações de identificação de fusão se tornam positivas (merge_flag=1, geração do sinal predito do bloco de predição-alvo utilizando-se um candidato para informações de movimento) se as informações de movimento do bloco de predição-alvo coincidirem com um candidato para informações de movimento para fusão de blocos; de outro modo, as informações de identificação de fusão se tornam negativas (merge_flag=0, geração do sinal predito do bloco de predição-alvo utilizando-se as informações de movimento codificadas). A seguir, quando as informações de movimento do bloco de predição-alvo coincidirem com um candidato para informações de movimento para fusão de blocos, o processamento procede para a etapa S164. Na etapa S164, o codificador de informações de previsão 116 determina se existem dois candidatos para informações de movimento, e se o número de candidatos para informações de movimento for igual a 2, ele codifica as informações de seleção de bloco de fusão e o processamento procede para a etapa S155. Quando o número de candidatos para informações de movimento for 1, o processamento procede para a etapa S165. Por outro lado, se as informações de movimento do bloco de predição-alvo não coincidirem com nenhum candidato para informações de movimento para fusão de blocos, o processamento procede para a etapa S156 e o codificador de informações de previsão 116 codifica as informações de movimento detectadas pelo estimador de informações de movimento 114, e, então, procede para a etapa S165.
Na etapa S157, o codificador de informações de previsão 116 determina se cada parte de informações de movimento já codificadas do bloco de codificação alvo coincide com as informações de movimento de um bloco vizinho que não pertence ao bloco de codificação alvo. A descrição desta etapa S157 significa que, no caso de N=2, as informações de movimento do bloco de predição T1 mostradas na Figura 3 são comparadas às informações de movimento do bloco vizinho D. Adicionalmente, a descrição da etapa S157 significa que, no caso de N=4 ((D) da Figura 20), o bloco de predição-alvo é o bloco dividido direito inferior e as partes de informações de movimento dos outros três blocos de predição (esquerdo superior, direito superior, e esquerdo inferior) são comparadas entre si. Quando a determinação for positiva (ou quando as partes de informações de movimento em comparação forem coincidentes), o número de candidatos para informações de movimento a serem usados na fusão de blocos do bloco de predição-alvo é igual a 0, conforme mostrado no exemplo de (B) da Figura 3, e, portanto, o codificador de informações de previsão 116 codifica as informações de movimento detectadas pelo estimador de informações de movimento 114, sem transmitir as informações de fusão de blocos, e, então, o processamento procede para a etapa S165 (etapa S160). Por outro lado, quando a determinação for negativa (ou quando as partes de informações de movimento em comparação não forem coincidentes), o processamento procede para a etapa S163. No caso de ITT=4, as partes de informações de movimento dos blocos no bloco de codificação alvo direito superior e esquerdo inferior são aquelas dos blocos vizinhos ao bloco de predição-alvo. Por esta razão, a aplicação de fusão de blocos ao bloco de predição-alvo (direito inferior) com coincidência das informações de movimento dos três blocos de predição (esquerdo superior, direito superior, e esquerdo inferior) significa que os sinais preditos dos quatro blocos de predição no bloco de codificação alvo são todos gerados utilizando-se as mesmas informações de movimento. Por esta razão, no caso onde N=4 e onde as partes de informações de movimento dos três blocos de predição (esquerdo superior, direito superior, e esquerdo inferior) são idênticas entre si, o número de candidatos para informações de movimento do bloco de predição-alvo (direito inferior) é ajustado para 0.
Na etapa S163, o codificador de informações de previsão 116 determina se o tipo de divisão de bloco de predição do bloco de codificação alvo é um tipo de bissecção, e se a determinação for negativa, o processamento procede para a etapa S153 (a descrição nas partes que se seguem será omitida). Quando a determinação na etapa S163 for positiva, o processamento procede para a etapa S158, no qual o codificador de informações de previsão 116 codifica as informações de identificação de fusão. Neste caso, Visto que o número de candidatos para informações de movimento a serem usados na fusão de blocos do bloco de predição-alvo é igual a 1, conforme no exemplo de (A) da Figura 3, não há necessidade de codificar as informações de seleção de bloco de fusão. A seguir, se as informações de movimento do bloco de predição-alvo coincidirem com o candidato para informações de movimento para fusão de blocos, o processamento procede para a etapa S165. Quando as informações de movimento do bloco de predição-alvo não coincidirem com o candidato para informações de movimento para fusão de blocos, o processamento procede para a etapa S160, no qual o codificador de informações de previsão 116 codifica as informações de movimento detectadas pelo estimador de informações de movimento 114, e, então, o processamento procede para a etapa S 165.
Na etapa S165, as informações de movimento do bloco alvo são armazenadas na memória de informações de previsão 115. De modo subsequente, na etapa S161, o codificador de informações de previsão 116 determina se a codificação está completa para todos os blocos de predição no bloco de codificação alvo (se i=N-1); quando i=N-1, este processamento de codificação de informações de predição do bloco de codificação alvo é encerrado; quando i <N-1, o número i é atualizado na etapa S162 (i=i+1), e o processamento retorna para a etapa S152 de modo a realizar o processamento de codificação de informações de movimento do próximo bloco de predição.
Visto que os candidatos para informações de movimento a serem usados na fusão de blocos do bloco de predição podem ser selecionados antecipadamente utilizando-se as partes de informações abaixo, conforme descrito anteriormente, torna-se possível transmitir eficientemente as informações de fusão de blocos. 1) O número de blocos de predição já codificados/já decodificados no bloco de codificação alvo 2) O tipo de divisão de bloco de predição do bloco de codificação alvo 4) As informações de movimento dos blocos de predição já codificados/já decodificados no bloco de codificação alvo 5) As informações de movimento e o modo de predição (predição intraquadros/predição interquadros) do bloco vizinho ao bloco de predição-alvo. A Figura 5 é um fluxograma que mostra um procedimento de um método de codificação preditiva de imagem no dispositivo de codificação preditiva de imagem 100 de acordo com a presente modalidade. Primeiramente, o divisor de blocos 102 divide uma imagem de entrada em 16x16 blocos de codificação (a imagem pode ser dividida em blocos de outro tamanho ou formato, ou blocos de diferentes tamanhos podem ser misturados no quadro). Então, o seletor de tipo de divisão de bloco de predição 113 e o estimador de informações de movimento 114 determinam o tipo de divisão de bloco de predição do bloco de codificação alvo que serve como um alvo de codificação e as informações de movimento de cada um dos blocos de predição (etapa S101). A seguir, o codificador de informações de previsão 116 codifica as informações de predição (etapa S102, Figura 4). A seguir, o gerador de sinal predito 103 gera o sinal predito do bloco de codificação alvo, com base no tipo de divisão de bloco de predição do bloco de codificação alvo e as informações de movimento de cada um dos blocos de predição, e um sinal residual indicativo de uma diferença entre um sinal de pixel do bloco de codificação alvo e o sinal predito é transformado e codificado pelo transformador 106, quantizador 107, e codificador de coeficiente de transformação quantizada 111 (etapa S103). Os dados codificados das informações de predição e os coeficientes de transformada quantizada são, então, emitidos através do terminal de saída 112 (etapa S104).
Para codificação preditiva do bloco de codificação alvo subsequente, o sinal residual codificado é decodificado pelo quantizador inverso 108 e pelo transformador inverso 109 após esses processos ou em paralelo a estes processos. Então, o adicionador 110 adiciona o sinal residual decodificado ao sinal predito para reconstruir um sinal do bloco de codificação alvo. O sinal reconstruído é armazenado como uma imagem de referência na memória de quadro 104 (etapa S105). Se o processamento não for completo para todos os blocos de codificação alvo, o processamento retorna para a etapa S101 de modo a realizar o processamento para o próximo bloco de codificação alvo. Quando o processamento for completo para todos os blocos de codificação alvo, o processamento é encerado (etapa S106). A seguir, descreve-se a decodificação preditiva de imagem de acordo com uma modalidade. A Figura 6 é um diagrama de blocos que mostra um dispositivo de decodificação preditiva de imagem 200 de acordo com uma modalidade. Este dispositivo de decodificação preditiva de imagem 200 é dotado de um terminal de entrada 201, analisador de dados 202, quantizador inverso 203, transformador inverso 204, adicionador 205, terminal de saída 206, decodificador de coeficiente de transformada quantizada 207, decodificador de informações de predição 208, memória de quadro 104, gerador de sinal predito 103, e memória de informações de previsão 115. O quantizador inverso 203, o transformador inverso 204, e o decodificador de coeficiente de transformada quantizada 207 funcionam como um meio de decodificação de sinal residual. O meio de decodificação pelo quantizador inverso 203 e pelo transformador inverso 204 pode ser implementado utilizando-se qualquer meio além desses. Adicionalmente, o transformador inverso 204 pode ser excluído. A memória de informações de previsão 115 e o decodificador de informações de predição 208 funcionam como um meio de decodificação de informações de predição. O terminal de entrada 201 aceita a entrada de dados compactados resultante da codificação por compactação pelo método de codificação preditiva de imagem supramencionado. Estes dados compactados contêm as informações de coeficientes de transformada quantizada resultantes da transformação, quantização, e codificação por entropia do sinal residual, para cada um entre uma pluralidade de blocos de codificação divididos, e da- dos codificados das informações de predição para geração do sinal predito dos blocos. As informações de predição contêm as informações de fusão de blocos para execução de fusão de blocos utilizando-se as informações de movimento como candidatos para fusão de blocos, além do tipo de divisão de bloco de predição do bloco de codificação alvo e as informações de movimento de blocos de predição. Adicionalmente, as informações de movimento contêm o vetor de movimento, o modo de predição interquadros (predição progressiva/regressiva/bidirecional), o número de quadro de referência, e assim por diante. O analisador de dados 202 analisa os dados compactados inseridos através do terminal de entrada 201, separa os dados sobre o bloco de codificação alvo que serve como um alvo de decodificação em dados codificados de coeficientes de transformada quantizada e dados codificados de informações de predição, e os emite através da linha L202a e através da linha L202b ao decodificador de coeficiente de transformada quantizada 207 e ao decodificador de informações de predição 208, respectivamente. O decodificador de informações de predição 208 seleciona um candidato para informações de movimento a ser usado na fusão de blocos de cada bloco de predição e decodifica por entropia os dados codificados das informações de predição associadas ao bloco de codificação alvo. As informações de predição decodificadas são emitidas através da linha L208a e através da linha L208b ao gerador de sinal predito 103 e à memória de informações de previsão 115, respectivamente. A memória de informações de previsão 115 armazena as informações de predição de entrada. O processamento do decodificador de informações de predição 208 será descrito mais adiante. O gerador de sinal predito 103 adquire os sinais previamente reconstruídos a partir da memória de quadro 104, com base nas informações de predição do bloco de codificação alvo alimentadas através da linha L208a, e gera um sinal predito de cada bloco de predição no bloco de codificação alvo. O sinal predito assim gerado é emitido através da linha L103 ao adicionador 205. O decodificador de coeficiente de transformada quantizada 207 decodifica por entropia os dados codificados de coeficientes de transformada quantizada do sinal residual no bloco de codificação alvo e emite o resultado através da linha L207 ao quantizador inverso 203. O quantizador inverso 203 realiza uma quantização inversa das informações de sinal residual do bloco de codificação alvo alimentadas através da linha L207. O transformador inverso 204 realiza uma transformada discreta inversa de cosseno dos dados inversamente quantizados. O adicionador 205 adiciona o sinal predito gerado pelo gerador de sinal predito 103, ao sinal residual restaurado pelo quantizador inverso 203 e pelo transformador inverso 204, e emite um sinal de pixel reconstruído do bloco de codificação alvo através da linha L205 ao terminal de saída 206 e à memória de quadro 104. O terminal de saída 206 emite o sinal à parte externa do dispositivo de decodificação 200 (por exemplo, a uma tela). A memória de quadro 104 armazena a imagem reconstruída e-mitida a partir do adicionador 205, como uma imagem de referência que é armazenada como uma imagem reconstruída para referência ao próximo processamento de decodificação. A Figura 7 é um fluxograma do decodificador de informações de predição 208 para implementar o processamento da Figura 3.
Primeiramente, o decodificador de informações de predição 208 decodifica o tipo de divisão de bloco de predição do bloco de codificação alvo e o armazenada na memória de informações de previsão 115. Ao mesmo tempo, o decodificador de informações de predição 208 ajusta o número N de blocos de predição no bloco de codificação alvo, com base no tipo de divisão de bloco de predição decodificado, e reajusta o número de bloco de predição-alvo i para 0 (etapa S251). A seguir, o decodificador de informações de predição 208 determina se um bloco de predição-alvo é um bloco de predição a ser decodificado por último no bloco de codificação alvo e se o número de blocos de predição no bloco de codificação alvo não é menor que 2 (etapa S252). Por exemplo, no caso de N=2, a determinação é positiva com i=1 e o processamento procede para a etapa S258. No caso de N=4 ((D) da Figura 20), a determinação é positiva com i=3. Quando a determinação for negativa, o processamento procede para a etapa S253. Na Figura 3, o processamento procede para a etapa S253 quando o bloco de predição-alvo for o bloco de predição T1; o processamento procede para a etapa S258 quando o bloco de predição-alvo for o bloco de predição T2.
Na etapa S253, as informações de identificação de fusão são decodificadas. Quando as informações de identificação de fusão forem positivas (merge_flag=1), as informações de identificação de fusão indicam que o sinal predito do bloco de predição-alvo deve ser gerado utilizando-se um candidato para informações de movimento. Por outro lado, quando as informações de identificação de fusão forem negativas (merge_flag=0), o sinal predito do bloco de predição-alvo é gerado utilizando-se as informações de movimento decodificadas. Na próxima etapa S254, o decodificador de informações de predição 208 determina se as informações de identificação de fusão indicam uma decodificação de informações de movimento, isto é, se o valor de merge_flag for 0. Quando o valor decodificado de mergeflag for 0, o decodificador de informações de predição 208 decodifica as informações de movimento para geração do sinal predito do bloco de predição-alvo (etapa S257) e, então, o processamento procede para a etapa S267. Quando o valor de merge flag for 1, o decodificador de informações de predição 208 determina na etapa S266 se o número de candidatos para informações de movimento a ser usado na fusão de blocos é igual a 2, e quando o número de candidatos for igual a 2, as informações de seleção de bloco de fusão são decodificadas e o processamento procede para a etapa S256 (etapa S255). Quando o número de candidatos para informações de movimento a ser usado na fusão de blocos do bloco de predição-alvo for igual a 1, o processamento procede para a etapa S256. Na etapa S256, quando o número de candidatos para informações de movimento for igual a 1, o decodificador de informações de predição 208 determina as informações de movimento deste como as informações de movimento do bloco de predição-alvo. Quando o número de candidatos para informações de movimento for igual a 2, o decodificador de informações de predição 208 determina as informações de mo- vimento do bloco vizinho indicadas pelas informações de seleção de bloco de fusão, como as informações de movimento do bloco de predição-alvo.
Na etapa S258, o decodificador de informações de predição 208 determina se cada parte de informações de movimento já decodificadas do bloco de codificação alvo coincide com as informações de movimento de um bloco vizinho que não pertence ao bloco de codificação alvo. A descrição desta etapa S258 significa que, no caso de N=2, as informações de movimento do bloco de predição T1 mostradas na Figura 3 são comparadas às informações de movimento do bloco vizinho D. Adicionalmente, a descrição desta etapa S258 significa que, no caso de N=4 ((D) da Figura 20), o bloco de predição-alvo é o bloco dividido direito inferior e as partes de informações de movimento dos três outros blocos de predição (esquerdo superior, direito superior, e esquerdo inferior) são comparadas entre si. Quando a determinação for positiva (ou quando as partes de informações de movimento em comparação forem coincidentes), o número de candidatos para informações de movimento a ser usado na fusão de blocos do bloco de predição-alvo é igual a 0, conforme mostrado no exemplo de (B) na Figura 3, o decodificador de informações de predição 208 decodifica as informações de movimento a serem usadas para geração do sinal predito do bloco de predição-alvo, sem decodificar as informações de fusão de blocos, e o processamento procede para a etapa S267 (etapa S262). Por outro lado, quando a determinação for negativa (ou quando as partes de informações de movimento em comparação não forem coincidentes), o processamento procede para a etapa S265, No caso de N=4, as partes de informações de movimento dos blocos no bloco de codificação alvo direito superior e esquerdo inferior são aquelas dos blocos vizinhos ao bloco de predição-alvo. Por esta razão, a aplicação de fusão de blocos ao bloco de predição-alvo (direito inferior) quando a coincidência das partes de informações de movimento dos três blocos de predição (esquerdo superior, direito superior, e esquerdo inferior) significar que os sinais preditos dos quatro blocos de predição no bloco de codificação alvo são gerados todos a partir das mesmas informações de movimento. Por esta razão, no caso onde N=4 e onde as partes de informações de movimento dos três blocos de predição (esquerdo superior, direito superior, e esquerdo inferior) são idênticas entre si, o número de candidatos para informações de movimento do bloco de predição-alvo (direito inferior) é ajustado para 0.
Na etapa S265, o decodificador de informações de predição 208 determina se o tipo de divisão de bloco de predição do bloco de codificação alvo é um tipo de bissecção, e se a determinação for negativa, o processamento procede para a etapa S253 (a descrição nas partes que se seguem será omitida). Quando a determinação na etapa S265 for positiva, o processamento procede para a etapa S259, na qual o decodificador de informações de predição 208 decodifica as informações de identificação de fusão. Neste caso, conforme no exemplo de (A) da Figura 3, o número de candidatos para informações de movimento a serem usados na fusão de blocos do bloco de predição-alvo é igual a 1, e, portanto, não existe uma necessidade de decodificar as informações de seleção de bloco de fusão.
Na próxima etapa S260, o decodificador de informações de predição 208 determina se as informações de identificação de fusão indicam a decodificação de informações de movimento, isto é, se o valor de mer-ge_flag for igual a 0. Quando o valor decodificador de merge flag for 0, o decodificador de informações de predição 208 decodifica as informações de movimento para geração do sinal predito do bloco de predição-alvo (etapa S262) e o processamento procede para a etapa S267. Quando o valor de merge_flag for 1, o processamento procede para a etapa S261. Na etapa S261, visto que o número de candidatos para informações de movimento é igual a 1, conforme mostrado em (A) da Figura 3, o decodificador de informações de predição 208 determina as informações de movimento do bloco vizinho D como as informações de movimento do bloco de predição-alvo e o processamento procede para a etapa S267.
Na etapa S267, as informações de movimento do bloco de predição restaurado forem armazenadas na memória de informações de previsão 115. De modo subsequente, na etapa S263, o decodificador de informações de predição 208 determina se a decodificação está completa para todos os blocos de predição no bloco de codificação alvo (se i=N-1); quando i=N-1, este processamento de decodificação de informações de predição do bloco de codificação alvo é encerrado; quando i < N-1, o número i é atualizado na etapa S264 (i=i+1) e o processamento retorna para a etapa S252 de modo a realizar o processamento de decodificação de informações de movimento do próximo bloco de predição. A seguir, descreve-se um método de decodificação preditiva de imagem no dispositivo de decodificação preditiva de imagem 200 mostrado na Figura 6 utilizando-se a Figura 8. Primeiramente, os dados compactados são inseridos através do terminal de entrada 201 (etapa S201). Então, o analisador de dados 202 realiza uma análise dos dados compactados para extrair os dados codificados das informações de predição e os coeficientes de transformada quantizada sobre uma região-alvo de um alvo de decodificação. As informações de predição são decodificadas pelo decodificador de informações de predição 208 (S203).
Posteriormente, com base nas informações de predição restauradas, o gerador de sinal predito 103 gera o sinal predito do bloco de codificação alvo (S204).
Os coeficientes de transformada quantizada decodificados pelo decodificador de coeficiente de transformada quantizada 207 são submetidos à quantização inversa no quantizador inverso 203 e à transformação inversa no transformador inverso 204, para gerar um sinal residual reconstruído (S205). Então, o sinal predito gerado é adicionado ao sinal residual reconstruído para gerar um sinal reconstruído, e este sinal reconstruído é armazenado na memória de quadro 104, para reconstrução do próximo alvo que codifica o bloco codificado (etapa S206). Se existirem próximos dados compactados, os processos de S204 a S206 são repetidamente realizados (S207) para processar todos os dados até o último.
Descreveram-se, acima, os exemplos nos quais o número de blocos vizinhos ao bloco de predição não é maior que 2, e, abaixo, dá-se atenção a situações onde o número de blocos vizinhos em contato com limites superior e inferior de bloco a um bloco de predição não é menor que 3. O exemplo da Figura 3 se refere ao caso onde existem dois blo- cos vizinhos em contato com um bloco de predição, porém, existem situações onde um bloco de predição se encontra em contato com dois ou mais blocos vizinhos, dependendo das combinações dos tipos de divisão de bloco de predição de um bloco de codificação e blocos vizinhos. A Figura 9 mostra um exemplo onde três blocos vizinhos se encontram em contato com um bloco de predição. O bloco 301 na Figura 20 será descrito como um exemplo, porém, a mesma descrição também se aplica aos blocos 302, 304, 305, 306, e 307.
Em (A) e (B) da Figura 9, um bloco de codificação alvo 400 tem dois blocos de predição resultantes da bissecção vertical do bloco 400, enquanto um bloco 401 em contato com o lado esquerdo do bloco de predição T1 é horizontalmente bisseccionado (ou dividido em dois blocos superior e inferior). Por esta razão, o bloco de predição T1 se encontra em contato com três blocos vizinhos A, B, e C. Neste caso, quando for determinado preliminarmente no lado de codificação e no lado de decodificação que os blocos vizinhos são representados por dois blocos vizinhos A e B em contato com o canto esquerdo superior do bloco de predição-alvo, o número de blocos vizinhos é sempre limitado a 2 e, portanto, a técnica descrita anteriormente é aplicável.
Por outro lado, também é possível empregar uma técnica de bis-seccionar de modo virtualmente horizontal o bloco de predição T1 de acordo com o tipo de divisão de bloco de predição do bloco vizinho 401, conforme mostrado em (B) da Figura 9. Neste caso, o bloco de predição-alvo T1 é dividido em blocos T1aeT1beo sinal predito do bloco T1a e o sinal predito de T1b são gerados utilizando-se duas partes de informações de movimento pertencentes aos blocos vizinhos A e C, respectivamente.
Nesta ocasião, as informações de seleção de bloco de fusão podem ser eficientemente codificadas sem alterar a configuração das informações de fusão de blocos, por tal regra onde os candidatos selecionados para informações de seleção de bloco de fusão são duas partes das informações de movimento do bloco vizinho B em (A) da Figura 9 e a combinação das partes de informações de movimento dos blocos vizinhos A e C em (B) da Figura 9.
Por outro lado, no caso onde (A) da Figura 9 ou (B) da Figura 9 é identificado pelas informações de seleção de bloco de fusão e onde (B) da Figura 9 é selecionado, também é possível adotar um método de transmitir adicionalmente as segundas informações de identificação de fusão para cada bloco virtual e identificar a geração do sinal predito do bloco virtual com base nas informações de movimento do bloco vizinho, ou codifi-car/decodificar as informações de movimento.
Também é possível adotar um método sem dividir o bloco de predição T1 no qual os candidatos selecionados para as informações de seleção de bloco de fusão no bloco de predição T1 são três partes de informações de movimento dos blocos vizinhos A, B, e C e no qual as informações de movimento a serem usadas na geração do sinal predito de T1 são selecionadas a partir das três partes de informações, porém, as alterações abaixo são necessárias neste caso. 1. Um fluxo de "adquirir o tipo de divisão de bloco de predição do bloco vizinho e derivar o número de blocos vizinhos ao bloco de predição" é adicionado antes da etapa S164 na Figura 4 e da etapa S266 na Figura 7. 2. A etapa S164 na Figura 4 e a etapa S266 na Figura 7 são alteradas para "existem duas ou mais partes de informações de movimento de candidatos selecionados?" 3. As informações de seleção de bloco de fusão são estendidas às informações para selecionar um dentre três ou mais candidatos.
Este processamento de fusão de blocos mostrado em (A) e (B) da Figura 9 pode ser implementado estendendo-se a etapa S256 na Figura 7 ao processamento mostrado na Figura 11. Primeiramente, na etapa S256a, o tipo de divisão de bloco de predição de um bloco de codificação em contato com o bloco de predição-alvo é adquirido. Na próxima etapa S256b, o número M de limites de bloco vizinho de blocos de predição indicado pelas informações de seleção de bloco de fusão decodificadas é derivado do tipo de divisão de bloco de predição adquirido. Por exemplo, no caso de (B) da Figura 9, M=2. Adicionalmente, na etapa S256c, determina-se se o valor de M é maior que 1 (M > 1). No caso de M > 1, o bloco de predição-alvo é dividido em M virtual blocos, e as partes de informações de movimento de M blocos vizinhos são ajustadas para M blocos virtuais divididos (pode-se contemplar também que as informações de identificação de fusão são adicionalmente enviadas para cada bloco virtual e determina-se se as informações de movimento devem ser decodificadas). No caso de M=1, as informações de movimento de um bloco vizinho que serve como um candidato para fusão de blocos são ajustadas às informações de movimento do bloco de predição-alvo.
De acordo com as Figuras 7 e 11 conforme descrito anteriormente, a seleção do candidato para informações de movimento no exemplo da Figura 9 é realizada com base nas partes de informações abaixo. 1) O número de blocos de predição já codificados/já decodificados no bloco de codificação alvo 2) O tipo de divisão de bloco de predição do bloco de codificação alvo 3) O tipo de divisão de bloco de predição do bloco vizinho ao bloco de predição-alvo Desta maneira, as informações de 3), que não são usadas na seleção do candidato para informações de movimento no exemplo de Figura 3, são usadas nos casos onde existem três ou mais candidatos para informações de movimento. (C) da Figura 9 mostra um exemplo no qual o bloco vizinho ao lado esquerdo do bloco de predição 400 é assimetricamente bisseccionado. Neste caso, também é possível adotar a técnica de bisseccionar de modo virtualmente horizontal o bloco de predição T1 de acordo com o tipo de divisão de bloco de predição do bloco vizinho 401 (em blocos T1a e T1b). Isto é, o sinal predito do bloco de predição-alvo T1 pode ser gerado utilizando-se uma combinação de partes de informações de movimento de blocos vizinhos A e C em (C) da Figura 9 como candidatos para informações de movimento para fusão de blocos do bloco de predição T1.
Em casos onde o tipo de divisão de bloco de predição do bloco de codificação é um tipo no qual o número de bloco de predição é 1 como o bloco 300 na Figura 20, conforme mostrado em (D) a (F) da Figura 9, também é possível aplicar a técnica de dividir de modo virtualmente horizontal o bloco de predição T1 (bloco 400) de acordo com o tipo de divisão de bloco de predição de bloco vizinho 401 (divisão em uma pluralidade de blocos dispostos na direção vertical), e gerar o sinal predito para cada bloco. Adicionalmente, em casos onde o bloco vizinho 402 é verticalmente dividido (em uma pluralidade de blocos dispostos na direção horizontal), que não são mostrados, é possível aplicar uma técnica de dividir de modo virtualmente vertical o bloco de predição T1 (bloco 400) de acordo com o tipo de divisão de bloco de predição do bloco vizinho 402 e gerar o sinal predito para cada bloco.
Em casos onde um bloco vizinho ao bloco de predição inclui um bloco predito intraquadros (intra), também é possível aplicar a técnica de dividir virtualmente o bloco de predição e gerar o sinal predito, determinando-se preliminarmente as regras. (A) a (F) da Figura 10 mostram exemplos onde um bloco predito intraquadros (intra) está incluído em uma pluralidade de blocos vizinhos A, C, E, e G em contato com o lado esquerdo do bloco de predição. Com base no tipo de divisão de bloco de predição do bloco vizinho e no modo de predição (predição interquadros/intraquadros) nas informações de predição, o bloco predito intraquadros no bloco vizinho é virtualmente integrado a um bloco predito interquadros com informações de movimento (linhas grossas no desenho). Nestes exemplos, um bloco predito intraquadros é virtualmente integrado a um bloco predito interquadros que está mais próximo ao canto esquerdo superior do bloco vizinho e que está mais próximo ao bloco intraquadros. Como consequência, o bloco de predição T1 é virtualmente dividido de acordo com o número de blocos preditos interquadros no bloco vizinho, conforme mostrado em (A) a (F) da Figura 10. Desta maneira, mesmo em casos onde o bloco vizinho inclui um bloco predito intraquadros (intra), a geração do sinal predito por fusão de blocos pode ser realizada ütilizando-se informações de movimento do bloco predito interquadros no bloco vizinho. Não existem restrições às regras de integrar o bloco predito intraquadros com o bloco predito interquadros no bloco vizinho. Pode-se contemplar que uma pluralidade de regras conforme descrito anteriormente é preparada e uma regra selecionada para cada quadro ou para cada fatia para implementar uma codificação.
Neste caso, a seleção de um candidato para informações de movimento é realizada com base em partes de informações abaixo. 1) O número de blocos de predição já codificados/já decodificados no bloco de codificação alvo 2) O tipo de divisão de bloco de predição do bloco de codificação alvo 3) O tipo de divisão de bloco de predição do bloco vizinho ao bloco de predição-alvo 5) O modo de predição (predição intraquadros/predição interquadros) do bloco vizinho ao bloco de predição-alvo A Figura 12 mostra exemplos onde o bloco de codificação 400 e o bloco vizinho 402 são bisseccionados de modo similarmente vertical, mas seus formatos de divisão são diferentes. Nesses exemplos, o bloco de predição T1 (bloco incluindo blocos T1a e T1b) em (A) da Figura 12 e o bloco de predição T2 (bloco incluindo blocos T2a e T2b) em (B) da Figura 12 também têm três blocos vizinhos. Para T1 em (A) da Figura 12, o fluxo de processamento da Figura 11 é aplicado à etapa S256 na Figura 7, desse modo, torna-se possível executar a fusão de blocos ajustando-se partes de informações de movimento dos blocos Ba e Bb aos respectivos blocos T1a e T1b resultantes da bissecção virtual vertical do bloco de predição T1. Para T2 em (B) da Figura 12, um fluxo de processamento da Figura 13 descrito abaixo é a-plicado à etapa S261 na Figura 7, desse modo, torna-se possível executar a fusão de blocos ajustando-se partes de informações de movimento dos blocos Ba e Bb aos respectivos blocos T2a e T2b resultantes da bissecção virtual vertical do bloco de predição T2. Nesta ocasião, também é possível adotar o método de transmitir segundas informações de identificação de fusão para cada virtual bloco e identificar a geração do sinal predito do bloco virtual com base nas informações de movimento do bloco vizinho ou codifi-car/decodificar as informações de movimento.
Também é possível adotar um método no qual o bloco de predição T2 não é dividido, duas partes de informações de movimento do bloco Ba e do bloco Bb são definidas como candidatos para informações de movimento a serem usados na fusão de blocos do bloco de predição T2, e uma das partes de informações de movimento do bloco Ba e do bloco Bb é selecionada como informações de movimento a serem usadas na geração do sinal predito de T2, mas neste caso, é necessário estender o fluxo da Figura 7 conforme descrito abaixo. 1. Um fluxo de "adquirir o tipo de divisão de bloco de predição do bloco vizinho e derivar o número de blocos vizinhos ao bloco de predição" é adicionado após a etapa S158 na Figura 4 e após a etapa S259 na Figura 7. 2. A etapa S159 na Figura 4 e a etapa S260 na Figura 7 são alteradas para "Existem duas ou mais partes de informações de movimento de candidatos selecionados?" 3. A etapa de realizar codificação/decodificação das informações de seleção de bloco é adicionada após a etapa S159 na Figura 4 e após a etapa S260 na Figura 7. O fluxo da Figura 13 será descrito abaixo. Na Figura 13, primeiramente na etapa S261a, o tipo de divisão de bloco de predição do bloco de codificação em contato com o bloco de predição-alvo é adquirido. Na próxima etapa S261b, o número M de limites de bloco vizinho de blocos de predição em contato com o bloco vizinho não pertencente ao bloco de codificação alvo é derivado a partir do tipo de divisão de bloco de predição adquirido. Por exemplo, no caso mostrado em (B) da Figura 12, M=2. Adicionalmente, determina-se na etapa S261c se o valor de M é maior que 1 (M > no caso de M > 1, o bloco de predição-alvo é dividido em M blocos virtuais e partes de informações de movimento de M blocos vizinhos são ajustadas para M blocos virtuais divididos (também é possível enviar adicionalmente as informações de identificação de fusão para cada bloco virtual e determinar se as informações de movimento devem ser decodificadas). No caso de M=1, as informações de movimento do bloco vizinho como um candidato para fusão de blocos são ajustadas como as informações de movimento do bloco de predição-alvo.
De acordo com as Figuras 12 e 13 conforme descrito anteriormente, a seleção de um candidato para informações de movimento no e-xemplo da Figura 11 é realizada com base nas partes de informações abaixo. 1. O número de blocos de predição já codificados/já decodificados no bloco de codificação alvo 2. O tipo de divisão de bloco de predição do bloco de codificação alvo 3. O tipo de divisão de bloco de predição do bloco vizinho ao bloco de predição-alvo Deve-se notar que embora a Figura 11 descreva o exemplo de divisão vertical, o mesmo processamento também é aplicável aos exemplos de divisão horizontal (divisão em uma pluralidade de blocos dispostos na direção vertical) como os blocos 306 e 307 na Figura 20. É possível adotar outras modificações descritas abaixo. (Candidatos para informações de movimento) Na descrição anterior, as partes de informações de movimento dos blocos em contato com o lado superior e o lado esquerdo do bloco de predição foram definidas como candidatos para fusão de blocos, porém, também é possível ajustar uma limitação com base nos tipos de divisão de bloco de predição do bloco de codificação alvo e dos blocos vizinhos, conforme mostrado em (A) e (B) da Figura 14 e (A) da Figura 15. (A) e (B) da Figura 14 mostram exemplos onde existem dois blocos vizinhos e onde as informações de movimento dos blocos vizinhos no lado em contato com dois ou mais blocos vizinhos dentre o lado superior e o lado esquerdo do bloco de predição são excluídas dos candidatos para fusão de blocos. Neste caso, não existe necessidade de codificar as informações de seleção de bloco de fusão, que podem reduzir as informações adicionais. Os candidatos para informações de movimento a serem usados na fusão de blocos do bloco de predição T1 em (A) da Figura 14 e do bloco de predição T1 em (B) da Figura 14 são determinados como partes de informações de movimento do bloco B e do bloco A, respectivamente. (A) da Figura 15 mostra uma técnica de selecionar automaticamente candidatos para informações de movimento a serem usados na fusão de blocos dos blocos de predição T1 e T2, com base no tipo de divisão de bloco de predição do bloco de codificação alvo. (B) da Figura 15 mostra um exemplo no qual o bloco de predição aos quais se aplica a fusão de blocos é imitado de acordo com o tipo de divisão de bloco de predição do bloco de codificação alvo e o número de blocos já codificados/já decodificados no bloco de codificação alvo. No exemplo mostrado na Figura 3, quando as informações de movimento do bloco T1 forem coincidentes com aquelas do bloco D, as informações de movimento do bloco D são excluídas dos candidatos para informações de movimento a serem usados na fusão de blocos do bloco T2; enquanto, no caso mostrado em (A) da Figura 15, sem comparação entre as informações de movimento do bloco T1 e as informações de movimento do bloco D, o bloco D é excluído dos candidatos para fusão de blocos, com base no número de blocos de predição já codificados/decodificados no bloco de codificação alvo. Desta maneira, o bloco de predição ao qual se aplica a fusão de blocos pode ser limitado pelo número de vetores de movimento a ser codificado no bloco de codificação alvo.
Adicionalmente, também é possível impor uma limitação, de a-cordo com os tamanhos de bloco dos dois blocos vizinhos em contato com o canto esquerdo superior do bloco de predição e o tamanho de bloco do bloco de predição. Por exemplo, quando o tamanho do lado direito do bloco vizinho em contato com o lado esquerdo do bloco de predição-alvo for menor que um tamanho predefinido (por exemplo, metade ou um quarto do comprimento do lado esquerdo do bloco de predição), as informações de movimento do bloco vizinho podem ser excluídas dos candidatos para fusão de blocos do bloco de predição-alvo...
Quando a limitação for ajustada aos candidatos para informa- ções de movimento conforme descrito anteriormente, a quantidade de código de informações de fusão de blocos pode ser reduzida. (Seleção de candidatos para informações de movimento) A seleção de candidatos para informações de movimento é realizada com base em partes de informações abaixo, porém, um método de usar as informações não se limita aos métodos descritos anteriormente. Os meios para selecionar os candidatos para informações de movimento utili-zando-se estas partes de informações podem ser implementados pelas configurações da Figura 1 e da Figura 6. 1) O número de blocos de predição já codificados/já decodificados no bloco de codificação alvo 2) O tipo de divisão de bloco de predição do bloco de codificação alvo 3) O tipo de divisão de bloco de predição do bloco vizinho ao bloco de predição-alvo 4) As informações de movimento dos blocos de predição já codificados/já decodificados no bloco de codificação alvo 5) As informações de movimento e o modo de predição (predição intraquadros/predição interquadros) do bloco vizinho ao bloco de predição-alvo (Codificação do bloco de predição) Na descrição descrita anteriormente, a codificação/decodificação dos blocos de predição no bloco de codificação é realizada em uma ordem de varredura por rastreio, porém, a seleção descrita anteriormente do candidato para informações de movimento a ser usado na fusão de blocos também é aplicável a casos onde os blocos de predição são codifica-dos/decodificados em qualquer ordem. Por exemplo, no exemplo da Figura 3, onde o bloco de predição T2 do bloco de codificação alvo 400 é primeiramente codificado/decodificado, o vetor de movimento do bloco de predição T2 não é incluído como um candidato para informações de movimento a ser usado na fusão de blocos do bloco de predição T1. (Formato do bloco) Na descrição exposta anteriormente, as regiões parciais no bloco de codificação sempre são retangulares, porém, podem ter qualquer formato. Neste caso, as informações de formato podem ser incluídas nas informações de predição do bloco de codificação. (Transformador e Transformador Inverso) O processo de transformação do sinal residual pode ser realizado em um tamanho de bloco fixo, ou o processo de transformação pode ser realizado após uma região-alvo ser subdividida de acordo com as regiões parciais. (Informações de Predição) Na descrição descrita acima, o método de geração do sinal predito foi descrito como a predição interquadros (predição que usa as informações de vetor de movimento e quadro de referência), porém, o método de geração do sinal predito não se limita a isto. O processo de geração de sinal predito mencionado acima também é aplicável à predição intraquadros e ao método de predição que inclui compensação de luminância, ou similar. Neste caso, as informações de predição contêm informações de modo, parâmetros de compensação de luminância, e assim por diante.
Na Figura 10, o bloco predito intraquadros no bloco vizinho é virtualmente integrado ao bloco predito interquadros, porém, também é possível adotar um método no qual o bloco de predição é virtualmente dividido, independente do modo de predição do bloco vizinho, e os sinais parciais no bloco de predição são previstos através da predição intraquadros. (Sinal de Cor) A descrição precedente não contém nenhuma descrição particular do formato de cor, porém, o processo de geração de sinal predito também pode ser realizado para o sinal de cor ou sinal de diferença de cor, independentemente do sinal de luminância. O processo de geração de sinal predito também pode ser realizado em sincronismo com o processo do sinal de luminância. (Processo de Remoção de Ruído de Bloco) Embora a descrição precedente não estabeleça, a imagem re- construída pode ser submetida a um processo de remoção de ruído de bloco e, neste caso, é preferível realizar o processo de remoção de ruído em porções limites de regiões parciais. Nos casos em que o bloco de predição é virtualmente dividido nos exemplos mostrados nas Figuras 9, 10 e 12, o processo de remoção de ruído de bloco também pode ser aplicado a um limite entre os blocos virtualmente divididos. O método de codificação preditiva de imagem e o método de decodificação preditiva de imagem, de acordo com as modalidades da presente invenção também podem ser proporcionados armazenados na forma de programas em um meio de gravação. Os exemplos de meios de gravação incluem meios de gravação, tais como, disquetes (marca registrada), CD-ROMs, DVDs ou ROMs, ou memórias semicondutoras, ou similar. A Figura 16 é um diagrama em bloco que mostra os módulos de um programa que pode executar o método de codificação preditiva de imagem. O programa de codificação preditiva de imagem P100 é dotado do módulo de divisão de blocos P101, módulo de estimação de informações de movimento P102, módulo de geração de sinal predito P103, módulo de armazenamento P104, módulo de subtração P105, módulo de transformada P106, módulo de quantização P107, módulo de quantização inversa P108, módulo de transformada inversa P109, módulo de adição P110, módulo de codificação de coeficiente de transformação quantizado P111, módulo de seleção de tipo de divisão de predição P112, módulo de armazenamento de informações de predição P113 e módulo de codificação de informações de predição P114. As funções implementadas mediante a execução dos respectivos módulos através de um computador são iguais às funções do dispositivo de codificação preditiva de imagem 100 mencionado acima. Isto é, o módulo de divisão de blocos P101, módulo de estimação de informações de movimento P102, módulo de geração de sinal predito P103, módulo de armazenamento P104, módulo de subtração P105 módulo de transformada P106, módulo de quantização P107, módulo de quantização inversa P108, módulo de transformada inversa P109, módulo de adição P110, módulo de codificação de coeficiente de transformação quantizado P111, módulo de seleção de tipo de divisão de predição P112, módulo de armazenamento de informações de predição P113, e módulo de codificação de informações de predição P114 fazem com que o computador execute as mesmas funções que o divisor de blocos 102, estimador de informações de movimento 114, gerador de sinal predito 103, memória de quadro 104, subtrator 105, transformador 106, quantizador 107, quantizador inverso 108, transformador inverso 109, adicionador 110, codificador de coeficiente de transformação quantizado 111, seletor de tipo de divisão de bloco de predição 113, memória de informações de predição 115, e codificador de informações de predição 116, respectivamente. A Figura 17 é um diagrama em bloco que mostra módulos de um programa que pode executar o método de decodificação preditiva de imagem. O programa de decodificação preditiva de imagem P200 é dotado do módulo de decodificação de coeficiente de transformação quantizado P201, módulo de decodificação de informações de predição P202, módulo de armazenamento de informações de predição P113, módulo de quantização inversa P206, módulo de transformada inversa P207, módulo de adição P208, módulo de geração de sinal predito P103 e módulo de armazenamento P104.
As funções implementadas mediante a execução dos respectivos módulos são iguais àquelas dos respectivos componentes do dispositivo de decodificação preditiva de imagem 200 mencionado acima. Isto é, o módulo de decodificação de coeficiente de transformação quantizado P201, módulo de decodificação de informações de predição P202, módulo de armazenamento de informações de predição P113, módulo de quantização inversa P206, módulo de transformada inversa P207, módulo de adição P208, módulo de geração de sinal predito P103 e módulo de armazenamento P104 fazem com que o computador execute as mesmas funções que o decodificador de coeficiente de transformação quantizado 207, decodificador de informações de predição 208, memória de informações de predição 115, quantizador inverso 203, transformador inverso 204, adicionador 205, gerador de sinal predito 103, e memória de quadro 104, respectivamente. O programa de codificação preditiva de imagem P100 ou o programa de decodificação preditiva de imagem P200 configurado conforme descrito anteriormente é armazenado em um meio de gravação SM e executado pelo computador descrito abaixo. A Figura 18 é um desenho que mostra uma configuração de hardware do computador para executar os programas gravados no meio de gravação e a Figura 19 uma vista em perspectiva do computador para executar os programas armazenados no meio de gravação. O equipamento para executar os programas armazenados no meio de gravação não se limita aos computadores, mas, pode ser um DVD player, um decodificador de sinais, um telefone celular, ou similar, dotado de uma CPU e configurado para realizar o processamento e controle baseado em software.
Conforme mostrado na Figura 19, o computador C10 é dotado de um dispositivo de leitura C12, tal como, uma unidade de disquete, uma unidade de CD-ROM, ou uma unidade de DVD, uma memória de trabalho (RAM) C14 na qual um sistema de operação é residente, uma memória CÍ6 para armazenar os programas armazenados no meio de gravação SM, um dispositivo de monitor C18, tal como, uma tela, um mouse C20 e um teclado C22 como dispositivos de entrada, um dispositivo de comunicação C24 para transmissão e recepção de dados e outros, e uma CPU C26 para controlar a execução de programas. Quando o meio de gravação SM for colocado no dispositivo de leitura C12, o computador C10 se torna acessível ao programa de codificação/decodificação preditiva de imagem armazenado no meio de gravação SM, através do dispositivo de leitura C12, e se torna capaz de operar como o dispositivo de codificação de imagem ou o dispositivo de decodificação de imagem, de acordo com a modalidade da presente invenção, com base no programa de codificação e decodificação de imagem.
Conforme mostrado na Figura 18, o programa de codificação preditiva de imagem e o programa de decodificação de imagem pode ser proporcionado na forma de um sinal de dados de computador CW sobreposto em uma onda portadora, através de uma rede. Neste caso, o computador C10 se torna capaz de executar o programa de codificação preditiva de ima- gem ou o programa de decodificação preditiva de imagem após o programa de codificação preditiva de imagem ou o programa de decodificação de imagem recebido pelo dispositivo de comunicação C24 ser armazenado na memória C16.
Ainda outra modalidade será descrita abaixo. A Figura 24 é um desenho que mostra esquematicamente a configuração de um dispositivo de codificação de vídeo, de acordo com uma modalidade. O dispositivo de codificação de vídeo 10 mostrado na Figura 24 é dotado do divisor de blocos 501, gerador de subpartição 502, memória de quadro 503, detector de movimento 504, gerador de sinal predito 505, preditor de movimento 506, sub-trator 507, gerador de sinal residual 508, transformador 509, quantizador 510, quantizador inverso 511, transformador inverso 512, adicionador 513 e codificador por entropia 514. Um sinal de imagem de entrada (sinal de vídeo) alimentado neste dispositivo de codificação de vídeo 10 é composto por uma sequência de tempo de sinais de imagem de unidades de quadro (daqui por diante referido como sinais de imagem de quadro). O divisor de blocos 501 seleciona sequencialmente sinais de i-magem de quadro, ou imagens de entrada que servem como alvos de codificação do sinal de imagem de entrada alimentado através da linha L501. O divisor de blocos 501 divide uma imagem de entrada em uma pluralidade de partições ou blocos. O divisor de blocos 501 seleciona sequencialmente a pluralidade de blocos como blocos alvos de codificação e emite um sinal de pixel de cada um dos blocos alvos (daqui por diante referido como um sinal de bloco alvo) através da linha L502.
No dispositivo de codificação de vídeo 10, o processamento de codificação descrito abaixo é realizado em unidades de bloco. O divisor de blocos 501 pode dividir, por exemplo, uma imagem de entrada em uma pluralidade de blocos, cada uma com 8x8 pixels. Entretanto, os blocos podem ter qualquer tamanho ou formato. Os blocos podem ser, por exemplo, blocos com 32 x 16 pixels ou blocos consistindo em 16 x 64 pixels. O gerador de subpartição 502 divide um bloco alvo alimentado através da linha L502, em uma pluralidade de subpartições. A Figura 25 é um desenho que explica a geração de subpartições . Conforme mostrado na Figura 25, o gerador de subpartição 502 divide o bloco alvo P em duas subpartições SP1 e SP2 através de uma linha reta Ln expressa pela expressão linear da fórmula (1). y = mx+k (1) Por exemplo, o gerador de subpartição 502 pode ser configurado da seguinte maneira: com alterações dos parâmetros m e k, este obtém um sinal predito da subpartição SP1 e um sinal predito da subpartição SP2, e determina m e k que minimizam um erro entre o sinal predito da subpartição SP1 e um sinal de imagem da subpartição SP1 e um erro entre o sinal predito da subpartição SP2 e um sinal de imagem da subpartição SP2, como parâmetros da linha reta Ln. O gerador de subpartição 502 emite os parâmetros m e k na fórmula (1) determinada, deste modo, como informações de formato que especificam os formatos das subpartições no bloco alvo P, isto é, como informações de formato que especificam os formatos da primeira subpartição SP 1 e da segunda subpartição SP2, através da linha L504. A expressão linear que expressa a linha reta Ln pode ser qualquer uma. Por exemplo, a linha reta Ln pode ser uma expressa pela fórmula (2)- y = -x/tan6 + p/sen6 (2) Neste caso, as informações de formato são Θ e p.
As informações de formato podem ser informações indicativas de dois pontos arbitrários em que a linha reta Ln passa, por exemplo, interseções entre a linha reta e os limites do bloco P. O bloco nem sempre precisa ser dividido através de uma linha reta, porém, as subpartições podem ser geradas com base em um padrão selecionado a partir de uma pluralidade de padrões antecipadamente preparados. Neste caso, informações, tal como, um índice que especifica o padrão selecionado pode ser usado como informações de formato.
Na descrição abaixo, as coordenadas são ajustadas com uma origem na posição mais elevada e mais à esquerda do bloco alvo, uma sub- partição que inclui o pixel mais elevado e mais à esquerda no bloco alvo P é definida como uma primeira subpartição , e a outra como uma segunda subpartição . Entretanto, nota-se que qualquer método é aplicável no presente documento: por exemplo, uma subpartição que não inclui a posição do centro no bloco alvo pode ser definida como uma primeira subpartição , e a outra como uma segunda subpartição . Neste caso, as informações de formato podem ser informações de interseção de limites de bloco ou informações de identificação padrão. A memória de quadro 503 armazena sinais de imagens previamente reconstruídas alimentadas através da linha L505, isto é, sinais de i-magem de quadro que foram codificados no passado (que serão posteriormente referidos no presente documento como sinais de imagem de quadro de referência). A memória de quadro 503 emite o sinal de imagens de quadro de referência através da linha L506. O detector de movimento 504 recebe o sinal de bloco alvo alimentado através da linha L502, as informações de formato do bloco alimentado através da linha L504, e os sinais de imagem de quadro de referência alimentados através da linha L506. O detector de movimento 504 procura os sinais de imagem em uma faixa predeterminada de sinais de imagem de quadro de referência, para um sinal similar a um sinal de imagem de uma subpartição que serve como um alvo de processamento, e calcula um vetor de movimento. Este vetor de movimento é uma quantidade de deslocamento espacial entre uma região em um sinal de imagem de quadro de referência que tem um sinal de pixel similar ao sinal de imagem da subpartição que serve como um alvo de processamento, e o bloco alvo. O detector de movimento 504 emite o vetor de movimento calculado, deste modo, através da linha L507. O detector de movimento 504 pode ser configurado, ao mesmo tempo, para detectar também um vetor de movimento para um bloco alvo e determinar se um sinal predito será gerado para cada uma das duas subpartições que resultam da divisão do bloco alvo. Esta determinação pode ser tal determinação em que se um erro entre o sinal predito do bloco alvo e o sinal de imagem do bloco alvo for menor que os erros entre os sinais preditos das duas subpartições geradas pela divisão do bloco alvo, e os sinais de imagem das duas subpartições , o bloco alvo não é dividido nas subpartições . Quando esta determinação for efetuada, as informações indicativas do resultado da determinação são codificadas como informações de aplicabilidade de divisão e as informações de formato podem ser codificadas apenas se as informações de aplicabilidade de divisão indicarem que um bloco alvo será dividido nas subpartições . O gerador de sinal predito 505 gera o sinal predito do sinal de imagem da subpartição que serve como um alvo de processamento, com base no vetor de movimento alimentado através da linha L507 e nas informações de formato de bloco alimentadas através da linha L504, do sinal de imagem na faixa predeterminada do sinal de imagem de quadro de referência alimentado através da linha L506. O gerador de sinal predito 505 combina os sinais preditos das respectivas subpartições no bloco alvo para gerar o sinal predito do bloco alvo. O gerador de sinal predito 505 emite o sinal predito gerado, deste modo, através da linha L508. O sinal predito pode ser gerado pela predição intraquadros, em vez da predição interquadros. O preditor de movimento 506 gera um vetor de movimento predito de uma subpartição de alvo de processamento em um bloco alvo, com base nas informações de formato de bloco alimentado através da linha L504, o vetor de movimento alimentado através da linha L507 e um vetor de movimento de um bloco anterior em ordem à subpartição de alvo de processamento ou um vetor de movimento de uma região parcial já processada, ou seja, uma subpartição . O preditor de movimento 506 emite o vetor de movimento predito gerado deste modo, através da linha L509, O preditor de movimento 506 pode selecionar um vetor de movimento predito fora de uma pluralidade de candidatos para o vetor de movimento predito. Neste caso, o preditor de movimento 506 também emite informações de indicação que especificam o vetor de movimento predito selecionado através da linha L510. Se os candidatos para o vetor de movimen- to predito da subpartição de alvo de processamento forem limitados a um de acordo com uma regra predeterminada compartilhada com o lado de decodificador, a emissão das informações de indicação pode ser omitida. O subtrator 507 subtrai o vetor de movimento predito alimentado através da linha L509, do vetor de movimento da subpartição de alvo de processamento alimentado através da linha L507, para gerar um vetor de movimento diferencial. O subtrator 507 emite o vetor de movimento diferencial gerado deste modo através da linha L511. O gerador de sinal residual 508 subtrai o sinal predito do bloco alvo alimentado através da linha L508, do sinal de bloco alvo alimentado a-través da linha L502, para gerar um sinal residual. O gerador de sinal residual 508 emite o sinal residual gerado deste modo através da linha L512. O transformador 509 realiza a transformação ortogonal do sinal residual alimentado através da linha L512, para gerar coeficientes de transformação. O transformador 509 emite os coeficientes de transformação gerados deste modo através da linha L513. Esta transformação ortogonal pode ser realizada, por exemplo, por DCT. Entretanto, a transformação usada pelo transformador 509 pode ser qualquer transformação. O quantizador 510 quantiza os coeficientes de transformação a-limentados através da linha L513, para gerar os coeficientes de transformação quantizados. O quantizador 510 emite os coeficientes de transformação quantizados gerados deste modo através da linha L514. O quantizador inverso 511 realiza a quantização inversa dos coeficientes de transformação quantizados alimentados através da linha L514, para gerar coeficientes de transformação inversamente quantizados. O quantizador inverso 511 emite os coeficientes de transformação inversamente quantizados gerados deste modo através da linha L515. O transformador inverso 512 realiza a transformação ortogonal inversa dos coeficientes de transformação inversamente quantizados alimentados através da linha L515, para gerar um sinal residual reconstruído. O transformador inverso 512 emite o sinal residual reconstruído gerado deste modo através da linha L516. A transformação inversa usada pelo transfor- mador inverso 512 é um processo simétrico à transformação do transformador 509. A transformação nem sempre é essencial, e o dispositivo de codificação de vídeo nem sempre precisa ser dotado do transformador 509 e do transformador inverso 512. Igualmente, a quantização nem sempre é essencial, e o dispositivo de codificação de vídeo nem sempre precisa ser dotado do quantizador 510 e do quantizador inverso 511. O adicionador 513 adiciona o sinal residual reconstruído inserido através da linha L516, ao sinal predito do bloco alvo alimentado através da linha L508, para gerar um sinal de imagem reconstruído. O adicionador 513 emite o sinal de imagem reconstruído como um sinal de imagem previamente reconstruído através da linha L505. O codificador por entropia 514 codifica os coeficientes de transformação quantizados alimentados através da linha L514, as informações de formato do bloco alvo alimentado através da linha L504, as informações de indicação do vetor de movimento predito alimentado através da linha L510, e o vetor de movimento diferencial alimentado através da linha L511. O codificador por entropia 514 multiplexa os códigos gerados por codificação, para gerar um fluxo compactado e, então, emitir o fluxo compactado através da linha L517. O codificador por entropia 514 pode usar qualquer método de codificação, tal como, a codificação aritmética ou a codificação por carreira. O codificador por entropia 514 pode determinar de maneira adaptável uma probabilidade de ocorrência na codificação aritmética das informações de indicação do vetor de movimento predito alimentado através da linha L510, com base nas informações de formato do bloco alvo alimentado através da linha L504. Por exemplo, o codificador por entropia 514 pode ajustar um valor alto como uma probabilidade de ocorrência das informações de indicação que indicam um vetor de movimento de uma região parcial em contato com uma subpartição de alvo de processamento. A Figura 26 é um desenho que mostra uma configuração do preditor de movimento, de acordo com uma modalidade. Conforme mostrado na Figura 26, o preditor de movimento 506 tem uma memória de vetor de movimento 5061, um gerador de candidato de referência de movimento 5062, e um gerador de vetor de movimento predito 5063. A memória de vetor de movimento 5061 armazena os vetores de movimento de regiões parciais previamente processadas e emite os vetores de movimento previamente codificados através da linha L5061, para derivação de um vetor de movimento predito de uma subpartição de alvo de processamento. O gerador de candidato de referência de movimento 5062 gera candidatos para o vetor de movimento predito dos vetores de movimento das regiões parciais alimentadas através da linha L5061, através de um método descrito abaixo, com base nas informações de formato alimentadas através da linha L504. O gerador de candidato de referência de movimento 5062 emite os candidatos um vetor de movimento predito gerado deste modo a-través da linha L5062. O gerador de vetor de movimento predito 5063 seleciona um candidato que minimiza a diferença do vetor de movimento da subpartição de alvo de processamento, dos candidatos um vetor de movimento predito alimentado através da linha L5062. O gerador de vetor de movimento predito 5063 emite o candidato selecionado como um vetor de movimento predito através da linha L509. Este também emite as informações de indicação que especificam o candidato selecionado através da linha L510.
Se o número de candidatos gerado no gerador de candidato de referência de movimento for limitado a um, a emissão das informações de indicação podem ser omitidas. Não existem restrições em um método para limitar o número de candidatos a um, porém, qualquer método pode ser aplicado, por exemplo, tal como, um método para uso de um valor intermediário de três candidatos, um método de uso de uma média de dois candidatos, e um método de definição de uma ordem de prioridade para a seleção de um fora de uma pluralidade de candidatos.
Descreve-se abaixo a operação do dispositivo de codificação de vídeo 10 e se descreve também um método de codificação de vídeo, de a- cordo com uma modalidade. A Figura 27 é um fluxograma do método de codificação de vídeo, de acordo com uma modalidade.
Em uma modalidade, conforme mostrado na Figura 27, o divisor de blocos 501 divide primeiro uma imagem de entrada em uma pluralidade de blocos, na etapa S501. Na próxima etapa S502, o gerador de subpartição 502 divide um bloco alvo em uma pluralidade de subpartições , conforme descrito anteriormente. O gerador de subpartição 502 também gera as informações de formato, conforme descrito anteriormente.
Na etapa S503, o detector de movimento 504, então, obtém um vetor de movimento de uma subpartição de alvo de processamento, conforme descrito anteriormente. Na etapa subsequente S504, o gerador de sinal predito 505 gera um sinal predito do bloco alvo, que usa os vetores de movimento das respectivas subpartições no bloco alvo e os sinais de imagem de quadro de referência, conforme descrito anteriormente.
Na etapa S505, o preditor de movimento 506, então, obtém um vetor de movimento predito. Além disso, o preditor de movimento 506 gera as informações de indicação que especificam um candidato selecionado a partir de uma pluralidade de candidatos um vetor de movimento predito. Os detalhes do processo desta etapa S505 serão posteriormente descritos. Na etapa subsequente S506, o subtrator 507 calcula a diferença entre o vetor de movimento de cada sub-bloco e o vetor de movimento predito para gerar um vetor de movimento diferencial, conforme descrito anteriormente.
Na etapa S507, o gerador de sinal residual 508, então, obtém a diferença entre o sinal de imagem do bloco alvo e o sinal predito para gerar um sinal residual. Na etapa subsequente S508, o transformador 509 realiza a transformação ortogonal do sinal residual para gerar coeficientes de transformação. Na etapa subsequente S509, o quantizador 510 quantiza os coeficientes de transformação para gerar coeficientes de transformação quantizados. Na etapa subsequente 5510, o quantizador inverso 511 realiza a quantização inversa dos coeficientes de transformação quantizados para gerar coeficientes de transformação inversamente quantizados. Na etapa subsequente 5511, o transformador inverso 512 realiza a transformação in- versa dos coeficientes de transformação inversamente quantizados para gerar um sinal residual reconstruído.
Na etapa S512, o adicionador 513, então, adiciona o sinal predito do bloco alvo ao sinal residual reconstruído para gerar um sinal de imagem reconstruído. Na etapa subsequente 5513, o sinal de imagem reconstruído é armazenado como um sinal de imagem previamente reconstruído na memória de quadro 503.
Na etapa S514, o codificador por entropia 514, então, codifica os coeficientes de transformação quantizados, as informações de formato do bloco alvo, as informações de indicação do vetor de movimento predito e o vetor de movimento diferencial.
Na próxima etapa S515, se determina se todos os blocos foram processados. Se o processamento não foi concluído em todos os blocos, o processamento a partir da etapa S502 é continuado em um bloco não processado como um alvo. Por outro lado, se o processamento for concluído em todos os blocos, o processamento é terminado. A operação do preditor de movimento 506 será descrita abaixo em mais detalhes. A Figura 28 é um fluxograma que mostra o processo do preditor de movimento, de acordo com uma modalidade. O preditor de movimento 506 emite o vetor de movimento predito (daqui por diante PMV) e as informações de indicação que especificam PMV, de acordo com o fluxograma mostrado na Figura 28.
No processo do preditor de movimento 506, conforme mostrado na Figura 28, o valor do contador i é ajustado primeiro em 0, na etapa S505-1. Supõe-se abaixo que o processo para a primeira subpartição seja realizado com i=0 e o processo para a segunda seja realizado com i=1. A seguir, a etapa S505-2 serve para gerar candidatos a PMV de uma subpartição de alvo de processamento a partir de vetores de movimento de regiões parciais previamente processadas, de acordo com um método descrito abaixo. O número de candidatos a PMV é dois no presente exemplo. Isto é, os candidatos a PMV podem ser ajustados da seguinte maneira: um vetor de movimento de uma região parcial previamente processada situ- ada à esquerda da subpartição de alvo de processamento e um vetor de movimento de uma região parcial previamente processada situada acima da subpartição de alvo de processamento são ajustados como candidatos a vetor de movimento predito da subpartição de alvo de processamento. Na etapa S505-2, o número de candidatos gerados é ajustado em Ncand. A seguir, na etapa S505-3, se determina se NCand é "0." Quando NCand for "0" (Sim), o processamento prossegue até a etapa S505-4. Quando NCand não for "0" (Não), o processamento prossegue até a etapa S505-5.
Na etapa S505-4, PMV é ajustado em um vetor zero e o processamento prossegue até a etapa S505-10. Nesta ocasião, PMV pode ser a-justado em um vetor de movimento de um bloco predeterminado, um vetor de movimento de uma região parcial imediatamente processada antes da subpartição de alvo de processamento, ou similar, em vez do vetor zero.
Na etapa S505-5, se determina se NCand é "1." Quando NCand for "1" (Sim), o processamento prossegue até a etapa S505-10. Quando NCand não for "1" (Não), o processamento prossegue até a etapa S505-6.
Na etapa S505-6, um PMV é selecionado a partir dos candidatos a PMV gerados na etapa S505-2. O PMV a ser selecionado pode ser um candidato que minimiza a diferença do vetor de movimento da subpartição de alvo de processamento. A seguir, S505-7 serve para determinar se o PMV selecionado na etapa S505-6 é um candidato esquerdo, isto é, um vetor de movimento da região parcial esquerda. Quando o PMV selecionado na etapa S505-6 for o candidato esquerdo (Sim), o processamento prossegue até a etapa S505-8. Quando o PNIV selecionado na etapa S505-6 não for o candidato esquerdo (Não), o processamento prossegue até a etapa S505-9.
Na etapa S505-8, as informações de indicação pmvjeft flag=1 que indicam que o PMV é o vetor de movimento da região parcial situada à esquerda da subpartição de alvo de processamento são emitidas. Por outro lado, na etapa S505-9 as informações de indicação pmvjeft flag=0 que indicam que o PMV é o vetor de movimento da região parcial situada acima da subpartição de alvo de processamento são emitidas. A seguir, na etapa S505-10, o PMV que permanece como um candidato é emitido. Na etapa subsequente 5505-11, "1" é adicionado ao valor do contador i. A seguir, na etapa S505-12, se determina se o valor do contador i é menor que "2". Quando o valor do contador i for menor que "2" (Sim), o processamento prossegue até a etapa S505-2. Quando o valor do contador i não for menor que "2" (Não), o processamento é terminado.
Se a etapa S505-2 for configurada para limitar o número de candidatos gerados a um, as etapas S505-5, S505-6, S505-7, S505-8, e S505-9 podem ser omitidas. Não existem restrições neste método limitativo, porém, é possível adotar, por exemplo, tal método como um método de uso de um valor intermediário de três candidatos, um método de uso de uma média de dois candidatos, ou um método para determinar uma ordem de prioridade para a seleção de um fora de uma pluralidade de candidatos, conforme descrito anteriormente na descrição do gerador de vetor de movimento predito 5063. Na configuração em que o número de candidatos gerados na etapa S505-2 é limitado a um, Quando NCand não for "0" na etapa S505-3 (Não), o processamento prossegue até a etapa S505-10. O método de geração de candidatos para o vetor de movimento predito da subpartição de alvo de processamento na etapa S505-2 será descrito abaixo em mais detalhes. A Figura 29 é um desenho que mostra um exemplo de subpartições de um bloco alvo e regiões parciais circundantes. O gerador de candidato de referência de movimento 5062, conforme mostrado na Figura 29, se refere à região parcial U1 e à região parcial L1 para a primeira subpartição SP1 e, quando cada uma das regiões parciais for aquela que foi processada por predição interquadros, o gerador de candidato de referência de movimento 5062 emprega o vetor de movimento da região parcial como um candidato ao vetor de movimento predito da primeira subpartição SP1. De maneira similar, o gerador de candidato de referência de movimento 5062 se refere à região parcial U2 ou região parcial L2 para a segunda subpartição gerar candidatos a vetor de movimento predito da segunda subpartição. As regiões parciais U1, L1, U2 e L2, no presente documento, são blocos ou subpartições ao redor do bloco alvo P e regiões que servem como unidades de geração do sinal predito. As regiões parciais podem ser blocos preparados para a geração de candidatos a vetor de movimento predito (por exemplo, blocos gerados pela divisão em um único formato), independente das unidades de geração do sinal predito. A região parcial U1 é uma região parcial que inclui um pixel Pi 1(0,-1) vizinho acima do pixel mais elevado e mais à esquerda F(0,0) da primeira subpartição SP1, que é uma região parcial previamente processada em contato com a subpartição SP1. A região parcial L1 é uma região parcial que inclui um pixel Pi2(-1,0) vizinho à esquerda do pixel mais elevado e mais à esquerda F(0,0) da primeira subpartição SP1, que é uma região parcial em contato com a primeira subpartição SP1. A região parcial U2 é uma região parcial vizinha à direita de uma região parcial que inclui um pixel Pi3(x1,-1), que é uma região parcial em contato com o eixo geométrico χ. A região parcial L2 é uma região parcial vizinha abaixo de uma região parcial que inclui um pixel Pi4(-1,y1), que é uma região parcial em contato com o eixo geométrico y. A coordenada x x1 do pixel Pi3 e a coordenada y y1 do pixel Pi4 podem ser calculadas pela fórmula (3) e fórmula (4). x1 = teto(-k/m) (3) y1 = teto(k) (4) As fórmulas (3) e (4) são fórmulas obtidas aplicando-se a função teto(z) aos valores que resultam da substituição de y=0 e x=0, respectivamente, na expressão linear (1) que expressa uma linha de extensão Ln de um limite como uma partição entre a primeira subpartição SP1 e a segunda subpartição SP2. A função teto(z) é chamada de uma função teto, que é uma função que deriva um número inteiro mínimo não menor que z, para o número real z.
Uma função piso pode ser empregada em vez da função teto. A função piso(z) é chamada de uma função piso, que é uma função que deriva um número inteiro máximo não maior que z, para o número real z.
Além disso, x1 e y1 podem ser calculados pelas fórmulas (5) e (6). x1 = teto((-1 -k)/m (5) y1 = teto(-m + k) (6) As fórmulas (5) e (6) são fórmulas obtidas aplicando-se a função teto(z) aos valores que resultam da substituição de y=-1 e x= -1, respectivamente, na fórmula (1), Se as regiões parciais U2 e L2 forem existentes, são determinadas conforme descrito abaixo. As condições para a existência da região parcial U2 são aquelas que se encontram em uma imagem e que a fórmula (7) é satisfeita. As condições para a existência da região parcial L2 são aquelas que se encontram em uma imagem e que a fórmula (8) é satisfeita. 0 <x1 (7) 0 <y1 (8) Quando a condição da fórmula (7) não for satisfeita, a região parcial L2 existe entre a segunda subpartição SP2 e a região parcial U2. Neste caso, é menos provável que a região parcial U2 mais distante da segunda subpartição SP2 que a região parcial L2 mais próxima à segunda subpartição SP2 tenha um vetor de movimento próximo aquele da segunda subpartição SP2. Neste caso, o vetor de movimento da região parcial U2 pode ser excluído dos candidatos a vetor de movimento predito pela condição da fórmula (7).
Igualmente, quando a condição da fórmula (8) não for satisfeita, a região parcial U2 existe entre a segunda subpartição SP2 e a região parcial L2. Neste caso, é menos provável que a região parcial L2 mais distante da segunda subpartição SP2 que a região parcial U2 mais próxima à segunda subpartição SP2 tenha um vetor de movimento próximo aquele da segunda subpartição SP2. Neste caso, o vetor de movimento da região parcial U2 pode ser excluído dos candidatos a vetor de movimento predito pela condição da fórmula (8).
Em um exemplo, as condições definidas pelas fórmulas (9) e (10) abaixo podem ser usadas em vez das condições das fórmulas (7) e (8). Ο < χ1 < blocksizeX (9) 0 < y1 < blocksizeY (10) Aqui, blocksizeX e blocksizeY são o número de pixels horizontais e o número de pixels verticais no bloco alvo P. Por exemplo, quando o bloco alvo P for um bloco de 8 x 8 pixels, blocksizeX=8 e blocksizeY=8.
Usando-se a condição da fórmula (9) ou fórmula (10), é possível excluir dos candidatos a vetor de movimento predito, um vetor de movimento de uma região parcial que não tem contato com a segunda subpartição SP2, fora da região parcial U2 e da região parcial L2. Isto permite que apenas candidatos a vetor de movimento predito com precisão de predição con-cebivelmente alta sejam deixados.
Quando as regiões parciais U1, L1, U2 e L2 forem ajustadas, conforme descrito anteriormente, os candidatos a vetor de movimento predito de cada subpartição são gerados a partir dos vetores de movimento de regiões parciais previamente processadas situadas no mesmo lado em relação à linha de extensão do limite entre as subpartições .
Desde que os candidatos a vetor de movimento predito da subpartição SP2 sejam gerados a partir dos vetores de movimento de regiões parciais no mesmo domínio que a subpartição SP2 em relação à linha de extensão Ln do limite entre a subpartição SP2 e as outras subpartições do bloco alvo que incluem a subpartição SP2, o método de geração do vetor de movimento predito não se limita àquele na modalidade descrita acima. Por exemplo, a região parcial U2 pode ser uma região parcial que inclui o pixel Pi3 e a região parcial L2 pode ser uma região parcial que inclui o pixel Pi4.
Uma condição em que toda a região parcial está presente no mesmo domínio que a subpartição SP2 em relação à linha Ln pode ser adicionada como uma condição para que o vetor de movimento da região parcial seja adicionado aos candidatos a vetor de movimento predito da subpartição SP2. Neste caso, é possível empregar, por exemplo, um método de inspecionar as posições de todos os cantos da região parcial.
Mesmo se uma região parcial não for completamente incluída no mesmo domínio que uma subpartição em relação à linha de extensão, o ve- tor de movimento da região parcial pode ser empregado como um candidato ao vetor de movimento predito da subpartição . A Figura 30 é um desenho que mostra outro exemplo de subpartições de um bloco alvo e regiões parciais circundantes. Conforme mostrado como um exemplo na Figura 30, os vetores de movimento das regiões parciais RA, RB, RG e RE podem ser u-sados como candidatos a vetor de movimento predito da primeira subpartição SP1. Um vetor de movimento predito da região parcial RE pode ser adicionado aos candidatos a vetor de movimento predito da segunda subpartição SP2.
Na descrição sobre as Figuras 28 e 29, oi número de vetores de movimento que serve como candidatos a vetor de movimento predito era no máximo dois, porém, também é possível selecionar dois dos vetores de movimento obtidos através de qualquer uma das condições descritas acima. Por exemplo, o vetor de movimento da região parcial U2 mostrada na Figura 29, e um vetor de movimento de uma região parcial vizinha à região parcial U2 pode ser selecionado como candidato ao vetor de movimento predito. Igualmente, o vetor de movimento da região parcial L2 e um vetor de movimento de uma região parcial vizinha à região parcial U2 pode ser selecionado como candidato ao vetor de movimento predito. Além disso, três ou mais vetores de movimento podem ser selecionados como candidatos a vetor de movimento predito a partir dos vetores de movimento especificados por qualquer uma das condições descritas acima. Além disso, uma média iy uma mediana de uma pluralidade de candidatos a vetor de movimento predito pode ser adicionada aos candidatos a vetor de movimento predito.
As informações de formato de bloco podem ser usadas como um método para limitar o número de candidatos a vetor de movimento predito gerado na etapa S505-2 na Figura 28 a no máximo um. Por exemplo, fora das regiões parciais previamente codificadas em contato com uma subpartição de alvo de processamento, um vetor de movimento de uma região parcial com um comprimento máximo de uma porção em contato com a subpartição pode ser adicionado como um candidato ao vetor de movimento predito. Também é possível empregar um vetor de movimento de uma região parcial previamente codificada com uma distância mais curta mínima de uma subpartição de alvo de processamento, como um candidato ao vetor de movimento predito da subpartição .
Os métodos de geração descritos acima de candidatos a vetor de movimento predito podem ser aplicados a subpartições de qualquer formato. A Figura 31 é um desenho que mostra exemplos adicionais de subpartições de um bloco alvo e regiões parciais circundantes. (A) da Figura 31 mostra subpartições definidas por uma linha Ln com uma coordenada de intercepção y e uma curva diferente daquelas da linha Ln mostrada na Figura 29. (II) da Figura 31 mostra subpartições definidas por uma linha Ln com uma curva aproximadamente simétrica àquela da linha Ln em relação ao eixo geométrico y e com uma coordenada de intercepção y diferente daquela da linha Ln mostrada na Figura 29. (C) da Figura 31 mostra subpartições definidas por duas linhas Ln1 e Ln2. (D) da Figura 31 mostra subpartições definidas por duas linhas Ln1 e Ln2 que se cruzam. Quando a linha de extensão do limite, conforme mostrado em (A) a (D) da Figura 31 for usada como referência, as regiões parciais L2 e U2 com vetores de movimento que podem ser candidatos a vetor de movimento predito da subpartição SP2 podem ser especificadas pelos métodos de geração mencionados acima de candidatos a vetor de movimento predito.
Nota-se que as subpartições não se limitam apenas àquelas par-ticionadas através de uma linha reta. Por exemplo, no caso em que os formatos de subpartições são selecionados fora dos padrões predeterminados, um vetor de movimento de uma região parcial previamente codificada que pertence ao mesmo domínio que uma subpartição de alvo de processamento em relação a uma linha de extensão de um limite entre subpartições pode ser usado como um candidato ao vetor de movimento predito. Se os padrões de formatos de subpartição forem preliminarmente definidos, também é possível determinar de maneira preliminar uma região parcial com um vetor de movimento a ser adotado como um candidato ao vetor de movimento predito, para cada padrão de formato. Os padrões podem incluir os padrões para dividir um bloco alvo em subpartições retangulares. O método de seleção mencionado acima do vetor de movimento predito também pode ser aplicado como um método de seleção de um vetor de movimento na geração de um sinal predito de uma subpartição de alvo de processamento que usa vetores de movimento de regiões parciais previamente codificadas. Isto é, o sinal predito da subpartição de alvo de processamento pode ser gerado usando o vetor de movimento predito selecionado na etapa S505-2 na Figura 28. Neste caso, não existe necessidade de codificação do vetor de movimento diferencial e, portanto, o vetor de movimento predito emitido a partir do preditor de movimento 506 não é emitido para o subtrator 507, porém, para o gerador de sinal predito 505.
Além disso, o dispositivo de codificação de vídeo 10 pode ser configurado para determinar se o vetor de movimento diferencial deve ser codificado, e para codificar as informações de aplicação que especificam o resultado da determinação. Nesta modificação, o preditor de movimento 506 pode incluir uma função para comutar a saída do vetor de movimento predito com o subtrator 507 ou o gerador de sinal predito 505, com base nas informações de aplicação.
Nesta modificação, é desfavorável que os vetores de movimento de todas as subpartições em um bloco alvo se tornem idênticos uns aos outros, porque a divisão do bloco alvo se torna insignificante. Isto é, na ocasião da geração dos candidatos a vetor de movimento de uma subpartição de alvo de processamento na etapa S505-2 na Figura 28, um vetor de movimento de uma subpartição previamente codificada no bloco alvo pode ser excluído dos candidatos. Por exemplo, no caso em que o bloco alvo é dividido em duas subpartições e onde o vetor de movimento das primeiras subpartições é codificado primeiro, o vetor de movimento das primeiras subpartições é excluído dos candidatos a vetor de movimento predito das segundas subpartições . Se o vetor de movimento das primeiras subpartições for igual aquele da região parcial U2, o vetor de movimento da região parcial U2 não precisa ser usado na geração do vetor de movimento predito da segunda subpartição.
Se o vetor de movimento diferencial a ser codificado for indica- do, a probabilidade de ocorrência na codificação aritmética das informações de aplicação mencionadas acima pode ser determinada de maneira adaptável de acordo com as informações de formato de subpartição. Por exemplo, a probabilidade de ocorrência de informações de aplicação que indicam que o vetor de movimento diferencial da primeira subpartição não é codificado pode ser ajustada mais alta que para as informações de aplicação que indicam que o vetor de movimento diferencial da segunda subpartição não é codificado. A seguir se descreve a razão para isto: a segunda subpartição pode não ter contato com nenhuma região parcial previamente codificada, enquanto a primeira subpartição sempre fica em contato com uma região parcial previamente codificada; portanto, o ajuste das probabilidades de o-corrência, conforme descrito anteriormente, pode reduzir uma quantidade de código das informações de aplicação. O efeito de uma modalidade será descrito com referência à Figura 32 que mostra um exemplo da divisão de um bloco alvo em subpartições retangulares, por uma questão de simplicidade. Neste exemplo, o bloco alvo P é dividido em uma subpartição esquerda SP1 e uma subpartição direita SP2 através de uma linha reta Ln. Neste exemplo, um vetor de movimento da primeira subpartição SP1 e um vetor de movimento de uma região parcial RB são candidatos a vetor de movimento predito da segunda subpartição SP2.
No exemplo mostrado na Figura 32, se o sinal predito da segunda subpartição SP2 for gerado usando o vetor de movimento da primeira subpartição SP1, o sinal predito da primeira subpartição SP1 e o sinal predito da segunda subpartição SP2 serão gerados usando o mesmo vetor de movimento, que torna a divisão do bloco alvo em duas subpartições insignificante. Por esta razão, o sinal predito da segunda subpartição SP2 pode ser gerado usando o vetor de movimento da região parcial RB acima da subpartição SP2. No exemplo mostrado na Figura 32, portanto, é preliminarmente determinado entre o dispositivo de codificação e o dispositivo de decodificação que o sinal predito da segunda subpartição SP2 será gerado usando o vetor de movimento da região parcial RB, que reduz os candidatos a vetor de movimento predito e que elimina a necessidade de transmitir informações de indicação que indicam um vetor de movimento predito fora de uma pluralidade de candidatos a vetor de movimento predito.
Além disso, um método para o dispositivo de codificação de vídeo 10 determinar se o vetor de movimento diferencial precisa ser codificado (em que o preditor de movimento 506 comuta a saída do vetor de movimento predito com o subtrator 507 ou com o gerador de sinal predito 505 com base nas informações de aplicação) é discutido. Neste momento, se o vetor de movimento da região parcial RB for igual aquele da primeira subpartição SP1, a seleção de um dos dois candidatos a vetor de movimento predito resulta no mesmo vetor de movimento predito da segunda subpartição SP2 que o vetor de movimento da primeira subpartição SP1. Portanto, é preliminarmente determinado entre o dispositivo de codificação e o dispositivo de decodificação que se os dois candidatos a vetor de movimento predito forem idênticos uns aos outros, o sinal predito da segunda subpartição SP2 será gerado pelo vetor de movimento que resulta da adição do vetor de movimento diferencial e do vetor de movimento predito, que elimina a necessidade de transmitir as informações de aplicação que indicam se o vetor de movimento diferencial será codificado, além das informações de indicação.
Nos casos em que um bloco alvo é dividido em três ou mais subpartições , conforme mostrado na Figura 33, a divisão do bloco alvo é significativa se a primeira subpartição SP1, segunda subpartição SP2 e terceira subpartição SP3 tiverem o mesmo vetor de movimento e a quarta subpartição SP4 tiver apenas um vetor de movimento diferente. Em tais casos, portanto, o sinal predito da segunda subpartição SP2 e o sinal predito da terceira subpartição SP3 podem ser gerados usando o vetor de movimento da primeira subpartição SP1, em vez dos vetores de movimento da região parcial RB e da região parcial RE, respectivamente. Entretanto, para a quarta subpartição SP4, se os vetores de movimento da segunda subpartição SP2 e da terceira subpartição SP3 forem iguais, dois candidatos a vetor de movimento predito se tornam idênticos uns aos outros; portanto, ao determinar de maneira preliminar uma regra entre o dispositivo de codificação e o dispositivo de decodificação, se torna desnecessário transmitir as informações de indicação que indicam um vetor de movimento predito. Além disso, se a primeira subpartição SP 1, segunda subpartição e terceira subpartição SP3 tiverem o mesmo vetor de movimento e se o sinal predito da quarta subpartição SP4 for gerado usando o vetor de movimento da segunda subpartição SP2 ou da terceira subpartição as quatro subpartições terão o mesmo vetor de movimento; portanto, ao determinar de maneira preliminar uma regra entre o dispositivo de codificação e o dispositivo de decodificação, também se torna desnecessário transmitir as informações de aplicação que indicam se o vetor de movimento diferencial será codificado, além das informações de indicação.
Um dispositivo de decodificação de vídeo, de acordo com uma modalidade, será descrito abaixo. Figura 34 é um desenho que mostra esquematicamente a configuração do dispositivo de decodificação de vídeo, de acordo com uma modalidade. O dispositivo de decodificação de vídeo 20 mostrado na Figura 34 é um dispositivo que pode gerar uma sequência de vídeo ao decodificar um fluxo compactado gerado pelo dispositivo de codificação de vídeo 10.
Conforme mostrado na Figura 34, o dispositivo de decodificação de vídeo 20 é dotado do decodificador de dados 601, preditor de movimento 602, adicionador 603, quantizador inverso 604, transformador inverso 605, memória de quadro 606, gerador de sinal predito 607 e adicionador 608. O decodificador de dados 601 analisa um fluxo compactado inserido através da linha L601. O decodificador de dados 601 realiza de maneira sequencial o processamento descrito abaixo, para cada bloco como um alvo de decodificação (daqui por diante um bloco alvo). O decodificador de dados 601 decodifica os dados codificados associados ao bloco alvo no fluxo compactado para restaurar os coeficientes de transformação quantizados do bloco alvo, e emite os coeficientes de transformação quantizados através da linha L602. O decodificador de dados 601 também decodifica os dados codificados para restaurar as informações de formato do bloco alvo, e emite as informações de formato através da linha L603. Nesta ocasião, as informações de aplicabilidade de divisão que indicam se o bloco alvo precisa ser dividido são restauradas, e se as informações de aplicabilidade de divisão não indicarem nenhuma divisão do bloco alvo, as informações de formato não precisam ser restauradas. O decodificador de dados 601 também decodifica os dados codificados para restaurar as informações de indicação para cada subpartição no bloco alvo, isto é, as informações que indicam um entre uma pluralidade de candidatos a vetor de movimento predito, e emite as informações de indicação através da linha L604. O decodificador de dados 601 também decodifica os dados codificados para restaurar o vetor de movimento diferencial do bloco alvo, e emite o vetor de movimento diferencial através da linha L605. Além disso, o decodificador de dados 601 pode determinar de maneira adaptável a probabilidade de ocorrência na decodificação de dados codificados na ocasião de restauração das informações de indicação do vetor de movimento predito, com base nas informações de formato do bloco alvo. Um método para implementar isto pode ser, por exemplo, ajustar uma probabilidade de ocorrência mais alta para as informações de indicação que indicam um vetor de movimento de uma região parcial em contato com uma subpartição de alvo de processamento, como um vetor de movimento predito. O preditor de movimento 602 gera um vetor de movimento predito de uma subpartição de alvo de processamento, com base nas informações de formato alimentadas através da linha L603 e dos vetores de movimento de regiões parciais anteriormente em uma ordem de processamento, alimentada através da linha L606, e com base nas informações de indicação alimentado através da linha L604, e emite o vetor de movimento predito a-través da linha L607. Ao limitar os candidatos a vetor de movimento predito a um em um método predeterminado, também é possível omitir a entrada das informações de indicação. O adicionador 603 adiciona o vetor de movimento predito alimentado através da linha L607, ao vetor de movimento diferencial alimentado através da linha L605, para gerar um vetor de movimento de um bloco alvo ou um vetor de movimento de uma subpartição no bloco alvo, e emite o vetor de movimento através da linha L606. O quantizador inverso 604 realiza a quantização inversa dos coeficientes de transformação quantizados alimentados através da linha L602, para gerar coeficientes de transformação inversamente quantizados. O quantizador inverso 604 emite os coeficientes de transformação inversamente quantizados gerados deste modo através da linha L608. O transformador inverso 605 realiza a transformação ortogonal inversa dos coeficientes de transformação inversamente quantizados alimentados através da linha L608, para gerar um sinal residual reconstruído. O transformador inverso 605 emite o sinal residual reconstruído gerado deste modo através da linha L609.
Se o sinal residual reconstruído gerado não for um submetido à quantização, o dispositivo de decodificação de vídeo 20 não precisa ser dotado do quantizador inverso 604. De maneira similar, se o sinal residual reconstruído gerado não for um submetido à transformação, o dispositivo de decodificação de vídeo 20 não precisa ser dotado do transformador inverso 605. A memória de quadro 606 armazena os sinais de imagem previamente reconstruídos alimentados através da linha L610, isto é, sinais de imagem de quadro anteriormente na ordem de processamento para o alvo de processamento imagem de entrada (que serão referidos daqui por diante como sinais de imagem de quadro de referência). Além disso, a memória de quadro 606 emite os sinais de imagem de quadro de referência através da linha L611. O gerador de sinal predito 607 gera um sinal predito de cada i-magem de subpartição no bloco alvo, com base no vetor de movimento alimentado através da linha L606 e as informações de formato alimentadas através da linha L603, a partir de um sinal de imagem em uma faixa predeterminada dos sinais de imagem de quadro de referência alimentado através da linha L611. O gerador de sinal predito 607 emite o sinal predito gerado deste modo através da linha L612. Embora a descrição seja omitida no presente relatório descritivo, o sinal predito pode ser gerado por predição intra- quadros além da predição interquadros. O adicionador 608 adiciona o sinal residual reconstruído alimentado através da linha L609, ao sinal predito do bloco alvo alimentado através da linha L612, para gerar um sinal de imagem reconstruído. O adicionador 608 emite o sinal de imagem reconstruído através da linha L610. A Figura 35 é um desenho que mostra uma configuração do preditor de movimento, de acordo com uma modalidade. Conforme mostrado na Figura 35, o preditor de movimento 602 tem uma memória de vetor de movimento 6021, um gerador de candidato de referência de movimento 6022, e um gerador de vetor de movimento predito 6023. A memória de vetor de movimento 6021 armazena vetores de movimento alimentados através da linha L606. Os vetores de movimento armazenados na memória de vetor de movimento 6021 são vetores de movimento de regiões parciais previamente processadas anteriormente na ordem de processamento para o bloco alvo ou a subpartição de alvo de processamento. A memória de vetor de movimento 6021 emite os vetores de movimento armazenados através da linha L6021, para derivação do vetor de movimento predito para a subpartição de alvo de processamento. O gerador de candidato de referência de movimento 6022 gera candidatos a vetor de movimento predito a partir dos vetores de movimento alimentados através da linha L6021, por um método descrito abaixo, com base nas informações de formato alimentadas através da linha L603, e emite as mesmas através da linha L6022. O gerador de vetor de movimento predito 6023 determina um vetor de movimento predito, com base nas informações de indicação do vetor de movimento predito alimentado através da linha L604, a partir dos candidatos a vetor de movimento predito alimentado através da linha L6022, e emite o vetor de movimento predito determinado através da linha L607. Se o número de candidatos a ser gerado no gerador de candidato de referência de movimento for limitado a um, a entrada das informações de indicação que especificam o candidato a ser selecionado pode ser omitida.
Descreve-se abaixo a operação do dispositivo de decodificação de vídeo 20 e um método de decodificação de vídeo, de acordo com uma modalidade. A Figura 36 é um fluxograma de um método de decodificação de vídeo, de acordo com uma modalidade. Em uma modalidade, conforme mostrado na Figura 36, na etapa S621, o decodificador de dados 601 decodifica primeiro os dados codificados nos dados compactados ao redor de um bloco alvo, conforme descrito anteriormente, para restaurar os coeficientes de transformação quantizados, informações de formato e vetor de movimento diferencial do bloco alvo. Na etapa S621, as informações de aplicabilidade de divisão e informações de indicação podem ser restauradas. Além disso, na etapa S621, o quantizador inverso 604 pode gerar os coeficientes de transformação inversamente quantizados a partir dos coeficientes de transformação quantizados restaurados, e o transformador inverso 605 pode gerar um sinal residual reconstruído a partir dos coeficientes de transformação inversamente quantizados.
Na etapa S622, o preditor de movimento 602, então, determina o vetor de movimento predito do alvo de processamento etapa S621, para cada etapa S621 no bloco alvo que serve como um alvo de processamento. Na etapa subsequente S623, o adicionador 603 adiciona o vetor de movimento predito da etapa alvo de processamento S621 ao vetor de movimento diferencial para gerar um vetor de movimento.
Na etapa S624, o gerador de sinal predito 607, então, gera o sinal predito a partir dos sinais de imagem de quadro de referência na memória de quadro 606, usando o vetor de movimento do bloco alvo. Na etapa subsequente S625, o adicionador 608 adiciona o sinal predito do bloco alvo ao sinal residual reconstruído para gerar um sinal de imagem reconstruído.
Na etapa S626, o sinal de imagem reconstruído gerado na etapa S625 é, então, armazenado como um sinal de imagem previamente reconstruído na memória de quadro 606. Na etapa subsequente S627, se determina se o processamento é concluído para todos os blocos. Se o processamento não for concluído para todos os blocos, o processamento a partir da etapa S621 é continuado usando um bloco não processado como um bloco alvo. Por outro lado, quando o processamento for concluído para todos os blocos, o processamento é terminado. A operação do preditor de movimento 602 será descrita abaixo em detalhes. A Figura 37 é um fluxograma que mostra o processamento do preditor de movimento, de acordo com uma modalidade. O preditor de movimento 602 gera o vetor de movimento predito, de acordo com o fluxograma mostrado na Figura 37.
Em uma modalidade, na etapa S615-1, o valor do contador i é ajustado em "0." Supõe-se daqui por diante que o processamento para a primeira subpartição é realizado com i=0 e o processamento para a segunda subpartição é realizado com i=1.
Na próxima etapa S615-2, dois candidatos (candidato esquerdo e candidato superior) que pode ser o vetor de movimento predito da subpartição de alvo de processamento são determinados de acordo com um dos métodos descritos acima usando as Figuras 29, 30, 31, 32 e 33, fora dos vetores de movimento das regiões parciais anteriormente na ordem de processamento para a subpartição de alvo de processamento.
Na etapa S615-3, se determina, então, se o número NCand de candidatos gerados na etapa S615-2 é "0." Quando NCand for "0" (Sim), o processamento prossegue até a etapa S615-4. Quando NCand não for "0" (Não), o processamento prossegue até a etapa S615-5.
Na etapa S615-4, o vetor de movimento predito PMV é ajustado em um vetor zero e o processamento prossegue até a etapa S615-11. Nesta ocasião, também é possível ajustar um vetor de movimento de um bloco predeterminado ou um vetor de movimento de uma região parcial imediatamente antes na ordem de processamento para a subpartição de alvo de processamento, em vez do vetor zero, como o vetor de movimento predito PMV.
Na etapa S615-5, se determina se o número NCand de candidatos gerados etapa S615-2 é "1." Quando NCand for "1" (Sim), o processamento prossegue até a etapa S615-6. Quando NCand não for "1" (Não), o processamento prossegue até a etapa S615-7.
Na etapa S615-6, o candidato gerado na etapa S615-2 é ajustado como PMtT. Então, o processamento prossegue até a etapa S615-11.
Na etapa S615-7, as informações pmvleftflag que indicam o PMV a ser selecionado são adquiridas a partir dos candidatos gerados na etapa S615-2. Então, o processamento prossegue até a etapa S615-8.
Na etapa S615-8, se determina se o valor de pmv lef flag é "1." Quando o valor de pmvjeft _flag for "1" (Sim), o processamento prossegue até a etapa S615-9. Quando o valor de pmv left flag não for "1" (Não), o processamento prossegue até a etapa S615-10. A etapa S615-9 serve para ajustar um vetor de movimento de uma região parcial no lado esquerdo da subpartição de alvo de processamento as PMV Então, o processamento prossegue até a etapa S615-11. A etapa S615-10 serve para ajustar um vetor de movimento de uma região parcial no lado esquerdo da subpartição de alvo de processamento as PMV. Então, o processamento prossegue até a etapa S615-11. A etapa S615-11 serve para emitir o PMV ajustado deste modo. Então, o processamento prossegue até a etapa S615-12. A seguir, a etapa S615-12 serve para adicionar "1" ao valor do contador i. Então, o processamento prossegue até a etapa S615-13. A seguir, etapa S615-13 serve para determinar se o valor do contador i é menor que "2." Quando o valor do contador i for menor que "2" (Sim), o processamento prossegue até a etapa S615-2. Por outro lado, quando o valor do contador i não for menor que 2 (Não), o processamento é terminado.
Ao limitar o número de candidatos a vetor de movimento predito a serem gerados, a um na etapa S615-2, os processos das etapas S5615-5, S615-6, S615-7, S615-8, S615-9 e S615-10 podem ser omitidos. Não existem restrições em um método para esta limitação, conforme descrito anteriormente para o gerador de vetor de movimento predito 6023, porém, é possível usar, por exemplo, tal método como um método que usa um valor intermediário de três candidatos, um método que usa uma média de dois candidatos, ou um método para determinar preliminarmente uma ordem de prioridade para a seleção de um vetor de movimento predito fora de uma pluralidade de candidatos a vetor de movimento predito. Neste caso, quando NCand não for "0" (Não) na etapa S615-03, o processamento prossegue até a etapa S615-6. O método descrito acima pode ser aplicado como um método de seleção de vetor de movimento no caso em que o sinal predito da subpartição de alvo de processamento é gerado usando vetores de movimento previamente decodificados. Isto é, o sinal predito da subpartição de alvo de processamento pode ser gerado usando o vetor de movimento predito selecionado na etapa S615-2 na Figura 37. Neste caso, não existe necessidade de decodificação do vetor de movimento diferencial e, portanto, o vetor de movimento predito emitido a partir do preditor de movimento 602 não é emitido para o adicionador 603, porém, para o gerador de sinal predito 607.
Além disso, o decodificador de dados 601 pode ser configurado para decodificar informações de aplicação que especificam se o vetor de movimento diferencial será decodificado. Nesta modificação, o preditor de movimento 602 pode incluir uma função para comutar a saída do vetor de movimento predito para o adicionador 603 ou para o gerador de sinal predito 607, com base nas informações de aplicação.
Nesta modificação, é desfavorável que os vetores de movimento de todas as subpartições no bloco alvo se tornem idênticos uns aos outros, porque a divisão do bloco alvo se torna insignificante. Nesta modificação, portanto, um vetor de movimento de uma subpartição incluída no bloco alvo e situada anteriormente na ordem de processamento para a subpartição de alvo de processamento pode ser excluído a partir dos candidatos a vetor de movimento predito, na ocasião de geração dos candidatos a vetor de movimento predito da subpartição de alvo de processamento na etapa S615-2 na Figura 37. Por exemplo, no caso em que o bloco alvo é dividido em duas subpartições e onde o vetor de movimento da primeira subpartição é restaurado primeiro, o vetor de movimento das primeiras subpartições é excluído dos candidatos a vetor de movimento predito da segunda subpartição . Se o vetor de movimento da primeira subpartição for igual aquele da região parcial U2, o vetor de movimento da região parcial U2 não precisa ser usado na geração do vetor de movimento predito da segunda subpartição.
Nesta modificação, a probabilidade de ocorrência na decodificação aritmética das informações de aplicação que indicam se o vetor de movimento diferencial será decodificado pode ser determinada de maneira a-daptável, de acordo com as informações de formato. Este método pode ser configurado, por exemplo, para ajustar uma probabilidade mais alta de não codificar o vetor de movimento diferencial, para a primeira subpartição que sempre fica em contato com uma região previamente codificada, que aquela para a segunda subpartição que possivelmente não fica em contato com nenhuma região parcial previamente decodificada. Uma vez que o efeito desta modificação já foi descrito usando as Figuras 34 e 35, a descrição destas será omitida no presente documento.
Descreve-se abaixo um programa de codificação de vídeo para permitir que um computador opere como o dispositivo de codificação de vídeo 10 e um programa de decodificação de vídeo para permitir que um computador opere como o dispositivo de decodificação de vídeo 20. A Figura 38 é um desenho que mostra uma configuração do programa de codificação de vídeo, de acordo com uma modalidade. A Figura 39 é um desenho que mostra uma configuração do programa de decodificação de vídeo, de acordo com uma modalidade. Abaixo, faz-se referência à Figura 18 que mostra a configuração de hardware do computador, de acordo com uma modalidade, e à Figura 19 que mostra a vista em perspectiva do computador, de acordo com uma modalidade, assim como as Figuras 38 e 39. O programa de codificação de vídeo P10 mostrado na Figura 38 pode ser proporcionado armazenado no meio de gravação SM. O programa de decodificação de vídeo P20 mostrado na Figura 38 também pode ser proporcionado armazenado no meio de gravação SM. Os exemplos de meios de gravação SM incluem meios de gravação, tais como, disquetes, CD-ROMs, DVDs, ROMs ou memórias semicondutoras, ou similares.
Conforme descrito anteriormente, o computador C10 pode ser dotado do dispositivo de leitura C12, tal como, uma unidade de disquete, uma unidade de CD-ROM ou uma unidade de DVD, a memória de trabalho (RAM) C14 na qual um sistema de operação é residente, a memória C16 que armazena programas armazenados no meio de gravação SM, o dispositivo de monitor C18, tal como, uma tela, o mouse C20 e o teclado C22 como dispositivos de entrada, o dispositivo de comunicação C24 para transmissão e recepção de dados e outros e a CPU C26 para controlar a execução dos programas.
Quando o meio de gravação SM for colocado no dispositivo de leitura C12, o computador CIO se torna acessível ao programa de codificação de vídeo P10 armazenado no meio de gravação SM, através do dispositivo de leitura C12, e se torna capaz de operar como o dispositivo de codificação de vídeo 10, com base no programa P10.
Quando o meio de gravação SM for colocado no dispositivo de leitura C12, o computador C10 se torna acessível ao programa de decodificação de vídeo P20 armazenado no meio de gravação SM, através do dispositivo de leitura C12, e se torna capaz de operar como o dispositivo de decodificação de vídeo 20, com base no programa P20.
Conforme mostrado na Figura 19, o programa de codificação de vídeo P10 e o programa de decodificação de vídeo P20 podem ser aqueles proporcionados sob a forma de sinal de dados de computador CW sobrepostos em uma onda portadora, através de uma rede. Neste caso, o computador CIO pode executar o programa P10 ou P20 após o programa de codificação de vídeo P10 ou o programa de decodificação de vídeo P20 recebido pelo dispositivo de comunicação C24 ser armazenado na memória C16.
Conforme mostrado na Figura 38, o programa de codificação de vídeo P10 inclui o módulo de divisão de blocos M101, módulo de gerador de subpartição MI02, módulo de armazenamento M103, módulo de detecção de movimento M104, módulo de geração de sinal predito M105, módulo de predição de movimento M106, módulo de subtração M107, módulo de geração de sinal residual M108, módulo de transformada M109, módulo de quantização M110, módulo de quantização inversa M111, módulo de transformada inversa M112, módulo de adição M113 e módulo de codificação por entropia M114.
Em uma modalidade, o módulo de divisão de blocos M101, módulo de gerador de subpartição M102, módulo de armazenamento M103, módulo de detecção de movimento M104, módulo de geração de sinal predito M105, módulo de predição de movimento M106, módulo de subtração M107, módulo de geração de sinal residual M108, módulo de transformada M109, módulo de quantização M110, módulo de quantização inversa M111, módulo de transformada inversa M112, módulo de adição M113 e módulo de codificação por entropia M114 fazem com que o computador C1® execute as mesmas funções que o divisor de blocos 501, gerador de subpartição 502, memória de quadro 503, detector de movimento 504, gerador de sinal predito 505, preditor de movimento 506, subtrator 507, gerador de sinal residual 508, transformador 509, quantizador 510, quantizador inverso 511, transformador inverso 512, adicionador 513 e codificador por entropia 514, respectivamente, no dispositivo de codificação de vídeo 10. Com base neste programa de codificação de vídeo P10, o computador C10 se torna capaz de operar como o dispositivo de codificação de vídeo 10.
Conforme mostrado na Figura 39, o programa de decodificação de vídeo P20 inclui o módulo de decodificação de dados M201, módulo de predição de movimento M202, módulo de adição M203, módulo de quantização inversa M204, módulo de transformada inversa M205, módulo de armazenamento M206, módulo de geração de sinal predito M207 e módulo de adição M208.
Em uma modalidade, o módulo de decodificação de dados M201, módulo de predição de movimento M202, módulo de adição M203, módulo de quantização inversa M204, módulo de transformada inversa M205, módulo de armazenamento M206, módulo de geração de sinal predito M207 e módulo de adição M208 fazem com que o computador CIO execute as mesmas funções que o decodificador de dados 601, preditor de movimento 602, adicionador 603, quantizador inverso 604, transformador inverso 605, memória de quadro 606, gerador de sinal predito 607 e adicionador 608, respectivamente, no dispositivo de decodificação de vídeo 20. Com base neste programa de decodificação de vídeo P20, o computador C10 se torna capaz de operar como o dispositivo de decodificação de vídeo 20.
Uma variedade de modalidades foi descrita acima em detalhes.
Entretanto, nota-se que a presente invenção não tem intenção de ser limitada às modalidades acima. A presente invenção pode ser modificada de muitas maneiras sem sair do escopo e espírito da invenção.
Listagem de Referências Numéricas 100 dispositivo de codificação preditiva de imagem; 101 terminal de entrada; 102 divisor de blocos; 103 gerador de sinal predito; 104 memória de quadro; 105 subtrator; 106 transformador; 107 quantizador; 108 quantizador inverso; 109 transformador inverso; 110 adicionador; 111 codificador de coeficiente de transformação quantizado; 112 terminal de saída; 113 seletor de tipo de divisão de bloco de predição; 114 estimador de informações de movimento; 115 memória de informações de predição; 116 codificador de informações de predição; 201 terminal de entrada; 202 analisador de dados; 203 quantizador inverso; 204 transformador inverso; 205 adicionador; 206 terminal de saída; 207 decodificador de coeficiente de transformação quantizado; 208 decodificador de informações de predição; 10 dispositivo de codificação de vídeo; 20 dispositivo de decodificação de vídeo; 501 divisor de blocos; 502 gerador de subpartição ; 503 memória de quadro; 504 detector de movimento; 505 gerador de sinal predito; 506 preditor de movimento; 507 subtrator; 508 gerador de sinal residual; 509 transformador; 510 quantizador; 511 quantizador inverso; 512 transformador inverso; 513 adicionador; 514 codificador por entropia; 601 decodificador de dados; 602 preditor de movimento; 603 adicionador; 604 quantizador inverso; 605 transformador inverso; 606 memória de quadro; 607 gerador de sinal predito; 608 adicionador; 5061 memória de vetor de movimento; 5062 gerador de candidato de referência de movimento; 5063 gerador de vetor de movimento predito; 6021 memória de vetor de movimento; 6022 gerador de candidato de referência de movimento; 6023 gerador de vetor de movimento predito.
REIVINDICAÇÕES

Claims (4)

1. Dispositivo de codificação preditiva de imagem caracterizado pelo fato de que compreende: meio de partição de região adaptados para particionar uma imagem de entrada em uma pluralidade de regiões; meio de estimação de informações de predição adaptados para subparticionar uma região-alvo servindo como um alvo de codificação particionado pelo meio de partição de região em uma primeira região de predição e uma segunda região de predição, determinar um tipo de particionamento de bloco de predição indicando um número e formas de região das regiões de predição adequadas para a região-alvo, predizer a primeira e a segunda informação de movimento, respectivamente, para adquirir um sinal altamente correlacionado com a primeira região de predição e um sinal altamente correlacionado com a segunda região de predição baseada em sinais previamente reconstruídos, e obtenção de informações de predição, incluindo: o tipo de particionamento do bloco de predição, a primeira informação de movimento, a segunda informação de movimento, uma primeira informação de identificação de mesclagem indicando que utiliza ou não informação de movimento decodificada associada a regiões vizinhas próximas da primeira região de predição para gerar um sinal predito da primeira região de predição, e uma segunda informação de identificação de mesclagem indicando se utiliza ou não informação de movimento decodificada exceto informação de movimento da primeira região de predição e exceto informação de movimento que coincida com a informação de movimento da primeira região de predição de entre a informação de movimento decodificada associada a região vizinhas próximas da segunda região de predição para gerar um sinal predito da segunda região de predição; meio de geração de sinal predito adaptado para gerar um sinal predito de cada uma das primeira e segunda regiões de predição com base na pri- meira informação de movimento e na segunda informação de movimento; meio de geração de sinal residual adaptados para gerar um sinal resi- dual com base no sinal de pixel e no sinal predito de cada primeira e segunda regiões de predição; meio de codificação de sinal residual adaptado para codificar o sinal residual gerado pelo meio de geração de sinal residual. meio de restauração de sinal residual adaptado para decodificar o sinal residual codificado para gerar um sinal residual reconstruído; e meio de gravação adaptado para gerar um sinal de pixel restaurado da região alvo com base no sinal predito e no sinal residual reconstruído e para armazenar o sinal de pixel restaurado como o sinal previamente reconstruído.
2. Método de codificação preditiva de imagem executado por um dispositivo de codificação preditiva caracterizado pelo fato de que compreende: uma etapa de partição de região para particionar uma imagem de entrada em uma pluralidade de regiões; uma etapa de estimação de informações de predição para subparticionar a região-alvo servindo como um alvo de codificação par- ticionado pela etapa de partição de região em uma primeira região de predição e uma segunda região de predição, determinar um tipo de particionamento de bloco de predição que indica um número e formatos de região das regiões de predição adequados para a região-alvo, predizer a primeira e a segunda informação de movimento, respectivamente, para adquirir um sinal altamente correlacionado com a primeira região de predição e um sinal altamente correlacionado com a segunda região de predição baseada em sinais previamente reconstruídos, e obtenção de informações de predição, incluindo: o tipo de particionamento do bloco de predição, a primeira informação de movimento, a segunda informação de movimento, uma primeira informação de identificação de mesclagem indicando que utiliza ou não informação de movimento decodificada associada a regiões vizinhas próximas da primeira região de predição para gerar um sinal predito da primeira região de predição, e uma segunda informação de identificação de mesclagem indicando se utiliza ou não informação de movimento decodificada exceto informação de movimento da primeira região de predição e exceto informação de movimento que coincida com a informação de movimento da primeira região de predição de entre a informação de movimento decodificada associada a regiões vizinhas próximas da segunda região de predição para gerar um sinal predito da segunda região de predição; uma etapa de codificação de informações de predição para codificar as informações de predição associadas à região-alvo; uma etapa de geração de sinal predito para gerar um sinal predito de cada primeira e segunda regiões de predição baseadas na primeira informação de movimento e na segunda informação de movimento; uma etapa de geração de sinal residual para gerar um sinal residual com base no sinal de pixel e no sinal predito de cada primeira e segunda regiões de predição; uma etapa de codificação de sinal residual para codificar o sinal residual gerado pelas etapas de geração de sinal residual. uma etapa de restauração de sinal residual para decodificar o sinal residual codificado para gerar um sinal residual reconstruído; e uma etapa de gravação para gerar um sinal de pixel restaurado da região alvo com base no sinal predito e no sinal residual reconstruído e para armazenar o sinal de pixel restaurado como o sinal previamente reconstruído.
3. Dispositivo de decodificação preditiva de imagem caracterizado pelo fato de que compreende: meio de análise de dados adaptado para extrair dados codificados de informação preditiva para indicar um método de predição para ser usado na predição de sinais de uma região-alvo servindo como um alvo de decodificação e dados de codificação de um sinal residual a partir dos dados de imagem comprimidos obtidos pela partição de uma imagem em uma pluralidade de regiões e dados de imagem codificada das regiões; meio de decodificação de informações de predição adaptado para res- taurar informações de movimento baseados nos dados de codificação de uma informação de predição, em que meio de decodificação de informação de predição restaura um tipo de particionamento de bloco de predição indicando um número de regiões de predição obtidas por subpartição da região alvo, com base nos dados codificados da informação de predição, em que, quando o tipo de partição de bloco de predição indica que a região-alvo inclui uma primeira região de predição e uma segunda região de predição, o meio de decodificação de informação de predição decodifica ainda os dados codificados de informação de predição para restaurar uma primeira informação de identificação de mesclagem indicando se utiliza ou não informação de movimento decodificada associada a região vizinhas próximas da primeira região de predição para gerar um sinal predito da primeira região de predição, em que, quando a primeira informação de identificação de mesclagem indica que não utiliza a informação de movimento decodificada, o meio de decodificação da informação de predição decodifica ainda os dados codificados da informação de predição para restaurar uma primeira informação de movimento utilizada para gerar o sinal predito da primeira região de predição, em que, quando a primeira informação de identificação de mesclagem indica utilizar a informação de movimento decodificada, o meio de decodificação de informação de predição decodifica ainda mais os dados codificados da informação de predição para restaurar uma primeira informação de seleção identificando a primeira informação de movimento utilizada para gerar o sinal predito da primeira região de predição com base na informação de movimento decodificada associada a regiões vizinhas próximas da primeira região de predição e para restaurar a informação do primeiro movimento com base na primeira informação de seleção, em que, o meio de decodificação de informação de predição decodifica ainda os dados codificados da informação de predição para restaurar uma segunda informação de identificação de mesclagem indicando se utiliza ou não informação de movimento decodificada associada a regiões vizinhas próximas da segunda região de predição para gerar um sinal predito da segunda região de predição, em que, quando a segunda informação de identificação de mesclagem indica não utilizar a informação de movimento decodificada, o meio de decodificação de informação de predição decodifica ainda mais os dados codificados da informação de predição para restaurar uma segunda informação de movimento utilizada para gerar o sinal previsto da segunda região de predição, e em que, quando a segunda informação de identificação de mesclagem indica a utilização da informação de movimento decodificada, os meio de decodificação de informação de predição decodifica ainda mais os dados codificados da informação de predição para restaurar uma segunda informação de seleção identificando a segunda informação de movimento utilizada para gerar o sinal previsto da segunda região de predição baseada na candidatura à informação de movimento decodificada exceto informação de movimento da primeira região de predição e exceto informação de movimento que coincide com a informação de movimento da primeira região de predição entre a informação de movimento decodificada associada com regiões vizinhas próximas da segunda região de predição, e restaurar a segunda informação de movimento com base na segunda informação de seleção; meio de armazenamento adaptado para armazenar informação de movimento incluída em informação de predição restaurada; meio de geração de sinal preditos adaptado para gerar um sinal predito de cada uma das primeira e segunda regiões de predição na região-alvo, com base na primeira informação de movimento restaurada e na segunda informação de movimento restaurada; meio de restauração de sinal residual adaptado para restaurar um sinal residual reconstruído da região-alvo com base nos dados codificados do sinal residual; e meio de gravação adaptado para gerar um sinal de pixel restaurado da região-alvo com base no sinal predito e no sinal residual reconstruído e para armazenar o sinal de pixel restaurado como o sinal previamente reconstruído.
4. Método de decodificação preditiva de imagem executado por um dispositivo de decodificação preditiva de imagem caracterizado pelo fato de que compreende: uma etapa de análise de dados para extrair dados codificados de informações de predição para indicar um método de predição a ser usado na predição de um sinal de uma região-alvo servindo como um alvo de decodificação e dados codificados de um sinal residual a partir de dados compactados da imagem obtidos pela partição da imagem em uma pluralidade de regiões e dados de imagem de codificação das regiões; uma etapa de decodificação de informações de predição para restaurar a informação de movimento com base nos dados codificados de informação de predição; em que dispositivos de decodificação preditiva de imagem restaura o tipo de particionamento de blocos de predição indicando um número de regiões de predição obtidas pela subpartição da região alvo com base nos dados codificados de informação de predição. em que, quando o tipo de particionamento de bloco de predição indica que a região-alvo inclui uma primeira região de predição e uma segunda região de predição, o dispositivo de decodificação preditiva de imagem ainda decodifica os dados codificados de informação de predição para restaurar uma primeira informação de identificação de mesclagem indicando utilizar ou não para informação de movimento decodificada associada a regiões vizinhas, próximas a primeira região de predição para gerar um sinal predito de uma primeira região de predição, em que, quando a primeira informação de identificação de mesclagem indica não utilizar a informação de movimento decodificada, o dispositivo de decodificação preditiva de imagem ainda decodifica os dados codificados de informação de predição para restaurar a primeira informação de movimento utilizada para gerar um sinal predito em uma primeira região de predição, em que, quando a primeira informação de identificação de mesclagem indica utilizar informação de movimento decodificada, o dispositivo de deco- dificação preditiva de imagem ainda decodifica os dados codificados da informação de predição para restaurar a primeira informação de seleção identificando a primeira informação de movimento utilizada para gerar o sinal predito de uma primeira região de predição com base na informação de movimento decodificada associada com as regiões vizinhas, próximas a primeira região de predição e para restaurar a primeira informação de movimento com base na primeira informação de seleção, em que, o dispositivo de decodificação preditiva de imagem ainda decodifica os dados codificados da informação de predição para restaurar a segunda informação de identificação de mesclagem indicando utilizar ou não informação de movimento decodificada associada com as regiões vizinhas, próximas a segunda região de predição para gerar um sinal predito da segunda região de predição, em que, quando a segunda informação de identificação de mesclagem indica que não utiliza a informação de movimento decodificada, o dispositivo de decodificação preditiva de imagem decodifica ainda os dados codificados da informação de predição para restaurar uma segunda informação de movimento utilizada para gerar o sinal predito da segunda região de predição, e em que, quando a segunda informação de identificação de mesclagem indica utilizar a informação de movimento decodificada, o dispositivo de decodificação preditiva de imagem decodifica ainda os dados codificados da informação de predição para restaurar uma segunda informação de seleção identificando a segunda informação de movimento utilizada para gerar o sinal predito da segunda região de predição com base na candidatura à informação de movimento decodificada exceto informação de movimento da primeira região de predição e exceto informação de movimento que coincide com a informação de movimento da primeira região de predição entre a informação de movimento decodificada associada com regiões vizinhas, próximas da segunda região de predição, e restaurar a segunda informação de movimento com base na segunda informação de seleção; uma etapa de armazenamento para armazenar informações de movi- mento incluídas em informações de predição restauradas; uma etapa de geração de sinal predito para gerar um sinal predito de cada uma das primeira e segunda regiões de predição na região-alvo com base na informação de primeiro movimento restaurada e na segunda informação de movimento restaurada; uma etapa de restauração de sinal residual para restaurar um sinal residual reconstruído da região-alvo com base nos dados codificados do sinal residual; e uma etapa de gravação para gerar um sinal de pixel restaurado da região-alvo com base no sinal predito e no sinal residual reconstruído e armazenar o sinal de pixel restaurado como o sinal previamente reconstruído.
BR112013001351-6A 2010-07-20 2011-07-14 dispositivo de codificação preditiva de imagem, método de codificação preditiva de imagem, dispositivo de decodificação preditiva de imagem e método de decodificação preditiva de imagem BR112013001351B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2010-163245 2010-07-20
JP2010163245 2010-07-20
JP2010-174869 2010-08-03
JP2010174869 2010-08-03
PCT/JP2011/066120 WO2012011432A1 (ja) 2010-07-20 2011-07-14 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び、画像予測復号プログラム

Publications (2)

Publication Number Publication Date
BR112013001351A2 BR112013001351A2 (pt) 2016-05-17
BR112013001351B1 true BR112013001351B1 (pt) 2019-01-29

Family

ID=45496857

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013001351-6A BR112013001351B1 (pt) 2010-07-20 2011-07-14 dispositivo de codificação preditiva de imagem, método de codificação preditiva de imagem, dispositivo de decodificação preditiva de imagem e método de decodificação preditiva de imagem

Country Status (19)

Country Link
US (8) US9185409B2 (pt)
EP (6) EP3661204B8 (pt)
JP (8) JP5661114B2 (pt)
KR (7) KR101695170B1 (pt)
CN (7) CN105898326B (pt)
AU (1) AU2011280629B2 (pt)
BR (1) BR112013001351B1 (pt)
CA (8) CA2805735C (pt)
DK (6) DK3070945T3 (pt)
ES (6) ES2887236T3 (pt)
FI (1) FI3661210T3 (pt)
HU (4) HUE056566T2 (pt)
MX (5) MX367864B (pt)
PL (3) PL3661211T3 (pt)
PT (6) PT3661210T (pt)
RU (8) RU2573208C2 (pt)
SG (1) SG187094A1 (pt)
TW (2) TWI469646B (pt)
WO (1) WO2012011432A1 (pt)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI1011698B1 (pt) 2009-03-23 2019-04-02 Ntt Docomo, Inc. Método de decodificação preditiva de imagem, dispositivo de decodificação preditiva de imagem, método de codificação preditiva de imagem, e dispositivo de codificação preditiva de imagem
WO2012077928A1 (ko) * 2010-12-07 2012-06-14 한국전자통신연구원 초고해상도 영상을 부호화하는 장치 및 방법, 그리고 복호화 장치 및 방법
SG187094A1 (en) 2010-07-20 2013-03-28 Ntt Docomo Inc Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
JP5698541B2 (ja) * 2011-01-12 2015-04-08 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
CN102884794B (zh) * 2011-03-07 2016-08-10 松下知识产权经营株式会社 运动补偿装置、运动图像编码装置、运动图像解码装置、运动补偿方法、以及集成电路
JP2013207402A (ja) * 2012-03-27 2013-10-07 Nippon Hoso Kyokai <Nhk> 画像符号化装置及びプログラム
TWI666915B (zh) * 2012-04-06 2019-07-21 日商Jvc建伍股份有限公司 Image coding device, image coding method, and recording medium storing image coding program
TWI597976B (zh) * 2012-04-16 2017-09-01 Jvc Kenwood Corp Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
JP5972687B2 (ja) * 2012-07-02 2016-08-17 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
JP5798539B2 (ja) * 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
JP5719401B2 (ja) * 2013-04-02 2015-05-20 日本電信電話株式会社 ブロックサイズ決定方法、映像符号化装置、及びプログラム
CN103702127B (zh) * 2013-12-30 2016-10-12 清华大学 基于运动向量相关性的运动估计搜索范围预测方法和系统
WO2015100729A1 (en) * 2014-01-03 2015-07-09 Mediatek Singapore Pte. Ltd. Improved merging candidate list construction in 3dvc
CN103841405B (zh) * 2014-03-21 2016-07-06 华为技术有限公司 深度图像的编解码方法和编解码装置
WO2016044979A1 (en) * 2014-09-22 2016-03-31 Mediatek Singapore Pte. Ltd. Segmental prediction for video coding
WO2015196966A1 (en) * 2014-06-23 2015-12-30 Mediatek Singapore Pte. Ltd. Method of segmental prediction for depth and texture data in 3d and multi-view coding systems
WO2015196333A1 (en) * 2014-06-23 2015-12-30 Mediatek Singapore Pte. Ltd. Segmental prediction for video coding
KR20180006411A (ko) 2015-06-07 2018-01-17 엘지전자 주식회사 디블록킹 필터링을 수행하는 방법 및 장치
KR20180040517A (ko) * 2015-09-10 2018-04-20 삼성전자주식회사 비디오 부호화, 복호화 방법 및 장치
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10063872B2 (en) 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10341561B2 (en) * 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
FR3047379A1 (fr) * 2016-01-29 2017-08-04 Orange Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants
CN109565595B (zh) * 2016-06-24 2021-06-22 华为技术有限公司 一种使用基于分割的视频编码块划分的视频编码设备和方法
US20190253624A1 (en) * 2017-07-17 2019-08-15 Ki Baek Kim Image data encoding/decoding method and apparatus
US10957068B2 (en) * 2017-01-06 2021-03-23 Canon Kabushiki Kaisha Information processing apparatus and method of controlling the same
JP6894707B2 (ja) * 2017-01-06 2021-06-30 キヤノン株式会社 情報処理装置およびその制御方法、プログラム
US10218448B2 (en) * 2017-02-02 2019-02-26 Osram Sylvania Inc. System and method for determining vehicle position based upon light-based communication and time-of-flight measurements
US10531085B2 (en) * 2017-05-09 2020-01-07 Futurewei Technologies, Inc. Coding chroma samples in video compression
KR20200038943A (ko) * 2017-08-22 2020-04-14 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 이미지 인코더, 이미지 디코더, 이미지 인코딩 방법 및 이미지 디코딩 방법
CN116320470A (zh) * 2017-10-20 2023-06-23 富士通株式会社 动态图像解码装置、动态图像解码方法和存储介质
CN107659804B (zh) * 2017-10-30 2019-03-12 河海大学 一种针对虚拟现实头戴式显示设备的屏幕内容视频编码算法
US11025904B2 (en) * 2018-06-08 2021-06-01 Tencent America LLC Method and apparatus for temporal motion vector prediction
CN110662076B (zh) * 2018-06-29 2022-10-04 北京字节跳动网络技术有限公司 子块的边界增强
CN110677678B (zh) * 2018-07-01 2022-09-23 北京字节跳动网络技术有限公司 依赖形状的帧间编码
CN117834908A (zh) * 2018-07-02 2024-04-05 英迪股份有限公司 对视频进行解码的方法和对视频进行编码的方法
US10404980B1 (en) * 2018-07-10 2019-09-03 Tencent America LLC Intra prediction with wide angle mode in video coding
EP3855739A4 (en) * 2018-09-19 2021-07-28 Fujitsu Limited VIDEO CODING DEVICE, VIDEO CODING METHOD, VIDEO CODING PROGRAM, VIDEO DECODING DEVICE, VIDEO DECODING METHOD AND VIDEO DECODING PROGRAM
CN109547781B (zh) * 2018-10-26 2020-12-22 嘉兴奥恒进出口有限公司 基于图像预测的压缩方法及设备
FR3088511B1 (fr) * 2018-11-09 2021-05-28 Fond B Com Procede de decodage d’au moins une image, procede de codage, dispositifs, signal et programmes d’ordinateur correspondants.
CN115348443A (zh) * 2018-11-30 2022-11-15 杭州海康威视数字技术股份有限公司 一种运动信息确定方法、装置及其设备
US11102513B2 (en) 2018-12-06 2021-08-24 Tencent America LLC One-level transform split and adaptive sub-block transform
US11533506B2 (en) * 2019-02-08 2022-12-20 Tencent America LLC Method and apparatus for video coding
CN116800960A (zh) * 2019-03-12 2023-09-22 北京达佳互联信息技术有限公司 用于视频解码的方法、装置和存储介质
US11877010B2 (en) * 2019-06-23 2024-01-16 Lg Electronics Inc. Signaling method and device for merge data syntax in video/image coding system

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3869672A (en) 1972-05-13 1975-03-04 Int Standard Electric Corp Method and arrangements for the digital control of operating functions, radio and television receivers
KR0166716B1 (ko) 1992-06-18 1999-03-20 강진구 블럭 dpcm을 이용한 부호화/복호화방법 및 장치
JPH07264598A (ja) 1994-03-23 1995-10-13 Nippon Telegr & Teleph Corp <Ntt> 動き補償方法、動きベクトル検出回路および動き補償回路
US5608458A (en) 1994-10-13 1997-03-04 Lucent Technologies Inc. Method and apparatus for a region-based approach to coding a sequence of video images
US5682204A (en) 1995-12-26 1997-10-28 C Cube Microsystems, Inc. Video encoder which uses intra-coding when an activity level of a current macro-block is smaller than a threshold level
EP1229740A3 (en) 1996-01-22 2005-02-09 Matsushita Electric Industrial Co., Ltd. Method and device for digital image encoding and decoding
KR100371130B1 (ko) 1996-05-28 2003-02-07 마쯔시다덴기산교 가부시키가이샤 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법
EP0817499A3 (en) 1996-06-28 2002-05-22 Matsushita Electric Industrial Co., Ltd. Image coding method using extrapolated pixels in insignificant areas of blocks
JP2004343788A (ja) 1996-10-31 2004-12-02 Toshiba Corp 画像符号化装置および画像復号化装置および画像符号化データを記録した記録媒体
US6687405B1 (en) 1996-11-13 2004-02-03 Koninklijke Philips Electronics N.V. Image segmentation
CN1155259C (zh) * 1996-11-26 2004-06-23 松下电器产业株式会社 运动图象可变比特率编码装置和编码方法
US6359929B1 (en) 1997-07-04 2002-03-19 Matsushita Electric Industrial Co., Ltd. Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium
EP1788815A3 (en) * 1997-11-05 2008-10-15 Sony Corporation Rate control for video transcoding with resolution conversion
US6483521B1 (en) 1998-02-02 2002-11-19 Matsushita Electric Industrial Co., Ltd. Image composition method, image composition apparatus, and data recording media
US7184482B2 (en) * 1999-04-17 2007-02-27 Altera Corporation Encoding system using motion vectors to represent frame-to-frame changes, wherein a decoder uses predictions of motion vectors in decoding
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US7643559B2 (en) 2001-09-14 2010-01-05 Ntt Docomo, Inc. Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
US7336711B2 (en) 2001-11-16 2008-02-26 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
JP3861698B2 (ja) * 2002-01-23 2006-12-20 ソニー株式会社 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
HUE045566T2 (hu) 2002-04-19 2020-01-28 Panasonic Ip Corp America Mozgásvektor-számítási eljárás
CN1312927C (zh) 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
JP3504256B1 (ja) 2002-12-10 2004-03-08 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、及び動画像復号装置
KR100560843B1 (ko) 2003-04-10 2006-03-13 에스케이 텔레콤주식회사 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치
JP4373702B2 (ja) 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
JP2005005844A (ja) 2003-06-10 2005-01-06 Hitachi Ltd 計算装置及び符号化処理プログラム
US9210441B2 (en) 2003-06-25 2015-12-08 Thomson Licensing Fast mode-decision encoding for interframes
US7646815B2 (en) * 2003-07-15 2010-01-12 Lsi Corporation Intra estimation chroma mode 0 sub-block dependent prediction
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7400681B2 (en) 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
JP4213646B2 (ja) 2003-12-26 2009-01-21 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、及び画像復号プログラム。
JP4313710B2 (ja) 2004-03-25 2009-08-12 パナソニック株式会社 画像符号化方法および画像復号化方法
JP4414904B2 (ja) 2004-04-16 2010-02-17 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
CN101023672A (zh) * 2004-07-12 2007-08-22 诺基亚公司 在可调整视频编码中用于运动预测的系统和方法
AR049593A1 (es) * 2004-07-20 2006-08-16 Qualcomm Inc Metodo y aparato para predecir el vector de movimiento en compresion de video temporal.
US8085846B2 (en) 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
CN100471280C (zh) * 2005-01-07 2009-03-18 株式会社Ntt都科摩 运动图像编码及译码装置、方法
KR101108681B1 (ko) 2005-01-19 2012-01-25 삼성전자주식회사 동영상 코덱에서의 주파수 변환 계수 예측 방법 및 장치,이를 구비한 부호화 및 복호화 장치와 방법
US7580456B2 (en) * 2005-03-01 2009-08-25 Microsoft Corporation Prediction-based directional fractional pixel motion estimation for video coding
US20070025444A1 (en) 2005-07-28 2007-02-01 Shigeyuki Okada Coding Method
US8446954B2 (en) 2005-09-27 2013-05-21 Qualcomm Incorporated Mode selection techniques for multimedia coding
RU2369038C1 (ru) 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
US8446956B2 (en) * 2006-01-05 2013-05-21 Thomson Licensing Inter-layer motion prediction method using resampling
TW200806040A (en) * 2006-01-05 2008-01-16 Nippon Telegraph & Telephone Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs
CN102611892B (zh) 2006-03-16 2014-10-08 华为技术有限公司 在编码过程中实现自适应量化的方法及装置
JP5002286B2 (ja) 2006-04-27 2012-08-15 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
JPWO2007136088A1 (ja) * 2006-05-24 2009-10-01 パナソニック株式会社 画像符号化装置、画像符号化方法、及び画像符号化用集積回路
US20080026729A1 (en) 2006-07-31 2008-01-31 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
EP2047687B1 (en) 2006-08-02 2018-05-16 Thomson Licensing DTV Adaptive geometric partitioning for video encoding
BRPI0715770B1 (pt) * 2006-08-25 2020-03-10 Interdigital Vc Holdings, Inc. Método, aparelho e mídia de armazenamento para particionamento com menor resolução
JP4999859B2 (ja) * 2006-10-30 2012-08-15 日本電信電話株式会社 予測参照情報生成方法、動画像符号化及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
DE602007010835D1 (de) * 2007-01-18 2011-01-05 Fraunhofer Ges Forschung Qualitätsskalierbarer videodatenstrom
US20080240242A1 (en) 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
KR20090132629A (ko) 2007-04-09 2009-12-30 가부시키가이샤 엔.티.티.도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
BRPI0809512A2 (pt) 2007-04-12 2016-03-15 Thomson Licensing método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo
JP4788649B2 (ja) 2007-04-27 2011-10-05 株式会社日立製作所 動画像記録方法及びその装置
JP5188875B2 (ja) * 2007-06-04 2013-04-24 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム
JP2008311781A (ja) 2007-06-12 2008-12-25 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
JP4947364B2 (ja) 2007-06-22 2012-06-06 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
KR100901874B1 (ko) 2007-07-11 2009-06-09 한국전자통신연구원 비디오 인코딩을 위한 인터 모드 결정 방법
JP4678015B2 (ja) * 2007-07-13 2011-04-27 富士通株式会社 動画像符号化装置及び動画像符号化方法
KR101408698B1 (ko) 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
JP2009111691A (ja) 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
US20090168871A1 (en) * 2007-12-31 2009-07-02 Ning Lu Video motion estimation
JP4990927B2 (ja) 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
JP5406465B2 (ja) * 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
US8548041B2 (en) * 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter
JP5240530B2 (ja) 2008-10-02 2013-07-17 ソニー株式会社 画像処理装置および方法
KR20110091000A (ko) 2008-11-07 2011-08-10 미쓰비시덴키 가부시키가이샤 화상 부호화 장치 및 화상 복호 장치
CN103647972B (zh) * 2008-12-03 2017-04-12 日立麦克赛尔株式会社 运动图像解码方法和运动图像编码方法
BRPI1011698B1 (pt) 2009-03-23 2019-04-02 Ntt Docomo, Inc. Método de decodificação preditiva de imagem, dispositivo de decodificação preditiva de imagem, método de codificação preditiva de imagem, e dispositivo de codificação preditiva de imagem
US9626769B2 (en) * 2009-09-04 2017-04-18 Stmicroelectronics International N.V. Digital video encoder system, method, and non-transitory computer-readable medium for tracking object regions
KR101447796B1 (ko) * 2010-04-13 2014-10-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 평면 간 예측
JP5701291B2 (ja) * 2010-04-13 2015-04-15 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動き補償方法、画像復号方法、画像符号化方法、動き補償装置、プログラム、及び集積回路
KR101484281B1 (ko) * 2010-07-09 2015-01-21 삼성전자주식회사 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치
SI2924995T1 (sl) 2010-07-09 2018-10-30 Samsung Electronics Co., Ltd. Postopek za dekodiranje videa z uporabo združevanja blokov
SG187094A1 (en) 2010-07-20 2013-03-28 Ntt Docomo Inc Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
ES2773774T3 (es) * 2010-10-06 2020-07-14 Ntt Docomo Inc Dispositivo, método y programa de codificación bipredictiva de imágenes, y dispositivo, método y programa de decodificación bipredictiva de imágenes
KR20120140181A (ko) * 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
CA2824755C (en) * 2011-09-23 2018-01-16 Kt Corporation Method for deriving a merge candidate block and device using same

Also Published As

Publication number Publication date
TW201215161A (en) 2012-04-01
RU2667716C1 (ru) 2018-09-24
MX338236B (es) 2016-04-08
KR101729051B1 (ko) 2017-04-21
KR20130041146A (ko) 2013-04-24
US10230987B2 (en) 2019-03-12
JP2015065690A (ja) 2015-04-09
JP2019140703A (ja) 2019-08-22
RU2685390C1 (ru) 2019-04-17
WO2012011432A1 (ja) 2012-01-26
EP2597874A1 (en) 2013-05-29
JP2016165135A (ja) 2016-09-08
TWI519140B (zh) 2016-01-21
ES2887307T3 (es) 2021-12-22
DK2597874T3 (da) 2020-09-28
ES2785606T3 (es) 2020-10-07
CN105120280A (zh) 2015-12-02
CA3011241C (en) 2019-09-10
AU2011280629B2 (en) 2015-08-06
US20180014032A1 (en) 2018-01-11
PT3664453T (pt) 2022-09-20
CN105847837B (zh) 2019-01-04
BR112013001351A2 (pt) 2016-05-17
CN105120278A (zh) 2015-12-02
US20180249180A1 (en) 2018-08-30
EP3661204A1 (en) 2020-06-03
RU2685389C1 (ru) 2019-04-17
CA2805735C (en) 2016-02-09
US20160021389A1 (en) 2016-01-21
MX350471B (es) 2017-09-07
CN105898327A (zh) 2016-08-24
MX2019010472A (es) 2019-10-15
US10542287B2 (en) 2020-01-21
US10225580B2 (en) 2019-03-05
RU2013107368A (ru) 2014-10-20
JP5951063B2 (ja) 2016-07-13
CN105847837A (zh) 2016-08-10
CA3011236A1 (en) 2012-01-26
CA3102661A1 (en) 2012-01-26
CN105898327B (zh) 2019-03-01
US20130136184A1 (en) 2013-05-30
ES2887236T3 (es) 2021-12-22
US9185409B2 (en) 2015-11-10
DK3661210T3 (da) 2023-09-11
KR101903643B1 (ko) 2018-10-02
KR20170003736A (ko) 2017-01-09
DK3664453T3 (da) 2022-09-12
CA2903530C (en) 2018-08-28
SG187094A1 (en) 2013-03-28
RU2573208C2 (ru) 2016-01-20
KR20170137962A (ko) 2017-12-13
EP3664453A2 (en) 2020-06-10
PL3664453T3 (pl) 2022-11-21
CN105120280B (zh) 2018-04-20
KR20170045368A (ko) 2017-04-26
CN103004206A (zh) 2013-03-27
EP3661210A1 (en) 2020-06-03
US9794592B2 (en) 2017-10-17
PT3661204T (pt) 2021-09-22
JP5661114B2 (ja) 2015-01-28
KR101772183B1 (ko) 2017-08-28
PL3661210T3 (pl) 2023-11-06
TW201507445A (zh) 2015-02-16
US20180249181A1 (en) 2018-08-30
EP3661211A1 (en) 2020-06-03
US20180278959A1 (en) 2018-09-27
EP2597874B1 (en) 2020-08-26
ES2820437T3 (es) 2021-04-21
JP6535780B2 (ja) 2019-06-26
EP3664453A3 (en) 2020-07-29
MX367864B (es) 2019-09-05
MX2013000666A (es) 2013-02-26
PT3661211T (pt) 2021-09-24
EP3661210B1 (en) 2023-08-09
CA3011221C (en) 2019-09-03
RU2685393C1 (ru) 2019-04-17
ES2955687T3 (es) 2023-12-05
KR20170098990A (ko) 2017-08-30
EP3664453B1 (en) 2022-08-24
JPWO2012011432A1 (ja) 2013-09-09
CA3011236C (en) 2019-09-03
TWI469646B (zh) 2015-01-11
CA2805735A1 (en) 2012-01-26
RU2685388C1 (ru) 2019-04-17
CN105898326A (zh) 2016-08-24
HUE056566T2 (hu) 2022-02-28
US20170034531A1 (en) 2017-02-02
CN105120279A (zh) 2015-12-02
US10063888B1 (en) 2018-08-28
RU2658798C1 (ru) 2018-06-22
AU2011280629A1 (en) 2013-02-21
US9986261B2 (en) 2018-05-29
JP2019165499A (ja) 2019-09-26
EP2597874A4 (en) 2016-03-09
FI3661210T3 (fi) 2023-08-31
KR101770662B1 (ko) 2017-08-23
HUE056567T2 (hu) 2022-02-28
PL3661211T3 (pl) 2021-12-13
CN105120278B (zh) 2016-11-30
EP3070945A1 (en) 2016-09-21
JP2015130692A (ja) 2015-07-16
KR101600919B1 (ko) 2016-03-21
KR20160030322A (ko) 2016-03-16
PT3070945T (pt) 2020-04-22
US9497480B2 (en) 2016-11-15
CA3011217C (en) 2021-08-03
JP2019140704A (ja) 2019-08-22
US20180332307A1 (en) 2018-11-15
CA3011221A1 (en) 2012-01-26
CN105120279B (zh) 2018-05-29
PT2597874T (pt) 2020-09-25
CA2903530A1 (en) 2012-01-26
KR20170044764A (ko) 2017-04-25
CA3102661C (en) 2022-05-17
CN103004206B (zh) 2016-06-01
HUE063032T2 (hu) 2023-12-28
RU2619202C1 (ru) 2017-05-12
CN105898326B (zh) 2019-01-29
HUE059918T2 (hu) 2023-01-28
JP5712330B2 (ja) 2015-05-07
PT3661210T (pt) 2023-09-04
KR101695170B1 (ko) 2017-01-11
CA3011241A1 (en) 2012-01-26
JP2018121354A (ja) 2018-08-02
EP3661211B1 (en) 2021-08-25
EP3661204B1 (en) 2021-08-18
CA3050052A1 (en) 2012-01-26
DK3661204T3 (da) 2021-09-20
DK3070945T3 (da) 2020-04-06
EP3661204B8 (en) 2021-09-22
DK3661211T3 (da) 2021-09-27
CA3011217A1 (en) 2012-01-26
ES2926898T3 (es) 2022-10-31
EP3070945B1 (en) 2020-03-11
KR101809187B1 (ko) 2017-12-14

Similar Documents

Publication Publication Date Title
BR112013001351B1 (pt) dispositivo de codificação preditiva de imagem, método de codificação preditiva de imagem, dispositivo de decodificação preditiva de imagem e método de decodificação preditiva de imagem
AU2020201373B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program
AU2015252039B2 (en) Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04N 19/61 (2014.01), H04N 19/119 (2014.01), H04N

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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 14/07/2011, OBSERVADAS AS CONDICOES LEGAIS.