BR122015015910A2 - métodos e aparelho para transformar a seleção em codificação e decodificação de vídeo - Google Patents

métodos e aparelho para transformar a seleção em codificação e decodificação de vídeo Download PDF

Info

Publication number
BR122015015910A2
BR122015015910A2 BR122015015910A BR122015015910A BR122015015910A2 BR 122015015910 A2 BR122015015910 A2 BR 122015015910A2 BR 122015015910 A BR122015015910 A BR 122015015910A BR 122015015910 A BR122015015910 A BR 122015015910A BR 122015015910 A2 BR122015015910 A2 BR 122015015910A2
Authority
BR
Brazil
Prior art keywords
transformation
block
transformations
input
residue
Prior art date
Application number
BR122015015910A
Other languages
English (en)
Other versions
BR122015015910B1 (pt
Inventor
Cristina Gomila
Joel Sole
Peng Yin
Yunfei Zheng
Original Assignee
Thomson Licensing
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
Application filed by Thomson Licensing filed Critical Thomson Licensing
Publication of BR122015015910A2 publication Critical patent/BR122015015910A2/pt
Publication of BR122015015910B1 publication Critical patent/BR122015015910B1/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/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • 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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/18Methods 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 a set of transform coefficients
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

métodos e aparelho para transformar a seleção em codificação e decodificação de vídeo. são fornecidos métodos e aparelho para a seleção de transformação em codifica-ção de vídeo. um aparelho inclui um codificador de vídeo (300) para codificação de pelo menos um bloco em uma imagem pela seleção de uma transformação (329) para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis (325, 326, 327). a transformação é selecionada com base em pelo menos um dentre um modo interprevisão utilizado para prever pelo menos uma referência para o bloco, um ou mais valores correspondentes a um vetor de movimento, um valor de um resíduo de um ou mais blocos previamente codificados, um valor de dados de previsão para o bloco, uma ou mais seleções de transformação de um ou mais blocos reconstruídos vizinhos, e uma etapa de quantização aplicada para transformar os coeficientes para o resíduo do bloco.

Description

"MÉTODOS E APARELHO PARA TRANSFORMAR A SELEÇÃO EM CODIFICAÇÃO E DECODIFICAÇÃO DE VÍDEO" Dividido do PI0924044-6, depositado em 21/10/2009 Referência Cruzada a Pedidos Relacionados [001] Esse pedido reivindica os benefícios do pedido provisório U.S. No. 61/147.705, depositado em 27 de janeiro de 2009, que é incorporado por referência aqui em sua totalidade. Esse pedido também reivindica os benefícios do pedido provisório U.S. No. 61/207.783, depositado em 17 de fevereiro de 2009, que é incorporado por referência aqui em sua totalidade. Adicionalmente, esse pedido também está relacionado com dois outros pedidos, ambos depositados simultaneamente com o presente pedido e possuindo inventores em comum e um cessionário em comum (Nos. de documento PU090137 e PU090138), cada um dos quais é incorporado aqui por referência em sua totalidade, e cada um dos quais reivindica os benefícios do pedido provisório U.S. No. 61/147.705, depositado em 27 de janeiro de 2009 e o pedido provisório U.S. No. 61/207.783, depositado em 17 de fevereiro de 2009.
Campo Técnico [002] Os presentes princípios se referem geralmente à codificação e à decodifi-cação de vídeo, e, mais particularmente a métodos e aparelho para a seleção de transformações a serem utilizadas para a codificação e decodificação de vídeo.
Fundamentos [003] A transformação discreta com base em bloco é um componente fundamental de muitos padrões e recomendações de compressão de imagem e vídeo incluindo o padrão JPEG, a União Internacional de Telecomunicação, A recomendação H.263 do Setor de Telecomunicação (ITU-T) (doravante "Recomendação H.263"), a Organização Internacional para Padronização/ Comissão Eletroquímica Internacional (ISO/IEC), Padrão de Grupo de Especialistas em Imagem em Movimento -1, Padrão MPEG-2, ISO/IEC MPEG-4 Parte 10 Padrão de Codificação de Vídeo Avançada (AVC)/ Recomendação ITU-T H.264 (doravante "Padrão AVC MPEG-4") e outros e é utilizada em uma ampla faixa de aplicações. [004] A transformação de co-seno discreta (DCT) é a transformação em bloco utilizada de forma mais extensa. O esquema DCT leva vantagem da propriedade da correlação espacial local da imagem/quadro pela divisão da imagem/quadro em blocos de pixels (normalmente 4x4 e 8x8), transformando cada bloco do domínio espacial em domínio de frequência utilizando a transformação de co-seno discreto, e quantizando os coeficientes DCT. A maior parte dos padrões de compressão de imagem e vídeo utiliza uma transformação em bloco DCT separável bidimensional (2-D) fixa. Se vários tamanhos de blocos forem permitidos (tipicamente, a partir de blocos de 4x4 a 16x16), então utilizam um DCT possuindo um tamanho correspondente ao bloco. Não obstante, existe apenas uma transformação possível para cada tamanho de bloco, [005] No entanto, o conteúdo de imagem e vídeo possui dados com estatísticas variáveis e propriedades variáveis. Dessa forma, a disponibilidade e, dessa forma, a utilização forçada de uma única transformação por tamanho de bloco falha em realizar qualquer ganho de compressão em potencial que estaria disponível utilizando-se uma transformação diferente da transformação única disponível por tamanho de bloco. [006] Nos padrões de codificação de imagem e vídeo tal como, por exemplo, o Padrão AVC MPEG-4, existe apenas uma escolha para a transformação em bloco para utilização para cada tamanho de bloco. Não existe seleção de transformação. [007] Voltando-se à figura 1, um codificador de vídeo capaz de realizar a codificação de vídeo de acordo com o Padrão AVC MPEG-4 é indicado geralmente pelo número de referência 100. O codificador de vídeo 100 inclui um armazenador de ordenação de quadro 110 possuindo uma saída na comunicação de sinal com uma entrada não invertida de um combinador 185. Uma saída do combinador 185 é conectada em comunicação por sinal a uma primeira entrada de um transformador e quantizador 125. Uma saída do transformador e quantizador 125 é conectada em comunicação por sinal com uma primeira entrada de um codificador por entropia 145 e uma primeira entrada de um transformador invertido e um quantizador invertido 150. Uma saída do codificador por entropia 145 é conectada em comunicação por sinal a uma primeira entrada não invertida de um combinador 190. Uma saída do combinador 190 é conectada em comunicação pro sinal a uma primeira entrada de um armazenador de saída 135. [008] Uma primeira saída de um controlador de codificador 105 é conectada em comunicação por sinal a uma segunda entrada do armazenador de ordenação de quadro 110, uma segunda entrada do transformador invertido e o quantizador invertido 150, uma entrada de um módulo de decisão tipo imagem 115, uma primeira entrada de um módulo de decisão tipo macrobloco {tipo MB) 120, uma segunda entrada de um módulo intraprevisão 160, uma segunda entrada de um filtro de desbloqueio 165, uma primeira entrada de um compensador de movimento 170, uma primeira entrada de um estimador de movimento 175, e uma segunda entrada de um armazenador de imagem de referência 180. [009] Uma segunda saída do controlador de codificador 105 é conectada em comunicação por sinal a uma primeira entrada de um elemento de inserção de Informação Melhorada Suplementar (SEI) 130, uma segunda entrada do transformador e do quantizador 126, uma segunda entrada do codificador por entropia 145, uma segunda entrada do armazenador de saída 135, e uma entrada do elemento de inserção de Conjunto de Parâmetros de Imagem (PPS) e Conjunto de Parâmetros de Sequência (SPS) 140. [010] Uma saída do elemento de inserção SEI 130 é conectada em comunicação por sinal com uma segunda saída não intercalada do combinador 190. [011 ]Uma primeira saída do módulo de decisão de tipo de imagem 115 é conectada em comunicação por sinal com uma terceira entrada do armazenador de ordenação de quadro 110. Uma segunda saída do módulo de decisão de tipo de imagem 115 é conectada em comunicação por sinal a uma segunda entrada de um módulo de decisão tipo macroblo-co 120. [012] Uma saída do elemento de inserção de Conjunto de Parâmetro de Sequência (SPS) e Conjunto de Parâmetro de Imagem (PPS) 140 é conectado em comunicação por sinal com uma terceira entrada não invertida do combinador 190. [013] Uma saída do quantizador invertido e transformador invertido 150 é conectada em comunicação por sinal com uma primeira entrada não invertida de um combinador 119. Uma saída do combinador 119 é conectada em comunicação de sinal com uma primeira entrada do módulo de intraprevisão 160 e uma primeira entrada do filtro de desbloqueio 165. Uma saída do filtro de desbloqueio 165 é conectada em comunicação por sinal com uma primeira entrada de um armazenador de imagem de referência 180. Uma saída do armazenador de imagem de referência 180 é conectada em comunicação por sinal com uma segunda entrada do estimador de movimento 175 e uma terceira entrada do compensador de movimento 170. Uma primeira saída do estimador de movimento 175 é conectada em comunicação por sinal com uma segunda entrada do compensador de movimento 170. Uma segunda saída do estimador de movimento 175 é conectada em comunicação por sinal com uma terceira entrada do codificador de entropia 145. [014] Uma saída do compensador de movimento 170 é conectada em comunicação por sinal a uma primeira entrada de um comutador 197. Uma saída do módulo intra-previsão 160 é conectada em comunicação por sinal com uma segunda entrada do comutador 197. Uma saída do módulo de decisão tipo macrobloco 120 é conectada em comunicação por sinal com uma terceira entrada do comutador 197. A terceira entrada do comutador 197 determinar se ou não os "dados" registrados do comutador (em comparação com a entrada de controle, isso é, a terceira entrada) devem ser fornecidos pelo compensador de movimento 170 ou o módulo intraprevisão 160. A saída do comutador 197 é conectada em comunicação por sinal com uma segunda entrada não invertida do combinador 119 e uma entrada invertida do combinador 185. [015] Uma primeira entrada do armazenador de ordenação de quadro 110 e uma entrada do controlador de codificador 105 estão disponíveis como entradas do codificador 100, para o recebimento de uma imagem em movimento. Ademais, uma segunda entrada do elemento de inserção de Informação de Melhoria Suplementar (SEI) 130 está disponível como uma entrada do codificador 100, para o recebimento de metadados. Uma saída do armazenador de saída 135 está disponível como uma saída do codificador 100, para o envio de uma sequência de bits. [016] Voltando-se à figura 2, um decodificador de vídeo capaz de realizar a de-codificação de vídeo de acordo com o Padrão AVC MPEG-4 é indicado geralmente pela referência numérica 200. O decodificador de vídeo 200 inclui um armazenador de entrada 210 possuindo uma saída conectada em comunicação por sinal com uma primeira entrada do decodificador de entropia 245. Uma primeira saída do decodificador de entropia 245 é conectada em comunicação por sinal com uma primeira entrada de um transformador invertido e quantizador invertido 250. Uma saída do transformador invertido e quantizador invertido 250 é conectada em comunicação por sinal com uma segunda entrada não invertida de um combinador 225. Uma saída do combinador 225 é conectada em comunicação por sinal com uma segunda entrada de um filtro de desbloqueio 265 e uma primeira entrada de um módulo intraprevisão 260. Uma segunda saída do filtro de desbloqueio 265 é conectada em comunicação por sinal com uma primeira entrada de um armazenador de imagem de referência 280. Uma saída do armazenador de imagem de referência 280 é conectada em comunicação por sinal a uma segunda entrada de um compensador de movimento 270. [017] Uma segunda saída do decodificador de entropia 245 é conectada em comunicação por sinal a uma terceira entrada do compensador de movimento 270 e uma primeira entrada do filtro de desbloqueio 265. Uma terceira saída do decodificador de entropia 245 é conectada em comunicação por sinal com uma entrada de um controlador de decodificador 205. Uma primeira saída do controlador de decodificador 205 é conectada em comunicação por sinal a uma segunda entrada do decodificador de entropia 245. Uma segunda saída do controlador de decodificador 205 é conectada em comunicação por sinal a uma segunda entrada do transformador invertido e quantizador invertido 250. Uma terceira saída do controlador de decodificador 205 é conectada em comunicação por sinal com uma terceira entrada do filtro de desbloqueio 265. Uma quarta saída do controlador de decodificador 205 é conectada em comunicação por sinal com uma segunda entrada do módulo intraprevisão 260, uma primeira entrada do compensador de movimento 270 e uma segunda entrada do armazenador de imagem de referência 280. [018] Uma saída do compensador de movimento 270 é conectada em comunicação por sinal com uma primeira entrada de um comutador 297. Uma saída do módulo intraprevisão 260 é conectada em comunicação por sinal com uma segunda entrada do comutador 297. Uma saída do comutador 297 é conectada em comunicação por sinal com uma primeira entrada não invertida do combinador 225 [019] Uma entrada do armazenador de entrada 210 está disponível como uma entrada do decodificador 200, para o recebimento de uma sequência de bits de entrada. Uma primeira saída do filtro de desbloqueio 265 está disponível como uma saída do decodificador 200, para o envio de uma imagem de saída. [020] Tem havido algumas propostas anteriores para o uso de múltiplas trans- formações em um único esquema de codificação. Em uma primeira abordagem da técnica anterior, uma transformação linear ideal é descrita, e é referida como a Transformação Karhunen Loeve (KLT). KLT é empregada pra derivar a melhor transformação para cada um dos 9 modos intraprevisão no Padrão AVC MPEG-4. As estatísticas para cada modo são extraídas e as KLTs correspondentes são derivadas. Cada resíduo intraprevisão é codificado com sua KLT. Os 9 intramodos dividem o espaço de dados de forma efetiva, de tal forma que DCT não esteja mais perto da melhor transformação, de modo que uma melhor transformação distinta possa ser derivada e aplicada com sucesso. Em suma, a proposta utiliza várias transformações, mas cada uma das mesmas é fixada ao modo intraprevisão selecionado. [021] Uma segunda abordagem da técnica anterior propõe a modificação da transformação DCT para várias frequências, isso é, a alteração das funções básicas com diferentes filtros all-pass para obter uma variedade de respostas de frequência warped. As transformações resultantes são chamadas DCT warped (WDCT). Uma busca por distorção de taxa exaustiva (R-D) é realizada para cada bloco e a transformação selecionada é indicada com a informação lateral. A ideia é aplicada à compressão de imagem. [022] Uma terceira abordagem da técnica anterior descreve a utilização de WDCT e inclusão da seleção de transformação nos coeficientes transformados propriamente ditos. O método ilustra bom desempenho para a compressão de imagem de taxa de bit baixa. Além disso, o método adiciona uma etapa de pós-filtragem que minimiza o erro quadrado médio (MSE). O filtro é determinado no codificador e multiplexado na sequência de bits. [023] Uma quarta abordagem da técnica anterior propõe uma otimização algébrica de um conjunto de transformações para uma grande base de dados. O conjunto é dividido de forma interativa até que alcance um ponto estável no qual cada transformação quase ideal para seu subconjunto em particular de dados. O codificador indica através de uma quad-tree qual transformação é utilizada em cada bloco. Dessa forma, a escolha da transformação não é realizada independentemente para cada bloco. [024] Uma quinta abordagem da técnica anterior propõe uma transformação de seno inteiro (IST) para modo interquadro. Um resíduo interquadro possui uma baixa correlação, e a DCT é adequada apenas para dados altamente correlacionados. Portanto, propõe uma transformação de seno, que é eficiente para dados com uma correlação de -0,5 a 0,5. KLT coincide com a transformação de seno em parte de sua faixa. IST é derivada da transformação de seno exatamente da mesma forma que a transformação de co-seno inteiro no Padrão AVC MPEG-4. A mesma transformação é aplicada a todo o macrobloco, enviando um indicador, a menos que o macrobloco seja dividido em 4 submacroblocos, então 4 indicadores são enviados especificando a transformação empregada em cada submacrobloco. [025] Uma sexta abordagem da técnica anterior propõe um esquema similar ao proposto na quinta abordagem da técnica anterior. A sexta abordagem da técnica anterior propõe um esquema de codificação de erro de previsão adaptativo (APEC) que permite a codificação de erro de previsão adaptativa no domínio de espaço e frequência. Para cada bloco de erro de previsão, a codificação de transformação ou a codificação de domínio espacial é aplicada. O algoritmo com um custo de distorção de taxa mais baixo é escolhido. [026] As abordagens anteriores propõem uma faixa limitada de escolha da melhor transformação e não exploram totalmente as possibilidades disponíveis.
Sumário [027] Essas e outras desvantagens da técnica anterior são solucionadas pelos presentes princípios, que são direcionados a métodos e aparelho para a seleção de transformação em codificação de vídeo. [028] De acordo com um aspecto dos presentes princípios, é fornecido um aparelho. O aparelho inclui um codificador de vídeo para codificação de pelo menos um bloco em uma imagem pela seleção de uma transformação a ser aplicada a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. A transformação é selecionada com base em pelo menos um dentre um modo interprevisão utilizado para prever pelo menos uma referência para o bloco, um ou mais valores correspondentes a um vetor de movimento, um valor de um resíduo de um ou mais blocos previamente codificados, um valor de dados de previsão para o bloco, uma ou mais seleções de transformação de um ou mais blocos reconstruídos vizinhos, e uma etapa de quantização aplicada aos coeficientes de transformação para o resíduo do bloco. [029] De acordo com outro aspecto dos presentes princípios, é fornecido um aparelho. O aparelho inclui um codificador de vídeo para codificar pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações. O codificador de vídeo envia informação descrevendo a transformação selecionada por pelo menos um enviando a informação explicitamente utilizando um ou mais indicadores, enviando a informação utilizando uma estrutura de árvore em uma sequência de bits, embutindo a informação dentro dos coeficientes de transformação correspondentes à transformação selecionada e permitindo que um decodificador correspondente infira a transformação selecionada a partir dos dados já decodificados. [030] De acordo com outro aspecto dos presentes princípios, é fornecido um aparelho, O aparelho inclui um codificador de vídeo para codificação de pelo menos um bloco em uma imagem em uma sequência de vídeo pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. O conjunto de transformações é pelo menos um determinado e refinado utili- zando-se dados reconstruídos a partir de uma ou mais imagens anteriores na sequência de vídeo. [031] De acordo com outro aspecto adicional dos presentes princípios, é fornecido um aparelho. O aparelho inclui um codificador de vídeo para codificar pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. O conjunto de transformações é determinado a partir dos dados a serem codificados para o bloco. [032] De acordo com um aspecto adicional dos presentes princípios, é fornecido um método em um codificador de vídeo. O método inclui a codificação de pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. A transformação é selecionada com base em pelo menos um dentre um modo interprevisão utilizado para prever pelo menos uma referência para o bloco, um ou mais valores correspondentes a um vetor de movimento, um valor de um resíduo de um ou mais blocos codificados previamente, um valor de dados de previsão para o bloco, uma ou mais seleções de transformação de um ou mais blocos reconstruídos vizinhos, e uma etapa de quantização aplicada para transformar os coeficientes para o resíduo do bloco. [033] De acordo com um aspecto adicional dos presentes princípios, é fornecido um método em um codificador de vídeo. O método inclui a codificação de pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis; e o envio de informação descrevendo a transformação selecionada por pelo menos um enviando a informação explicitamente utilizando um ou mais indicadores, enviando a informação utilizando uma estrutura de árvore em uma sequência de bit, embutindo a informação dentro dos coeficientes de transformação correspondentes à transformação selecionada e permitindo que um decodificador correspondente infira a transformação selecionada a partir dos dados já decodificados. [034] De acordo com outro aspecto adicional dos presentes princípios, é fornecido um método em um codificador de vídeo. O método inclui a codificação de pelo menos um bloco em uma imagem em uma sequência de vídeo pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. O conjunto de transformações é pelo menos um dentre determinado e refinado utilizando dados reconstruídos a partir de uma ou mais imagens anteriores na sequência de vídeo. [035] De acordo com um aspecto adicional dos presentes princípios, é fornecido um método em um codificador de vídeo. O método inclui a determinação de um conjunto de uma ou mais transformações; e a codificação de pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicação a um resíduo do bloco a partir do conjunto de transformações. O conjunto de transformações é determinado a partir dos dados a serem codificados para o bloco. [036] Esses e outros aspectos, características e vantagens dos presentes princípios se tornarão aparentes a partir da descrição detalhada a seguir das modalidades ilustrativas, que devem ser lidas com relação aos desenhos em anexo.
Breve Descrição dos Desenhos [037] Os presentes princípios podem ser mais bem compreendidos de acordo com as figuras ilustrativas a seguir, onde: [038] A figura 1 é um diagrama em bloco ilustrando um codificador de vídeo capaz de realizar a codificação de vídeo de acordo com o Padrão AVC MPEG-4; [039] A figura 2 é um diagrama em bloco ilustrando um decodificador de vídeo capaz de realizar a decodificação de vídeo de acordo com o Padrão AVC MPEG-4; [040] A figura 3 é um diagrame em bloco ilustrando um codificador de vídeo ilustrativo com seleção de transformação à qual os presentes princípios podem ser aplicados, de acordo com uma modalidade dos presentes princípios; [041 ]A figura 4 é um diagrama em bloco ilustrando um decodificador de vídeo ilustrativo com seleção de transformação à qual os presentes princípios podem ser aplicados, de acordo com uma modalidade dos presentes princípios; [042] A figura 5 é um fluxograma ilustrando um método ilustrativo para a seleção de transformação em um codificador de vídeo, de acordo com uma modalidade dos presentes princípios; [043] A figura 6 é um fluxograma ilustrando um método ilustrativo para a seleção de transformação em um decodificador de vídeo, de acordo com uma modalidade dos presentes princípios; [044] A figura 7 é um fluxograma ilustrando um método ilustrativo para a seleção de transformação e transporte em um codificador de vídeo, de acordo com uma modalidade dos presentes princípios; [045] A figura 8 é um fluxograma ilustrando um método ilustrativo para o transporte e seleção de transformação em um decodificador de vídeo, de acordo com uma modalidade dos presentes princípios; [046] A figura 9 é um fluxograma ilustrando outro método ilustrativo para a seleção e transporte de transformação em um codificador de vídeo, de acordo com uma modalidade dos presentes princípios; e [047] A figura 10 é um fluxograma ilustrando outro método ilustrativo para o transporte e seleção de transformação em um decodificador de vídeo, de acordo com uma modalidade dos presentes princípios.
Descrição Detalhada [048] Os presentes princípios são direcionados a métodos e aparelho para a transformação de seleção em codificação de vídeo. [049] A presente descrição ilustra os presentes princípios. Será apreciado, dessa forma, que os versados na técnica serão capazes de vislumbrar as várias disposições que, apesar de não explicitamente descritas ou ilustradas aqui, consubstanciam os presentes princípios e são incluídas em seu espírito e escopo. [050] Todos os exemplos e linguagem condicional recitados aqui devem servir a finalidades pedagógicas para auxiliar o leitor na compreensão dos presentes princípios e conceitos distribuídos pelos inventores para promover a técnica, e devem ser considerados como sendo sem limitação a tais exemplos e condições especificamente recitados. [051] Ademais, todas as declarações aqui fazendo referência a princípios, aspectos e modalidades dos presentes princípios, além de exemplos específicos dos mesmos, devem englobar equivalências estruturais e funcionais. Adicionalmente, pretende-se que tais equivalências incluem ambas as equivalências atualmente conhecidas além das equivalên-cias desenvolvidas no futuro, isso é, quaisquer elementos desenvolvidos que realizem a mesma função, independentemente da estrutura. [052] Dessa forma, por exemplo, será apreciado pelos versados na técnica que os diagramas em bloco apresentados aqui representam vistas conceituais de um conjunto de circuitos ilustrativo consubstanciando os presentes princípios. De forma similar, será apreciado que quaisquer fluxogramas, diagramas de transição de estado, pseudocódigo, e similares representam vários processos que podem ser substancialmente representados em mídia legível por computador e executados por um computador ou processador, caso ou não tal computador ou processador seja explicitamente ilustrado. [053] As funções dos vários elementos ilustrados nas figuras podem ser fornecidas através do uso de hardware dedicado além de hardware capaz de executar software em associação com o software adequado. Quando fornecidas por um processador, as funções podem ser fornecidas por um único processador dedicado, por um único processador compartilhado, ou por uma pluralidade de processadores individuais, alguns dos quais podem ser compartilhados. Ademais, o uso explícito do termo "processador" ou "controlador" não deve ser considerado como fazendo referência exclusivamente a hardware capaz de executar software, e pode incluir implicitamente, sem limitação o hardware de processador de sinal digital ("DSP"), memória de leitura apenas ("ROM") para armazenamento de software, memória de acesso randômico ("RAM") e armazenamento não volátil. [054] Outro hardware, convencional e/ou personalizado, também pode ser incluído. De forma similar, quaisquer comutadores ilustrados nas figuras são conceituais apenas. Sua função pode ser realizada através da operação da lógica de programa, através de lógi- ca dedicada, através da interação do controle de programa e lógica dedicada, ou menos manualmente, a técnica em particular sendo selecionável pelo implementador como compreendido de forma mais específica a partir do contexto. [055] Nas reivindicações, qualquer elemento expresso como um meio para a realização de uma função especificada deve englobar qualquer forma de realização dessa função incluindo, por exemplo, a) uma combinação de elementos de circuito que realiza essa função, ou b) software em qualquer forma, incluindo, portanto, firmware, micro código ou similares, combinado com o conjunto de circuito adequado para execução desse software para realização da função. Os presentes princípios como definidos por tais reivindicações residem no fato de as funcionalidades fornecidas pelos vários meios recitados serem combinadas e unidas da forma na qual as reivindicações exigem. É considerado, dessa forma, que qualquer meio que possa fornecer essas funcionalidades seja equivalente aos ilustrados aqui. [056] Referência na especificação a "uma modalidade" dos presentes princípios, além de outras variações, significa que uma característica, estrutura em particular e assim por diante descrita com relação à modalidade é incluída em pelo menos uma modalidade dos presentes princípios. Dessa forma, o surgimento da frase "em uma modalidade", além de quaisquer outras variações, aparecendo em vários locais por toda a especificação não se refere necessariamente à mesma modalidade. Ademais, deve-se notar que as frases "modalidade" e "implementação" são utilizadas de forma intercambiável aqui. [057] Ademais, como utilizadas aqui, as palavras "figura" e "imagem" são utilizadas de forma intercambiável e se referem a uma imagem ou uma figura estática de uma sequência de vídeo. Como é sabido, uma figura pode ser um quadro ou um campo. [058] Adicionalmente, como utilizado aqui, a palavra "bloco" se refere a um bloco de qualquer tamanho, incluindo um super macrobloco, um macrobloco, uma divisão de ma-crobloco e uma divisão de submacrobloco. [059] Além disso, como utilizada aqui, a palavra "refinamento" com relação a um conjunto de transformações ou uma transformação se refere à informação necessária para se derivar uma transformação/conjunto de transformações a partir de uma transformação de referência/conjunto de transformações. Normalmente, é mais eficiente se enviar a informação da "diferença" (refinamento) de uma transformação/conjunto de transformações do que enviar toda a informação necessária para se derivar a transformação/conjunto de transformações desde o início. [060] Adicionalmente, como utilizada aqui, a frase "informação lateral" se refere à informação adicional que deve ser incluída na sequência de bits para transportar os dados adicionais do decodificador que não são encontrados na sequência de bits normal. Por exemplo, se duas transformações puderem ser utilizadas para codificar um bloco, a trans- formação selecionada precisa ser sinalizada de modo que o decodificador saiba qual transformação invertida utilizar. Portanto, o codificador pode incluir 1 bit de "informação lateral" indicando qual transformação invertida deve ser utilizada. [061] Deve-se apreciar que o uso de qualquer um dentre "I", "e/ou", e "pelo menos um de", por exemplo, nos casos de "A/B", "A e/ou B" e "pelo menos um dentre A e B", deve englobar a seleção da primeira opção listada (A) apenas, ou a seleção da segunda opção listada (B) apenas, ou a seleção de ambas as opções (A e B). Como um exemplo adicional, nos casos de "A, B e/ou C" e "pelo menos um dentre A, B e C", tal frase deve englobar a seleção da primeira opção listada (A) apenas, ou a seleção da segunda opção listada (B) apenas, ou a seleção da terceira opção listada (C) apenas, ou a seleção das primeira e segunda opções listadas (A e B) apenas, ou a seleção das primeira e terceira opções listadas (A e C) apenas, ou a seleção das segunda e terceira opções listadas (B e C) apenas, ou a seleção de todas as três opções (A e B e C). Isso pode ser estendido, como prontamente aparente pelos versados na técnica nessa e em técnicas relacionadas, para os itens listados. [062] Ademais, deve-se apreciar que enquanto uma ou mais modalidades dos presentes princípios são descritos aqui como avanços sobre (e com referência a) o padrão AVC MPEG-4, os presentes princípios não são limitados e, dessa forma, podem ser utilizados com relação a outros padrões de codificação de vídeo, recomendações, e extensões, incluindo extensões do padrão AVC MPEG-4, enquanto mantém o espírito dos presentes princípios. [063] Como notado acima, os presentes princípios são direcionados a métodos e aparelho para a seleção de transformação em codificação de vídeo. O reconhecimento de que o conteúdo de imagem e vídeo possui dados com estatísticas e propriedades variáveis, cria o reconhecimento também de que existem ganhos de compressão em potencial a serem realizados se várias transformações puderem ser utilizadas para cada bloco, selecionando para cada situação a transformação mais favorável dentro de uma faixa de opções. Em pelo menos uma modalidade, é proposta a otimização/desenho de um conjunto de transformações para estatísticas ou padrões determinados e a seleção a partir do conjunto de melhor transformação para cada região ou bloco. [064] Dessa forma, se propõe uma abordagem mais geral e ampla que inclua alternativas não consideradas na técnica anterior. De acordo com os presentes princípios, se descreve a utilização de um conjunto de transformações (duas ou mais transformações) e então a codificação de uma imagem ou vídeo escolhendo a melhor transformação do conjunto para cada região, fatia, bloco ou macrobloco. O conjunto de transformações pode ser otimizado ou projetado para uma faixa de estatísticas ou padrões de imagem/vídeo. Os presentes princípios também envolvem como escolher a melhor transformação e a sinalização adequada da transformação selecionada, de modo que o decodificador de imagem/vídeo possa recuperar a informação de escolha de forma eficiente. [065] Não existe necessidade de se restringir o codificador e o decodificador de vídeo para ter apenas uma possível transformação. Em uma modalidade, se propõe que o codificador de vídeo possa escolher dentre diferentes transformações para cada bloco, ma-crobloco, ou região para se alcançar o melhor desempenho. Então, em uma modalidade, se combina o conjunto de transformações no codificador com uma sintaxe leve que não danifique os ganhos em potencial. [066] Voltando-se à figura 3, um codificador de vídeo ilustrativo com seleção de transformação é geralmente indicado pela referência numérica 300. O codificador de vídeo 300 inclui um armazenador de ordenação de quadro 310 possuindo uma saída em comunicação por sinal com uma entrada não invertida de um combinador 385. Uma saída do com-binador 385 é conectada em comunicação por sinal com uma entrada de um transformador e quantizador 1 325, uma entrada de um transformador e quantizador 2 326 e uma entrada de um transformador e quantizador n 327. Uma saída do transformador e quantizador 1 325 é conectada em comunicação por sinal com uma primeira entrada de um seletor de transformação 329. Uma saída do transformador e quantizador 2 326 é conectada em comunicação por sinal com uma segunda entrada do seletor de transformação 329. Uma saída do transformador e quantizador n 327 é conectada em comunicação por sinal com uma terceira entrada do seletor de transformação 329. Uma saída do seletor de transformação 329 é conectada em comunicação por sinal com uma primeira entrada de um codificador por entropia 345 e uma primeira entrada de um transformador invertido e quantizador invertido 350. Uma saída do codificador de entropia 345 é conectada em comunicação por sinal com uma primeira entrada não invertida de um combinador 390. Uma saída do combinador 390 é conectada em comunicação por sinal com uma primeira entrada de um armazenador de saída 335. [067] Uma primeira saída de um controlador de codificador 305 é conectada em comunicação por sinal com uma segunda entrada do armazenador de ordenação de quadro 310, uma segunda entrada do transformador invertido e quantizador invertido 350, uma entrada de um módulo de decisão tipo imagem 315, uma primeira entrada de um módulo de decisão tipo macrobloco (tipo MB) 320, uma segunda entrada de um módulo intraprevisão 360, uma segunda entrada de um filtro de desbloqueio 365, uma primeira entrada de um compensador de movimento 370, uma primeira entrada de um estimador de movimento 375, e uma segunda entrada de um armazenador de imagem de referência 380. [068] Uma segunda saída do controlador de codificador 305 é conectada em comunicação por sinal com uma primeira entrada de um elemento de inserção de Informação de Melhoria Suplementar (SEI) 330, uma segunda entrada do codificador de entropia 345, uma segunda entrada do armazenador de saída 335, e uma entrada do Conjunto de Parâmetro de Sequência (SPS) e elemento de inserção de Conjunto de Parâmetro de Imagem (PPS) 340. [069] Uma saída do elemento de inserção SEI 330 é conectada em comunicação por sinal com uma segunda entrada não invertida do elemento de combinação 390. [070] Uma primeira saída do módulo de decisão de tipo de imagem 315 é conectada em comunicação por sinal com uma terceira entrada do armazenador de ordenação de quadro 310. Uma segunda saída do módulo de decisão tipo imagem 315 é conectada em comunicação por sinal com uma segunda entrada de um módulo de decisão tipo macrobloco 320. [071] Uma saída do Conjunto de Parâmetro de Sequência (SPS) e o elemento de inserção de Conjunto de Parâmetro de Imagem (PPS) 340 é conectada em comunicação por sinal com uma terceira entrada não invertida do combinador 390. [072] Uma saída do quantizador invertido e transformador invertido 350 é conectada em comunicação por sinal com uma primeira entrada não invertida de um combinador 319. Uma saída do combinador 319 é conectada em comunicação por sinal com uma primeira entrada do módulo intraprevisão 360 e uma primeira entrada do filtro de desbloqueio 365. Uma saída do filtro de desbloqueio 365 é conectada em comunicação por sinal com uma primeira entrada de um armazenador de imagem de referência 380. Uma saída do armazenador de imagem de referência 380 é conectada em comunicação por sinal com uma segunda entrada do estimador de movimento 375 e uma terceira entrada do compensador de movimento 370. Uma primeira saída do estimador de movimento 375 é conectada em comunicação por sinal com uma segunda entrada do compensador de movimento 370. Uma segunda saída do estimador de movimento 375 é conectada em comunicação por sinal com uma terceira entrada do codificador de entropia 345. [073] Uma saída do compensador de movimento 370 é conectada em comunicação de sinal com uma primeira entrada de um comutador 397. Uma saída do módulo intraprevisão 360 é conectada em comunicação por sinal com uma segunda entrada do comutador 397. Uma saída do módulo de decisão tipo macrobloco 320 é conectada em comunicação por sinal com uma terceira entrada do comutador 397. A terceira entrada do comutador 397 determina se ou não a entrada de "dados" do comutador (em comparação com a entrada de controle, isso é, a terceira entrada) deve ser fornecida pelo compensador de movimento 370 ou o módulo intraprevisão 360. A saída do comutador 397 é conectada em comunicação por sinal com uma segunda entrada não invertida do combinador 319 e uma entrada invertida do combinador 385. [074] Uma primeira entrada do armazenador de ordenação de quadro 310 e uma entrada do controlador de codificador 305 estão disponíveis como entradas do codificador 300, para receber uma imagem de entrada. Ademais, uma segunda entrada do elemento de inserção de Informação de Melhoria Suplementar (SEI) 330 está disponível como uma entrada do codificador 300, para o recebimento de metadados. Uma saída do armazenador de saída 335 está disponível como uma saída do codificador 300, para envio de uma sequência de bits. [075] Em uma modalidade, o codificador de vídeo 300 seleciona a melhor transformação a partir de um conjunto de n transformações e envia a informação lateral da transformação selecionada. Então, a transformação invertida é realizada para a transformação selecionada (denotada por i). Nessa modalidade, as transformações são derivadas offline e disponíveis no codificador e decodificador. Em uma modalidade, a codificação de entropia realizada pelo codificador de entropia 345 é alterada/modificada para acomodar a informação adicional de qual transformação está sendo utilizada, e também porque cada transformação pode exigir diferente codificação de entropia (diferente ordem de digitalização, diferentes contextos, e assim por diante). [076] Voltando-se à figura 4, um decodificador de vídeo ilustrativo com seleção de transformação é indicado geralmente pela referência numérica 400. O decodificador de vídeo 400 inclui um armazenador de entrada 410 possuindo uma saída conectada em comunicação por sinal com uma primeira entrada do decodificador de entropia 445. Uma primeira saída do decodificador de entropia 445 é conectada em comunicação por sinal com uma primeira entrada de um transformador invertido e quantizador invertido i 450. Uma saída do transformador invertido e quantizador invertido i 450 é conectada em comunicação por sinal com uma segunda entrada não invertida de um combinador 425. Uma saída do combi-nador 425 é conectada em comunicação por sinal com uma segunda entrada de um filtro de desbloqueio 465 e uma primeira entrada de um módulo intraprevisão 460. Uma segunda saída do filtro de desbloqueio 465 é conectada em comunicação por sinal com uma primeira entrada de um armazenador de imagem de referência 480. Um saída do armazenador de imagem de referência 480 é conectada em comunicação por sinal com uma segunda entrada de um compensador de movimento 470. [077] Uma segunda saída do decodificador de entropia 445 é conectada em comunicação por sinal com uma terceira entrada do compensador de movimento 470 e uma primeira entrada do filtro de desbloqueio 465. Uma terceira saída do decodificador de entropia 445 é conectada em comunicação por sinal com uma entrada de um controlador de decodificador 405. Uma primeira saída do controlador de decodificador 405 é conectada em comunicação por sinal com uma segunda entrada do decodificador de entropia 445. Uma segunda saída do controlador de decodificador 405 é conectada em comunicação por sinal com uma segunda entrada do transformador invertido e quantizador invertido i 450. Uma terceira saída do controlador de decodificador 405 é conectada em comunicação por sinal com uma terceira entrada do filtro de desbloqueio 465. Uma quarta saída do controlador de decodificador 405 é conectada em comunicação por sinal com uma segunda entrada do módulo intraprevisão 460, uma primeira entrada do compensador de movimento 470, e uma segunda entrada do armazenador de imagem de referência 480. [078] Uma saída do compensador de movimento 470 é conectada em comunicação por sinal com uma primeira entrada de um comutador 497. Uma saída do módulo intraprevisão 460 é conectada em comunicação por sinal com uma segunda entrada do comutador 497. Uma saída do comutador 497 é conectada em comunicação por sinal com uma primeira entrada não invertida do combinador 425. [079] Uma entrada do armazenador de entrada 410 está disponível como uma entrada do decodificador 400, para o recebimento de uma sequência de bits de entrada. Uma primeira saída do filtro de desbloqueio 465 está disponível como uma saída do decodificador 400, para o envio de uma imagem de saída. [080] As técnicas existem para derivar um conjunto ideal de transformações quando os dados a serem codificados estão disponíveis ou existe um conjunto de dados de sequenciamento adequado. Por exemplo, um conjunto de encadeamento de várias sequências pode estar disponível e essas técnicas podem fornecer um conjunto de transformações que divide o espaço de dados de modo que cada transformação seja a melhor para sua parte dos dados. Então, de acordo com um bloco, o codificador precisa determinar o tipo de dados ao qual o bloco pertence e utilizar a transformação adequada. Essas técnicas de derivação de um conjunto de transformações podem ser baseadas na KLT comum, em uma função objetiva em termos de dispersão, e/ou técnicas como conhecidas ou prontamente derivadas pelos versados na técnica nessa e outras técnicas relacionadas. Presumindo-se que se tenha tais técnicas disponíveis, se soluciona agora como utilizar o conjunto de transformações de uma forma eficiente, isso é, como selecionar a melhor transformação e como portar a informação do codificador para o decodificador de forma eficiente.
Determinação do Conjunto de Transformações [081] Explica-se agora como se determinar o conjunto de transformações que é utilizado. [082] Em uma modalidade, o conjunto de transformações é derivado offline empregando-se um conjunto de sequências como dados de sequenciamento. Como mencionado, métodos de compactação de energia com base em dispersão, com base em KLT e outros métodos podem ser utilizados para derivar o conjunto de transformações uma vez que o conjunto de sequenciamento bom tenha sido estabelecido. [083] Existem métodos para se derivar as transformações com base em um critério de desenho antecipado (direção, frequência, etc.) no conjunto de transformações. Além disso, a quarta abordagem da técnica anterior mencionada acima propõe uma otimização offline com base nos dados de sequenciamento com um processo de otimização algébrica. O processo é acionado por uma função de custo que tem por objetivo um conjunto adequado de transformações para dados determinados. A função de custo consiste de dois termos consistentes com as finalidades de compressão. O algoritmo tenta minimizar um termo de erro de reconstrução, enquanto maximiza um termo relacionado com a dispersão da representação de coeficientes de transformação. A princípio, mais dispersão significa menos taxa de bit para portar a informação de coeficientes. Também se propõe uma abordagem que soluciona pelo menos duas deficiências da abordagem da técnica anterior referida acima. Em primeiro lugar, se fornece explicitamente um peso para equilibrar ambos os termos da função de custo. Em segundo lugar, e mais importante, se propõe a derivação de transformações vertical e horizontal ideais ao invés de transformações únicas 2D não separáveis. Enquanto nossa abordagem acopla a otimização conjunta de ambas as direções, as vantagens são importantes para aplicações práticas visto que a complexidade de computação e exigências de memória para um conjunto de transformações separáveis são muito menores do que as exigências por um conjunto de transformações não separáveis. Ao mesmo tempo, permitir que as transformações nas direções vertical e horizontal sejam diferentes permite a captura da riqueza de imagem e blocos de vídeo melhores do que se possuir um único ker-nel para ambas as direções. [084] Note-se que quando se diz "conjunto de transformações" cada uma dessas transformações pode ser não separável ou separável. Se forem separáveis, cada direção (vertical/horizontal) pode ser igual ou diferente. [085] Em outra modalidade, um subconjunto de uma família de transformações pode ser selecionado, de modo que o subconjunto tenha boas propriedades a fim de codificar os dados de entrada. Como um exemplo, um subconjunto de WDCT pode ser determinado para dados de vídeo para codificação. Além disso, um subconjunto de transformações sobreposto pode ser determinado. Uma vez que o subconjunto é fixo, o codificador só precisa transportar a informação sobre qual transformação dentro do subconjunto de família é utilizada. [086] Em outra modalidade, o subconjunto de transformações é selecionado de acordo com a qualidade de vídeo reconstruído. A qualidade de saída pode ser determinada pela etapa de quantização do codificador, o parâmetro de quantização (QP), a taxa de bit alvo, PSNR, e/ou qualquer parâmetro de métrica que indique a qualidade de vídeo de saída desejada. [087] Em outra modalidade, o conjunto de transformações é derivado online dos dados já sendo codificados. Duas implementações ilustrativas dessa modalidade são fornecidas como se segue. Em uma implementação ilustrativa, os dados reconstruídos dos quadros anteriores são utilizados como um conjunto de sequenciamento para derivar o conjunto de transformações com qualquer um dos métodos disponíveis. Em outra implementação ilustrativa, os dados reconstruídos são utilizados para refinar a transformação que está sendo utilizada, de modo que a transformação seja atualizada online para combinar com as estatísticas de dados em andamento. [088] Em outra modalidade, o conjunto de transformações é derivado dos dados a serem codificados. Tais dados a serem codificados incluem, mas não estão limitados ao quadro original ou estatísticas retiradas dos próximos quadros para codificação. Portanto, o codificador analisa a sequência ou a próxima parte da sequência para codificar e determina com qualquer um dos métodos disponíveis o melhor conjunto de transformações a utilizar ou seleciona a melhor família de transformações a se utilizar, Nesse caso, o codificador precisa enviar como informação lateral o conjunto de transformações que será utilizado. Várias implementações ilustrativas dessa modalidade são fornecidas como se segue. Em uma primeira implementação ilustrativa, o codificador encontra o melhor conjunto de transformações e envia todas as transformações para utilização. Em uma segunda modalidade ilustrativa, o codificador encontra o melhor conjunto de transformações a ser utilizado, e o decodificador tenta deduzir o melhor conjunto a partir dos dados decodificados, de modo que o codificador só precise enviar um refinamento da transformação deduzido pelo decodificador (de forma que não haja erro ou falta de combinação entre o codificador e o decodificador). Em uma terceira implementação ilustrativa, o codificador seleciona a partir de uma variedade de conjuntos de transformações (disponíveis em ambos o codificador e o decodificador) o melhor conjunto a ser utilizado, e sinaliza o conjunto particular para o decodificador. Em uma quarta implementação, o codificador encontra o conjunto particular de transformações a partir de uma família de transformações que é mais bem adequada para os dados. Então, o codificador transporta para o decodificador o subconjunto particular da família de transformações que foi selecionado.
Transporte da Transformação Selecionada [089] Descreve-se agora como indicar a transformação selecionada para o decodificador de forma que o codificador e o decodificador combinem. [090] Em uma modalidade, o codificador pode enviar a transformação selecionada para o decodificador com um indicador incluído na sintaxe na fatia, macrobloco, ou nível de bloco. Em uma modalidade, no codificador, a melhor transformação para cada bloco é determinada com uma função de custo de distorção de taxa. [091 ]Em outra modalidade, a transformação selecionada pode ser transportada com uma quad-tree ou outros tipos que permitam a especificação explicita e flexível da transformação selecionada para diferentes regiões no quadro. Dessa forma, a região de uma transformação pode ser mais arbitrária do que o simples formato de bloco da modalidade anterior. [092] Em outra modalidade, a transformação selecionada pode ser enviada ocul-tando-se o indicador (que indica qual transformação deve ser utilizada) dentro dos coeficientes de transformações propriamente ditos. Uma possível modalidade dessa alternativa é explicada a seguir. Presuma-se que existam apenas duas transformações no conjunto de transformações. Então, se a transformação 1 for selecionada, então o codificador força a soma dos coeficientes de transformação para um resultado par. Se a transformação 2 for selecionada, então o codificador força a soma dos coeficientes de transformação para um resultado ímpar. No decodificador, os coeficientes de transformação são recuperados e a paridade de sua soma computada. Se a paridade for par, então a transformação invertida a ser aplicada é a da transformação 1. Se a paridade for impar, então a transformação invertida a ser aplicada é a da transformação 2. Dessa forma, o indicador pode ser ocultado nos coeficientes de transformação e é recuperável no lado do decodificador de forma que ambos o codificador e o decodificador estejam em sincronia. Obviamente, a ocultação do indicador nos coeficientes não é limitada a ter duas transformações. Tal técnica pode ser diretamente estendida para qualquer número de transformações. [093] Em outra modalidade, a informação explicita da transformação selecionada não é enviada. Nesse caso, pode ser deduzido a partir dos dados já decodificados. Essa informação precisa estar disponível em ambos o codificador e o decodificador e a forma de extração da transformação selecionada a partir dos dados precisa ser a mesma em ambos de modo que estejam em sincronia. Existe uma variedade de informações a partir das quais a transformação pode ser selecionada. A seguir, 5 modalidades particulares dessa sinalização implícita são fornecidas. Obviamente, os presentes princípios não estão limitados às modalidades a seguir referentes à sinalização implícita e, de acordo com os ensinamentos dos presentes princípios fornecidos aqui, os versados nessa técnica e em outras técnicas relacionadas contemplarão essas e outras implementações, enquanto mantêm o espírito dos presentes princípios. [094] Em uma primeira modalidade, o modo interprevisão empregado é utilizado para sinalizar implicitamente as transformações. Em uma implementação dessa modalidade, se for um modo direto, a transformação 1 é utilizada. Do contrário, a transformação 2 é utilizada. [095] Em uma segunda modalidade, o vetor de movimento é utilizado para sinalizar implicitamente as transformações. A transformação a ser utilizada pode depender do vetor de movimento do bloco (seu tamanho, direção, imagem de referência, e assim por diante). [096] Em uma terceira modalidade, a transformação depende do resíduo dos blocos codificados anteriores. Então, as estatísticas do resíduo nos blocos codificados anteriores determina qual transformação dentro do conjunto será utilizada. [097] Em uma quarta modalidade, a escolha de transformação depende dos dados previstos para o bloco. Existe alguma correlação entre o resíduo e os dados previstos que podem ser explorados na escolha da melhor transformação. Como um exemplo, se a previsão tiver um componente direcional, então sua direção é normalmente também evidente no resíduo. Então, o uso de uma transformação direcional para essa direção determinada fornece um melhor desempenho visto que as transformações direcionais podem levar vantagem do componente direcional do resíduo de uma forma na qual as transformações não direcionais não podem. [098] Em uma quinta modalidade, a escolha de transformação pode depender das seleções de transformação dos blocos reconstruídos vizinhos, que estão disponíveis em ambos o codificador e o decodificador. O Sistema [099] Os presentes princípios podem ser considerados por envolver duas partes, isso é, como selecionar o conjunto de transformações e como se transportar a transformação selecionada dentro do conjunto para cada bloco em particular. Várias alternativas são propostas para cada uma dessas duas partes. As abordagens propostas podem combinar qualquer uma das alternativas propostas para cada uma das partes. Além disso, note-se que cada transformação pode precisar de seu processo de quantização particular, além de uma ordem de digitalização diferente dos coeficientes antes da codificação por entropia. Além disso, cada ordem de digitalização pode ser realizada de forma adaptativa para as estatísticas de cada transformação. Em uma modalidade, a ordem de digitalização de cada transformação pode ser adaptativa com relação ao número de vezes em que uma posição de coeficiente em particular foi previamente codificado como significativo. Os presentes princípios consideram as extensões a seguir da transformação: processo de quantização da transformação; ordem de digitalização da transformação; e adaptabilidade em potencial dessa ordem de digitalização. [0100] Voltando-se à figura 5, um método ilustrativo para a seleção de transformação em um codificador de vídeo é indicado geralmente pela referência numérica 500. O método 500 inclui um bloco inicial 505 que passa o controle para um bloco funcional 510. O bloco funcional 510 recebe uma sequência de vídeo para codificação, inicia a codificação da sequência de vídeo,e passa o controle para um bloco funcional 515. O bloco funcional 515 determina um ou mais dados de sequenciamento, um ou mais conjuntos de transformações com cada conjunto representando uma família respectiva de transformações, dados já codificados e dados a serem codificados, e passa o controle para um bloco funcional 520. O bloco funcional 520 seleciona uma transformação i dependendo de um ou mais dos dados de sequenciamento, um ou mais subconjuntos de transformações com cada subconjunto representando uma parte respectiva de uma família de transformações, os dados já codifi- cados, e os dados a serem codificados, e passa o controle para um bloco funcional 525. O bloco funcional 525 transforma utilizando a transformação selecionada i e quantiza os dados residuais de bloco para um bloco em uma imagem da sequência de vídeo, e passa o controle para um bloco funcional 530. O bloco funcional 530 envia os coeficientes quantizados, e passa o controle para um bloco final 599. [0101] Deve-se apreciar que um ou mais dos dados de sequenciamento e um ou mais conjuntos de transformações podem ser determinados online (isso é, durante a codificação da sequência de vídeo) ou offline (por exemplo, antes da decodificação da sequência de vídeo). [0102] Voltando-se à figura 6, um método ilustrativo de seleção de transformação em um decodificador de vídeo é indicado geralmente pela referência numérica 600. O método 600 inclui um bloco inicial 605 que passa o controle para um bloco funcional 610. O bloco funcional 610 recebe uma sequência de bits para decodificação, inicia a decodificação da sequência de bits e passa o controle para um bloco de função 615. O bloco funcional 615 determinar um ou mais dos dados de sequenciamento, um ou mais conjuntos de transformações com cada conjunto representando uma família respectiva de transformações, dados já decodificados e dados a serem decodificados, e passa o controle para um bloco funcional 620. O bloco funcional 620 seleciona uma transformação i dependendo de um ou mais dos dados de sequenciamento, um ou mais subconjuntos de transformações com cada subconjunto representando uma parte respectiva de uma família de transformações, os dados já decodificados e os dados a serem decodificados, e passa o controle para um bloco funcional 625. O bloco funcional 625 transforma de forma invertida e quantiza de forma invertida os coeficientes quantizados para um bloco em uma imagem da sequência de vídeo utilizando a transformação i selecionada i e passa o controle para um bloco funcional 630. O bloco funcional 630 envia os dados residuais de bloco, e passa o controle para um bloco de extremidade 699. [0103] Deve-se apreciar que um ou mais dos dados de sequenciamento e um ou mais conjuntos de transformações podem ser determinados online (isso é, durante a decodificação da sequência de vídeo) ou offline (por exemplo, antes da decodificação da sequência de vídeo). [0104] Voltando-se para a figura 7, um método ilustrativo de seleção de transformação e transporte em um codificador de vídeo é indicado geralmente pela referência numérica 700. O método 700 inclui um bloco inicial 705 que passa o controle para um bloco funcional 710. O bloco funcional 710 recebe um quadro de entrada para codificação, e passa o controle para um bloco funcional 715. O bloco funcional 715 encadeia um ou mais conjuntos de transformações, e passa o controle para um bloco funcional 765 em um bloco de limite de circuito 720. O bloco funcional 765 envia o conjunto de transformações a ser utili- zado no quadro e passa o controle para um bloco funcional 770. O bloco de limite de circuito 720 realiza um circuito através dos blocos através do quadro de entrada, e passa o controle para um bloco funcional 725. O bloco funcional 725 obtém o resíduo de bloco, e passa o controle para um bloco de limite de circuito 730. O bloco de limite de circuito 730 realiza um circuito sobre um ou mais conjuntos de transformações e passa o controle para um bloco funcional 735. O bloco funcional 735 realiza uma análise de distorção de taxa com relação às transformações no um ou mais conjuntos de transformações, e passa o controle para um bloco de limite de circuito 740. O bloco de limite de circuito 740 encerra o circuito através das transformações, e passa o controle para um bloco funcional 745. O bloco funcional 745 determina a melhor transformação para o bloco atual e passa o controle para um bloco de limite de circuito 750. O bloco de limite de circuito 750 encerra o circuito sobre os blocos, e passa o controle para um bloco funcional 755 e um bloco funcional 760. O bloco funcional 755 envia os coeficientes quantizados para cada um dos blocos, e passa o controle para um bloco funcional 770. O bloco funcional 760 envia a transformação selecionada para cada bloco e passa o controle para o bloco funcional 770. O bloco funcional 770 transmite os coeficientes quantizados, o conjunto de transformações a ser utilizado no quadro (ou um refinamento no conjunto) e a transformação selecionada para cada bloco no quadro, com o conjunto de transformações a ser utilizado no quadro (ou o refinamento do conjunto) e/ou a transformação selecionada para cada bloco no quadro sendo transmitido explicitamente ou implicitamente, e passa o controle para um bloco de extremidade 799. Deve-se apreciar que com relação ao bloco funcional 770, no caso do conjunto de transformações a ser utilizado no quadro (ou refinamento no conjunto) e/ou a transformação selecionada para cada bloco no quadro poder ser enviada no lugar das transformações reais. Em tal caso, o decodifica-dor pode então derivar as transformações a partir da informação implícita. Ademais, o conjunto de transformações a ser utilizado no quadro (ou o refinamento no conjunto), a transformação selecionada para cada bloco no quadro, e/ou a informação representando pelo menos um dos acima pode ser enviada como informação lateral com relação a uma sequência de bits. Adicionalmente, o conjunto de transformações a ser utilizado no quadro (ou o refinamento no conjunto), a transformação selecionada para cada bloco no quadro, e/ou informação representando pelo menos um dos anteriores pode ser enviado utilizando-se um ou mais indicadores e/ou elementos de sintaxe. [0105]Voltando-se à figura 8, um método ilustrativo para o transporte e seleção de transformação em um decodificador de vídeo é indicado geralmente pela referência numérica 800. O método 800 inclui um bloco inicial 805 que passa o controle para um bloco funcional 810, um bloco funcional 815 e um bloco funcional 820. O bloco funcional 810 recebe, explicitamente ou implicitamente, um conjunto de transformações a ser utilizado para um quadro atual a ser decodificado ou um refinamento no conjunto e passa o controle para um bloco funcional 830. O bloco funcional 815 recebe os coeficientes quantizados para cada bloco no quadro atual, e passa o controle para um bloco de limite de circuito 825. O bloco funcional 820 recebe, explicitamente ou implicitamente, a transformação selecionada para cada bloco no quadro atual, e passa o controle para o bloco funcional 830. O bloco de limite de circuito 825 realiza um circuito através dos blocos no quadro atual, e passa o controle para o bloco funcional 830. O bloco funcional 830 determina a transformação invertida para um bloco atual, e passa o controle para um bloco funcional 835. O bloco funcional 835 aplica a transformação invertida determinada ao bloco, e passa o controle para um bloco de limite de circuito 840. O bloco de limite de circuito 840 encerra o circuito, e passa o controle para um bloco funcional 845. O bloco funcional 845 envia um resíduo de bloco para cada um dos blocos e passa o controle para um bloco de extremidade 899. [0106] Deve-se apreciar que com relação aos blocos funcionais 810 e 820, no caso do conjunto de transformações a ser utilizado no quadro (ou o refinamento no conjunto) e/ou a transformação selecionada para cada bloco no quadro serem enviados implicitamente, a informação indicando o conjunto de transformações a ser utilizado no quadro (ou o refinamento no conjunto) e/ou a transformação selecionada para cada bloco no quadro podem ser recebidos no lugar das transformações reais. Em tal caso, o decodificador pode então derivar as transformações da informação implícita (por exemplo, pelo bloco funcional 830). Ademais, o conjunto de transformações a ser utilizado no quadro (ou refinamento no conjunto), a transformação selecionada para cada bloco no quadro, e/ou a informação representando pelo menos um dos anteriores podem ser recebidos como informação lateral com relação à sequência de bits. [0107] Voltando-se à figura 9, outro método ilustrativo para a seleção e transporte de transformação em um codificador de vídeo é indicado geralmente pela referência numérica 900. O método 900 inclui um bloco inicial 905 que passa o controle para um bloco funcional 910. O bloco funcional 910 registra um quadro a ser codificado, e passa o controle para um bloco funcional 915. O bloco funcional 915 encadeia um ou mais conjuntos de transformações e passa o controle para um bloco funcional 970 e um bloco de limite de circuito 920. O bloco de limite de circuito 920 realiza um circuito através dos blocos no quadro, e passa o controle para um bloco funcional 925. O bloco funcional 925 obtém um resíduo de bloco de um bloco atual, e passa o controle para um bloco de limite de circuito 930. O bloco de limite de circuito 930 realiza um circuito através de um ou mais conjuntos de transformações e passa o controle para um bloco funcional 935. O bloco funcional 935 transforma e quantiza os coeficientes para o bloco atual, e passa o controle para um bloco funcional 940. O bloco funcional 940 embute um indicador nos coeficientes, e passa o controle para um bloco funcional 945. O bloco funcional 945 realiza uma análise de distorção de taxa (RD), e passa o controle para um bloco de limite de circuito 950. O bloco de limite de circuito 950 encerra o circuito através das transformações e passa o controle para um bloco funcional 955. O bloco funcional 955 determina a melhor transformação para o bloco atual, e passa o controle para um bloco funcional 960. A função 960 envia os coeficientes quantizados para cada um dos blocos, e passa o controle para um bloco de limite de circuito 965. O bloco de limite de circuito encerra o circuito através dos blocos e passa o controle para um bloco de encerramento 999. [0108] Voltando-se à figura 10, outro método ilustrativo para o transporte e seleção de transformação em um decodificador de vídeo é indicado geralmente pela referência numérica 1000. O método 1000 inclui um bloco inicial 1005 que passa o controle para um bloco funcional 1010 e um bloco de limite de circuito 1015. O bloco funcional 1010 recebe, explicitamente ou implicitamente, um conjunto de transformações a ser utilizado para um quadro atual a ser decodificado e passa o controle para um bloco funcional 1030. O bloco de limite de circuito 1015 realiza um circuito através dos blocos no quadro atual, e passa o controle para um bloco funcional 1020. O bloco funcional 1020 recebe os coeficientes quantizados para cada um dos blocos no quadro atual e passa o controle para um bloco funcional 1025. O bloco funcional 1025 extrai indicadores embutidos a partir dos coeficientes, e passa o controle para o bloco funcional 1030. O bloco funcional 1030 determina uma transformação invertida para aplicar ao bloco atual com base nos indicadores embutidos e passa o controle para um bloco funcional 1035. O bloco funcional 1035 transforma de modo invertido o bloco utilizando a transformação invertida determinada e passa o controle para um bloco funcional 1040. O bloco funcional 1040 envia um resíduo de bloco, e passa o controle para um bloco de limite de circuito 1045. O bloco de limite de circuito 1045 encerra o circuito e passa o controle para um bloco de extremidade 1099. [0109] Uma descrição será fornecida agora de algumas das muitas vanta-gens/características da presente invenção, algumas das quais foram mencionadas acima. Por exemplo, uma vantagem/característica é um aparelho possuindo um codificador de vídeo para codificar pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. A transformação é selecionada com base em pelo menos um dentre um modo interprevisão utilizado para prever pelo menos uma referência para o bloco, um ou mais valores correspondentes a um vetor de movimento, um valor de um resíduo de um ou mais blocos codificados previamente, um valor de dados de previsão para o bloco, uma ou mais seleções de transformação de um ou mais blocos reconstruídos vizinhos, e uma etapa de quantização aplicada aos coeficientes de transformação para o resíduo do bloco. [0110] Outra vantagem/característica é o aparelho possuindo o codificador como descrito acima, onde o conjunto de transformações é determinado offline. [0111] Outra vantagem/característica é o aparelho possuindo o codificador onde o conjunto de transformações é determinado offline como descrito acima, onde o conjunto de transformações é determinado por pelo menos uma dentre a utilização de dados de se-quenciamento e escolha de um subconjunto de uma família de transformações. [0112] Uma vantagem/característica adicional é o aparelho possuindo o codificador como descrito acima, onde as transformações no conjunto são qualquer uma dentre separável e não separável, e direções horizontal e vertical das transformações podem ser diferentes quando as transformações são separáveis. [0113] Outra vantagem/característica é um aparelho possuindo um codificador de vídeo para codificação de pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. O codificador de vídeo envia informação descrevendo a transformação selecionada por pelo menos um dentre o envio de informação explicitamente utilizando um ou mais indicadores, o envio da informação utilizando uma estrutura de árvore em uma sequência de bits, a inclusão da informação dentro dos coeficientes de transformação correspondendo à transformação selecionada, e a permissão para que o decodificador correspondente infira a transformação selecionada a partir de dados já decodificados. [0114] Ademais, outra vantagem/característica é o aparelho possuindo o codificador de vídeo como descrito acima, onde o conjunto de transformações é determinado pelo menos por uma dentre a utilização de dados de sequenciamento e pela escolha de um subconjunto de uma família de transformações. [0115] Adicionalmente, outra vantagem/característica é um aparelho possuindo um codificador de vídeo para codificar pelo menos um bloco em uma imagem em uma sequência de vídeo pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. O conjunto de transformações é pelo menos um dentre determinado e refinado utilizando dados reconstruídos a partir de uma ou mais imagens anteriores na sequência de vídeo. [0116] Além disso, outra vantagem/característica é um aparelho possuindo um codificador de vídeo para codificar pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações disponíveis. O conjunto de transformações é determinado a partir de dados a serem codificados para o bloco. [0117] Adicionalmente, outra vantagem/característica é o aparelho possuindo o codificador de vídeo como descrito acima, onde o codificador de vídeo determina o conjunto de transformações e envia o conjunto de transformações para um decodificador correspondente como informação lateral. [0118] Ademais, outra vantagem/característica é o aparelho possuindo o codificador de vídeo como descrito acima, onde o codificador de vídeo determina o conjunto de transformações, determina um refinamento no conjunto de transformações que permite que um decodificador correspondente preveja o conjunto de transformações a partir do refinamento e a partir de dados previamente decodificados a fim de derivar um mesmo conjunto de transformações como o dito codificador de vídeo, e envia o refinamento para o decodificador correspondente, [0119] Adicionalmente, outra vantagem/característica é o aparelho possuindo o codificador de vídeo como descrito acima, onde o codificador de vídeo determina o conjunto de transformações a partir de uma pluralidade de conjuntos de transformações e envia o conjunto de transformações como informação lateral. [0120] Além disso, outra vantagem/característica é o aparelho possuindo o codificador de vídeo como descrito acima, onde o codificador de vídeo determina o conjunto de transformações a partir de uma família de transformações, o conjunto de transformações representando um subconjunto da família de transformações, e onde o codificador de vídeo envia apenas o subconjunto da família de transformações. [0121] Essas e outras características e vantagens dos presentes princípios podem ser prontamente determinados pelos versados na técnica pertinente com base nos ensinamentos apresentados aqui. Deve-se compreender que os ensinamentos dos presentes princípios podem ser implementados em várias formas de hardware, software, firmware, processadores de finalidade especial ou combinações dos mesmos. [0122] Mais preferivelmente, os ensinamentos dos presentes princípios são implementados como uma combinação de hardware e software. Ademais, o software pode ser implementado como um programa de aplicativo consubstanciado de forma tangível em uma unidade de armazenamento de máquina. O programa de aplicativo pode ser carregado e executado por uma máquina compreendendo qualquer arquitetura adequada. Preferivelmente, a máquina é implementada em uma plataforma de computador possuindo hardware tal como uma ou mais unidades de processamento central ("CPU"), uma memória de acesso randômico ("RAM"), e interfaces de entrada/saída ("l/O"). A plataforma de computador também pode incluir um sistema operacional e código de micro instrução. Os vários processos e funções descritos aqui podem ser parte do código de micro instrução ou parte do programa de aplicativo, ou qualquer combinação dos mesmos, que pode ser executada por uma CPU. Adicionalmente, várias outras unidades periféricas podem ser conectadas à plataforma de computador tal como uma unidade de armazenamento de dados adicional e uma unidade de impressão. [0123] Deve-se compreender que, visto que alguns dos componentes de sistema constituintes e métodos apresentados nos desenhos em anexo são preferivelmente implementados em software, as conexões reais entre os componentes de sistema ou os blocos funcionais de processo podem diferir dependendo da forma na qual os presentes princípios são programados. De acordo com os ensinamentos apresentados aqui, os versados na técnica pertinente serão capazes de contemplar essas e outras implementações ou configurações similares dos presentes princípios. [0124]Apesar de as modalidades ilustrativas poderem ser descritas aqui com referência aos desenhos em anexo, deve-se compreender que os presentes princípios não estão limitados às modalidades precisas, e várias mudanças e modificações podem ser realizadas pelos versados na técnica pertinente sem se distanciar do escopo ou espírito dos presentes princípios. Todas as mudanças e modificações devem ser incluídas no escopo dos presentes princípios como apresentado nas reivindicações em anexo.

