BR112012009533A2 - método para decodificar um fluxo de bit. - Google Patents

método para decodificar um fluxo de bit. Download PDF

Info

Publication number
BR112012009533A2
BR112012009533A2 BR112012009533-1A BR112012009533A BR112012009533A2 BR 112012009533 A2 BR112012009533 A2 BR 112012009533A2 BR 112012009533 A BR112012009533 A BR 112012009533A BR 112012009533 A2 BR112012009533 A2 BR 112012009533A2
Authority
BR
Brazil
Prior art keywords
transform
coefficients
path
block
fact
Prior art date
Application number
BR112012009533-1A
Other languages
English (en)
Other versions
BR112012009533B1 (pt
Inventor
Robert A. Cohen
Anthony Vetro
Huifang Sun
Original Assignee
Mitsubishi Electric Corporation
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 Mitsubishi Electric Corporation filed Critical Mitsubishi Electric Corporation
Publication of BR112012009533A2 publication Critical patent/BR112012009533A2/pt
Publication of BR112012009533B1 publication Critical patent/BR112012009533B1/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
    • 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/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/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/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
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

MÉTODO PARA DECODIFICAR UM FLUXO DE BIT. É descrito um fluxo de bit que inclui uma sequência de quadros. Cada quadro é particionado em blocos codificados. Para cada bloco, um conjunto de caminhos é determinado em um ângulo da transformada determinado a partir de um índice de transformadda no fluxo de bit. Coeficientes de transformada são obtidos a partir do fluxo de bit. Os coeficientes de transformada incluem um coeficiente de CC para cada caminho. Uma transformada inversa é aplicada nos coeficientes de transformada para produzir um vídeo decodificado.

Description

«2 «puaqTEEECOOQqí|COCGELOQCCECEESSESSEGCEESSSSSTELFEE..S.SSSSEEEMEMMMMLMM 1 “MÉTODO PARA DECODIFICAR UM FLUXO DE BIT”
CAMPO DA INVENÇÃO A invenção diz respeito, no geral, a codecs de vídeo e, mais particularmente, a transformadas direcionais usadas durante a codificação e a E 5 — decodificação de blocos de pixéis em quadros de vídeo e imagens. - FUNDAMENTOS DA INVENÇÃO Codecs Um codec de vídeo digital comprime e descomprime um vídeo. Codecs podem ser encontrados em equipamento de difusão, televisões, — computadores pessoais, gravadores e reprodutores de vídeo, satélites, bem como dispositivos móveis e em linha. Codecs particionam cada quadro do vídeo em blocos de pixéis e processam os blocos um de cada vez.
Durante codificação, redundâncias espacial e temporal são eliminadas para reduzir a taxa de dados. A invenção preocupa-se, particularmente, com as transformadas que são usadas durante a codificação e a decodificação de vídeos. A transformada mais comum é uma transformada discreta de cosseno (DCT), da forma especificada nos padrões MPEG e H.264/AVC. A DCT converte intensidades de pixel no domínio espacial em coeficientes de transformada no domínio de frequência. Então, os coeficientes são quantizados e codificados por entropia para produzir um fluxo de bit comprimido. O fluxo de bit pode ser armazenado em uma mídia (DVD) ou comunicado diretamente ao decodificador. Durante a decodificação, as etapas são invertidas. Depois da decodificação por entropia e da quantização inversa, uma transformada inversa é aplicada para recuperar o vídeo original.
No geral, o número de decodificadores, por exemplo, produtos ao consumidor em todo o mundo, excede muito o número de codificadores. Portanto, para habilitar a interoperabilidade, somente o fluxo de bit e o processo de decodificação são padronizados. Tipicamente, o processo de codificação não é especificado em um padrão.
Transformadas A DCT inclui uma DCT 1D horizontal aplicada em cada linha de pixéis no bloco e uma DCT 1D vertical aplicada em cada coluna. Para blocos com recursos predominantemente horizontais ou verticais, a DCT 2D é ' 5 eficiente. Entretanto, a DCT 2D não transforma eficientemente blocos que - contêm recursos que não são horizontais ou verticais, isto é, recursos direcionais, em que direcional diz respeito a orientações diferentes de horizontal e vertical.
No geral, há dois métodos que implementam transformadas direcionais. O primeiro método aplica as DCTs 2D ao longo de caminhos pré- definidos no bloco. O segundo método aplica um filtro direcional, seguido pela DCT 2D. Tipicamente, um filtro de ventilador particiona o bloco em um conjunto de sub-bandas direcionais. Transformadas são subsequentemente aplicadas em cada sub-banda. Transformadas direcionais, tais como contourlets, são implementadas desta maneira. Contourlets transformam eficientemente quadros contêm regiões uniformes separadas por limites curvos.
Transformadas direcionais foram usadas para complementar a DCT 2D ou tipo de transformada DCT existentes para métodos de codificação
20. de vídeo existentes, tal como H.264/AVC. Durante o processo de codificação, o codificador H.264/AVC seleciona a partir de um conjunto de transformadas, tal como a transformada 2D convencional, e de um conjunto de transformadas direcionais. Então, a única transformada que produz o melhor desempenho, em um sentido de taxa / distorção, é selecionada para a codificação e a — decodificação.
Depois da transformada, melhorias poder ser feitas na codificação por entropia dos dados correspondentes pela alavancagem da estatística dos dados direcionais. No H.264/AVC, um codificador aritmético binário adaptável ao contexto (CABAC) ou um codificador de comprimento
—————-———C q aq—.——.occss-xasCcsssssssss]ssss= 3 variável adaptável ao contexto (CAVLC) são usados para codificar por entropia diferentes tipos de dados. Os símbolos inseridos são mapeados em palavras-códigos binárias e comprimidos por um codificador aritmético. Contextos são usados para adaptar a estatística usada pelo codificador — aritmético. Cada contexto armazena o símbolo mais provável (tanto O quanto - 1), e a probabilidade correspondente.
O padrão H.264/AVC é desenhado para usar a DCT 2D. Métodos existentes podem usar transformadas direcionais para aumentar o desempenho dos codificadores H.264/AVC. Entretanto, estes métodos ainda geram e codificam a decisões e dados relacionados a direção usando a estrutura H.264/AVC convencional. Assim, há uma necessidade de representar eficientemente informação direcional, bem como uma necessidade de aumentar as eficiências de codificação.
O propósito da transformada é converter um bloco de valores de pixel variáveis em um bloco de coeficientes para o qual a maior parte dos coeficientes é zero. No caso de DCT, um conjunto de arranjo dos pixéis é convertido em um conjunto de coeficientes da DCT que representa dados de baixa frequência até alta frequência no bloco. A frequência mais baixa é o coeficiente de CC, que diz respeito ao valor médio de todos os pixéis convertidos pelas transformadas. O próximo coeficiente representa a magnitude da onda cosseno de frequência mais baixa que está contida no sinal. Coeficientes subsequentes correspondem a frequências crescentes. Se os dados forem bem adequados para a DCT, então, muitos dos coeficientes de frequência são zero, e não são necessários pelo decodificador para reconstruir —ovídeo.
Um problema com transformadas direcionais existentes, que usam um conjunto de transformadas 1D paralelas, é que o comprimento de cada transformada 1D pode variar, dependendo da posição da transformada no bloco. Por exemplo, para transformar um bloco 8 x 8 usando uma
—:“ Cs .0(.Q>...s!.==—— 4 transformada direcional orientada em 45 graus, a transformada 1D ao longo da diagonal principal do bloco tem oito elementos, a 1D adjacente tem sete elementos e assim por diante para transformadas de um ou dois elementos, que são ineficientes. Uma transformada de um elemento é, na melhor das É 5 — hipóteses, um escalonamento de um valor de pixel, que faz pouco para - melhorar a eficiência de codificação. Assim, há uma necessidade de um método para transformar blocos usando estas transformadas de uma maneira que não sofre das ineficiências exibidas para pequenos caminhos de transformada, ainda mantendo as propriedades direcionais da transformada original.
Também há uma necessidade de um método para aplicar um segundo conjunto de transformadas na saída do primeiro conjunto de transformadas, de uma maneira que aumente adicionalmente a eficiência de codificação sem degradar o desempenho, da maneira que uma DCT 2D faria, quando os dados estiverem incorretos na segunda direção ortogonal.
Além do mais, há uma necessidade de versões particionadas desta transformada que são adequadas para blocos residuais de previsão de codificação que são comumente encontrados em codificadores preditivos, tal como H.264/AVC.
— SUMÁRIO DA INVENÇÃO Um fluxo de bit inclui uma sequência de quadros. Cada quadro é particionado em blocos codificados. Para cada bloco, um conjunto de caminhos é determinado em um ângulo da transformada determinado a partir de um índice de transformada no fluxo de bit. Coeficientes de transformada — são obtidos a partir do fluxo de bit. Os coeficientes de transformada incluem um coeficiente de CC para cada caminho. Uma transformada inversa é aplicada nos coeficientes de transformada para produzir um vídeo decodificado.
DESCRIÇÃO RESUMIDA DOS DESENHOS
———————————s2s s
A figura 1A é um diagrama de blocos de um sistema de vídeo de acordo com modalidades da invenção;
a figura 1B é um diagrama de blocos de um decodificador de acordo com modalidades da invenção;
Í 5 a figura IC é um diagrama de blocos de um codificador de - acordo com modalidades da invenção;
a figura 2 é um diagrama de blocos de um módulo de processamento direcional de sub-bloco e partição de acordo com modalidades da invenção;
a figura 3 é um diagrama de blocos de um módulo de decisão de tipo e direção de transformada de acordo com modalidades da invenção;
a figura 4 é um diagrama de blocos do módulo de inferência de direção de acordo com modalidades da invenção;
a figura 5 é um diagrama de blocos de um módulo de previsão
— direcional de acordo com modalidades da invenção;
a figura 6 é um diagrama de blocos de um módulo de codificação do índice direcional de acordo com modalidades da invenção;
a figura 7 é uma representação esquemática de uma primeira modalidade do módulo codificador de índice direcional de acordo com modalidades da invenção;
a figura 8 é uma representação esquemática de uma segunda modalidade do módulo codificador de índice direcional de acordo com modalidades da invenção;
as figuras 9-10 são fluxogramas para um módulo de geração
— de contexto de acordo com modalidades da invenção;
as figuras 11A-B são representações esquemáticas de caminhos para transformadas direcionais primária e secundária de acordo com modalidades da invenção;
as figuras 12A-F são diagramas de blocos para transformadas
I— —— .--——>c[ ——..-"———— 6 direcionais primárias para blocos de pixéis 8 x 8 de acordo com modalidades da invenção; e a figura 13 é um diagrama de blocos de um conjunto de transformadas direcionais particionadas de acordo com modalidades da i 5 invenção. - DESCRIÇÃO DAS MODALIDADES Codec A figura 1A mostra um sistema de vídeo de acordo com modalidades desta invenção.
O sistema inclui um codificador 10 e um decodificador 20, em combinação um codec 30. O codec pode ser implementado em processadores que incluem memórias e interfaces de entrada / saída conhecidos na tecnologia.
O codificador comprime um vídeo de entrada 1 em um fluxo de bit 15. O codificador aplica transformada, quantização e codificação por entropia no vídeo de entrada da forma descrita com detalhes a seguir.
Para garantir que o vídeo de saída reflita precisamente o vídeo de entrada, o decodificador 20 realiza as etapas inversas em uma ordem inversa.
Além do mais, tipicamente, o codificador inclui o equivalente do decodificador para prover realimentação para o processo de codificação.
Em virtude de todas as variáveis do codificador estarem prontamente disponíveis no codificador, o decodificador no codificador é relativamente simples.
A invenção preocupa- se particularmente com as transformadas direcionais inversas 25. Da forma descrita a seguir, e mostrada na figura 11B, as transformadas podem incluir transformadas primárias e secundárias.
Durante a codificação, a transformada primária opera nas intensidades de pixel para determinar coeficientes de transformada, por exemplo, coeficientes CC e CA.
A transformada secundária opera somente nos coeficientes de CC 1160 para produzir coeficientes de transformada secundários 1170 para reduzir adicionalmente redundâncias de dados.
As transformadas inversas incluem
—— aa—— —— ec——ww . .pp—— ue 7 uma transformada secundária inversa 26 para reconstruir os coeficientes de CC, e as transformadas primárias inversas 27 recuperam as intensidades de pixel para o vídeo decodificado. Para garantir a interoperabilidade entre o codificador e o — decodificador, tipicamente, padrões de codificação de vídeo especificam - somente o fluxo de bit e o processo de decodificação. Entretanto, entende-se que uma descrição do processo de codificação, da forma detalhada a seguir, é suficiente para que versados na técnica deduzam exatamente o processo de , decodificação inverso. Decodificador A figura 1B mostra partes relevantes deste decodificador 20. O decodificador recebe o codifica o fluxo de bit 15 e a informação 160. O fluxo de bit é apresentado a um decodificador por entropia CABAC 191, que produz coeficientes de transformada quantizados 192 de acordo com a informação. Para o primeiro bloco, a informação pode ser um contexto inicial. Subsequentemente, a informação diz respeito a blocos previamente processados (decodificados).
Os coeficientes são inversamente quantizados 24 e inversamente transformados 25, de forma que os blocos decodificados formem o vídeo de saída ou decodificado 2. A transformada pode ser uma transformada inversa discreta de cosseno (IDCT). As transformadas podem incluir um transformada inversa discreta de cosseno 2D e um conjunto de transformadas direcionais inversas. Transformadas secundárias inversas também podem ser aplicadas da forma descrita a seguir com mais detalhes.
A informação 160 é apresentada ao módulo de geração de contexto (CGM) do decodificador, que encaminha contextos selecionados 921-922 ao decodificador CABAC. Indicadores de transformada previstos (PTD 501 dos blocos previamente decodificados 160 são apresentados a um módulo de decodificação do índice direcional (DIDM) 601, que gera um
= 8 indicador de transformada 602 para a transformada inversa 25. AÀ transformada inversa pode usar qualquer uma das transformadas inversas, por exemplo, DCTs inversas horizontal 1D e vertical 1D (IDCT 2D) 41, um conjunto de transformadas direcionais inversas 42 e quaisquer outras á 5 — transformadas inversas conhecidas 43.
- Percebe-se que padrões de codificação de vídeo atuais usam somente uma única transformada pré-especificada, de forma que um índice para diferentes transformadas não seja necessário. Também, padrões atuais não consideram informação complementar relacionada a blocos previamente —decodificados durante a transformada inversa. Codificador A figura 1C mostra os detalhes relevantes do codificador 10. O codificador usa transformadas direcionais de acordo com modalidades da invenção. As etapas do método mostradas podem ser realizadas em um — processador de um codificador. O processador inclui memória e interfaces de entrada / saída, da forma conhecida na tecnologia.
A entrada no codificador é um bloco 101 de um quadro de um vídeo a ser codificado. Da forma aqui definida, blocos incluem macroblocos, sub-blocos e partições de bloco, no geral, um arranjo de pixéis. Na maioria das aplicações de codificação, as operações são preferivelmente realizadas nos macroblocos e nos sub-blocos. O bloco pode conter dados de vídeo originais, resíduos provenientes de uma previsão com compensação espacial ou de movimento dos dados de vídeo, ou outros dados relacionados a textura a serem transformados. O bloco pode ser particionado em sub-blocos por um —módulode processamento de partição direcional de sub-bloco (SPDPM) 200. Aqui, os sub-blocos são processados um de cada vez como "blocos".
Cada bloco é transformado usando transformadas selecionadas adicionalmente um transformada discreta de cosseno bidimensional convencional (DCT 2D) 120, um conjunto de transformadas direcionais 130
O Ltecqc«cqcEq—... 9 ou outras transformadas, no geral, transformadas 125. A saída da transformada é medida por um módulo de decisão de tipo e direção de transformada (TTDDM) 300. O TIDDM usa uma métrica, tal como um custo de taxa / distorção, para determinar qual das transformadas provê o melhor í 5 — desempenho. O custo de taxa / distorção é uma soma de uma taxa de - codificação e um escalar multiplicado pela distorção. O tipo e a direção da transformada com um custo mínimo são selecionados para a transformada. O desempenho pode ser, mas sem limitações, uma medida da eficiência de codificação. A ideia é que a transformada que tem o melhor desempenho é — selecionada para a codificação, e a transformada selecionada é sinalizada ao decodificador como em um índice 16 no fluxo de bit.
O TTDDM também pode receber entrada a partir de um módulo de inferência de direção (DIM) 400. A entrada no DIM é uma coleção de dados 160 que indica as transformadas e direções usadas para blocos — adjacentes previamente processados. A saída do DIM é um valor ou conjunto de valores correspondentes aos dados 160, tais como direções preferidas 431. O TTDDM usa esta informação para tomar a decisão em relação a quais transformadas e direções são usadas para codificar o bloco 101. O TIDDM também pode encaminhar um indicador de particionamento final (FPI) 141 no —SPDPM como um guia para o particionamento. O módulo TTDDM produz o bloco transformado 102 e um indicador de transformada selecionado (STI) 145 que representa a transformada e a direção selecionadas.
Então, o bloco transformado 102 pode ser apropriadamente codificado 150 usando codificação por entropia para produzir um bloco de — saída codificado 17.
O módulo de previsão de direção (DPM) 500 também recebe informação a partir do DIM e informação relacionada aos blocos previamente processados 160. O DPM usa esta informação para gerar um indicador de transformada previsto (PTI) 501. O PTI é inserido em um módulo de
I— w— codificação do índice direcional (DIEM) 600, juntamente com o STI 145. O DIEM converte a representação em uma palavra-código binária 603 para codificação por um codificador aritmético binário adaptável ao contexto (CABAC) 190. É 5 Os contextos usados pelo CABAC são determinados por um - módulo de geração de contexto (CGM) 900. A entrada no CGM é informação sobre as transformadas e direções usadas por blocos adjacentes previamente codificados do DIM, ou informação já codificada do bloco atual. O CGM produz contextos para que o CABAC codifique o índice direcional binário. O 10 —CABAC transmite um índice de transformada codificado 16. Módulo de Processamento Direcional de Sub-bloco e Partição A figura 2 mostra detalhes do SPDPM 200. Os pixéis no bloco de entrada 101 podem representar informação relacionada a vídeo, tais como dados de quadro de vídeo, resíduos de previsão de movimento compensado e resíduos de previsão espacial. O SPDPM particiona o bloco em partições 210, no geral, arranjos de pixéis. As transformadas convencionais ou direcionais 125 são aplicadas nas partições. O indicador de particionamento final 141 produzido pelo TIDDM indica quais partições usar para o melhor desempenho. Módulo de Decisão de Tipo e Direção da Transformada A figura 3 mostra o TIDDM 300 para selecionar as melhores transformada e direção para usar para transformar o bloco 210. Um seletor de transformada 310 escolhe quais, dentre tipos de transformada disponíveis, devem ser enviadas ao módulo de medição 320, que determina uma métrica —321,tal como o custo de taxa / distorção (R/D), que é usado para selecionar a transformada. O seletor de transformada pode ser influenciado pelo DIM
400. O DIM, por exemplo, pode examinar blocos adjacentes para determinar quais direções são mais prováveis de desempenhar bem para o bloco atual.
Então, a medição pode ser limitada a um subconjunto de direções disponíveis, assim, reduzindo o tempo de processamento. Depois que estas medições forem usadas para determinar as melhores direção ou transformada, o indicador de transformada selecionado 145 e o correspondente bloco À 5 — transformado 102 são transmitidos. Se o TTDDM estiver operando em uma . seleção de partições, então, o indicador de particionamento final 141 que produz o melhor desempenho também é transmitido ao SPDPM. Módulo de Inferência de Direção A figura 4 mostra o DIM 400. O módulo de seleção de bloco usaos blocos previamente processados e informação complementar 160 para determinar possíveis direções da transformada 411 para o bloco atual. As possíveis direções da transformada são usadas para determinar um conjunto de direções preferidas 431. Este é subsequentemente usado pelo DPM para reduzir o número de bits necessários para representar esta informação, o que resulta em uma maior eficiência no codificador e no decodificador.
Um módulo de seleção de bloco (BSM) 410 realiza seleção a partir dos blocos 160 com base em critérios, tal como uma distância dos blocos selecionados até o bloco atual. O módulo de decisão de confiabilidade (RDM) 420 estima a confiabilidade dos blocos selecionados. O módulo RDM — pode usar informação de textura, a posição e outros dados do bloco 412. Um fator de confiabilidade 421 de cada um dos blocos selecionados e a correspondente direção da transformada 411 são alimentados no módulo de determinação de direção preferencial (PDDM), em que as direções preferidas 431 são identificadas.
—Módulode Previsão Direcional A figura 5 mostra o DPM 500 para determinar o indicador de transformada previsto 501 para o DIEM 600 e o CGM. Um previsor de primeiro estágio 510 seleciona candidatos 515 a partir das direções preferidas
431. Um previsor de segundo estágio 420 usa estes candidatos e a informação
EEE Eae e re asse 12 complementar codificada 160 para selecionar o indicador de transformada preferido 501. Para codificar resíduos de textura transformados, o indicador de direção da transformada selecionado 145 pode ser correlacionado com um í 5 — previsor de textura, tal como um modo intraprevisão usado em H.264/AVC. - Portanto, a informação complementar alimentada no DPM pode incluir, por exemplo, o modo intraprevisão para selecionar o indicador 501. Módulo de Codificação do Índice Direcional A figura 6 mostra o DIEM 600. A entrada inclui o indicador de transformada selecionado 145 e o indicador de transformada previsto 501, que são mapeados 605-606 para uma representação significativa das direções.
Diferentes mapeamentos 605-606 podem ser usados para os indicadores de transformada selecionados e previstos.
Uma diferença entre as duas direções é determinada 610 como uma diferença do indicador de transformada 612. Em virtude de a previsão ser uma aproximação razoável da direção da transformada selecionada, pequenas diferenças de ângulo devem resultar em palavras-códigos similares que podem ser efetivamente codificadas.
A diferença é binarizada 620 na palavra-código 603, que é codificada por entropia pelo CABAC 190 como o índice de transformada codificado 16. Entende-se que qualquer codificador por entropia adaptável ao contexto pode ser usado, bem como codificação com comprimento variável (VLC). O cálculo da diferença pode ser desviado 611 da forma descrita a seguir.
A figura 7 mostra esquematicamente uma primeira modalidade do DIEM 600. Por exemplo, há oito possíveis direções da transformada 701 e — correspondentes previsões 702. A direção da transformada é selecionada pelo i indicador de transformada selecionado 145, e a previsão é selecionada pelo PTI 501. Os indicadores de transformada são mapeados to um código de Gray, no qual direções adjacentes diferem somente em um bit.
As palavras- códigos para as direções selecionadas e previstas são comparadas bit a bit
EEE 13 com uma operação OU exclusivo (XOR) 610 para obter a diferença 611. Para um preciso previsor, isto resulta em um fluxo de bit com a maior parte de zeros para uma baixa entropia.
Em virtude de os mapeamentos do indicador 605-606 usarem representações binárias, a binarização 620 não é usada. : 5 A figura 8 mostra uma segunda modalidade do DIEM.
Nesta - modalidade, as direções são representadas por uma sequência de números uniformemente contínua.
A diferença 610 é A=(Is-Ilp+N)modN, em que Iç e Ip são os índices mapeados dos indicadores de direção selecionados e previstos, respectivamente, e N é o número de possíveis direções, por exemplo, oito.
Em virtude de pequenas diferenças serem mais prováveis, a binarização 620 codifica diferenças próximas de zero (0, 1, N-l, 2, N-2, ...) com menos bits.
O cálculo da diferença pode ser desviado 611 e o indicador de transformada mapeado é encaminhado diretamente ao módulo de —Dbinarização 620. Neste caso, o módulo de geração de contexto 900 usa o indicador de transformada previsto para selecionar um contexto apropriado.
Módulo de Geração de Contexto As figuras 9-10 mostram modalidades do CGM 900. O CGM seleciona contextos 921-922 para o CABAC 190. Mais de dois contextos também podem ser selecionados.
Para determinar os contextos, o CGM pode usar a informação de bloco processado preferido 160, o PTI 501 e as direções preferidas 431. Os contextos A e B distinguem precisas direções previstas e previsões imprecisas.
A figura 9 mostra como as direções preferidas 431 são usadas para determinar os contextos.
Uma máxima diferença q é determinada 910 e comparada 920 com um limite pré-determinado T.
Se a diferença for menor que o limite, então, a previsão é precisa no contexto À 921, caso contrário, o contexto B 922 é impreciso.
Por exemplo, se o DIEM for usado, então, os bits alimentados no CABAC são quase todos zeros, e o contexto À é selecionado para se adequar a esta probabilidade.
A seleção de contexto do
I— ——.—w Uw —.V.-"—s—— 14 CGM 900 também pode considerar outros fatores, tal como posição do bit, para decidir entre mais de dois contextos.
A modalidade mostrada na figura 10 considera que o DIEM desvia 611 o cálculo da diferença 610. O indicador de transformada previsto É 5 SO0leum índice posicionali 1001 que representa qual bit do índice 603 deve - ser codificado são inseridos. O PTI 501 é mapeado 1010 para uma palavra- código binária com o mesmo mapeamento do indicador 605 usado no DIEM. Em virtude de ambas as palavras-códigos deverem ser iguais, o bit mais provável do CABAC deve ser igual ao bit atual CW[i] de 1030. Assim, se a comparação 1030 indicar que o bit atual é 1, o contexto A 921, que prefere 1, é selecionado, caso contrário, o contexto B 922, em que 0 é o bit preferido, é selecionado. Transformadas Direcionais Primária e Secundária A figura 11A mostra a transformada direcional de acordo com modalidades desta invenção. Entende-se que, durante a decodificação, a transformada é uma transformada inversa. A transformada (ou sua inversa) opera em um bloco M x N 1100 de pixéis. Com o propósito da transformada, os valores 110 associados com os pixéis podem ser intensidades ou coeficientes de transformada, dependendo do estágio da codificação ou da decodificação.
A transformada inclui um conjunto de transformadas 1D fTo, Ti, .... Tn) 1102, em que N é o número total de transformadas 1D aplicadas no bloco. O comprimento |; da transformada T; indica o número de pixéis nos quais a transformada 1D opera. Assim, as transformadas f To, Ti, ..., Tn1t no — conjuntotêm comprimentos correspondentes flo, 11, ..., In-1t- Cada transformada é aplicada nos pixéis ao longo de um caminho 1102 no bloco. Tipicamente, um caminho inclui um conjunto de pixéis contíguos ou adjacentes. Entretanto, pixéis não contíguos também podem ser incluídos no caminho.
= 15 Da forma mostrada na figura 11B, se os valores dos pixéis no caminho forem coeficientes, então, o primeiro coeficiente para cada caminho é o coeficiente de CC, seguido pelos coeficientes de CA.
Todos os primeiros coeficientes 1150 são coletados em um conjunto de coeficientes de i 5 — transformada secundários (STC) 1170. O primeiro coeficiente secundário no - conjunto é um coeficiente CC secundário (SDC). Durante a decodificação, a transformada direcional secundária 26 pode ser aplicada no conjunto de coeficientes de transformada secundários para reconstruir o coeficiente de CC de cada caminho.
Durante a codificação, o primeiro coeficiente ou coeficiente de ce de cada caminho é descartado depois que o conjunto de coeficientes de transformada secundários 1170 for formado.
Cada caminho é orientado, em relação à direção vertical 1103, em um ângulo da transformada 0 1105, que é determinado pelo índice de transformada direcional.
Como exposto, o índice de transformada, que é determinado durante a codificação, é parte do fluxo de bit a ser decodificado.
Os caminhos para um bloco e transformada em particular são, no geral, orientados na mesma direção.
Os caminhos são gerados como segue.
Um mínimo comprimento do caminho de transformada Lmin 1110 é especificado para o bloco.
Tipicamente, o caminho de transformada começa em um pixel de início 1120 localizado em uma borda (ou canto) do bloco 1100. Como exposto, se os valores para os pixéis forem coeficientes, o valor para o pixel de início é o coeficiente de CC.
O caminho continua ao longo do ângulo 6 até um pixel final 1121 em uma outra borda.
O comprimento do caminho, em pixéis, é m.
Se o pixel de início estiver em uma borda ou canto, então o comprimento m = 1. Se m > Lmin, então, o caminho é considerado completo.
Se o bloco ainda contiver todos os pixéis que não estão em um caminho, então, um novo caminho é iniciado.
O novo caminho pode iniciar em qualquer pixel não
——————>——————— 16 transformado no bloco. Tipicamente, o próximo caminho começa em um pixel adjacente ou próximo do início do caminho prévio, ou o caminho pode iniciar em um canto oposto do bloco, de forma que a distribuição dos comprimentos de caminho no bloco seja substancialmente simétrica. O i 5 — processo continua com a Etapa 2 até que todos os pixéis sejam transformados. - Se m < Lmin, então, o caminho é muito curto, e o processo continua pela inclusão de um pixel adjacente em um pixel previamente processado. Se houver mais de um pixel adjacente, então, outros caminhos no bloco são usados para determinar o caminho atual. Se um pixel não processado estiver disponível, o pixel torna-se parte do caminho, o comprimento do caminho m é incrementado, e o processo continua com a Etapa 2 na direção (180 - O) até que a borda do bloco seja alcançada. Assim, a direção 0 é definida em (180 - 0), efetivamente, uma reversão, antes de continuar com a Etapa 2.
As figuras 12A-C mostram transformadas direcionais para Lnin = 3 e ângulos de 45, 30 e 90 graus, respectivamente. As figuras 12D-F mostram transformadas direcionais para Lmin = 5. Modalidades alternativas são possíveis quando caminhos terminam no interior do bloco em vez de em uma borda.
A transformada inversa 26 opera ao longo dos mesmos caminhos, como exposto, exceto coeficientes de transformada inversa. Por exemplo, se uma DCT 1D for usada para cada caminho, então, a transformada inversa usará o DCT Inversa 1D (IDCT).
Transformadas Direcionais Secundárias A figura 11B mostra a transformada direcional secundária 26. Depois que a transformada direcional primária foi aplicada, a transformada secundária pode ser adaptativamente aplicada em cada bloco ao longo de um caminho que contém os coeficientes iniciais de cada caminho da transformada inicial. Tipicamente, estes coeficientes correspondem aos coeficientes de CC s—"———— s——npcC-p—ps—«<p—q—pn——————-——— Í 17 de uma transformada 1D, tal como a DCT.
A transformada secundária inversa opera ao longo do mesmo caminho, como exposto, exceto coeficientes de transformada secundária inversa. À transformada direcional secundária inversa é realizada antes da ] 5 — transformada direcional inversa durante a decodificação.
. A transformada secundária reduz adicionalmente a redundância nos componentes CC dos coeficientes da transformada direcional. Alternativamente, o componente CC de uma transformada — — direcional pode ser usado para prever o componente CC de uma outra transformada direcional.
Transformadas Direcionais Particionadas A figura 13 mostra uma transformada direcional particionada. Um bloco M X N (8x8) de pixéis 1300 é particionado em duas partições de bloco A e B aproximadamente ao longo de uma linha 1310 com um ângulo de partição q em relação à vertical. O ângulo de partição é perpendicular ao ângulo da transformada 6 1105.
Então, transformadas direcionais são geradas usando as etapas supradescritas, com a restrição de que a partição de bloco A tem um conjunto de caminhos orientado no ângulo 6, e a partição B tem um conjunto de caminhos orientado no ângulo Og. O ângulo primário da transformada direcional 0 é considerado igual a 61. À medida que um caminho é gerado na partição, a linha 1310 se aproxima da borda da partição. Assim, cada pixel na transformada direcional fica tanto na partição A quanto na partição B. Os ângulos 9, e Og podem ser diferentes.
Em uma modalidade da invenção, a transformada direcional secundária é aplicada em ambas as partições B. Para inverter o processo, a transformada secundária inversa é aplicada e, então, as transformadas direcionais inversas são aplicadas independentemente nas partições A e B. Em uma outra modalidade da invenção, a transformada secundária é aplicada
É e es e 18 independentemente em cada partição.
Isto é, qualquer uma de ambas as transformadas secundárias inversas pode ser aplicada antes das transformadas primárias inversas, ou a transformada secundária inversa e a transformada primária inversa podem ser í S aplicadas nas partições independentemente. Esta decisão é tomada . adaptativamente em uma base por bloco. Ordem de Escalonamento e Quantização Depois que as transformadas primárias e secundárias forem concluídas, os coeficientes resultantes são escalonados, ordenados e —quantizados.
O escalonamento dos coeficientes de transformada depende do comprimento m do caminho de cada transformada direcional 1D ou de um local do coeficiente no bloco. Uma transformada 1D de comprimento m tem um fator de escala Sr. Assim, todos os coeficientes no caminho de comprimento m são escalonados por Sm. Tipicamente, o fator de escala é selecionado de forma que as magnitudes dos coeficientes de CC sejam iguais durante a transformação de valores de pixel idênticos. Se uma transformada com comprimento m = 4 transformar quatro pixéis, cada qual com valor v, e uma transformada com comprimento m = 5 transformar cinco pixéis, cada com valor v, então, o fator de escala S,, é selecionado de forma que ambas as transformadas transmitam os primeiros coeficientes (CC) com o mesmo valor.
Métodos de escalonamento alternativos também são possíveis. A transformadas mais curtas podem ser dados menores ou maiores fatores de escala com base no comprimento m ou na direção 0. O escalonamento também pode se tornar parte da própria transformada para simplificar a implementação deste processo.
Os coeficientes escalonados são arranjados em uma ordem de varredura. Em uma modalidade, o conjunto de transformadas (To, Ti, ..., Tw. 1) é varrido independentemente e na ordem. Em cada transformada, o
MN — 19 primeiro coeficiente de CC é varrido primeiro, seguido pelos seguintes coeficientes de CA na mesma ordem do caminho para esta transformada.
Em uma outra modalidade, todos os primeiros coeficientes de CC provenientes de cada transformada são varridos, seguidos por todos os h 5 — segundos coeficientes provenientes de cada transformada, e assim por diante, “ até a última transformada.
Na segunda modalidade, a ordem na qual as transformadas são varridas pode variar.
Por exemplo, as transformadas podem ser varridas na ordem de seu índice, isto é, a primeira varredura usa os coeficientes de CC provenientes do conjunto de transformadas (To, Ti, -.., Tn- ;) na ordem (O, 1, -. N-l). Alternativamente, as transformadas podem ser varridas na ordem de seu comprimento flo, li, -.., lN-1). Os coeficientes podem ser varridos com base em suas posições relativas no bloco.
Por exemplo, todos os coeficientes ao longo de uma borda do bloco podem ser varridos primeiro, seguidos pelos coeficientes que estão deslocados da borda.
Embora a invenção tenha sido descrita a título de exemplos das modalidades preferidas, deve-se entender que várias outras adaptações e modificações podem ser feitas no espírito e no escopo da invenção.
Portanto, é o objetivo das reivindicações anexas cobrir todas tais variações e modificações que caem nos verdadeiros espírito e escopo da invenção.

