BRPI0510076B1 - método e sistema de processamento para a criação de um particionamento de árvore estruturado - Google Patents

método e sistema de processamento para a criação de um particionamento de árvore estruturado Download PDF

Info

Publication number
BRPI0510076B1
BRPI0510076B1 BRPI0510076A BRPI0510076A BRPI0510076B1 BR PI0510076 B1 BRPI0510076 B1 BR PI0510076B1 BR PI0510076 A BRPI0510076 A BR PI0510076A BR PI0510076 A BRPI0510076 A BR PI0510076A BR PI0510076 B1 BRPI0510076 B1 BR PI0510076B1
Authority
BR
Brazil
Prior art keywords
color
node
nodes
bits
leaf
Prior art date
Application number
BRPI0510076A
Other languages
English (en)
Inventor
Yang En-Hui
Zeng Jianfen
Original Assignee
Slipstream Data Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/831,656 external-priority patent/US7525552B2/en
Application filed by Slipstream Data Inc filed Critical Slipstream Data Inc
Publication of BRPI0510076A publication Critical patent/BRPI0510076A/pt
Publication of BRPI0510076B1 publication Critical patent/BRPI0510076B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/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/186Methods 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 colour or a chrominance component
    • 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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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/94Vector quantisation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Color Television Systems (AREA)
  • Color Image Communication Systems (AREA)
  • Chemical And Physical Treatments For Wood And The Like (AREA)
  • Heat Sensitive Colour Forming Recording (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

método, sistema e produto de software para decodificação de imagem colorida a presente invenção se refere à compressão de dados de imagem colorida. uma combinação de mapeamento de pixel de decisão rígida e de mapeamento de pixel de decisão flexível é usada para se dirigir conjuntamente à distorção de quantificação e à taxa de compressão enquanto se mantêm a complexidade computacional baixa e a compatibilidade com decodificadores padronizados, tal como, por exemplo, um decodificador de gif/png.

Description

MÉTODO E SISTEMA DE PROCESSAMENTO PARA A CRIAÇÃO DE UM PARTICIONAMENTO DE ÁRVORE ESTRUTURADO
Campo da Invenção [001] A presente invenção se refere a um método, um sistema e um produto de software para uma codificação de imagem colorida.
Antecedentes da Invenção [002] Nos últimos anos, o volume de dados de imagem colorida na Internet está crescendo explosivamente. Em particular, devido à crescente popularidade de websites, câmeras digitais e jogos on-line, os dados de imagem colorida se tornaram uma porção significativa do tráfego da Internet. Por outro lado, o acesso a imagens coloridas através de canais sem fio ou via dispositivos pequenos de potência baixa ainda consome tempo e é inconveniente, o que é devido principalmente às limitações do dispositivo de exibição de imagem, armazenamento e largura de banda de transmissão se tornou um gargalo para muitos aplicativos de multimídia -veja, por exemplo, J. Barrilleaux, R. Hinkle, e S. Wells, "Efficient vector quantization for color image encoding", Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP '87, vol. 12, pp. 740-743, abril de 1987 (a partir deste ponto, a "referência [1]"), M. T.Orchard e C. A.Bouman, "Color quantization of images", Signal Processing, IEEE Transactions on, vol. 39, no. 12, pp. 2677 - 2690, dezembro de 1991 (a partir deste ponto, a "referência [2]"), I. Ashdown, "Octree color quantization", C/C++ Users Journal, vol. 13, no. 3, pp. 31-43, 1994 (a partir deste ponto, a "referência [3]"), X. Wu, "Yiq vector quantization in a new color palette architecture", IEEE Trans. on Image Processing, vol. 5, no. 2, pp. 321-329, 1996 (a partir deste ponto, a "referência [4]"), L. Velho, J. Gomes, e Μ. V. R. Sobreiro, "Color image quantization by pairwise clustering," Proc. Tenth Brazilian Symp. Comput. Graph. Image Process., L. H. de Figueiredo e M. L. Netto, Eds. Campos do Jordão, Espanha, pp. 203-210, 1997 (a partir deste ponto, a "referência [5]") e S. Wan, P. Prusinkiewicz, e S. Wong, "Variance-based color image quantization for frame buffer display", Res. Appl. , vol. 15, pp. 52- 58, 1990 (a partir deste ponto, a "referência [6]").
[003] Uma forma de aliviar as limitações acima é aplicar esquemas de codificação de imagem colorida eficientes, os quais comprimem, otimizam ou recodificam imagens coloridas. Um esquema de codificação de imagem colorida tipico consiste em uma paleta de cores, um mapeamento de pixel e um código sem perda. A paleta de cores atua como um livro de código de quantificação de vetor, e é usada para a representação de todas as cores na imagem colorida original. O mapeamento de pixel então mapeia cada pixel na imagem em um indice correspondente a uma cor na paleta de cores. O mapeamento de pixel poderia ser um mapeamento de pixel de decisão rigida para o qual a quantificação de um vetor de cor de RGB em uma cor da paleta de cores é fixa e independente da localização de pixel no vetor de cor de RGB na imagem, uma vez que a paleta de cores seja dada, ou um mapeamento de pixel de decisão flexível para o qual um vetor de cor de RGB pode ser quantificado em cores diferentes da paleta de cores em localizações de pixel diferentes. A sequência de índice resultante do mapeamento de pixel é finalmente codificada por um código sem perda.
[004] Previamente, o projeto de paleta de cores, o mapeamento de pixel e a codificação eram investigados separadamente. No projeto de paleta de cores e mapeamento de pixel, a parte de codificação frequentemente é ignorada e o objetivo principal é reduzir a distorção de quantificação, melhorar a qualidade visual de imagens quantificadas e diminuir a complexidade computacional. Vários métodos de quantificação de imagem colorida de divisão e fusão de árvore estruturada são propostos na literatura - veja, por exemplo, as referências [1] a [6] - para a obtenção, mais ou menos, deste objetivo.
[005] Por outro lado, quando a codificação é concernida, a paleta de cores e o mapeamento de pixel frequentemente são assumidos como sendo dados, e o objetivo é projetar códigos eficientes para a sequência de indice, de modo a se reduzir a taxa de compressão. Por exemplo, um algoritmo para uma compressão com perda no espaço de cor LUV de imagens coloridas quantificadas foi dado em A. Zaccarin e B. Liu, "A novel approach for coding color quantized image", Image Processing, IEEE Transactions on, vol. 2, no. 4, pp. 442453, outubro de 1993 (a partir deste ponto, a "referência [7]"). Duas soluções heurísticas foram propostas em N. D.Memon e A. Venkateswaran, "On ordering color maps for lossless predictive coding", IEEE Transactions on Image Processing, vol. 5, no. 11, pp. 1522-1527, 1996 (a partir deste ponto, a "referência [8]"), para a reordenação de mapas coloridos, antes da codificação da imagem por técnicas de codificação preditiva sem perda. Com base em uma estrutura de árvore binária e uma codificação de entropia baseada em contexto, um algoritmo de compressão foi proposto em X. Chen, S. Kwong, e J. fu Feng, "A new compression scheme for color-quantized images", Circuits and Systems for Video Technology, IEEE Transactions on, vol. 12, no. 10, pp. 904908, outubro de 2002 (a partir deste ponto, a "referência [9]") para a provisão de uma codificação progressiva de imagens coloridas quantificadas. Nestes algoritmos, a eficiência de compressão é obtida à custa de fluxos de bit comprimidos incompatíveis com decodificadores padronizados, tal como o decodificador de GIF/PNG.
Sumário da Invenção [006] De acordo com um primeiro aspecto da presente invenção, é provido um método para a criação, a partir de uma imagem colorida digitalizada com N cores distintas usando-se um sistema de processamento de dados, um particionamento estruturado de árvore de todos os pixels na imagem colorida digitalizada em M agrupamentos disjuntos, onde M é menor do que ou igual a N, cada cor nas N cores distintas sendo digitalmente representada por uma pluralidade de bytes de P bits em uma paleta de cores, e os P bits em cada byte de P bits são ordenados a partir do mais significativo para o menos significativo. O método compreende (a) a provisão de um nó de raiz que compreende todas as N cores distintas; (b) a provisão de um primeiro nível de nós irmãos ligados ao nó de raiz, onde cada cor nas N cores distintas é alocada pelo sistema de processamento de dados para um nó associado no primeiro nível de nós irmãos, com base em um valor de um primeiro bit em cada byte de P bits na pluralidade de bytes de P bits; (c) para cada nó no k-ésimo nível de nós compreendendo mais de uma cor, a provisão de uma pluralidade de nós irmãos em um (k+l)-ésimo nível, onde cada cor naquele nó é alocada pelo sistema de processamento de dados a um nó irmão na pluralidade de nós irmãos no (k+l)-ésimo nível, com base em um valor de um (k+l)-ésimo bit em cada byte de P bits na pluralidade de bytes de P bits para aquela cor, de modo que para cada cor nas N cores distintas haja um nó folha distinto compreendendo aquela cor apenas; e (d) a seleção e a fusão de nós folhas até haver apenas M nós folhas deixados.
[007] De acordo com um segundo aspecto da presente invenção, é provido um sistema de processamento de dados para a criação, a partir de uma imagem colorida digitalizada com N cores distintas, um particionamento estruturado de árvore de todos os pixels na imagem colorida digitalizada em M agrupamentos disjuntos, onde M é menor do que ou igual a N, cada cor nas N cores distintas sendo digitalmente representada por uma pluralidade de bytes de P bits em uma paleta de cores, e os P bits em cada byte de P bits são ordenados a partir do mais significativo para o menos significativo. O sistema de processamento de dados compreende (a) um meio de criação de nó para (i) a provisão de um nó de raiz que compreende todas as N cores distintas; (ii) a provisão de um primeiro nível de nós irmãos ligados ao nó de raiz, onde cada cor nas N cores distintas é alocada pelo sistema de processamento de dados para um nó associado no primeiro nível de nós irmãos, com base em um valor de um primeiro bit em cada byte de P bits na pluralidade de bytes de P bits; e (iii) para cada nó no k-ésimo nível de nós compreendendo mais de uma cor, a provisão de uma pluralidade de nós irmãos em um (k+l)-ésimo nível, onde cada cor naquele nó é alocada pelo sistema de processamento de dados a um nó irmão na pluralidade de nós irmãos no (k+l)-ésimo nível, com base em um valor de um (k+l)-ésimo bit em cada byte de P bits na pluralidade de bytes de P bits para aquela cor, de modo que para cada cor nas N cores distintas haja um nó folha distinto compreendendo aquela cor apenas; e (b) um meio de fusão de nó para a seleção e a fusão de nós folhas até haver apenas M nós folhas deixados.
[008] De acordo com um terceiro aspecto da presente invenção, é provido um produto de programa de computador para uso em um sistema de computador para a criação, a partir de uma imagem colorida digitalizada com N cores distintas, um particionamento estruturado de árvore de todos os pixels na imagem colorida digitalizada em M agrupamentos disjuntos, onde M é menor do que ou igual a N, cada cor nas N cores distintas sendo digitalmente representada por uma pluralidade de bytes de P bits em uma paleta de cores, e os P bits em cada byte de P bits são ordenados a partir do mais significativo para o menos significativo. O produto de programa de computador compreende um meio de gravação; um meio gravado no meio para instrução do sistema de computador para a realização das etapas de: (a) a provisão de um nó de raiz que compreende todas as N cores distintas; (b) a provisão de um primeiro nível de nós irmãos ligados ao nó de raiz, onde cada cor nas N cores distintas é alocada para um nó associado no primeiro nível de nós irmãos, com base em um valor de um primeiro bit em cada byte de P bits na pluralidade de bytes de P bits; (c) para cada nó no k-ésimo nível de nós compreendendo mais de uma cor, a provisão de uma pluralidade de nós irmãos em um (k+l)-ésimo nível, onde cada cor naquele nó é alocada para um nó irmão na pluralidade de nós irmãos no (k+l)-ésimo nível, com base em um valor de um (k+l)-ésimo bit em cada byte de P bits na pluralidade de bytes de P bits para aquela cor, de modo que para cada cor nas N cores distintas haja um nó folha distinto compreendendo aquela cor apenas; e (d) a seleção e a fusão de nós folhas até haver apenas M nós folhas deixados.
[009] De acordo com um quarto aspecto da presente invenção, é provido um método para a derivação de uma nova sequência de índice representando um mapeamento de pixel e uma nova função de saída representando uma paleta de cores para uma nova imagem colorida digitalizada derivada de uma imagem colorida digitalizada original ambas definidas em n pixels, onde a imagem colorida digitalizada original é provida por N cores distintas sendo alocadas aos n pixels, a nova imagem colorida digitalizada é provida por M cores distintas sendo alocadas aos n pixels, a nova sequência de índice tem n membros de índice para a representação dos n pixels e a nova função de saída é para o mapeamento dos n membros de índice para as M cores. O método compreender (a) a provisão de uma nova primeira sequência pelo particionamento de todos os pixels na imagem colorida digitalizada original em M agrupamentos disjuntos com base em uma cor de cada pixel na imagem colorida digitalizada original, sem consideração com a localização do pixel na imagem colorida digitalizada original, onde M é menor do que ou igual a N; (b) a provisão de uma primeira nova função de saída para a provisão de um mapeamento um a um das M cores distintas nos pixels nos M agrupamentos disjuntos; (c) a aplicação de um processo de otimização de decisão flexível para a primeira nova sequência de índice e a primeira nova função de saída, respectivamente, com base em, para cada membro da primeira nova sequência de índice, como um valor de cor atribuído àquele membro pela primeira nova função de saída se correlaciona com o valor de cor atribuído a pelo menos um outro membro da primeira nova sequência de índice pela primeira nova função de saída.
[010] De acordo com um quinto aspecto da presente invenção, é provido um sistema de processamento de dados para a derivação de uma nova sequência de índice representando um mapeamento de pixel e uma nova função de saída representando uma paleta de cores para uma nova imagem colorida digitalizada derivada de uma imagem colorida digitalizada original ambas definidas em n pixels, onde a imagem colorida digitalizada original é provida por N cores distintas sendo alocadas aos n pixels, a nova imagem colorida digitalizada é provida por M cores distintas sendo alocadas aos n pixels, a nova sequência de índice tem n membros de índice para a representação dos n pixels e a nova função de saída é para o mapeamento dos n membros de índice para as M cores. O sistema de processamento de dados compreende (a) um módulo de decisão rígida para (i) a provisão de uma nova primeira sequência pelo particionamento de todos os pixels na imagem colorida digitalizada original em M agrupamentos disjuntos com base em uma cor de cada pixel na imagem colorida digitalizada original, sem consideração com a localização do pixel na imagem colorida digitalizada original, onde M é menor do que ou igual a N, e (ii) a provisão de uma primeira nova função de saída para a provisão de um mapeamento um a um das M cores distintas nos pixels nos M agrupamentos disjuntos; e (b) um módulo de decisão flexível para a aplicação de um processo de otimização de decisão flexível para a primeira nova sequência de índice e a primeira nova função de saída, respectivamente, com base em, para cada membro da primeira nova sequência de índice, como um valor de cor atribuído àquele membro pela primeira nova função de saída se correlaciona com o valor de cor atribuído a pelo menos um outro membro da primeira nova sequência de índice pela primeira nova função de saída.
[011] De acordo com um sexto aspecto da presente invenção, é provido um produto de programa de computador para uso em um sistema de computador para a criação de um mapeamento de pixel e uma nova função de saída representando uma paleta de cores para uma nova imagem colorida digitalizada derivada a partir de uma imagem colorida digitalizada original, ambas definidas em n pixels, onde a imagem colorida digitalizada original é provida por N cores distintas sendo alocadas aos n pixels, a nova imagem colorida digitalizada é provida por M cores distintas sendo alocadas aos n pixels, a nova sequência de índice tem n membros de índice para a representação dos n pixels e a nova função de saída é para o mapeamento dos n membros de índice para as M cores. O produto de programa de computador compreender um meio de gravação; um meio gravado no meio para instrução do sistema de computador para a realização das etapas de: (a) provisão de uma nova primeira sequência pelo particionamento de todos os pixels na imagem colorida digitalizada original em M agrupamentos disjuntos com base em uma cor de cada pixel na imagem colorida digitalizada original, sem consideração com a localização do pixel na imagem colorida digitalizada original, onde M é menor do que ou igual a N; (b) provisão de uma primeira nova função de saída para a provisão de um mapeamento um a um das M cores distintas nos pixels nos M agrupamentos disjuntos; (c) aplicação de um processo de otimização de decisão flexível para a primeira nova sequência de índice e a primeira nova função de saída, respectivamente, com base em, para cada membro da primeira nova sequência de índice, como um valor de cor atribuído àquele membro pela primeira nova função de saída se correlaciona com o valor de cor atribuído a pelo menos um outro membro da primeira nova sequência de índice pela primeira nova função de saída. Breve Descrição dos Desenhos [012] Uma descrição detalhada de aspectos preferidos da invenção é provida aqui abaixo, com referência aos desenhos a seguir, nos quais: a Figura 1 em um diagrama de blocos ilustra um sistema de computador de acordo com um aspecto preferido da presente invenção; a Figura 2 em um gráfico ilustra uma estrutura de árvore (estrutura de dados - "octree") de acordo com um aspecto preferido da invenção; a Figura 3, em um gráfico, ilustra um algoritmo de Viterbi de acordo com uma primeira variante de um aspecto de otimização de decisão flexível da presente invenção; a Figura 4, em um gráfico, ilustra um algoritmo de Viterbi de acordo com uma segunda variante de um aspecto de otimização de decisão flexível da presente invenção; a Figura 5, em um diagrama de blocos, ilustra uma CPU do sistema de computador da Figura 1.
Descrição Detalhada de Modalidades Preferidas da Invenção [013] Com referência à Figura 1, é ilustrado em um diagrama de blocos um sistema de computador 10 de acordo com um aspecto da invenção. 0 sistema de computador compreende uma memória 12 para o armazenamento de dados de imagem colorida, um monitor 14 para exibição de imagens coloridas digitais, uma CPU 16 para processamento de imagem e para a provisão de compressão de dados de cor que conjuntamente otimizam a quantificação, a distorção e o peso de compressão, enquanto se mantêm uma baixa complexidade computacional e compatibilidade com decodificadores de GIF/PNG, e um codificador 20, tal como um codificador de GIF ou um codificador de PNG para a codificação dos dados de imagem colorida antes de sua transmissão a partir do sistema de computador 10 através do conduto de transmissão 20.
[014] O problema de otimização conjunta de codificação de imagem colorida pode ser definido como se segue: seja Ω = {(r, g, b)|0 < r, g, b < 255} o espaço de cor RGB. Assuma que O = {o0, ol ..., oN-1} seja a paleta de cores de uma imagem colorida original a qual tem N cores distintas. Se o número total de pixels na imagem original for n, nós obtemos uma sequência de índice I = (iO, il ..., in-1) pela varredura da imagem colorida do topo até o fundo e da esquerda para a direita, onde ik significa que o vetor de cor do k-ésimo pixel é °lk . Se nos confinarmos a usar a nova paleta de cores C com M cores (Μ < N) para a reprodução da imagem colorida original, o codificador de otimização conjunta tem por objetivo encontrar uma nova paleta de cores C = {c0, cl ..., cM-1}, uma nova sequência de índice U = (uO, ul ..., un-1), e uma função de comprimento de palavra de código sem perda 1 para a reprodução da imagem original e para a minimização da função de custo: [015] Onde λ é um multiplicador lagrangeano e d é o erro O ■ c ■ ao quadrado incorrido pela representação de lk por lk : [016] Uma vez que há um mapeamento um a um entre uma função de comprimento de palavra de código sem perda e um código sem perda, uma seleção de uma função de comprimento de palavra de código sem perda é equivalente àquela de um código sem perda.
[017] Claramente, é o erro ao quadrado total (TSE), o qual está proximamente relacionado à qualidade visual das imagens coloridas quantificadas. Note que a minimização de TSE ou outras medidas de distorção similares é a única finalidade dos métodos orientados para quantificação considerados nas referências [1] a [6] . De modo similar, dada a nova paleta de cores Ceo mapeamento de pixel (assim, a sequência de índice U), a minimização da taxa de bit n-11(U) dentre todas as funções de comprimento de palavra de código sem perda possíveis 1 é a única finalidade dos métodos de codificação para imagens coloridas quantificadas consideradas nas referências [7] a [9] . A função de custo dada acima propõe o problema de otimização conjunta da taxa e da distorção. A distorção de quantificação é determinada pela paleta de cores C e pelo mapeamento de pixel (isto é, a sequência de índice U) ; a taxa de compressão é determinada pelo mapeamento de pixel e pela função de comprimento de palavra de código sem perda 1. Aqui, obviamente, o mapeamento de pixel é um mapeamento de pixel de decisão flexível. Portanto, mesmo se a função de comprimento de palavra de código sem perda 1 for fixa, ainda se pode otimizar conjuntamente a taxa e a distorção pela mudança de C e U.
[018] Há muitas funções de comprimento de palavra de código sem perda 1, cada uma correspondente a um código de entropia diferente, tais como códigos de Huffman D. A. Huffman, "A method for the construction of minimum-redundancy codes," Proc. IRE, vol. 40, no. 9, pp. 1098-1101, 1952 (a partir deste ponto, a "referência [12]"), códigos de Lempel-ziv J. Ziv e A. Lempel, "A universal algorithm for sequential data compression," IEEE Trans. On Information Theory, vol. 23, pp. 337-343, 1977 (a partir deste ponto, a "referência [11]"), J. Ziv e A. Lempel IEEE Trans. Inform. Theory (a partir deste ponto, a "referência [10]"), códigos aritméticos I. H. Witten, M. Neal, e J. G. Cleary, "Arithmetic coding for data compression," Commun. ACM, vol. 30, pp. 520-540, junho de 1987 (a partir deste ponto, a "referência [13]"), códigos baseados em gramática, E. -H. Yang e J. C. Kieffer, "Efficient universal lossless data compression algorithms based on a greedy sequential grammar transform- part one: Without context models," IEEE Trans. On Information Theory, vol. 46, no. 3, pp. 755-777, maio de 2000 (a partir deste ponto, a "referência [14]"), J. C. Kieffer e E. -H. Yang, "Grammar based codes: A new class of universal lossless source codes," IEEE Trans. on Information Theory, vol. 46, no. 3, pp. 737- 754, maio de 2000 (a partir deste ponto, a "referência [15]"), E. -H. Yang e D. -K. He IEEE Trans. on Information Theory, vol. 49, pp. 2874-2894, 2003 (a partir deste ponto, a "referência [16]"), e códigos sem perda projetados especificamente para codificação de imagem colorida - veja as referências [7] a [9]. Uma vez que queremos manter a compatibilidade com um decodificador de GIF/PNG, nós escolhemos 1 como sendo o comprimento de palavra de código de LZ7 8 ou sua variante no caso de um decodif icador de GIF e do código LX7 7 ou sua variante no caso de um decodificador de PNG, J. Miano, "Compressed image file formats: Jpeg, png, gif, xbm, bmp," ACM Press, 2000 (a partir deste ponto, a "referência [17]"), o que será denotado em cada caso simplesmente por 1LZ (U) . Portanto, a função de custo a ser minimizada em nosso caso é: [019] A função de custo dada acima é de forma similar à função de custo definida na quantificação de vetor de entropia restrita (ECVQ), P. A. Chou, T. Lookabaugh, e R. M. Gray, "Entropy-constrained vector quantization," Acoustics, Speech, and Signal Processing [veja, também, IEEE Transactions on Signal Processing], IEEE Transactions on, vol. 37, no. 1, pp. 31-42, Jan. 1989 ((a partir deste ponto, a "referência [18]"), e, em particular, à função de custo definida na codificação de fonte de grade de taxa variável (VRTSE) , E. -H. Yang e Z. Zhang, "Variable rate trellis source encoding," IEEE Trans. on Information Theory, vol. 45, no. 2, pp. 586-608, março de 1999 (a partir deste ponto, a "referência [19]") . A VRTSE pode ser vista como uma generalização de quantificação escalar e quantificação vetorial de entropia restrita [18] no sentido de que faz uso de uma estrutura de grade e conjuntamente otimiza a taxa resultante, a distorção e o percurso de codificação selecionado. Sua performance eficiente, especialmente nas regiões de taxa baixa, torna a VRTSE particularmente aplicável a uma codificação de imagem colorida, onde uma alta taxa de compressão frequentemente é desejada para poupar espaço de armazenamento e tempo de transmissão.
[020] Com base em VRTSE, nós desenvolvemos dois métodos de acordo com um aspecto da invenção, uma quantidade de cor de grade de taxa variável (VRTCQ) 1 e VRTCQ 2, para se otimizarem conjuntamente a distorção de quantificação e a taxa de compressão, enquanto se mantêm uma complexidade computacional baixa e uma compatibilidade com o decodificador de GIF/PNG. Ambas VRTCQ 1 e VRTCQ 2 usam um mapeamento de pixel de decisão flexível, e são interativas. Além disso, de acordo com um outro aspecto da invenção, uma quantificação de fusão hierárquica de entropia restrita (ECHMQ), a qual usa a estrutura de dados de octree para cores RGB e localmente minimiza um custo de entropia restrita para a imagem colorida quantificada, é desenvolvida para a provisão de um esquema de codificação de imagem colorida inicial para VRTCQ 1 e VRTCQ 2. Por si mesma, a ECHMQ provê uma forma eficiente de trade-off entre a taxa e a distorção da imagem colorida quantificada.
Breve Revisão de Codificação de Fonte de Grade de Taxa Variável [021] A codificação de fonte de grade de taxa variável apresentada em [19] é uma extensão de uma codificação com perda de inclinação fixa, E. hui Yang, Z. Zhang, e T. Berger, "Fixed-slope universal lossy data compression," IEEE Trans. on Information Theory, vol. 43, no. 5, pp. 1465-1476, setembro de 1997 (a partir deste ponto, a "referência [20]"), para o caso de decodificadores estruturados com grade. Para cada sequência de fonte de valor real xn = (xO, xl ..., xn- 1) e Rn, ela tem por objetivo encontrar uma sequência un = Mn (uO, ul ..., un-1) e set, Mset = {0, 1, ..., M-l}, para a minimização da função de custo: onde λ é um dado multiplicador lagrangeano, 1 é uma função de comprimento de palavra de código sem perda, p(un) = (z0, zl ..., zn-1) é a sequência de reprodução correspondente a un, e p é a distorção de erro ao quadrado definida por: para qualquer xn =(x0, xl ..., xn-1) e zn =(z0, zl ..., zn-1).
[022] A sequência de reprodução p(un) é determinada a partir de un através de um decodificador estruturado com grade β(ί, g) , onde f: S X Mset —> S é uma função de transição de estado, S = {s0, sl ..., s|s|—1} é um conjunto de estados, e g: S X Mset —> R é uma função de saída. As funções f e g determinam a estrutura de grade e o conjunto de níveis de reprodução (similares a uma paleta de cores), respectivamente. Dado um estado inicial , a sequência de reprodução p(un) = (zO, zl ..., zn-1) é computada como se segue: [023] Em outras palavras, mediante receber un, o decodificador β extrai a sequência de reprodução p(un) = (zO, £ zl ..., zn-1) enquanto atravessa os estados de sequência í0 Sü Sin f f ■ ■ ■ f [024] Fixar β. Selecionar 1 para ser a função de comprimento de palavra de código aritmética estática de ordem Lw k k com a função de probabilidade de transição de ordem k W(u|uk). O algoritmo de Viterbi então pode ser usado para se encontrar a sequência ótima un: Lw [025] Fixar f. A otimização conjunta de g, un, e k (ou, de forma equivalente, W(u|uk) pode ser descrita como: [026] Um algoritmo alternativo foi proposto em [19] para a resolução do problema de otimização conjunta (2.5) . O procedimento deste algoritmo alternativo é como se segue: Etapa 1: Regular t = 0. Selecionar uma função de saída g(0) e uma função de probabilidade de transição W(0) que satisfaçam a: Etapa 2: Fixar g(t) e W(t). Usar o algoritmo de Viterbi para encontrar uma sequência satisfazendo à Equação (2.4) com g substituído por g(t) e W por W(t). / «yo / «yo Etapa 3: Fixar v* > . Ά sequência de indice v* > dá margem à atualização da função de probabilidade de transição e da função de saida como: onde w/-t "Μ>ί···Μ/-ΐ’όι,’7“θΛ···)η 1 sao os estadOs atravessados í -v0 Delo decodificador de grade (£, g(t)) em resposta a 1 ' , e é tomado por todo j satisfazendo a s'i~s e Uj "U.
Etapa 4: Repetir etapas 2 a 3 para t = 0, 1, 2, ... até Lw(t) onde ς é um limite pequeno prescrito, e k é a função de comprimento de palavra de código aritmética estática de ordem k associada à função de probabilidade de transição de n <t+1) ordem k W(t) (u|uk) . Então, extrair g(t+l) , (u ) e W(t+1) .
[027] A performance de VRTSE é assintoticamente próxima da distorção de taxa limitada, conforme mostrado pelos Teoremos 3 e 4 na referência [19] . Os resultados experimentais por fontes gaussianas, laplacianas e de Gauss-Markov mostram que VRTSE é especialmente adequada para uma codificação de taxa baixa. Para aplicar VRTSE a uma codificação de imagem colorida, os problemas a seguir devem ser resolvidos: Problema 1: a função de comprimento de palavra de código sem perda usada em VRTSE é uma função de comprimento de palavra de código aritmética estática de ordem k Lk. Por outro lado, no presente exemplo de codificação de imagem colorida, a função de comprimento de palavra de código sem perda é a função de comprimento de palavra de código de Lempel-ziv 1LZ.
Problema 2: em VRTSE, a etapa de inicialização, Etapa 1, é não especificada. Isto é, como selecionar as funções iniciais g(0) e W(0) é deixado aberto em VRTSE. Isso se traduz, em nosso cenário de codificação de imagem colorida, em como projetar um esquema de codificação de imagem colorida inicial.
Problema 3: para reduzir sua complexidade computacional, a regulagem de índice Mset em VRTSE frequentemente é escolhida para ser binária com Mset =2, de modo que um comprimento de palavra de código aritmética de ordem alta possa ser usado. Por outro lado, em uma codificação de imagem colorida, a cardinalidade M usualmente é relativamente grande, e poderia ser tão grande quanto 256. Portanto, uma nova forma de reduzir a complexidade computacional é necessária.
[028] Para se contornar o Problema 1, nós delimitaremos de forma superior a função de comprimento de palavra de código de Lempel-ziv 1LZ. Se 1LZ é a função de comprimento de palavra de código de LX78, então, se segue a partir da literatura de codificação de fonte sem perda (veja, por exemplo, [14]) que para qualquer sequência un = (uO, ul ..., un-1), onde rk(un) é a entropia empírica de ordem k de un em bits por símbolo, qk é a constante dependente apenas de k, e log significa o logaritmo em relação à base 2. Uma delimitação superior similar também é válida se 1LZ for a função de comprimento de palavra de código de LZ77. Ao invés de se minimizar 1/n 1LZ(un) sujeito a uma restrição de distorção, nós minimizamos rk(un) sujeito à mesma restrição de distorção em VRTCQ 1. Uma delimitação superior diferente será usada em VRTCQ 2. Os Problemas 2 a 3 são resolvidos abaixo.
Quantificação de Fusão Hierárquica de Entropia Restrita [029] De acordo com um aspecto da invenção, o problema 2 é resolvido através de uma quantificação de fusão hierárquica de entropia restrita (ECHMQ), a qual provê um esquema de codificação de imagem colorida inicial para VRTSE. A ECHMQ serve como o primeiro estágio, Estágio 1, para VRTCQ 1 e VRTCQ 2.
[030] A ECHMQ é uma quantificação de decisão rígida, a qual divide as N cores originais em N agrupamentos não sobrepostos, encontra uma cor reprodutiva para cada agrupamento, e determina a cor reprodutiva para cada cor original, independentemente da posição da cor original na imagem bidimensional. Ela tira vantagem da estrutura de dados de octree [3] e transige entre a taxa e a distorção pela minimização local de um custo de entropia restrita, o qual é definido abaixo.
[031] Dada uma imagem colorida de n pixels com uma paleta de cores O = {o0, ol ..., oN-1} e um tamanho de paleta de cores novo desejado Μ < N, nós usamos um quantificador de decisão rígida q para a divisão de N cores em M agrupamentos cO, cl . .., cM-1, os quais satisfazem para i # j, e 0 < i, j < M. (3.7) ' [032] As formas inteiras dos centróides dos agrupamentos constituem a paleta de cores C = {cO, cl . .., cM-1}, e o mapeamento para uma cor original para um agrupamento explicitamente mapeia cada pixel para um índice. Seja un = Mn (uO, ul . .., un-1) e set a sequência de índice obtida a partir do mapeamento de todos os pixels para índices. Então, o custo de entropia restrita da imagem quantificada é definido como: (3.8) onde λ é um multiplicador lagrangeano. Em (3.8), D(q) é o erro ao quadrado total (3-9) onde F(oi) , com 0 < i < N, é o número total de ocorrências de cor oi na imagem colorida original, e d(ok, cj) é o quadrado da distância euclidiana entre duas cores no espaço RGB, como definido na Equação (1.1) R(q) é o comprimento de palavra de código da sequência de índice un. Uma vez que o mapeamento de uma cor para um índice é independente da posição de cor na imagem colorida, a entropia de primeira ordem é usada para o cálculo do comprimento de palavra de código: [033] A função de custo definida na Equação (3.8) é similar à função lagrangeana definida na quantificação de vetor de entropia restrita (ECVQ) na referência [18] . A questão principal é projetar um quantificador de decisão rigida q com um boM trade-off de distorção de taxa e baixa complexidade de codificação. Uma estrutura de octree é usada para aceleração da fusão e a função de custo definida na Equação (3.8) para trade-off da taxa e da distorção da imagem quantificada.
[034] Diferentemente do procedimento de construção de octree dinamicamente, o qual varre a cor de cada pixel e a insere na árvore [3] , nós pegamos o histograma da imagem colorida original e construimos a octree inicial de uma vez. Com referência à Figura 2, é ilustrada em um gráfico uma octree 22, a qual contém todas as cores distintas e suas ocorrências em uma imagem colorida original. 0 nó de raiz 24, isto é, o nivel 0, inclui todas as cores distintas na imagem colorida. Uma vez que cada cor no espaço de cor RGB consiste em três bytes de 8 bits, cada um dos quais representando uma componente primária, os bits mais significativos dos três bytes determinam a posição da cor no nivel 1. Já que mais de uma cor passa por um nó, aquele nó é um nó intermediário 26 e deve ser adicionalmente dividido de acordo com a combinação de bits de RGB menos significativos. A cor passando por um nó folha 28 é chamada uma cor naquele nó folha 28, e a cor em si é realmente o centróide para aquele nó folha. A distância, em cada direção de componente de cor, entre os centróides de quaisquer dois nós irmãos folhas no nível k, cai na faixa de (0, 29-k) .
Obviamente, quanto maior for k, mais similares aquelas cores de centróide serão. Note que a octree 22 mostrada na Figura 2 é altamente desequilibrada e assimétrica por duas razões: em primeiro lugar, o número de cores que aparecem em uma imagem colorida comum é bem menor do que o número total de 224 cores disponível no espaço de RGB - veja a referência [17]; em segundo lugar, um nó pára de se dividir se houver apenas uma cor passando por ele.
[035] Cada cor distinta oi na imagem colorida original agora é colocada em um nó folha distinto 0i na octree. Pela fusão repetidamente de dois nós irmãos folhas de cada vez, nós podemos reduzir o número de nós folhas de N par uma. A forma inteira do centróide de cada nó folha resultante é uma cor na nova paleta de cores. Note que, após a fusão repetida de nós irmãos folhas, cada nó folha corresponde a um subconjunto de cores na paleta de cores da imagem colorida original.
[036] Assuma que O = {o0, ol ..., oN-1} seja a paleta de cores da imagem colorida original. Sejam 0i e 0j dois nós irmãos folhas sob o nó pai 0, onde 0(ίΊΘ;-0 . seja ci a cor de centróide para 0i, e cj a cor de centróide para 0j . O número Fi de ocorrências para o nó 0i é definido como a soma do número de ocorrências de cada cor no nó 0i F. o onde lt denota o número de ocorrências da cor lt na imagem original. O número F j de ocorrências do nó 0j é calculado de uma maneira similar: F. ο- onde Jt denota o número de ocorrências da cor :i na imagem original. Pela fusão dos dois nós Θϊ e 0j ao novo nó 0ij, isto é, Assim sendo, o número de ocorrências no nó 0ij = Fij = Fi + Fj. Assuma que as cores de valor real sejam permitidas. 0 lema a seguir dá um incremento de custo de entropia restrita resultante da fusão de 0i e 0j a 0ij.
Lema 1: Pela fusão dos nós 0i e 0j, o custo de entropia restrita é aumentado por: onde Cij é o centróide do nó 0ij, isto é, (3-12) Prova: 0 erro ao quadro total minimo é obtido quando nós reproduzimos todos os elementos em uma célula com o centróide daquela célula. Esta é a condição de centróide, S. P. Lloyd, "Least squares quantization in pcm," IEEE Trans. on Information Theory, no. 28, pp. 127-135, março de 1982 (a partir deste ponto, a "referência [21]"), amplamente usada em métodos de quantificação. Neste artigo, nós usamos o centróide de um nó folha como o nivel de quantificação, isto é, a cor de reprodução, para todas as cores naquele nó. Por meio disto, o custo de entropia restrita para cada fusor possível pode ser calculado, sem o cálculo da diferença entre o custo de entropia restrita antes do fusor e o custo de entropia restrita total após o fusor.
Uma vez o centróide do novo nó 0ij é: A equação (3.11) para o incremento de custo de entropia restrita Aj pode ser provada pelo cálculo do erro ao quadrado aumentado AD e do comprimento de palavra de código aumentado Ar separadamente. Faça D0i denotar o erro ao quadrado total causado pelo uso de Ci como o nível de quantificação para 0i. Então, . De modo similar , nós temos e . Substituindo-se Cij pela expressão na equação (3.12) e simplificando a expressão D(0ij), nós obtemos Portanto, Faça R0i denotar o número total de bits resultantes da codificação de entropia de todos os pixels com cores no nó 0i. Ent; . De modo similar, nós temo.1 . Assim, o que em conjunto com AD, implica em (3.11) . Isto completa a prova do Lema 1.
[037] O Lema 1 provê regras para a fusão de dois nós irmãos folhas. Nossa finalidade neste estágio é produzir um quantificador de decisão rígida que proporcionará um tradeoff eficiente entre a taxa e a distorção da imagem quantificada. Uma vez que a paleta de cores original é finita, poder-se-ia encontrar um quantificador de decisão rígida globalmente ótimo pela busca através de todas as combinações possíveis. Contudo, um método como esse tem alta complexidade computacional e, assim, não é possível para uma compressão em tempo real. 0 Lema 1 sugere uma alternativa -um método ganancioso de projetar um quantificador de decisão rígida estruturado em árvore. Com base na octree original com N nós folhas, pode-se repetidamente fundir dois nós irmãos folhas com o incremento mínimo de custo de entropia restrita até M nós folhas serem deixados. Um método como esse, quantificação de fusão hierárquica de entropia restrita dublada (ECHMQ) é rápido e proporciona um trade-off razoavelmente bom entre a taxa e a distorção da imagem quantificada. As etapas detalhadas da ECHMQ são como se segue: Etapa 1: Ler a imagem colorida original de n pixels X = (xO, xl ..., xn-1) e obter a paleta de cores 0 = {oO, ol ..., oN-1} e o número de ocorrências fi para cada cor oi, onde 0 < i < N.
Etapa 2: Construir a octree pela inserção de cada cor oi na árvore como um nó folha distinto 0i. E para cada nó folha 0i, 0 < i < N, computar seu centróide, ci = oi, TSE °θί = 9, número de ocorrências Fi = fi, e comprimento de palavra de código Etapa 3: Seja k = N.
Etapa 4: Computar, para cada dois nós irmãos folhas 0i e 0 j, o centróide cij pela Equação (3.12) e o incremento de custo de entropia restrita pela equação (3.11).
Etapa 5: Escolher, dentre todos os pares de nós irmãos folhas, os dois nós irmãos folhas 0p e 0q que minimizam o incremento de custo de entropia restrita calculado na etapa prévia. Fundir Θρ e 0q em um novo nó folha 0pq, o qual é igual ao nó pai de 0p e 0q, se 0p e 0q forem os únicos irmãos sob seu nó pai, e em um novo nó folha combinado sob o nó de origem de 0p e 0q, caso contrário. Computar o centróide cpq de 0pq, Etapa 6: Remover os nós folhas 0p e 0q da octree.
Etapa 7: Diminuir k em 1.
Etapa 8: Repetir 4 a 7 até k = M. Então, atribuir um índice distinto i e Mset para cada um dos M nós folhas remanescentes na octree final. A forma inteira do centróide de um nó folha é uma cor distinta na nova paleta de cores, e todas as cores naquele nó folha são mapeadas para o índice correspondente àquele nó folha.
[038] Quando o número desejado de cores é atingido, o custo de entrooia restrita oara a Quantificação da imagem original é ponde JN é o custo da imagem original com N cores distintas, e ÁJi é o custo aumentado quando nós fundimos dois nós folhas selecionados e diminuímos o número de nós folhas na octree de i para i -1. Ao se encontrar o incremento de custo de entropia restrita mínimo a cada vez em que fundimos dois nós irmãos folhas na octree, ECHMQ provê uma forma localmente ótima de se minimizar o custo de entropia restrita.
[039] A ECHMQ tem por objetivo minimizar (localmente) o custo de entropia restrita ao invés de a TSE de distorção pura. Portanto, a taxa e a distorção da imagem quantificada são controladas e transigidas pelo multiplicador lagrangeano λ. Conforme λ aumenta, a distorção média diminuir, e a taxa correspondente aumenta. De fato, -λ pode ser interpretado como a inclinação da curva de distorção de taxa resultante. Assim, em ECHMQ, nós temos a flexibilidade de usar λ como o fator de trade-off para a variação da taxa e da distorção da imagem quantificada.
[040] Uma outra vantagem de ECHMQ é sua baixa complexidade computacional. Para ilustração disto, suponha, inicialmente, que tenhamos um total de 256 nós folhas, os quais estão localmente no nível 8, sob 32 nós pais no nível 7. Para diminuição do número de nós folhas para 255, precisamos calcular o incremento de custo de entropia restrita para 32 X 8!/(2! X 6!) = 896 pares de nós irmãos folhas. Se a estrutura de octree não for usada, nós precisaremos calcular o custo aumentado para 256!/(2! X 254!) = 32640 pares, o que é basicamente usado pelo agrupamento par a par em [5]. Reescrevendo a Equação (3.11) como nós vemos que o cálculo do custo aumentado para cada par de nós irmãos folhas envolve 8 adições, 7 subtrações, 10 multiplicações, 1 divisão e 1 operação de log. Se comparado com a alta computação gasta em outros métodos, tal como no método de divisão hierárquica baseado em TSE [2], o qual emprega o método de Jacobi para cada divisão. A ECHMQ desfruta de uma complexidade muito baixa. Também, a paleta e o mapeamento de pixel são facilmente obtidos na Etapa 8; isto novamente é comparado favoravelmente a outros métodos na literatura, tais como aqueles descritos nas referências [5] e [6], onde uma quantidade significativa de computação está envolvida no projeto de paleta e no mapeamento de pixel.
[041] Se nos desviarmos da otimização adicional descrita abaixo, a nova paleta de cores e o mapeamento de pixel obtidos no final da ECHMQ podem ser codificados diretamente pelo codificador de GIF/PNG. Para se ser especifico, no que se segue, usamos um codificador de PNG como o codificador de entropia. Substituindo-se o codificador de PNG por um codificador de GIF disponível, nós temos facilmente nossa saída compatível com um decodificador de GIF. VRTCQ 1 [042] Nesta seção, adotamos uma quantificação de decisão flexível para se otimizar adicionalmente de forma conjunta a taxa de compressão e a distorção de uma imagem colorida quantificada enquanto se mantém uma compatibilidade com um decodificador de GIF/PNG. Usando o quantificador de decisão rígida obtido no final da ECHMQ como um esquema de codificação de imagem colorida inicial, nós estendemos VRTSE para a codificação de imagem colorida, levando à VRTCQ 1.
[043] Comecemos com a regulagem de VRTSE de VRTCQ 1. Uma vez que nós queremos manter uma compatibilidade com o decodificador de GIF/PNG, a função de saída g não pode depender de qualquer estado. Em outras palavras, a regulagem de estado S consiste em apenas sO. Neste caso, a função de transição de estado f pode ser deixada, a função de saída g é simplesmente um mapeamento de Mset para o espaço de RGB, definindo uma correspondência entre índices e cores na paleta de cores, e o decodificador de grade é degradado para β = g. Dada a imagem colorida original xn = (xO, xl ..., xn-1), nós definimos para qualquer sequência un = (uO, ul ..., un-1) e [044] Nós usamos a delimitação superior dada em (2.6) e minimizamos rk(un) sujeito a uma restrição de distorção. Para se ser específico, seja k = 1. Contudo, o procedimento descrito abaixo pode ser facilmente estendido para qualquer k.
[045] A função de saída inicial g(0) e a função de probabilidade de transição W(0) podem ser derivadas a partir da paleta de cores e do mapeamento de pixel obtidos no final de ECHMQ. O procedimento detalhado de VRTCQ 1 é descrito como se segue: n <0) [046] Etapa 1: Regular t = 0. Obter > ) , g(0) eW(0) a partir de ECHMQ: (bquência de índice da imagem quantificada resultante do quantificador de decisão rígida, g(0) (j), 0 < j < M, é a cor correspondente ao índice j, na nova paleta de cores obtida no final de ECHMQ, e para qualquer α e Mset e w e Mset. Também, calcular o custo in. .
Etapa 2: Fixar g(t) e W(t) . Usar o algoritmo de Viterbi para encontrar uma sequêr| que satisfaça à Equação (2.4) com g substituído por g(t) e W por W<t> . <t+1>
Etapa 3: Fixar (u ) .A sequência de índice <t+1> (u ) dá origem à atualização de função de probabilidade de transição e função de saída como: para qualquer α e Mset e w e Msetr e para qualquer w e Msetr onde Zu é tomada para todo i para o qual u[t+1) = 1. Note que xí representa a cor do i-ésimo pixel na imagem original.
Etapa 4: Computar o custo atualizado Etapa 5: Repetir as etapas 2 a 4 para t = 0, 1, 2, . .., até J(t) - jt+i < onde ξ é o limite prescrito. n <t + 1>
Então, extrair g<t+1> e (u ) Etapa 6: Codificar a paleta de cores g(t+i) e a <t+1>
sequência de índice (u ) usando o codificador de PNG descrito em [17].
[047] As etapas 2 a 6 podem ser convenientemente referidas como o Estágio 2 de VRTCQ 1. O algoritmo de Viterbi usado aqui é descrito em um gráfico mostrado na Figura 3. O custo aumentado de estágio para estágio é calculado como: onde Si = Ui para qualquer 0 < i < n. Para se encontrar o percurso sobrevivente atingindo o estado j no estágio i, nós precisamos comparar os M custos acumulados, cada um dos quais requerendo 3 adições, 3 subtrações e multiplicações. Portanto, a complexidade computacional total é 0 (nM2) .
[048] A otimalidade de Estágio 2 é demonstrada pelo Teorema 3 em [19]. Em geral, VRTCQ1 conjuntamente otimiza a taxa e a distorção da imagem colorida quantificada, até certo ponto, enquanto mantém a compatibilidade com o decodificador de GIF/PNG. Experimentos mostram que a convergência é razoavelmente rápida; tipicamente, após 2 a 3 iterações, J(t) é muito próxima deste limite.
[049] Nós concluímos esta seção considerando a complexidade computacional geral de VRTCQ 1. Em comparação com o Estágio 2, o Estágio 1 de CRTCQ 1, isto é, a ECHMQ, tem uma complexidade computacional muito mais baixa. Portanto, a complexidade computacional principal de CRTCQ 1 fica no Estágio 2, particularmente no algoritmo de Viterbi. Uma vez que cada iteração do algoritmo de Viterbi tem complexidade computacional O (nM2), a complexidade computacional geral de CRTCQ 1 pode ser inconvenientemente alta para uma compressão em tempo real, quando M for grande. Portanto, é desejável reduzir a complexidade computacional no caso de M grande. Este problema é endereçado por VRTCQ 2.
[050] Para a redução da complexidade computacional de VRTCQ 1 no caso de M grande, nós agora fazemos uma delimitação superior da função de comprimento de palavra de código de Lempel-Ziv em uma forma diferente de (2.6) . Para esta finalidade, nós definimos uma nova quantidade de informação diferente da entropia empírica de ordem k rk(un).
Seja M' um inteiro estritamente menor do que M. Seja b (·) um mapeamento de Mset = {0, 1, ..., M - 1} em M' set = {0, 1, . . ., M' - 1}. Em termos de b, nós dividimos Mset em M' grupos {i e Mset: b(i) = j} j = -, 1, ..., Μ' -1. Para qualquer Mn un = (uO, ul ..., un-1) e set, faça b(un) = (b((u0), b(ul) ..., b(un-1)) [051] Definir [052] A quantidade r(un|b(un)) é denominada a entropia empírica condicional de un dado b(un). Nossa quantidade de informação desejada é definida como onde rk(b(un) ) é a entropia empírica de ordem k de b (un) . Não é difícil mostrar que Assim, tendo em vista (2.6), a função de comprimento de palavra de código de Lempel-ziv Ilz também pode ter uma delimitação superior por [053] Ao invés de se minimizar rk(un) sujeito a uma ★ restrição de distorção, nós agora minimizamos k (un) sujeito a uma restrição de distorção em VRTCQ 2. De modo similar ao fato de que nrk(un) é o comprimento de palavra de código mínimo assegurado para todas as funções de comprimento de τ'" r* palavra de código aritméticas estáticas de ordem k kn k (un) também está relacionado a funções de comprimento de palavra de código. Seja WS(s|sk) uma função de transição de probabilidade de M'set para M set. Para qualquer un = (uO, Mn ul . .., un-1) e set, seja [054] É fácil ver que é uma função de comprimento de palavra de código correspondente a um código sem perda através do qual un é codificado primeiramente pelo uso de um código aritmético estático de ordem k com uma probabilidade de transição WS para a codificação de b(un) e, então, codificando-se un condicionalmente dado b(un). Mais ainda, não é difícil mostrar que [055] Assim sendo, dado o mapeamento b, o problema de otimização conjunta em VRTCQ 2 se torna [056] Para se ser específico, seja k = 1. Não obstante, todos os argumentos e procedimentos abaixo se aplicam ao k geral também. Dado g, WS e WU, a minimização interna em (5.16) pode ser resolvida pelo algoritmo de Viterbi com a complexidade de O (nM'2) ao invés de O (nM2) . Para ver que este é o caso, note que tendo em vista (5.15), o custo aumenta, a cada vez em que t aumentar, por [057] Em (5.17), apenas o primeiro termo se baseia no passado através de b(ut-l). Portanto, pode-se construir uma grade com o estado regulado e uma conexão plena entre estados de dois estágios consecutivos e, então, rodar o algoritmo de Viterbi na grade para a resolução do problema de minimização interna. Antes de rodar o algoritmo de Viterbi, nós computamos o subcusto mínimo [058] para cada combinação de (s, x) , onde s e M' set e x e 0. O subcusto mínimo e o índice de cor correspondente u obtendo o subcusto mínimo para aquele par (s, x) são mantidos em uma tabela de consulta. O custo pela transição de um estado st-1 e M' set no Estágio t-1 da grade para o estado st no Estágio t da grade é -log WS (st|st-1) + c(st, xt) .
Dada a imagem original xn = (xO, xl ..., xn-1), se sn = (sO, M'n sl ..., sn-1) e set é o percurso original através da grade, então, un = (uO, ul ..., un-1) , onde ut e {i: 0 < i < M, b(i) = st} obtém o custo mínimo c(st, xt) , t = 0, 1, ..., n-1 é a sequência de índice ótima obtendo a minimização interna em (5.16).
[059] De modo similar a VRTC! 1, VRTCQ 2 resolve o problema de otimização conjunta (5.16) de uma maneira iterativa. O Estágio 1 de VRTCQ 2 determina o mapeamento b, e provê a função de saída inicial g(0) e as funções de w<0> w<0> probabilidade de transição u e s . O Estagio 2 de VRTCQ 2 então usa um procedimento alternativo para a resolução do problema de minimização. Os procedimentos detalhados de VRTCQ 2 são descritos como se segue. A. Procedimento de Estágio 1 Etapa 1: Rodar ECHMQ na imagem original para se obter uma octree Tm com M nós folhas, sua paleta de cores de tamanho Meo mapeamento de pixel de decisão rígida correspondente.
Etapa 2: com base em Tm, repetir as Etapas 4 a 7 da ECHMQ até M' nós folhas serem remanescentes.
Etapa 3: determinar o mapeamento b a partir da octree Tm para a octree Tm· com M' nós folhas obtidas na Etapa 2, a qual é uma sub-árvore de Tm. Em particular, b(i) = j, i e Mset e j e M'set, se e apenas se o i-ésimo nó folha de Tm ficar na sub-árvore de Tm radicada no j-ésimo nó folha de Tm1 . B. Procedimento de Estágio 2 (0) (0) Etapa 1: Faça t = 0. Obtenha (un) , (sn) , g(0) e Wg0> a partir do Estágio 1 de VRTCQ 2, onde é a sequência de índice resultante do mapeamento de pixel de decisão rígida, || com 0 < u < M, é a cor, correspondente ao índice u, na nova paleta de cores obtida na Etapa 1 de Estágio 1, Também, compute o custo inicial Etapa 2: Fixar gV) e . Construir uma tabela de consulta. Para cada par de (s, x) , onde s e M'set, e x e 0, computar o subcusto mínimo e registrar o índice de cor u e {i: 0 < i < M, b(i) = s} o qual obtém c(t) (s, x) .
Etapa 3: Fixar g(t), W^t} e Wgt} . Use o algoritmo de Viterbi para encontrar o percurso ótimo através da grade , o qual em conjunto com b e a tabela de consulta, determina a sequência de índice ótima obtendo a minimização interna em (5.16) com g substituída por g(t), Wu por W^ e Ws por (t + l) n (t + l) Etapa 4: Fixar (u ) e (s ) . Estas duas sequências são origem à atualização de funções de probabilidade de transição e função de saída como onde Συ é tomada por todo i para o qual u[t+1) = u.
Etapa 5: Computar o custo atualizado Etapa 6: Repetir as etapas 2 a 5 para t = 0, 1, 2, . . . até J(t) - Jt+1 < ξ, onde ξ é o limite prescrito. n (t + l) Então, extrair g<t+1) e (u ) Etapa 7: Codificar a paleta de cores g(t+i) e a <t+1> sequência de índice (u ) usando o codificador de PNG a partir de [17]. 0 algoritmo de Viterbi usado na Etapa 3 é descrito no gráfico da Figura 4. No gráfico, cada círculo representa um grupo, e os pontos pretos em um círculo representam os índices de cor u e Mset no grupo.
[060] De modo similar a VRTCQ 1, a maior complexidade computacional de VRTCQ 2 ainda está no Estágio 2. Embora em comparação com o Estágio 2 de VRTCQ 1, o Estágio 2 de VRTCQ 2 tenha uma etapa extra, a Etapa 2, esta etapa não é intensiva computacionalmente. De fato, sua complexidade computacional é O (NM), o que não depende do tamanho n da imagem original e, assim, é desprezível, se comparado com a complexidade do algoritmo de Viterbi quando n é grande. O algoritmo de Viterbi na Etapa 3 do Estágio 2 de VRTCQ 2 agora tem uma complexidade computacional O (nM'2), a qual é comparada favoravelmente com a complexidade computacional O (nM2) do algoritmo de Viterbi usado em VRTCQ 1. Assim, quando M' « M, VRTCQ 2 será muito mais rápido do que VRTCQ 1. Além disso, uma vez que M' seja fixo, a complexidade computacional de VRTCQ 2 é mais ou menos independente de M. Isto torna VRTCQ 2 atraente para imagens ricas em cor. O preço pago em VRTCQ 2 é a ligeira perda de performance de compressão em termos do trade-off entre a taxa de compressão e a distorção, uma vez que uma delimitação solta é usada para a delimitação superior da função de comprimento de palavra de código de Lempel-ziv.
[061] Com referência à Figura 5, é ilustrada em um diagrama de blocos a CPU 16 do sistema de computador 10 da Figura 1. Conforme mostrado, a CPU 16 inclui um módulo de decisão rígida 40 e um módulo de decisão flexível 42. O módulo de decisão rígida 40 provê uma ECHMQ, conforme descrito acima. O módulo de decisão flexível 42 provê VRTCQ 1 e VRTCQ 2, conforme descrito acima.
[062] Conforme descrito acima, o módulo de decisão rígida 4 0 compreende um submódulo de criação de nó para a construção de uma estrutura de octree, um submódulo de fusão de nó para a seleção e a fusão de nós folhas, e um submódulo de cálculo de custo para o cálculo, para potenciais fusores de pares de nós folhas, do incremento de custo de entropia restrita para cada um desses fusores. De modo similar ao módulo de decisão rígida 40, o módulo de decisão flexível 42 inclui um submódulo de cálculo de custo para a determinação da redução em incremento no custo após cada iteração de otimização de decisão flexível pelo módulo de decisão flexível 42.
[063] Outras variações e modificações da invenção são possíveis. Por exemplo, conforme descrito acima, a ECHMQ pode ser usado por si mesma, sem o uso de VRTCQ na outra otimização de decisão flexível, para a provisão de um mapeamento de pixel de decisão rígida. Alternativamente, VRTCQ pode ser usada sem o uso de QCHMQ para a provisão de um mapeamento de pixel de decisão rígida inicial. Ao invés disso, algum outro procedimento inicial de decisão rígida pode ser provido. Ainda, outros métodos de otimização de decisão flexível podem ser usados em combinação com ECHMQ, ao invés de VRTCQ. Ainda, embora a descrição precedente seja largamente dirigida a como se resolver conjuntamente a distorção de quantificação e a taxa de compressão enquanto se mantêm uma baixa complexidade computacional e uma compatibilidade com decodificadores padronizados, tal como, por exemplo, o decodificador de GIF/PNG, será evidente para aqueles de conhecimento na técnica que ambas ECHMQ e CRTCQ podem ser aplicadas à compressão de dados de imagem colorida em outros contextos também. Acredita-se que todas essas modificações ou variações estejam na esfera e no escopo da invenção, conforme definido pelas reivindicações em apenso a isto.
REIVINDICAÇÕES

Claims (12)

1. Método para a criação, a partir de uma imagem colorida digitalizada com N cores distintas usando-se um sistema de processamento de dados, de um particionamento de árvore estruturado de todos os pixels na imagem colorida digitalizada em M agrupamentos disjuntos, onde M é menor ou igual a N, cada cor nas N cores distintas sendo digitalmente representada por uma pluralidade de bytes de P bits em uma paleta de cores originais a partir da imagem colorida digitalizada, e os P bits em cada byte de P bits são ordenados a partir do mais significativo para o menos significativo, o método compreendendo: (a) a provisão de um nó de raiz que compreende todas as N cores distintas; (b) a provisão de um primeiro nível de nós irmãos ligados ao nó de raiz, onde cada cor nas N cores distintas é alocada pelo sistema de processamento de dados para um nó associado no primeiro nível de nós irmãos, com base em um valor de um primeiro bit em cada byte de P bits na pluralidade de bytes de P bits; (c) para cada nó no k-ésimo nível de nós compreendendo mais de uma cor, a provisão de uma pluralidade de nós irmãos em um (k+l)-ésimo nível, onde cada cor naquele nó é alocada pelo sistema de processamento de dados a um nó irmão associado na pluralidade de nós irmãos no (k+l)-ésimo nível, com base em um valor de um (k+l)-ésimo bit em cada byte de P bits na pluralidade de bytes de P bits para aquela cor, de modo que para cada cor nas N cores distintas haja um nó de folha distinto compreendendo aquela cor apenas; e o método é caracterizado por compreender adicionalmente as etapas de: (d) para cada par de nós irmãos de folha na pluralidade de nós irmãos de folha, a determinação de um incremento de custo de entropia restrita (AJ), para determinar uma pluralidade de incremento de custo de entropia restrita (AJ) incluindo o incremento associado de custo de entropia restrita (AJ) para cada par de nós irmãos de folha na pluralidade de nós irmãos de folha, e então repetidamente selecionar e fundir pares de nós irmãos de folha até haver apenas M nós de folha, cada uma das referidas seleções sendo feita determinando, de entre a pluralidade de nós irmãos de folhas, o par de nós cujos incrementos de custo de entropia restrita (AJ) é minimo.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de compreender ainda gerar uma paleta de cores com M cores distintas e uma sequência de indice representando um mapeamento de pixel com base no particionamento de árvore estruturado, e usar um codificador PNG ou GIF para codificar a sequência de indice para formar uma imagem comprimida.
3. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato da etapa (d) compreender o cálculo de um incremento de custo de entropia restrita minimo (AJ) sem o cálculo de uma diferença entre um custo de entropia restrita total pré-fusor e um custo de entropia restrito total pós-fusor.
4. Método, de acordo com qualquer uma das reivindicações de 1 a 3, caracterizado pelo fato da pluralidade de bytes de P bits para cada cor nas N cores distintas compreender um byte de P bits para cada cor primária em uma pluralidade de cores primárias.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato da pluralidade de cores primárias compreender vermelho, verde e azul.
6. Método, de acordo com qualquer uma das reivindicações de 1 a 5, caracterizado por compreender ainda a criação de uma nova imagem colorida digitalizada com M cores distintas, onde há uma correspondência um para um entre as M cores distintas e os M nós de folha deixados após a conclusão da etapa (d).
7. Sistema de processamento de dados para a criação, a partir de uma imagem colorida digitalizada com N cores distintas, de um particionamento de árvore estruturado de todos os pixels na imagem colorida digitalizada em M agrupamentos disjuntos, onde M é menor ou igual a N, cada cor nas N cores distintas sendo digitalmente representada por uma pluralidade de bytes de P bits em uma paleta de cores, e os P bits em cada byte de P bits são ordenados a partir do mais significativo para o menos significativo, o sistema de processamento de dados compreendendo: (a) um meio de criação de nó para: (i) a provisão de um nó de raiz que compreende todas as N cores distintas; (ii) a provisão de um primeiro nível de nós irmãos ligados ao nó de raiz, onde cada cor nas N cores distintas é alocada para um nó associado no primeiro nível de nós irmãos, com base em um valor de um primeiro bit em cada byte de P bits na pluralidade de bytes de P bits; e (iii) para cada nó no k-ésimo nível de nós compreendendo mais de uma cor, a provisão de uma pluralidade de nós irmãos em um (k+l)-ésimo nível, onde cada cor naquele nó é alocada a um nó irmão associado na pluralidade de nós irmãos no (k+l)-ésimo nível, com base em um valor de um (k+l)-ésimo bit em cada byte de P bits na pluralidade de bytes de P bits para aquela cor, de modo que para cada cor nas N cores distintas haja um nó de folha distinto compreendendo aquela cor apenas; e o sistema de processamento de dados é caracterizado por compreender adicionalmente: (b) um meio de fusão de nó para repetidamente selecionar e fundir os nós irmãos de folhas até haver apenas M nós de folhas; e (c) um meio de cálculo de custo para o cálculo, para fusores potenciais de pares de nós irmãos de folha, de um incremento de custo de entropia restrita (AJ) para cada fusor para determinar uma pluralidade de incremento de custo de entropia restrita (AJ) , onde o meio de cálculo de custo é ligado ao meio de fusão de nó e o meio de fusão de nó é operável para repetidamente selecionar e fundir cada par de nós irmãos de folha das referidas seleções sendo feita determinando, de entre a pluralidade de nós irmãos de folhas, o par de nós cujos incrementos de custo de entropia restrita (AJ) é mínimo.
8. Sistema de processamento de dados, de acordo com a reivindicação 7, caracterizado por compreender ainda: um processador para gerar uma paleta de cores com M cores distintas e uma sequência de índice representando um mapeamento de pixel com base no particionamento de árvore estruturado; um cofificador PNG ou GIF para codificar a sequência de indice para formar uma imagem colorida digitalizada comprimida; e um módulo de exibição para exibição da imagem colorida digitalizada comprimida.
9. Sistema de processamento de dados, de acordo com a reivindicação 7 ou 8, caracterizado pelo fato do meio de cálculo de custo ser operável para calcular um incremento de custo de entropia restrita minimo (AJ) sem o cálculo de uma diferença entre um custo de entropia restrita total pré-fusor e um custo de entropia restrita total pós-fusor.
10. Sistema de processamento de dados, de acordo com qualquer uma das reivindicações de 7 a 9, caracterizado pelo fato da pluralidade de bytes de P bits para cada cor nas N cores distintas compreender um byte de P bits para cada cor primária em uma pluralidade de cores primárias.
11. Sistema de processamento de dados, de acordo com a reivindicação 10, caracterizado pelo fato da pluralidade de cores primárias compreender vermelho, verde e azul.
12. Sistema de processamento de dados, de acordo com qualquer uma das reivindicações de 7 a 11, caracterizado por compreender ainda a criação de uma nova imagem colorida digitalizada com M cores distintas, onde há uma correspondência um a um entre as M cores distintas, e os M nós de folhas deixados após a conclusão da etapa (d).
BRPI0510076A 2004-04-21 2005-04-15 método e sistema de processamento para a criação de um particionamento de árvore estruturado BRPI0510076B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US56403304P 2004-04-21 2004-04-21
US10/831,656 US7525552B2 (en) 2004-04-21 2004-04-23 Method, system and software product for color image encoding
PCT/CA2005/000573 WO2005104036A1 (en) 2004-04-21 2005-04-15 Method, system and software product for color image encoding

Publications (2)

Publication Number Publication Date
BRPI0510076A BRPI0510076A (pt) 2007-10-16
BRPI0510076B1 true BRPI0510076B1 (pt) 2019-01-29

Family

ID=35136304

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0510076A BRPI0510076B1 (pt) 2004-04-21 2005-04-15 método e sistema de processamento para a criação de um particionamento de árvore estruturado

Country Status (10)

Country Link
EP (1) EP1745439B1 (pt)
JP (1) JP4607953B2 (pt)
KR (1) KR100868716B1 (pt)
CN (1) CN101065779B (pt)
AT (2) ATE447748T1 (pt)
AU (2) AU2005236504B2 (pt)
BR (1) BRPI0510076B1 (pt)
CA (1) CA2563122C (pt)
DE (2) DE602005024054D1 (pt)
SG (1) SG136944A1 (pt)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7525552B2 (en) 2004-04-21 2009-04-28 Slipstream Data Inc. Method, system and software product for color image encoding
CN102510434A (zh) * 2011-09-30 2012-06-20 深圳市融创天下科技股份有限公司 一种图像数据发送、恢复方法、装置及终端
HUE054084T2 (hu) * 2011-12-15 2021-08-30 Tagivan Ii Llc Luminancia-krominancia kódolt blokk jelölõk (CBF) jelzése videokódolásban
KR102257783B1 (ko) * 2013-04-08 2021-05-28 돌비 인터네셔널 에이비 Lut를 인코딩하는 방법, lut를 디코딩하는 방법 및 대응하는 장치들
GB201321851D0 (en) 2013-12-10 2014-01-22 Canon Kk Run length parameters coding for palette mode
CN105637861B (zh) * 2014-03-17 2018-11-20 富士通株式会社 基于调色板的编码装置、方法以及图像处理设备
JP6348746B2 (ja) * 2014-03-28 2018-06-27 株式会社メガチップス 画像圧縮回路および画像圧縮方法
CN105335989B (zh) * 2014-06-11 2019-04-05 富士通株式会社 图像编码方法和图像编码装置
KR101953482B1 (ko) * 2014-07-07 2019-02-28 에이치에프아이 이노베이션 인크. 인덱스 맵 부호화의 예측자로서 이스케이프 픽셀을 취급하는 방법
WO2016029420A1 (zh) * 2014-08-29 2016-03-03 富士通株式会社 基于调色板的图像编码方法、装置以及图像处理设备
WO2016048092A1 (ko) 2014-09-26 2016-03-31 주식회사 케이티 비디오 신호 처리 방법 및 장치
KR102470832B1 (ko) 2014-10-20 2022-11-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2016114583A1 (ko) 2015-01-15 2016-07-21 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10477244B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
KR102422484B1 (ko) 2015-01-29 2022-07-20 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN107455007B (zh) 2015-04-02 2021-02-09 株式会社Kt 对视频信号进行编解码的方法
US10448058B2 (en) * 2015-05-21 2019-10-15 Qualcomm Incorporated Grouping palette index at the end and index coding using palette size and run value
CN106296757A (zh) * 2015-06-09 2017-01-04 中兴通讯股份有限公司 一种图像处理方法和装置
CN109416830A (zh) * 2016-07-08 2019-03-01 深圳市大疆创新科技有限公司 用于图像处理的系统和方法
CN110070496B (zh) * 2019-02-28 2020-07-31 北京字节跳动网络技术有限公司 图像特效的生成方法、装置和硬件装置
WO2021136470A1 (en) * 2019-12-31 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. Clustering based palette mode for video coding
CN113068043B (zh) * 2020-01-02 2024-04-30 武汉金山办公软件有限公司 一种png图像压缩方法、装置、电子设备及存储介质
CN115457167B (zh) * 2022-09-21 2023-06-09 山东大学 基于色彩排序的调色板设计系统
CN116469336B (zh) * 2023-06-20 2023-08-18 联士光电(深圳)有限公司 一种彩色微显示芯片的数字驱动方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215910B1 (en) 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
JPH10173538A (ja) * 1996-12-13 1998-06-26 Hajime Matsuoka ベクトル量子化圧縮を高速化する方法
JP3847349B2 (ja) 1997-02-03 2006-11-22 シャープ株式会社 デジタル画像の埋め込み符号器、レート―歪み最適化方法、復号器及び復号方法
EP0905651A3 (en) 1997-09-29 2000-02-23 Canon Kabushiki Kaisha Image processing apparatus and method
US6160918A (en) * 1997-10-02 2000-12-12 At&T Corp. Method and apparatus for fast image compression
US6113068A (en) 1998-10-05 2000-09-05 Rymed Technologies Swabbable needleless injection port system having low reflux
GB0104939D0 (en) * 2001-02-28 2001-04-18 Ccc Network Systems Group Ltd Method and system for improved image processing

Also Published As

Publication number Publication date
KR20070026512A (ko) 2007-03-08
ATE484040T1 (de) 2010-10-15
ATE447748T1 (de) 2009-11-15
CN101065779A (zh) 2007-10-31
BRPI0510076A (pt) 2007-10-16
DE602005017486D1 (de) 2009-12-17
CA2563122C (en) 2012-02-28
AU2005236504A1 (en) 2005-11-03
JP4607953B2 (ja) 2011-01-05
KR100868716B1 (ko) 2008-11-13
EP1745439B1 (en) 2009-11-04
SG136944A1 (en) 2007-11-29
DE602005024054D1 (de) 2010-11-18
AU2005236504B2 (en) 2010-02-25
CN101065779B (zh) 2012-10-10
JP2007534239A (ja) 2007-11-22
CA2563122A1 (en) 2005-11-03
EP1745439A1 (en) 2007-01-24
AU2010200101A1 (en) 2010-01-28
EP1745439A4 (en) 2007-12-19
AU2010200101B2 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
BRPI0510076B1 (pt) método e sistema de processamento para a criação de um particionamento de árvore estruturado
US8379044B2 (en) Method, system and software product for color image encoding
US11044478B2 (en) Compression with multi-level encoding
US20230388531A1 (en) Methods and apparatuses for encoding and decoding a bytestream
TW201826786A (zh) 用於視訊寫碼之低複雜度符號預測
US8285062B2 (en) Method for improving the performance of embedded graphics coding
RU2693902C2 (ru) Кодер, декодер и способ
US20140307770A1 (en) Terminable spatial tree-based position coding and decoding
US20160156940A1 (en) Common copy compression
JP2011176407A (ja) 画像符号化装置,画像復号装置,画像符号化方法,画像復号方法およびそれらのプログラム
CN111726615B (zh) 点云编解码方法及编解码器
US9245352B1 (en) Systems and methods for near lossless image compression
Khalil et al. Selective splitting approach to entropy-constrained single/multistage vector quantizer design
CN117157973A (zh) 编解码方法及相关设备、存储介质
CN112188216A (zh) 视频数据的编码方法、装置、计算机设备及存储介质
Nam et al. Image coding based on two-channel conjugate VQ
Cardinal Quantization with Multiple Constraints

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11N Dismissal: publication cancelled [chapter 11.14 patent gazette]

Free format text: REFERENTE A RPI NO 2043 DE 02/03/2010.

B15K Others concerning applications: alteration of classification

Free format text: ALTERADA DE INT.CL.: A01B 71/04; G06T 9/40

Ipc: G06T 9/00 (2006.01), G06T 9/40 (2006.01), H04N 7/2

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B15K Others concerning applications: alteration of classification

Ipc: G06T 9/40 (1995.01), H04N 19/126 (2014.01), H04N 1

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

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 29/01/2019, OBSERVADAS AS CONDICOES LEGAIS.

B25A Requested transfer of rights approved

Owner name: BLACKBERRY LIMITED (CA)