Claims (17)

1. Aparelho, CARACTERIZADO por compreender: um codificador de vídeo (300) para codificar pelo menos um bloco em uma imagem pela seleção de uma transformação para aplicar a um resíduo do bloco a partir de um conjunto de duas ou mais transformações, onde a transformação é selecionada em resposta a pelo menos um dentre: (i) um modo interprevisão utilizado para prever pelo menos uma referência para o bloco; (ii) um ou mais valores correspondentes a um vetor de movimento; (iii) um valor de um resíduo de um ou mais blocos previamente codificados; (iv) um valor de dados de previsão para o bloco; (v) uma ou mais seleções de transformação de um ou mais blocos reconstruídos vizinhos; e (vi) uma etapa de quantização aplicada para transformar os coeficientes para o resíduo do bloco.
2. Aparelho, de acordo com a reivindicação 1, CARACTERIZADO pelo fato do conjunto de transformações ser determinado offline.
3. Aparelho, de acordo com a reivindicação 2, CARACTERIZADO pelo fato do conjunto de transformações ser determinado por pelo menos um dentre: (i) utilização de dados de sequenciamento; e (ii) escolha de um subconjunto de uma família de transformações.
4. Aparelho, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de as transformações no conjunto serem qualquer uma dentre separável e não separável, e direções horizontal e vertical das transformações podem ser diferentes quando as transformações são separáveis.
5. Aparelho, de acordo com a reivindicação 1, CARACTERIZADO pelo fato da informação descrevendo a transformação selecionada ser explicitamente sinalizada apenas para tamanhos de bloco superiores a um tamanho de bloco limite.
6. Aparelho, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de um indicador descrevendo a transformação selecionada ser embutido nos coeficientes da transformação quando os tamanhos de bloco são inferiores a um tamanho de bloco limite.
7. Método, em um codificador de vídeo, CARACTERIZADO por compreender: a codificação (510) de pelo menos um bloco em uma imagem pela seleção (520) de uma transformação para aplicar a um resíduo do bloco a partir de um conjunto de duas ou mais transformações; onde a transformação é selecionada em resposta a pelo menos um dentre: (i) um modo interprevisão utilizado para prever pelo menos uma referência para o bloco; (ii) um ou mais valores correspondentes a um vetor de movimento; (iii) um valor de um resíduo de um ou mais blocos previamente codificados; (iv) um valor de dados de previsão para o bloco; (v) uma ou mais seleções de transformação de um ou mais blocos reconstruídos vizinhos; e (vi) uma etapa de quantização aplicada aos coeficientes de transformação para o resíduo do bloco (520).
8. Método, de acordo com a reivindicação 7, CARACTERIZADO por compreender adicionalmente a determinação do conjunto de transformações offline.
9. Método, de acordo com a reivindicação 8, CARACTERIZADO pelo fato do conjunto de transformações ser determinado por pelo menos um dentre: (i) utilização de dados de sequenciamento (515); e (ii) escolha de um subconjunto de uma família de transformações (520).
10. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato das transformações no conjunto serem qualquer uma dentre separável e não separável, e direções horizontal e vertical das transformações poderem ser diferentes quando as transformações são separáveis.
11. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato da informação que descreve a transformação selecionada ser explicitamente sinalizada apenas para tamanhos de bloco superiores a um tamanho de bloco limite.
12. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de um indicador que descreve a transformação selecionada ser embutido em coeficientes da transformação quando os tamanhos de bloco são inferiores a um tamanho de bloco limite.
13. Aparelho, de acordo com a reivindicação 7, CARACTERIZADO pelo fato da informação que descreve a transformação selecionada ser explicitamente sinalizada apenas para tamanhos de bloco superiores a um tamanho de bloco limite.
14. Aparelho, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de um indicador que descreve a transformação selecionada ser embutido em coeficientes da transformação quando os tamanhos de bloco são inferiores a um tamanho de bloco limite.
15. Aparelho, CARACTERIZADO por compreender: um decodificador de vídeo (400) para decodificar pelo menos um bloco em uma imagem pela determinação de uma transformação invertida para aplicar aos coeficientes quantizados do bloco a partir de um conjunto de duas ou mais transformações invertidas; onde a transformação invertida é determinada em resposta a pelo menos um dentre: (i) um modo interprevisão utilizado para prever pelo menos uma referência para o bloco; (ii) um ou mais valores correspondentes a um vetor de movimento; (iii) um valor de um resíduo de um ou mais blocos previamente codificados; (iv) um valor de dados de previsão para o bloco; e (v) uma ou mais seleções de transformação invertida de um ou mais blocos reconstruídos vizinhos,
16. Decodificador de vídeo, um método, CARACTERIZADO por compreender: a decodificação (610) de pelo menos um bloco em uma imagem pela determinação (615, 620) de uma transformação invertida para aplicação a coeficientes quantizados do bloco a partir de um conjunto de duas ou mais transformações invertidas; onde a transformação invertida é determinada em resposta a pelo menos um dentre: (i) um modo interprevisão utilizado para prever pelo menos uma referência para o bloco; (ii) um ou mais valores correspondentes a um vetor de movimento; (iii) um valor de um resíduo de um ou mais blocos previamente codificados; (iv) um valor de dados de previsão para o bloco; e (v) uma ou mais seleções de transformação invertida de um ou mais blocos reconstruídos vizinhos,
17. Mídia de armazenamento possuindo dados de sinal de vídeo codificados, CARACTERIZADA por compreender: dados correspondentes a pelo menos um bloco em uma imagem codificada pela seleção de uma transformação para aplicação a um resíduo do bloco a partir de um conjunto de duas ou mais transformações; onde a transformação é selecionada em resposta a pelo menos um dentre: (i) um modo interprevisão utilizado para prever pelo menos uma referência para o bloco; (ii) um ou mais valores correspondentes a um vetor de movimento; (iii) um valor de um resíduo de um ou mais blocos previamente codificados; (iv) um valor de dados de previsão para o bloco; (v) uma ou mais seleções de transformação de um ou mais blocos reconstruídos vizinhos; e (vi) uma etapa de quantização aplicada aos coeficientes de transformação para o resíduo do bloco.
BR122015015910-5A 2009-01-27 2009-10-21 Métodos e aparelhos para seleções de transformada em codificação e decodificação de vídeo BR122015015910B1 (pt)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US14770509P 2009-01-27 2009-01-27
US61/147.705 2009-01-27
US20778309P 2009-02-17 2009-02-17
US61/207.783 2009-02-17
BRPI0924044-6A BRPI0924044B1 (pt) 2009-01-27 2009-10-21 Métodos e aparelhos para seleções de transformada em codificação e decodificação de vídeo
PCT/US2009/005730 WO2010087808A1 (en) 2009-01-27 2009-10-21 Methods and apparatus for transform selection in video encoding and decoding