Claims (6)

TMN" 1 REIVINDICAÇÕES
1. Método para decodificar um fluxo de bit, em que o fluxo de bit corresponde a um vídeo decodificado, em que o vídeo codificado inclui uma sequência de quadros, em que cada quadro é particionado em blocos i 5 codificados, para cada bloco codificado, caracterizado pelo fato de que . compreende as etapas de: determinar um conjunto de caminhos no bloco, em que cada caminho fica em um ângulo da transformada determinado a partir de um índice de transformada no fluxo de bit; obter coeficientes de transformada a partir do fluxo de bit, em que os coeficientes de transformada incluem um coeficiente de CC para cada caminho; e aplicar uma transformada primária inversa nos coeficientes de transformada em cada caminho para produzir um vídeo decodificado, em que as etapas de determinação, obtenção e aplicação são realizadas em um decodificador.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que cada caminho tem um primeiro coeficiente para formar um conjunto de primeiros coeficientes, e em que a obtenção compreende — adicionalmente: aplicar uma transformada secundária inversa no conjunto de primeiros coeficientes para obter o coeficiente de CC para cada caminho.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que cada caminho tem um primeiro coeficiente para formar um conjunto de primeiros coeficientes, e em que a obtenção compreende adicionalmente: prever o componente CC para cada caminho a partir do conjunto de primeiros coeficientes.
4. Método, de acordo com a reivindicação 1, caracterizado
É SS 2 pelo fato de que compreende adicionalmente: associar um comprimento com cada caminho.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que os comprimentos são diferentes.
: 5
6. Método, de acordo com a reivindicação 1, caracterizado . pelo fato de que a transformada primária inversa é com base em uma transformada inversa discreta de cosseno.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: particionar o bloco em um conjunto de partições de acordo com um ângulo de partição.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que o ângulo de partição é perpendicular ao ângulo da transformada.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que os blocos incluem macroblocos, sub-blocos, partições de bloco ou um arranjo de pixéis.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: quantizar inversamente os coeficientes de transformada de acordo com um parâmetro de quantização; e escalonar os coeficientes de transformada de acordo com um local dos coeficientes de transformada no bloco.
11. Método, de acordo com a reivindicação 4, caracterizado — pelofatode que compreende adicionalmente: quantizar inversamente os coeficientes de transformada de acordo com um parâmetro de quantização; e escalonar os coeficientes de transformada de acordo com os comprimentos.
TN snsmsescssssse— 3
12. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que uma ordem de varredura para os coeficientes depende de uma ordem em que os coeficientes são quantizados.
13. Método, de acordo com a reivindicação 1, caracterizado í 5 — pelo fato de que uma ordem de varredura para cada transformada inversa é . realizada independentemente.
= 117 a wu o = Q & o <
ELES Ss Su [x a rzg rir2 Mm õ 5 FEeLZ E ã, | I a E E So [83 | o Ea & [E | s228| o é> | zZz<5% EZ | oo rauz ref e : $ S S & « o < iz se
E é BEM 8 ks E o no us . "uu ã ae f oz > à
NL 217 uu ” o ; FE i so << | < vv = Us
26 > [11 | FE = H | ss e | ls 8 | a 3 É " QA = — | q É o | Sig nº Na FT Fm EÉ | = <u E QN 23 E az "” | .ã&% | = < 2 jo Ss Tm É as - S& 265 oo | &— o q o = = ã 3 & o D 8 > uu o uu o g||o = e a 4 - A | ! 8 õ % f- 3 lo5 S = jozZ9 E Sã ã ar= 8 s s o e Exa!
T o õ& ã 8/8 We . o mm - s &e s &s q 8 nn g UA: ã E E õ “. O E Lad Z E Hd, 5 8 T ão - RR 1 o : FT ; ; — i : ; | o 1 — E < &< 1 of o = Ss 1 uu ELO 1 no nO ' z4á zZ2<OoO 8 se ser ral F= F=o ' e ; = : LH : & s Se : q E ão : vê of EE: ; 5a 28 so ' us os E TprTrREA=A=A PES Et 8a ou So o SE Ea £o São OE o mBERUZO = Wu Z as 8% 9 mu
Us ss SSSSSSSSSSSSSDSSSSNSSSNSSSSSSSõttããSSNSNãteeeea es o 4/17 h < o q = õ o Ss)
Z Fr [| [| LIT IT] = e Zailu “fo Ho um a <s <a so so eo fe) “| = /5e| [38| |és| |8S .& S & 3%| [3% 3& 3% & << I% TZ I< A |ú- no no Ba mm qn - e< =) as o
FE 9z au
LOL sA7 f =
É & = ' = : ! á : < ' us=z , ss 1 o foco = as a sá 8 = aÉ a < e
E Jones ds < Í 8 1 us ' ao€ 1 :; uz H >
BÊ Tv W< s a 2 | ãáa |V - - nº fx as a a 2 A 2º us É é E || ÀS É V| sos oe sê ao Er) e... uu os = o o ou o os z<o às | |8332 ||83928 ||S20E |
E IES 2ÉS ars ||3Esô | |arás
—————————— 6/17 = né ns FU oz Oui
FE
E sao 8
TF à Q < e + wuo 6 ans F om Es [34 x <íu [ASS x SE oão . &| 414ãs |=oo .so | Eos) E + =m o erro dino Fo (NTso 1 o s S te w ES z T Ee o = à o o2o s | 34o a 262 v | guia u = Zona an
PMN 7117 = Ã : uu ao Es
FE mo É& = .% 7 R& o o < a 2 Ss wu ao o
E za
É o = Fe no se Wu
E Ex oo
- 4 8 > De >
FE VV ' no o < e e ' É À << : = ; m ; e ; = f e : ; À vs = SS. = p= | . e, = ' < Ss VC õ< a & ; oo = i 9 s , 3u ; o“ ; 3 ; <E ; oo 1
À o% “ 8 26 u< zo =o u< 8 <o ze =&S|4.iz 72 so &o = zo se = e Ss Ss o - 4 js &
— —e———— [> /2"—-- 9/17 . s s é õ . = 8/5868 à o << = 200 noo uu pontennensens neon soro onooeneneensnercenenmenanano] 1 2 t sS. » ' Q o 1 So o S i 1 N CE H Le < É ; ; ? H i Í E) i ; i : i ; = : ' e ' nm = E: Es ss E ' os : E o VU as do BR o : & E : x oa : : ' í 1 s . :; ds :& Hs : i 288 Es or , e 1 Dc Z | 1 o so ê zo : 18 a o u< ' 1 a sa =2 i 8: E <$ã : = = &S : Es go É8 ' CE H E 1 ' E : 8 : LoznuemnreLrpnerersases anna Rad mma ml e e a = - - € |E o & - nn ss A —— 10/17 Ss 8 s da. õ . x = 58 E íax Wu oo x . Lona W postonsesnesesn en dossmsnnssmesmrmerremenmncmesnssncoo 1 ' ; 1 À uu o H : So Ss : : gx rá ; Ss ox S ; ' au = : 16 SE < : Wi E ã : : o 1 ' : : Ieneatetatedeenr recordes rbabadalesaeeenabeerdere=ne) postessamanennsnmmnfostessnmnesmete names trnmmesmontan a 1 ' : = : : co : ' + < ' &: a SE " Ss E: Sm 28 io 8 WU ' am R& "o| o À to 28 í = E << ' i <q = sã : Í : 1 ro or rr toe proonbabendoanncan Cs x 8 : ES [E e. ox : ço S + ; > : ” d< : i ES À = À - ss ; t nÊ Ss: ” : to so ea e ' “o = o CU S : E s $ jE mn - nn a——— ww mm > ÔÔ =. 11/17 a & m > < ui = õ 8 o s a E Ss " q há Ss so - && 1a o HÁ [e T | oã “ OE <ã O =r & Es ZE z aÉ | És q Lo Ss o ú mu >
Ts 12/17 Ss - s s Ss = mn nm o o x é É o o 8 o s R = = o s - < > - - ie “ o e z e o < = E zo o u< Ns sã z o zo ” = o 8 e
Ó—N———— LEE 1317 Z 3 — - 3 “7” Ó : Z ã om - TP. du 1 to oo s >m lan o são LA Re ! My Ss — » s Dá: ss =
UN Db , .— (A - | Ê e & = &< nn " Draw / à = E Sã e = 8 a =
S !
VV QUO e "e.
A o E
RIO OCO :ia£< o < Ss ' ; : ; ima! so : É =. : * R& o ... O - NONOMO) "AR d <
A PQ IDO O ss AL < <
: FATO]
À IO ' * | III 7 E EH Ss & A > | IA e
A [BE PLE | LEVA | « EV IA A, | à ss Ti iHÍ1l/A| Ss à li) HIV) | lo | HH +11) Lila da a Lala Da la] LAVA VV | « AA VV VV | € AAA 1h | < d dA tlAdA er) S Alia VV) = ViÁAadAde) E MAIA AÃE)
: FE : Eq ooo a Fr E e do dE] e Fos=s= ErmFms== PrFHFEFR]
FA « EAAAAAZE) sas AAA 8
EAR
FAAO
FA AAA FAAÁIZ=E] | FBPrEEEER [Ir [AV "Add ib à sq AAA) e TVA)
PPA AAA A dA
E E ETA tTTIRTaoo cel: era
AFA Es TAS
BR112012009533-1A 2009-10-21 2010-09-16 Método para decodificar um fluxo de bit BR112012009533B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/603,100 US20110090952A1 (en) 2009-10-21 2009-10-21 Directional Transforms for Video and Image Coding
US12/603100 2009-10-21
PCT/JP2010/066621 WO2011048909A2 (en) 2009-10-21 2010-09-16 Method for decoding a bitstream

Publications (2)

Publication Number Publication Date
BR112012009533A2 true BR112012009533A2 (pt) 2020-07-07
BR112012009533B1 BR112012009533B1 (pt) 2021-09-28

Family

ID=43879261

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012009533-1A BR112012009533B1 (pt) 2009-10-21 2010-09-16 Método para decodificar um fluxo de bit

Country Status (12)

Country Link
US (1) US20110090952A1 (pt)
EP (1) EP2491716B1 (pt)
JP (1) JP5409909B2 (pt)
KR (1) KR101351714B1 (pt)
CN (1) CN102763410B (pt)
BR (1) BR112012009533B1 (pt)
DE (1) DE112010004109B4 (pt)
ES (1) ES2793499T3 (pt)
MX (1) MX2012004642A (pt)
PL (1) PL2491716T3 (pt)
RU (1) RU2486691C1 (pt)
WO (1) WO2011048909A2 (pt)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8537899B1 (en) * 2010-02-19 2013-09-17 Otoy, Inc. Fast integer and directional transforms for data encoding
US20110243220A1 (en) * 2010-04-05 2011-10-06 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order
JP2011259205A (ja) * 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
CN102281435B (zh) * 2010-06-11 2013-10-02 华为技术有限公司 编码方法、解码方法、编码装置、解码装置及编解码系统
US9392301B2 (en) 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
KR101718954B1 (ko) * 2011-10-17 2017-03-22 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
US20130114685A1 (en) * 2011-11-07 2013-05-09 Sharp Laboratories Of America, Inc. Video decoder with constrained dynamic range
US9167261B2 (en) 2011-11-07 2015-10-20 Sharp Laboratories Of America, Inc. Video decoder with constrained dynamic range
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US20140307780A1 (en) * 2013-04-11 2014-10-16 Mitsubishi Electric Research Laboratories, Inc. Method for Video Coding Using Blocks Partitioned According to Edge Orientations
RU2740863C2 (ru) * 2016-05-13 2021-01-21 Сони Корпорейшн Устройство и способ обработки изображения
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
EP3451663A1 (en) 2017-08-31 2019-03-06 Thomson Licensing Pools of transforms for local selection of a set of transforms in video coding
CN107547814B (zh) * 2017-09-28 2019-10-15 维沃移动通信有限公司 一种视频录制方法、移动终端
US10999604B2 (en) 2018-04-13 2021-05-04 Mediatek Inc. Adaptive implicit transform setting
US11297348B2 (en) * 2018-04-13 2022-04-05 Mediatek Inc. Implicit transform settings for coding a block of pixels
CN112166609B (zh) * 2018-06-08 2024-10-18 株式会社Kt 用于处理视频信号的方法和设备
US11025937B2 (en) * 2019-03-16 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11616966B2 (en) * 2019-04-03 2023-03-28 Mediatek Inc. Interaction between core transform and secondary transform

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3298915B2 (ja) * 1991-12-28 2002-07-08 ソニー株式会社 符号化装置
JPH0683442A (ja) * 1992-09-04 1994-03-25 Sanyo Electric Co Ltd 走行ロボット
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
KR100371130B1 (ko) * 1996-05-28 2003-02-07 마쯔시다덴기산교 가부시키가이샤 화상예측 복호화 장치 및 그 방법과 화상예측 부호화 장치및 그 방법
US6671322B2 (en) * 2001-05-11 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Video transcoder with spatial resolution reduction
JP2003309848A (ja) * 2002-04-12 2003-10-31 Canon Inc 画像符号化装置及びその制御方法
AU2003285850A1 (en) * 2002-04-23 2004-04-30 Nokia Corporation Method and device for indicating quantizer parameters in a video coding system
US7376280B2 (en) * 2002-07-14 2008-05-20 Apple Inc Video encoding and decoding
JP4253572B2 (ja) * 2003-12-08 2009-04-15 株式会社東芝 画像符号化装置、画像符号化方法および画像符号化プログラム
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7565020B2 (en) * 2004-07-03 2009-07-21 Microsoft Corp. System and method for image coding employing a hybrid directional prediction and wavelet lifting
RU2368095C1 (ru) * 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
KR100750145B1 (ko) * 2005-12-12 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
KR100772873B1 (ko) * 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
US8756482B2 (en) * 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US8331444B2 (en) * 2007-06-26 2012-12-11 Qualcomm Incorporated Sub-band scanning techniques for entropy coding of sub-bands
JP2009272727A (ja) * 2008-04-30 2009-11-19 Toshiba Corp 予測誤差の方向性に基づく変換方法、画像符号化方法及び画像復号化方法
WO2010018992A2 (en) * 2008-08-12 2010-02-18 Lg Electronics Inc. Method of processing a video signal
US8514942B2 (en) * 2008-12-31 2013-08-20 Entropic Communications, Inc. Low-resolution video coding content extraction
US8451903B2 (en) * 2009-05-14 2013-05-28 Massachusetts Institute Of Technology Selecting transforms for compressing visual data

Also Published As

Publication number Publication date
DE112010004109T5 (de) 2012-11-15
EP2491716A2 (en) 2012-08-29
CN102763410B (zh) 2016-04-27
WO2011048909A3 (en) 2012-05-18
BR112012009533B1 (pt) 2021-09-28
KR20120079137A (ko) 2012-07-11
PL2491716T3 (pl) 2020-08-24
US20110090952A1 (en) 2011-04-21
DE112010004109B4 (de) 2022-11-10
WO2011048909A2 (en) 2011-04-28
KR101351714B1 (ko) 2014-01-16
EP2491716B1 (en) 2020-04-29
MX2012004642A (es) 2012-05-29
JP5409909B2 (ja) 2014-02-05
ES2793499T3 (es) 2020-11-16
CN102763410A (zh) 2012-10-31
JP2013507794A (ja) 2013-03-04
RU2486691C1 (ru) 2013-06-27

Similar Documents

Publication Publication Date Title
BR112012009533A2 (pt) método para decodificar um fluxo de bit.
CN115604472B (zh) 用于代码化视频数据块的方法和装置
KR101356733B1 (ko) 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
JP6284954B2 (ja) イントラ予測のためのモード決定の簡略化
RU2606066C2 (ru) Способ и устройство для кодирования/декодирования видеоданных
RU2612624C2 (ru) Способ и устройство для энтропийного кодирования видео и способ и устройство для энтропийного декодирования видео
RU2720975C2 (ru) Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы
US8761240B2 (en) Methods and devices for data compression using context-based coding order
CN104394418B (zh) 一种视频数据编码、解码的方法及装置
CN107347155B (zh) 用于编码和解码图像的方法、编码和解码设备
BR112012025206B1 (pt) Dispositivo de decodificação de imagem em movimento
BR112014001056B1 (pt) Varredura de coeficiente em codificação de vídeo
US20190215533A1 (en) Transform coefficient coding using level maps
CN104883565A (zh) 一种高效视频编码的帧内预测模式决策方法及装置
KR20140029533A (ko) 비디오 코딩에서 최종 유의 변환 계수의 스캔 순서의 위치 도출
WO2012092761A1 (en) Method and apparatus for improved intra prediction mode coding
JP2014523186A (ja) エントロピー符号化/復号化方法及びその装置
US11736721B2 (en) Methods and devices for coding and decoding a data stream representative of at least one image
CN110868587A (zh) 一种视频图像预测方法及装置
US20110090954A1 (en) Video Codes with Directional Transforms
US20230056211A1 (en) Video encoding method and apparatus, video decoding method and apparatus, computer program product, computer-readable storage medium, and electronic device
JP6348742B2 (ja) 画像間予測方法およびデバイス並びに対応する符号化方法および装置
KR20170084213A (ko) 디지털 이미지의 블록을 처리하는 시스템 및 방법
US10616586B2 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
WO2019150435A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 7/26 , H04N 7/30

Ipc: H04N 19/122 (2014.01), H04N 19/147 (2014.01), H04N

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 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 16/09/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.