Publications (2)

Publication Number Publication Date
BR122015015910A2 true BR122015015910A2 (pt) 2016-03-22
BR122015015910B1 BR122015015910B1 (pt) 2022-05-10

Family

ID=42395863

Family Applications (4)

Application Number Title Priority Date Filing Date
BRPI0924044-6A BRPI0924044B1 (pt) 2009-01-27 2009-10-21 Métodos e aparelhos para seleções de transformada em codificação e decodificação de vídeo
BRPI0924155-8A BRPI0924155B1 (pt) 2009-01-27 2009-10-21 Métodos e aparelho para transformar a seleção em codificação e decodificação de video
BR122015015910-5A BR122015015910B1 (pt) 2009-01-27 2009-10-21 Métodos e aparelhos para seleções de transformada em codificação e decodificação de vídeo
BRPI0924167A BRPI0924167A2 (pt) 2009-01-27 2009-10-21 métodos e aparelho para transformar a seleção em codificação e decodificação de vídeo

Family Applications Before (2)

Application Number Title Priority Date Filing Date
BRPI0924044-6A BRPI0924044B1 (pt) 2009-01-27 2009-10-21 Métodos e aparelhos para seleções de transformada em codificação e decodificação de vídeo
BRPI0924155-8A BRPI0924155B1 (pt) 2009-01-27 2009-10-21 Métodos e aparelho para transformar a seleção em codificação e decodificação de video

Family Applications After (1)

Application Number Title Priority Date Filing Date
BRPI0924167A BRPI0924167A2 (pt) 2009-01-27 2009-10-21 métodos e aparelho para transformar a seleção em codificação e decodificação de vídeo

Country Status (8)

Country Link
US (6) US9774864B2 (pt)
EP (5) EP2382778A4 (pt)
JP (11) JP2012516626A (pt)
KR (14) KR20210064398A (pt)
CN (4) CN102301707B (pt)
BR (4) BRPI0924044B1 (pt)
HK (1) HK1222274A1 (pt)
WO (3) WO2010087808A1 (pt)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087808A1 (en) 2009-01-27 2010-08-05 Thomson Licensing Methods and apparatus for transform selection in video encoding and decoding
KR101527085B1 (ko) * 2009-06-30 2015-06-10 한국전자통신연구원 인트라 부호화/복호화 방법 및 장치
EP2457377A1 (en) * 2009-07-23 2012-05-30 Thomson Licensing Methods and apparatus for adaptive transform selection for video encoding and decoding
WO2011112239A1 (en) * 2010-03-10 2011-09-15 Thomson Licensing Methods and apparatus for constrained transforms for video coding and decoding having transform selection
US8929440B2 (en) * 2010-04-09 2015-01-06 Sony Corporation QP adaptive coefficients scanning and application
US9215470B2 (en) 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US20130177077A1 (en) * 2010-07-15 2013-07-11 Agency For Science, Technology And Research Method, Apparatus and Computer Program Product for Encoding Video Data
JP2012023632A (ja) * 2010-07-15 2012-02-02 Sony Corp 符号化装置および符号化方法、並びに、復号装置および復号方法
US8787459B2 (en) * 2010-11-09 2014-07-22 Sony Computer Entertainment Inc. Video coding methods and apparatus
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US20120163456A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US8767835B2 (en) * 2010-12-28 2014-07-01 Mitsubishi Electric Research Laboratories, Inc. Method for coding videos using dictionaries
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US8630341B2 (en) * 2011-01-14 2014-01-14 Mitsubishi Electric Research Laboratories, Inc. Method for training and utilizing separable transforms for video coding
US9380319B2 (en) * 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US20120230418A1 (en) 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
JP5739714B2 (ja) * 2011-04-04 2015-06-24 日本放送協会 符号化装置、復号装置及びプログラム
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
US8929455B2 (en) * 2011-07-01 2015-01-06 Mitsubishi Electric Research Laboratories, Inc. Method for selecting transform types from mapping table for prediction modes
CN107483930B (zh) * 2011-10-17 2020-03-06 株式会社Kt 利用解码装置解码视频信号的方法
IN2014DN03096A (pt) * 2011-10-17 2015-05-15 Kt Corp
FR2982446A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
KR20130050406A (ko) * 2011-11-07 2013-05-16 오수미 머지 모드에서의 움직임 정보 생성 방법
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982983A1 (fr) * 2011-11-22 2013-05-24 Thomson Licensing Procede de codage et de reconstruction d'un bloc de pixels et dispositifs correspondants
WO2013109773A1 (en) * 2012-01-17 2013-07-25 Futurewei Technologies, Inc. In-loop filtering for lossless coding mode in high efficiency video coding
US9008184B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
EP3094094B1 (en) * 2012-01-20 2018-03-28 BlackBerry Limited Multiple sign bit hiding within a transform unit
KR101418096B1 (ko) * 2012-01-20 2014-07-16 에스케이 텔레콤주식회사 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
US10333547B2 (en) 2012-08-13 2019-06-25 Gurologic Microsystems Oy Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations
US9538239B2 (en) * 2012-08-13 2017-01-03 Gurulogic Microsystems Oy Decoder and method for decoding encoded input data containing a plurality of blocks or packets
US9258389B2 (en) 2012-08-13 2016-02-09 Gurulogic Microsystems Oy Encoder and method
US10412414B2 (en) 2012-08-13 2019-09-10 Gurulogic Microsystems Oy Decoder and method for decoding encoded input data containing a plurality of blocks or packets
GB2503295B (en) 2012-08-13 2014-08-06 Gurulogic Microsystems Oy Encoder and method
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
KR102114252B1 (ko) 2013-07-05 2020-05-22 삼성전자 주식회사 영상을 부호화하기 위한 영상 예측 모드 결정 방법 및 장치
GB2516425B (en) * 2013-07-17 2015-12-30 Gurulogic Microsystems Oy Encoder and decoder, and method of operation
US9602826B2 (en) 2014-06-27 2017-03-21 Massachusetts Institute Of Technology Managing transforms for compressing and decompressing visual data
FR3024933A1 (fr) * 2014-08-12 2016-02-19 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US9762912B2 (en) * 2015-01-16 2017-09-12 Microsoft Technology Licensing, Llc Gradual updating using transform coefficients for encoding and decoding
FR3038196A1 (fr) * 2015-06-29 2016-12-30 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
EP3166313A1 (en) 2015-11-09 2017-05-10 Thomson Licensing Encoding and decoding method and corresponding devices
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
CA2998468C (en) * 2015-12-23 2021-02-16 Huawei Technologies Co., Ltd. Method and apparatus for transform coding with block-level transform selection and implicit signaling within hierarchical partitioning
US10623777B2 (en) * 2016-02-16 2020-04-14 Samsung Electronics Co., Ltd. Image encoding method and apparatus, and image decoding method and apparatus
EP3485637A1 (en) * 2016-07-14 2019-05-22 Fraunhofer Gesellschaft zur Förderung der Angewand Predictive picture coding using transform-based residual coding
FR3057131A1 (fr) 2016-10-04 2018-04-06 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal et programmes d'ordinateurs associes
FR3057429A1 (fr) * 2016-10-07 2018-04-13 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
EP3349451A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing Method and apparatus for selecting a coding mode used for encoding/decoding a residual block
US20200177889A1 (en) * 2017-03-21 2020-06-04 Lg Electronics Inc. Transform method in image coding system and apparatus for same
EP3451663A1 (en) 2017-08-31 2019-03-06 Thomson Licensing Pools of transforms for local selection of a set of transforms in video coding
CN109922340B (zh) * 2017-12-13 2021-10-15 华为技术有限公司 图像编解码方法、装置、系统及存储介质
US11647214B2 (en) * 2018-03-30 2023-05-09 Qualcomm Incorporated Multiple transforms adjustment stages for video coding
WO2019191892A1 (zh) * 2018-04-02 2019-10-10 北京大学 用于视频编解码的方法和设备
JP7249111B2 (ja) * 2018-08-15 2023-03-30 日本放送協会 画像符号化装置、画像復号装置、及びプログラム
WO2020064729A1 (en) * 2018-09-24 2020-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Transformation selection by transmitting a transformation set indicator for use in video coding
WO2020064732A1 (en) * 2018-09-25 2020-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Transformation selection by transmitting a transformation set indicator for use in video coding
US20210400276A1 (en) * 2018-11-22 2021-12-23 Interdigital Vc Holdings, Inc. Quantization for video encoding and decoding
CN109788286B (zh) * 2019-02-01 2021-06-18 北京大学深圳研究生院 一种编码、解码变换方法、系统、设备及计算机可读介质
CN113711597B (zh) * 2019-04-23 2022-11-25 北京字节跳动网络技术有限公司 上下文建模和多重变换矩阵的选择
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
CN114079772B (zh) * 2020-08-21 2023-04-07 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
US11683490B2 (en) * 2020-09-10 2023-06-20 Tencent America LLC Context adaptive transform set
CN112565751B (zh) * 2020-09-27 2021-09-10 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
CN112862106B (zh) * 2021-01-19 2024-01-30 中国人民大学 一种基于自适应编解码迭代学习控制信息传输系统和方法
WO2023146358A1 (ko) * 2022-01-27 2023-08-03 세종대학교 산학협력단 영상 부호화/복호화 방법 및 장치

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61285869A (ja) 1985-06-12 1986-12-16 Toshiba Corp 画像符号化方式
JP2637093B2 (ja) 1987-03-13 1997-08-06 株式会社東芝 画像符号化方式
JPH01240032A (ja) * 1988-03-22 1989-09-25 Toshiba Corp 適応kl変換符号化方式及びその復号化方式
KR0166722B1 (ko) * 1992-11-30 1999-03-20 윤종용 부호화 및 복호화방법 및 그 장치
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
JPH06284412A (ja) 1993-03-26 1994-10-07 Sony Corp 画像信号符号化方法および画像信号符号化装置、画像信号復号化方法および画像信号復号化装置、ならびに画像信号記録媒体
JPH0787448A (ja) 1993-06-30 1995-03-31 Victor Co Of Japan Ltd デジタル映像信号の符号化回路及び復号化回路
KR0129573B1 (ko) * 1994-04-30 1998-04-10 배순훈 디지탈 화상 복호화를 위한 디씨(dc) 계수의 오차보상 방법
JPH0846971A (ja) * 1994-07-29 1996-02-16 Sharp Corp 動画像符号化装置
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6011864A (en) 1996-07-03 2000-01-04 Apple Computer, Inc. Digital image coding system having self-adjusting selection criteria for selecting a transform function
JPH11234638A (ja) * 1998-02-16 1999-08-27 Canon Inc 画像符号化装置及び方法並びに記憶媒体
JP3670554B2 (ja) 2000-04-25 2005-07-13 日本電信電話株式会社 画像信号符号化装置/復号装置,画像信号符号化方法/復号方法および画像信号符号化/復号プログラム記録媒体
JP4695820B2 (ja) * 2000-07-06 2011-06-08 メイヤー,トーマス,ダブリュー ディジタル信号内にデータをステガノグラフィック埋め込みするための装置及び方法
DE60119660T2 (de) 2000-10-10 2007-02-22 Koninklijke Philips Electronics N.V. Verfahren zur Verarbeitung von Videodateien
EP1352336A4 (en) 2000-10-23 2006-09-06 Ibm FASTER TRANSFORMATIONS THROUGH THE USE OF SCALED TERMS, EARLY BREAKDOWN AND PRECISION REFINANCES
JP3887178B2 (ja) 2001-04-09 2007-02-28 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法及び装置並びに復号方法及び装置
JP2002325170A (ja) 2001-04-24 2002-11-08 Canon Inc 画像処理装置及びその方法並びにプログラムコード、記憶媒体
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US20030118097A1 (en) * 2001-12-21 2003-06-26 Koninklijke Philips Electronics N.V. System for realization of complexity scalability in a layered video coding framework
US20040125204A1 (en) 2002-12-27 2004-07-01 Yoshihisa Yamada Moving picture coding apparatus and moving picture decoding apparatus
JP4447197B2 (ja) 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
US7317759B1 (en) * 2002-02-28 2008-01-08 Carnegie Mellon University System and methods for video compression mode decisions
US7596961B2 (en) 2002-07-24 2009-10-06 Daikin Industries, Ltd. Dehumidification element
GB2401502B (en) * 2003-05-07 2007-02-14 British Broadcasting Corp Data processing
JP2005167655A (ja) * 2003-12-03 2005-06-23 Matsushita Electric Ind Co Ltd 変換符号化方法および変換復号化方法
EP1555832A3 (en) 2004-01-14 2011-05-18 Samsung Electronics Co., Ltd. Adaptive loop filtering for reducing blocking artifacts
KR100596705B1 (ko) 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US8116374B2 (en) * 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
JP4247680B2 (ja) * 2004-07-07 2009-04-02 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
JP4236266B2 (ja) * 2004-08-27 2009-03-11 キヤノン株式会社 データ変換装置およびその方法
CN100568974C (zh) 2004-09-08 2009-12-09 松下电器产业株式会社 动态图像编码方法及动态图像解码方法
JP2006157481A (ja) * 2004-11-30 2006-06-15 Canon Inc 画像符号化装置及びその方法
KR20060123939A (ko) 2005-05-30 2006-12-05 삼성전자주식회사 영상의 복부호화 방법 및 장치
KR101088375B1 (ko) * 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
KR100995226B1 (ko) * 2005-07-22 2010-11-17 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 화상 부호화 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 화상 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR100727969B1 (ko) * 2005-08-27 2007-06-14 삼성전자주식회사 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체
KR100813963B1 (ko) 2005-09-16 2008-03-14 세종대학교산학협력단 동영상의 무손실 부호화, 복호화 방법 및 장치
KR100750137B1 (ko) * 2005-11-02 2007-08-21 삼성전자주식회사 영상의 부호화,복호화 방법 및 장치
JP4829019B2 (ja) 2006-07-06 2011-11-30 株式会社東芝 通信端末装置
KR101354151B1 (ko) * 2006-08-24 2014-01-28 삼성전자주식회사 영상 변환 방법 및 장치, 역변환 방법 및 장치
KR100927733B1 (ko) 2006-09-20 2009-11-18 한국전자통신연구원 잔여계수의 상관성에 따라 변환기를 선택적으로 이용한부호화/복호화 장치 및 그 방법
US9319700B2 (en) * 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
JP5134001B2 (ja) 2006-10-18 2013-01-30 アップル インコーポレイテッド 下層のフィルタリングを備えたスケーラブルビデオ符号化
EP2130173B1 (en) 2007-03-23 2019-01-02 ContentArmor Modifying a coded bitstream
US8488672B2 (en) * 2007-04-17 2013-07-16 Qualcomm Incorporated Mode uniformity signaling for intra-coding
US8428133B2 (en) * 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
US8437564B2 (en) * 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
US8363728B2 (en) 2008-04-18 2013-01-29 Sony Corporation Block based codec friendly edge detection and transform selection
US8285068B2 (en) * 2008-06-25 2012-10-09 Cisco Technology, Inc. Combined deblocking and denoising filter
WO2010087808A1 (en) 2009-01-27 2010-08-05 Thomson Licensing Methods and apparatus for transform selection in video encoding and decoding
US8630341B2 (en) 2011-01-14 2014-01-14 Mitsubishi Electric Research Laboratories, Inc. Method for training and utilizing separable transforms for video coding

Also Published As

Publication number Publication date
CN102308578A (zh) 2012-01-04
JP2012516627A (ja) 2012-07-19
EP2382778A1 (en) 2011-11-02
EP3668098A1 (en) 2020-06-17
BRPI0924155B1 (pt) 2021-09-14
BRPI0924044A2 (pt) 2016-01-26
KR20220123340A (ko) 2022-09-06
KR20220041931A (ko) 2022-04-01
CN105120281A (zh) 2015-12-02
CN105120281B (zh) 2019-01-18
EP2382777A1 (en) 2011-11-02
JP2016076971A (ja) 2016-05-12
US9161031B2 (en) 2015-10-13
JP2012516625A (ja) 2012-07-19
EP2392136A1 (en) 2011-12-07
US20110274164A1 (en) 2011-11-10
JP2018186556A (ja) 2018-11-22
KR20180123153A (ko) 2018-11-14
BR122015015910B1 (pt) 2022-05-10
EP2991352A1 (en) 2016-03-02
KR101834825B1 (ko) 2018-03-06
KR20210028283A (ko) 2021-03-11
KR20210064398A (ko) 2021-06-02
CN102301708B (zh) 2015-11-25
JP2012516626A (ja) 2012-07-19
KR20190143460A (ko) 2019-12-30
KR20170118956A (ko) 2017-10-25
CN102301707A (zh) 2011-12-28
CN102301708A (zh) 2011-12-28
EP2382778A4 (en) 2012-08-15
US20160021395A1 (en) 2016-01-21
JP2016076972A (ja) 2016-05-12
BRPI0924167A2 (pt) 2016-02-10
KR20110106402A (ko) 2011-09-28
US20190191184A1 (en) 2019-06-20
EP2382777A4 (en) 2012-08-15
CN102308578B (zh) 2015-09-09
US9049443B2 (en) 2015-06-02
US20230051065A1 (en) 2023-02-16
WO2010087807A1 (en) 2010-08-05
KR20110106403A (ko) 2011-09-28
JP2022172145A (ja) 2022-11-15
BRPI0924044B1 (pt) 2022-09-20
BRPI0924155A2 (pt) 2016-10-04
JP2016067026A (ja) 2016-04-28
US9774864B2 (en) 2017-09-26
KR20170116216A (ko) 2017-10-18
HK1222274A1 (zh) 2017-06-23
KR20200036953A (ko) 2020-04-07
EP2392136A4 (en) 2012-08-15
JP2020191647A (ja) 2020-11-26
WO2010087808A1 (en) 2010-08-05
JP2018093522A (ja) 2018-06-14
JP2018201222A (ja) 2018-12-20
CN102301707B (zh) 2015-12-02
US20110268183A1 (en) 2011-11-03
WO2010087809A1 (en) 2010-08-05
KR20170116204A (ko) 2017-10-18
US20110293002A1 (en) 2011-12-01
US10178411B2 (en) 2019-01-08
KR20110106394A (ko) 2011-09-28
KR20190039350A (ko) 2019-04-10

Similar Documents

Publication Publication Date Title
BR122015015910A2 (pt) métodos e aparelho para transformar a seleção em codificação e decodificação de vídeo
KR102143908B1 (ko) 계층적 분할 내에서 블록 레벨 변환 선택 및 암시적 시그널링을 이용한 변환 코딩을 위한 방법 및 장치
US20180091817A1 (en) Methods and apparatus for transform selection in video encoding and decoding
KR101735137B1 (ko) 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치
ES2546514T3 (es) Aparato de codificación de imágenes
ES2575381T3 (es) Dispositivo de decodificación de intra-predicción
KR20130105894A (ko) 비디오 데이터의 블록의 계수들의 모드 의존 스캐닝

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B25G Requested change of headquarter approved

Owner name: THOMSON LICENSING (FR)

B25G Requested change of headquarter approved

Owner name: THOMSON LICENSING (FR)

B25A Requested transfer of rights approved

Owner name: INTERDIGITAL VC HOLDINGS, INC. (US)

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/12

Ipc: H04N 19/12 (2014.01), H04N 19/139 (2014.01), H04N

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 21/10/2009, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.