BR112020000415A2 - método para compactar; método para descompactar; conjunto de dados compactados correspondente a um conjunto de dados não compactados; dispositivo para compactar e dispositivo para descompactar - Google Patents

método para compactar; método para descompactar; conjunto de dados compactados correspondente a um conjunto de dados não compactados; dispositivo para compactar e dispositivo para descompactar Download PDF

Info

Publication number
BR112020000415A2
BR112020000415A2 BR112020000415-4A BR112020000415A BR112020000415A2 BR 112020000415 A2 BR112020000415 A2 BR 112020000415A2 BR 112020000415 A BR112020000415 A BR 112020000415A BR 112020000415 A2 BR112020000415 A2 BR 112020000415A2
Authority
BR
Brazil
Prior art keywords
data set
coefficients
sequence
magnitude
input data
Prior art date
Application number
BR112020000415-4A
Other languages
English (en)
Other versions
BR112020000415B1 (pt
Inventor
Pascal Hubert Pellegrin
Charles Daniel Buysschaert
Gaël Rouvroy
Original Assignee
Intopix
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 Intopix filed Critical Intopix
Publication of BR112020000415A2 publication Critical patent/BR112020000415A2/pt
Publication of BR112020000415B1 publication Critical patent/BR112020000415B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4084Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • H03M7/3075Space
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4068Parameterized codes
    • H03M7/4075Golomb codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/182Methods 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 pixel
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

A invenção se refere a um método para compactar um conjunto de dados de entrada, em que os coeficientes no conjunto de dados de entrada são agrupados em grupos de coeficientes, um número de planos de bit, GCLI, necessário para representar cada grupo é determinado, uma quantização é aplicada, mantendo um número limitado de planos de bit, um mecanismo de previsão é aplicado aos GCLIs para obter resíduos e uma encriptação por entropia dos resíduos é realizada. Os resíduos encriptados por entropia e os planos de bit mantidos permitem que o decodificador reconstrua os dados quantizados, em um custo mínimo em metadados.

Description

MÉTODO PARA COMPACTAR; MÉTODO PARA DESCOMPACTAR; CONJUNTO DE DADOS COMPACTADOS CORRESPONDENTE A UM CONJUNTO DE DADOS NÃO COMPACTADOS; DISPOSITIVO PARA COMPACTAR E DISPOSITIVO PARA DESCOMPACTAR CAMPO DA INVENÇÃO
[001] A invenção se refere a um método para compactar um conjunto de dados de entrada que compreende uma sequência de coeficientes em um conjunto de dados compactados e a um método para descompactar o dito conjunto de dados compactados. A invenção também se refere a um conjunto de dados compactados e a um dispositivo para realizar esse método de compactação e um dispositivo para realizar o dito método de descompactação.
DESCRIÇÃO DA TÉCNICA ANTERIOR
[002] A compactação de dados é necessária quando se precisa transmitir ou armazenar dados que exigiriam um tamanho ou taxa de bits maior do que a largura de banda disponível do canal de comunicação ou a capacidade da mídia de armazenamento. Isso é possível quando os dados contiverem uma quantidade significativa de redundância, e alguma quantidade de detalhes que poderiam ser removidos sem comprometer o propósito da transmissão. A compactação é dita ser sem perdas quando os dados não forem modificados pelo ciclo de compactação-descompactação e, portanto, são idênticos no emissor e no receptor. Entretanto, geralmente não é possível garantir uma compactação sem perdas visto que depende das características intrínsecas dos dados, em que a redundância e capacidade de remover a mesma apenas por uma encriptação inteligente podem nem sempre ser bem-sucedido na redução da taxa de bits ou custo de dados o suficiente. Nesse caso, um esquema de compactação com perdas é necessário e o codificador reduz as informações contidas nos dados por quantização, a fim de garantir um tamanho de conjunto de dados compactados necessário ao custo de qualidade.
[003] O documento de Revelação Registrado SMPTE RDD 35:2016, 24 de março de 2016, páginas 1 a 53, XP055366991, descreve o fluxo de bits de esquema de compactação de vídeo TICO, o processo de decodificação e as provisões para mapear fluxos de bits em uma rede de IP. Nesse processo, resíduos são obtidos e codificados usando-se encriptação unária.
[004] O documento WO03/092286 descreve um sistema e métodos adaptativo para mapear valores e de parâmetro para índices de palavra código. Esse método requer a etapa de seleciona as diferenças ou parâmetros em pelo menos um primeiro grupo e um segundo grupo. Isso requer armazenamento em buffer adicional e processamento no codificador e no decodificador. Isso também adiciona latência ao processo.
[005] O documento EP2773122A1, também relacionado ao esquema de compactação de vídeo de TICO, descreve um método e dispositivo para compactação de dados sem perda em que um agrupa os ditos dados em grupos de n palavras de m bits; um detecta para cada grupo o valor do Maior Índice de Linha Codificada (GCLI), sendo que o GCLI é o índice do bit diferente de zero de peso mais alto dentre os bits das palavras em um grupo; um produz para cada grupo um conjunto de dados de saída que compreende os bits de GCLI de menor peso das palavras do grupo, e metadados que compreendem o valor do GCLI. Esse método é muito simples na implantação, e é muito eficaz, especialmente no caso quando muitos dos dados têm valores pequenos. Os valores dos GCLIs estão compreendidos entre zero,
quando todas as palavras de um grupo são zero, e m, quando pelo menos uma palavra no grupo tiver um bit de peso m igual a 1. Portanto, a encriptação binária do GCLIs requer [Log2(m)l bits, |x], sendo o menor número inteiro maior do que x. Este documento também propõe uma melhora em que um substitui o GCLI no conjunto de dados de saída pela diferença entre o valor de GCLI e um valor previsto do GCLI. Ao fazer isso, os valores a ser codificados são menores, e uma encriptação unária pode exigir menos espaço do que a encriptação binária dos GCLIs. Entretanto, parece que até mesmo quando se usa a dita melhora, a encriptação dos GCLIs poderia representar um volume significativo no conjunto de dados compactados, especialmente quando muitos dos coeficientes se tornam zero. Além disso, este documento não aborda a necessidade de quantização, quando o tamanho de conjunto de dados compactados excede um orçamento de dados, e compactação com perda deve ser realizada. Portanto, há uma necessidade por um método para compactar um conjunto de dados de entrada que é simples de implantar, requer menos espaço para encriptação dos metadados que contêm os GCLIs, e aborda o problema de quantização.
DESCRIÇÃO RESUMIDA DA INVENÇÃO
[006] É um objetivo da presente invenção solucionar os problemas supracitados. Em particular, é um objetivo da presente invenção fornecer um método de compactação e descompactação e dispositivo que têm uma baixa complexidade, em que o orçamento de dados necessário para os metadados é reduzido.
[007] A invenção é definida pelas reivindicações independentes. As reivindicações dependentes definem modalidades vantajosas.
[008] De acordo com um primeiro aspecto da invenção, é fornecido um método para compactar, de acordo com parâmetros de compactação, um ou mais conjuntos de dados de entrada, em que o ou cada conjunto de dados de entrada compreende uma sequência de M coeficientes, sendo que cada coeficiente tem m bits que codificam uma magnitude compreendida entre 0 e 2m -1, em um ou mais conjuntos de dados compactados correspondentes cada um compreende um conjunto de dados compactado de magnitude, e um conjunto de dados compactado de metadados, em que os ditos parâmetros de compactação podem compreender M, m, n, t, o tipo de quantização, o modo de mapeamento, ser negativo primeiro ou positivo primeiro; o número de fileiras e colunas de uma imagem de exibição, se o conjunto de dados de entrada representar uma imagem de exibição; um número de fileiras de uma sub-banda, se a sequência de pixels for uma transformada decorrelativa de uma imagem de exibição; o modo de previsão, que pode ser previsão horizontal ou vertical; a forma em que os valores iniciais dos previsores são determinados; o modo de encriptação por entropia; o valor do parâmetro k da encriptação Rice se a encriptação por entropia for uma encriptação Rice e o modo de delimitação, que compreende as etapas de, para o conjunto ou cada conjunto de dados de entrada: A. agrupar os coeficientes em um ou mais grupos consecutivos de n coeficientes, sendo que o fator de agrupamento n é maior ou igual a 2, cada grupo de coeficientes que têm m planos de bit de magnitude para os diferentes pesos dos coeficientes; B. para cada grupo i de coeficientes, a) determinar um valor do Maior Índice de Linha
Codificada (GCLI), sendo que o GCLIi é o índice do bit diferente de zero de peso mais alto dentre os bits da magnitude dos coeficientes no dito grupo i, sendo que o índice é contado de 1 para o bit menos significativo a m para o bit mais significativo, em que o GCLI é zero para um grupo em que todos os coeficientes são iguais a zero; b) realizar uma quantização de modo que os coeficientes quantizados sejam compreendidos na faixa de 0 a 2(m_t) -1, fornecendo n coeficientes quantizados, em que t é um nível de quantização; c) se GCLLi ≥ t+1, para cada plano de bit do dito grupo, copiar planos de bit que têm peso 1 a peso GCLLi-t dos coeficientes quantizados ao conjunto de dados compactado de magnitude; d) se GCLLi ≤ t, não realizar ações e) computar um previsor previ de GCLLi, na função dos GCLIs de um ou mais grupos de coeficientes antecedentes na dita sequência de coeficientes, sendo que o previsor previ é igual a prev_init, para o primeiro grupo de coeficientes da dita sequência de coeficientes; f) computar um resíduo ri ri = max(GCLIi-t, 0) - max(previ-t, 0); g) mapear o resíduo ri para um código, sendo que o dito mapeamento é obtenível realizando-se as etapas de (1) computar o rmin, o menor valor dos resíduos para todos os possíveis valores de GCLIi, em que rmin = -max(previ-t, 0); (2) computar o rmax, o maior valor dos resíduos para todos os possíveis valores de GCLIi, em que rmax = max(m-max(previ,t), 0);
(3) computar Cprimeiro = -1 se modo de mapeamento negativo primeiro, +1 se modo de mapeamento positivo primeiro; (4) computar - gatilho = |rmin| se o modo de delimitação for “delimitado pelo mínimo”; - gatilho = MIN(|rmin|, rmax) se o modo de delimitação for “delimitado pelo mínimo/máximo”; - gatilho = rmax se o modo de delimitação for “delimitado pelo máximo”; - gatilho = m se o modo de delimitação for “não delimitado”; (5) IF |r| <= gatilho ENTÃO IF r*Cprimeiro > 0 ENTÃO C = 2*|r| -1 OU C = 2*|r| OU C = gatilho + |r| h) fornecer uma encriptação por entropia do código C, e copiar a dita encriptação no conjunto de dados compactado de metadados.
[009] De preferência, a dita encriptação por entropia é uma encriptação Rice, com k=0, 1 ou 2. Com mais preferência, k=0.
[0010] De preferência, n é menor ou igual a 8 ou é igual a 4.
[0011] A dita quantização pode, vantajosamente, ser realizada removendo-se os t menores planos de bit dos grupos de coeficientes.
[0012] O dito conjunto de dados de entrada pode ser obtido realizando-se uma transformada decorrelativa em um conjunto de dados de entrada não descorrelacionado.
[0013] A dita sequência de M coeficientes pode corresponder a uma sequência de pixels de uma ou mais fileiras de uma imagem de exibição que compreendem fileiras e colunas de pixels ou uma ou mais fileiras de uma sub-banda de uma transformada decorrelativa de uma imagem de exibição que compreende fileiras e colunas de pixels.
[0014] De acordo com uma modalidade da invenção com previsão horizontal, na etapa B.e), o dito previsor previ de GCLIi é o GCLI dos •grupos de coeficientes anteriores em uma sequência de coeficientes, sendo prev_init para o primeiro grupo de coeficientes em uma sequência de coeficientes.
[0015] De acordo com uma modalidade da invenção com previsão vertical, na etapa B.e), o dito previsor previ de GCLIi é o GCLI do grupo de pixels na mesma coluna de fileira anterior de pixels se o dito GCLI for maior do que t, e zero se o dito GCLI for menor do ou igual a t, sendo prev_init para os grupos de pixels da primeira fileira de pixels.
[0016] Em uma modalidade preferencial, o método de compactação da invenção com previsão vertical, o dito ou mais conjuntos de dados de entrada compreendem pelo menos dois conjuntos de dados de entrada, um primeiro conjunto de dados de entrada que tem um nível de quantização t1, um segundo conjunto de dados de entrada que tem um nível de quantização t2, em que a última fileira de pixels do primeiro conjunto de dados de entrada está acima da primeira fileira de pixels do segundo conjunto de dados de entrada, em uma imagem de exibição, o previsor para um grupo de pixels da primeira fileira de pixels do segundo conjunto de dados de entrada é igual ao GCLI do grupo de pixels da última fileira de pixels na mesma coluna do primeiro conjunto de dados de entrada se o dito GCLI > t1 e igual a zero se o dito GCLI ≤ t1.
[0017] De acordo com um segundo aspecto da invenção, é fornecido um método para descompactação, de acordo com parâmetros de compactação, de um ou mais conjuntos de dados compactados, em que cada um compreende um conjunto de dados compactado de metadados que compreende uma sequência de códigos encriptados por entropia ci e um conjunto de dados compactado de magnitude que compreende planos de bit de coeficientes, obteníveis por um método do primeiro aspecto da invenção, com os mesmo parâmetros de compactação, em um ou mais conjuntos de dados descompactados correspondentes, em que cada um compreende uma sequência de coeficientes, sendo que cada coeficiente tem m bits que codificam uma magnitude que compreende a etapa de: a) inicializar um previsor previ’ para prev_init; se o modo de previsão for vertical, então inicializar uma fileira de GCLIs previ para prev_init; b) extrair um código Ci do dito conjunto de dados compactado de metadados; c) se o modo de previsão for vertical, então computar previ’ = previ; d) obter o resíduo ri correspondente ao dito código ci, sendo que a correspondência é obtenível realizando-se as etapas de (1) realizar as etapas B.g) do primeiro aspecto da invenção, para todos os valores de r compreendidos entre rmin e rmax, fornecer uma tabela; (2) obter o resíduo ri correspondente ao dito código cii da dita tabela; e) computar o número de planos de bit nbp armazenados para o grupo correspondente ao dito código, sendo que o dito número de planos de bit é nbp = ri+previ’; f) se o dito número de planos de bit nbp for igual a zero, fornecer uma sequência de n m-bit palavras que têm todos os planos de bit de t+1 a m em zero no conjunto de dados descompactados; g) se o dito número de planos de bit nbp for diferente de zero, fornecer uma sequência de n m-bit palavras que têm os t+1 a t+nbp planos de bit extraídos de n-bit planos de bit subsequentes do conjunto de dados compactado de magnitude e que têm o t+1+nbp a m planos de bit iguais a zero; h) se o modo de previsão for horizontal, então substituir previ’ por nbp; se o modo de previsão for vertical, então substituir previ = nbp; i) repetir as etapas b) a g) para códigos e planos de bit consecutivos até que todos os códigos no conjunto de dados compactado de metadados tenham sido usados. Na etapa d), o resíduo ri pode ser realizado realizando-se realmente as etapas d(1) e d(2) ou por outros métodos equivalentes como um algoritmo de pesquisa ou uma fórmula.
[0018] Quando a compactação tiver sido realizada de acordo com a dita modalidade preferencial da invenção com previsão vertical, no método para descompactação desses dois ou mais conjuntos de dados de entrada, para a primeira fileira do segundo conjunto de dados, pode-se, vantajosamente, tomar como previsor previ’, o valor correspondente de previ obtido para a última fileira do primeiro conjunto de dados.
[0019] No método de compactação e no método de descompactação da invenção, prev_init pode ser igual a zero ou igual a int(m/2).
[0020] De acordo com um terceiro aspecto da invenção, é fornecido um conjunto de dados não compactados, em que o dito conjunto de dados não compactados compreende uma sequência de M coeficientes, sendo que cada coeficiente tem m bits que encriptam uma magnitude, sendo que o dito conjunto de dados compactados é obtenível a partir do dito conjunto de dados não compactados pelo método de compactação da invenção, que compreende • um conjunto de dados compactado de metadados que compreende uma sequência de códigos encriptados por entropia e • um conjunto de dados compactado de magnitude que compreende planos de bit de coeficientes.
[0021] De acordo com um quarto aspecto da invenção, é fornecido um conjunto de dados de entrada que compreende uma sequência de M coeficientes, sendo que cada coeficiente tem m bits que encriptam uma magnitude em um conjunto de dados compactados que compreende um conjunto de dados compactado de magnitude, um conjunto de dados compactados de metadados, que compreende pelo menos um dentre um circuito lógico, um ASIC, um FPGA, uma GPU e uma CPU, configurados para realizar as etapas do método de compactação da invenção.
[0022] De acordo com a quinto aspecto da invenção, é fornecido um dispositivo para descompactar um conjunto de dados compactados que têm dados que representam parâmetros de compactação, em que os ditos parâmetros de compactação que compreende os valores de M, m, n, t, o tipo de quantização, o modo de mapeamento, sendo negativo primeiro ou positivo primeiro, o tipo de encriptação por entropia e o modo de previsão, e que compreende um conjunto de dados compactado de metadados que compreende uma sequência de códigos encriptados em Rice e um conjunto de dados compactado de magnitude que compreende planos de bit de coeficientes, em um conjunto de dados descompactados que compreende uma sequência de coeficientes, sendo que cada coeficiente tem m bits que encriptam uma magnitude, sendo que o dito conjunto de dados compactados é obtenível pelo método de compactação da invenção, em um conjunto de dados descompactados, em que o dito conjunto de dados descompactados compreende uma sequência de M coeficientes, sendo que cada coeficiente tem m bits que encriptam uma magnitude, que compreende pelo menos um dentre um circuito lógico, um ASIC, um FPGA, uma GPU e uma CPU, configurados para realizar as etapas do método de descompactação da invenção.
DESCRIÇÃO RESUMIDA DOS DESENHOS
[0023] A Figura 1 é uma representação esquemática do fluxo de dados entre um dispositivo para compactação e um dispositivo para descompactação da invenção;
[0024] A Figura 2 representa esquematicamente dois conjuntos de dados de entrada e como a previsão vertical é realizada n limiar dos dois conjuntos de dados, o resíduo na função do GCLI, sem quantização.
[0025] A Figura 3 é um gráfico que representa o resíduo na função do GCLI, sem quantização.
[0026] A Figura 4 é um gráfico que representa o resíduo na função do GCLI, com quantização.
[0027] As Figuras 5 e 6 são gráficos que representam o mapeamento entre os resíduos e o código, começando pelo mapeamento de um valor negativo primeiro e um valor positivo primeiro, respectivamente, em um caso em que |rmin| é menor do que rmax.
[0028] As Figuras 7 e 8 são gráficos que representam o mapeamento entre os resíduos e o código, começando pelo mapeamento de um valor negativo primeiro e um valor positivo primeiro, respectivamente, em um caso em que |rmin| é maior do que rmax.
[0029] A Figura 9 mostra os resultados obtidos para diferentes imagens e diferentes modalidades da invenção.
[0030] Os desenhos das figuras não são nem desenhados à escala nem proporcionados.
DESCRIÇÃO DETALHADA DAS MODALIDADES DA INVENÇÃO
[0031] A Figura 1 é uma representação esquemática do fluxo de dados entre um dispositivo para compactação e um dispositivo para descompactação da invenção. O conjunto de dados de entrada pode compreender uma sequência de M coeficientes, em que cada um tem m bits que encriptam uma magnitude. O conjunto de dados de entrada pode representar uma imagem de exibição que tem um número de fileiras e colunas, ou uma transformação de uma imagem de exibição, como sub-bandas de uma transformada de ondeleta de uma imagem. O dispositivo para compactação processa o conjunto de dados de entrada e produz um conjunto de dados compactados. O conjunto de dados compactados pode compreender um conjunto de dados compactado de magnitude e um conjunto de dados compactado de metadados. Além disso, o dispositivo para compactação pode produzir um conjunto de parâmetros de compactação. Esses parâmetros de compactação podem compreender: - M, o número de coeficientes no conjunto de dados de entrada;
- m, o número de bits na magnitude dos coeficientes do conjunto de dados de entrada; - n, o fator de agrupamento; - t, o nível de quantização; - o tipo de quantização; - o modo de mapeamento, sendo negativo primeiro ou positivo primeiro; - o número de fileiras e colunas de uma imagem de exibição, se o conjunto de dados de entrada representar uma imagem de exibição; - o número de fileiras, e a sub-banda, se a sequência de pixels for uma transformada decorrelativa de uma imagem de exibição; - o modo de previsão, que pode ser previsão horizontal ou vertical; - o previsor inicial prev_init, usado quando nenhum GCLI antecedente estiver disponível para determinar um previsor; - a forma que os valores iniciais dos previsores são determinados; - o modo de encriptação por entropia; - o valor do parâmetro k da encriptação Rice se a encriptação por entropia for uma encriptação Rice; e - o modo de delimitação, sendo um dentre - delimitado pelo mínimo; - delimitado pelo mínimo/máximo; - delimitado pelo máximo; - não delimitado.
[0032] Esses parâmetros de compactação são usados pelo dispositivo para compactação e pelo dispositivo para descompactação. Alguns desses parâmetros podem ser comunicados a partir do dispositivo de compactação para o dispositivo de descompactação, ou ser fixo e acordado antecipadamente entre o dispositivo de compactação e descompactação. O dispositivo para descompactação produz um conjunto de dados descompactados semelhante ao conjunto de dados de entrada, mas com alguma perda de qualidade devido à quantização.
[0033] A Tabela 1 abaixo é um exemplo de uma sequência de M=12 coeficientes, sendo que cada coeficiente tem m=15 bits de magnitude, agrupados em três grupos de n=4 coeficientes. Para cada grupo, o GCLI é representado, sendo que o GCLI é o Maior Índice de Linha Codificada, isto é, o índice do bit diferente de zero de peso mais alto dentre os bits da magnitude dos coeficientes no dito grupo. Uma simples quantização, é representada, em que os t=4 menores planos de bit dos coeficientes são truncados, isto é, o nível de quantização t é 4. Tabela I Coeficientes 3 250 138 179 53 12 14 90 4 0 5 6 MSB 15 0 0 0 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 0 0 0 13 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 8 0 1 1 1 0 0 0 0 0 0 0 0 7 0 1 0 0 0 0 0 1 0 0 0 0 6 0 1 0 1 1 0 0 0 0 0 0 0 5 0 1 0 1 1 0 0 1 0 0 0 0 ↑ 4 0 1 1 0 0 1 1 1 0 0 0 0 Quantização 3 0 0 0 0 1 1 1 0 1 0 1 1 Nível t 2 1 1 1 1 0 0 1 1 0 0 0 1
Coeficientes 3 250 138 179 53 12 14 90 4 0 5 6 LSB 1 1 0 0 1 1 0 0 0 0 0 1 0 GC 8 7 3
LI
[0034] Os GCLIs dos três grupos consecutivos são 8, 7 e 3. Se um usar um método de previsão e substitui os GCLIs por um resíduo, dado pela equação ri = GCLIi - previ (equ.1), um obtém os menores valores a ser codificados. Além disso, quando uma quantização for realizada, o resíduo ri necessário pelo dispositivo de descompactação para decodificar os dados pode ser computado como ri = max(GCLIi-t, 0) - max(previ-t, 0) (equ.2);
[0035] O resíduo ri de acordo com a equação 2 fornece as informações necessárias para o decodificador, enquanto mantém os valores a ser encriptados tão pequenos quanto possível. Presumindo que o previsor é tomado como o GCLI anterior na sequência, (previsão horizontal) e que o GCLI do grupo que precede o primeiro dos exemplos é 7, os resíduos ri são conforme a seguir: Tabela II GCLI 8 7 3 previ 7 8 7 ri 1 -1 -3 nbp 4 3 0
[0036] Como pode ser visto nesse exemplo, os resíduos ri são valores menores. O número de planos de bit a ser transmitidos, nbp isto é, o número de planos de bit acima da linha tracejada na tabela I é igual ao GCLI-t quando GCLI>t e igual a zero se GCLI<t.
[0037] A Tabela III é um exemplo que mostra o tratamento de uma sequência de coeficientes agrupados em sete grupos que produzem sete GCLIs. O nível de quantização t é 6. No codificador, um previsor inicial para o primeiro grupo é tomado como prev_init=0. Os previsores subsequentes são tomados como o GCLI do grupo anterior na sequência GCLII-1. Esse modo de previsão se aplica no caso geral, e quando o conjunto de dados de entrada representar uma imagem e modo de previsão horizontal for usado. Os resíduos raros computados de acordo com a equação 2. Os nbp planos de bit são copiados a partir dos coeficientes quantizados para o conjunto de dados compactado de magnitude. A sequência de resíduos e planos de bit são fornecidos ao decodificador.
[0038] No decodificador, o previsor inicial para o primeiro grupo é tomado da mesma forma que no codificador (no exemplo, previ_init=0). O número de planos de bit nbp é computado usando-se a equação 3. nbp = ri+previ’ (equ. 3)
[0039] O previsor para o grupo subsequente é tomado como o nbp do grupo atual, que corresponde ao GCLI dos coeficientes quantizados. O GCLI’ dos coeficientes de conjunto de dados descompactados pode ser obtido adicionando-se t aos nbp valores quando os mesmos ainda não nulos, e mantendo um valor zero quando os mesmos são nulos. Como pode ser visto, esses GCLIs são iguais aos GCLIs se o conjunto de dados de entrada, se o GCLI do conjunto de dados de entrada for maior do que t, e são iguais a zero se o GCLI ≤ t, visto que naquele caso todos os planos de bit de coeficientes foram removidos, rendendo coeficientes nulos no decodificador. Tabela III
[0040] t=6
[0041] No codificador: i 1 2 3 4 5 6 7 GCLIi 7 4 5 10 8 9 6 i 1 2 3 4 5 6 7 previ 0 7 4 5 10 8 9 ri 1 -1 0 4 -2 1 -3 nbp 1 0 0 4 2 3 0
[0042] No decodificador: ri 1 -1 0 4 -2 1 -3 prev'i 0 1 0 0 4 2 3 nbp,i 1 0 0 4 2 3 0 GCLI’i 7 0 0 10 8 9 0
[0043] Quando o conjunto de dados de entrada corresponder a uma sequência de pixels de uma ou mais fileiras de uma imagem de exibição que compreendem fileiras e colunas de pixels ou uma ou mais fileiras de uma sub-banda de uma transformada decorrelativa de uma imagem de exibição que compreende fileiras e colunas de pixels, a previsão vertical é possível. Observou-se que a previsão vertical gera resultados satisfatórios.
[0044] A Tabela IV mostra um exemplo semelhante ao exemplo da Tabela III, mas aplicando previsão vertical. A Fileira I de GCLIs é processada, considerando a fileira I-1 anterior. O previsor previ é determinado conforme a seguir: Se GCLIi(I-1) ≤ t ENTÃO previ=0 OU previ=GCLIi(I-1) Os resíduos são computados de acordo com a equação
2.
[0045] No decodificador, o conjunto de GCLIs correspondente aos coeficientes quantizados da fileira anterior (fileira 1-1) são mantidos em um buffer para uso no processamento da fileira I. O previsor prev’i é computado com prev’i=GCLI’i(l-1) (equ. 4) e o número de planos de bit é computado de acordo com a equação 3. Os GCLIs para a fileira atual são iguais para o número de planos de bit nbp,i e armazenados para uso pela fileira subsequente. Para a primeira fileira de um conjunto de dados, uma fileira inicializada para os valores prev_init é usada. Tabela IV t=6 no i 1 2 3 4 5 6 7 codif icado r GCLIi( 5 3 7 13 12 9 8 I-1) GCLIi( 7 4 5 10 8 9 6 I) previ 0 0 7 13 12 9 8 ri 1 0 -1 -3 -4 0 -2 nbp,i 1 0 0 4 2 3 0
[0046] No decodificador: GCLI'i(I-1) 0 0 1 7 6 3 2 ri 1 0 -1 -3 -4 0 -2 prev’i 0 0 1 7 6 3 2 nbp,i 1 0 0 4 2 3 0 GCLI’i(I) 1 0 0 4 2 3 0
[0047] Quando os dados de entrada representarem imagens e compreenderem dois ou mais conjuntos de dados de entrada, e quando a última fileira de um primeiro conjunto de dados estiver imediatamente acima da primeira fileira de um segundo conjunto de dados, esses dois conjuntos de dados podem ser processados independentemente, com as inicializações dos previsores para as primeiras fileiras conforme discutido no parágrafo anterior. Entretanto, em uma modalidade preferencial da invenção, a última fileira do primeiro conjunto de dados pode ser usada como previsor para a primeira fileira do segundo conjunto de dados. Uma situação específica ocorre quando o nível de quantização t1 do primeiro conjunto de dados for diferente do nível de quantização t2 do segundo conjunto de dados. A Figura 2 representa uma situação em que um primeiro conjunto de dados é quantizado com um nível de quantização t1. A última fileira do primeiro conjunto de dados (fileira 1-1) compreende um grupo 11 que tem um GCLI g1. O segundo conjunto de dados 20 compreende uma primeira fileira (fileira I) que tem um GCLI g2, imediatamente abaixo do grupo de g1.
[0048] A Tabela V é um exemplo em que o primeiro conjunto de dados tem um nível de quantização t1=10, o segundo conjunto de dados tem um nível de quantização t2=6.
[0049] As diferenças em relação ao caso da Tabela IV é que no codificador, o previsor é determinado conforme a seguir: IF GCLIi(I-1) ≤ t1 ENTÃO previ=0 OU previ=GCLIi(I-1) (equ. 5) em que t1 é usado ao invés de t. No decodificador, o previsor é tomado do elemento previ da última fileira de primeiro conjunto de dados. Tabela V t=6 no i 1 2 3 4 5 6 7 codif icado r GCLIi( 5 3 7 13 12 9 8 I-1) GCLIi( 7 4 5 10 8 9 6 I) previ 0 0 7 13 12 9 8 ri 1 0 -1 -3 -4 0 -2 no i 1 2 3 4 5 6 7 codif icado r nbp,i 1 0 0 4 2 3 0
[0050] No decodificador: GCLI'i(I-1) 0 0 1 7 6 3 2 ri 1 0 -1 -3 -4 0 -2 prev’i 0 0 1 7 6 3 2 nbp,i 1 0 0 4 2 3 0 GCLI'i(I) 1 0 0 4 2 3 0
[0051] A Figura 3 é um gráfico que representa o resíduo na função do GCLI, dado pela equação 1, sem quantização, para dois valores do previsor prev=2 e prev=8. O número de possíveis valores do resíduo é igual ao número de valores do GCLI. Se o previsor for um previsor satisfatório, o resíduo está próximo ou é igual a zero.
[0052] A Figura 4 é um gráfico que representa o resíduo na função dos possíveis valores de GCLI entre 0 e 15 (ou, mais geralmente, m), com quantização, sendo que o nível de quantização t é igual a 4, como dado pela equação 2. Para prev=8, o resíduo tem uma delimitação inferior rmin igual a -
4. Para prev=2, o resíduo tem uma delimitação inferior rmin igual a 0. As delimitações superiores rmax são as mesmas que aquelas na Figura 3, rmax=13. Um gráfico para o caso t=1, prev=8 também foi representado. A delimitação inferior rmin é zero e a delimitação superior rmax é 5.
[0053] As expressões gerais das delimitações inferiores rmin e delimitações superiores rmax dos resíduos são dadas pelas equações rmin = -max(previ-t, 0) (equ.6)
e rmax = max(m-max(previ,t), 0) (equ.7)
[0054] A faixa de valores dos resíduos após a quantização, é reduzida em relação à faixa de valores sem quantização.
[0055] De acordo com a invenção, os valores dos resíduos podem ser mapeados para números inteiros não negativos C. Isso é ilustrado nas Figuras 5, 6, 7 e 8. Os resíduos entre rmin e rmax podem ser mapeados para uma faixa de números inteiros não negativos mapeando-se o valor r=0, para C=0 e, então, mapeando-se r=-1 para C=1, r=1 para C=2, r=-2 para C=3, etc. Isso é representado pelos marcadores quadrados nas Figuras 5 a 8. Nas Figuras 5 e 7, o valor negativo r=-1 é primeiro mapeado para C=1 (mapeamento de negativo primeiro). Nas Figuras 6 e 8, o valor positivo r=1 é primeiro mapeado para C=1 (mapeamento de positivo primeiro). As Figuras 5 e 6 são gráficos que representam a situação em que m=15, prev=8, e t=4. O valor de rmax é maior do que o valor absoluto de rmin. O valor possível de GCLI está na faixa de 0 a 15. Desta forma, os valores mais prováveis de r, isto é, valores ou r em torno de zero, são mapeados para os menores valores de C. C pode, então, ser codificado de modo eficiente, conforme discutido abaixo. As Figuras 7 e 8 são gráficos que representam a situação em que m=15, prev=12, e t=2.
[0056] De acordo com uma modalidade preferencial da invenção, o mapeamento dos resíduos para um número inteiro não negativo C pode ser aprimorado considerando-se que quando rmax é maior do que |rmin| a faixa de valores de C pode ser reduzida mapeando-se os resíduos acima rmin para valores consecutivos de C (e não intercalando por 2). Isso é referido como o método “C Delimitado” e representado nas Figura 5 e 6 pelos marcadores redondos. O valor de C atinge um máximo de 11, ao invés de um máximo de 14, para o caso de negativo primeiro (Figura 5) e ao invés de um máximo de 13 para o caso de positivo primeiro (Figura 6). Resultados semelhantes são obtidos quando rmax for menor do que |rmin|, conforme ilustrado pelos marcadores redondos nas Figuras 7 e 8: O valor de C atinge um máximo de 13, ao invés de um máximo de 19, para o caso de negativo primeiro (Figura 7) e ao invés de um máximo de 20 para o caso de positivo primeiro (Figura 8). Portanto, o valor máximo de C é delimitado em relação ao valor de C sem o método “C Delimitado”.
[0057] Na opção “delimitado pelo mínimo”, os valores dos códigos C para os resíduos compreendidos entre o gatilho e rmax, se houver, são menores do que sem o método “C Delimitado”.
[0058] Na opção “delimitado pelo máximo”, os valores dos códigos C para os resíduos compreendidos entre o gatilho e rmin, se houver, são menores do que sem o método “C Delimitado”.
[0059] Na opção “delimitado pelo mínimo/máximo”, os valores dos códigos C para os resíduos compreendidos entre o gatilho e rmin, se houver, e os resíduos compreendidos entre o gatilho e rmax, se houver, são menores do que sem o método “C Delimitado”.
[0060] Os códigos C correspondentes a uma faixa de resíduos, de acordo com o modo de mapeamento de negativo primeiro ou o positivo primeiro, podem ser obtidos realizando- se as seguintes etapas do algoritmo de mapeamento:
[0061] Define-se, primeiramente, os seguintes dois parâmetros: Cprimeiro = -1 se negativo primeiro, +1 se positivo primeiro
[0062] Quando se usa a melhora “C Delimitado” da invenção, um modo de delimitação é selecionado, sendo um dentre - delimitado pelo mínimo; - delimitado pelo mínimo/máximo; - delimitado pelo máximo; - não delimitado.
[0063] Um gatilho é determinado conforme a seguir: gatilho = |rmin| se delimitado pelo mínimo, gatilho = MIN(|rmin|, rmax) se delimitado pelo mínimo/máximo, gatilho = Tmax se delimitado pelo máximo. gatilho = m se não delimitado.
[0064] O código C pode, então, ser computado realizando-se as seguintes etapas: IF |r| <= gatilho ENTÃO IF r*Cprimeiro > 0 ENTÃO C = 2*|r| -1 OU C = 2*|r| OU C = gatilho + |r|
[0065] A opção “negativo primeiro” é mais interessante visto que garante códigos mais curtos para todos os valores abaixo do previsor, o que inclui todos os valores que foram removidos pela quantização. Isso é mostrado na Figura 9, em que a vantagem relativa dos métodos “negativo primeiro” é claramente superior aos métodos “positivo primeiro”.
[0066] O modo de delimitação “delimitado pelo mínimo/máximo” não oferece uma vantagem significativa em relação ao modo de delimitação “delimitado pelo mínimo” e, portanto, o método pode ser simplificado com segurança se sua implantação oferecer um ganho ao não considerar rmax.
[0067] Além disso, o mapeamento pode ser obtido a partir das tabelas de consulta predeterminadas.
[0068] O mapeamento inverso é bijetivo e, portanto, seu inverso pode ser realizado no decodificador.
[0069] A Tabela VI abaixo fornece um exemplo de oito GCLIs consecutivos de 1 a 8, para grupos de coeficientes, codificados em m=15 bits. O nível de quantização é t=4. O previsor inicial, para i=1, foi selecionado como int(m/2), isto é, 7. Para cada GCLI subsequente, o previsor foi determinado como sendo o GCLI anterior. Para cada GCLIs consecutivo, os resíduos ri foram computados de acordo com a equação 2, e o rmin e rmax, foram determinados de acordo com as equações 6 e 7, respectivamente. Os valores dos gatilhos, de acordo com as opções diferentes, foram computados para cada GCLI. Na última linha, o código C estava na opção “delimitado pelo mínimo”, e negativo primeiro. Cada GCLI é processado independentemente dos outros GCLIs no conjunto de dados de entrada, na dependência do previ do GCLI atual. Tabela VI i 1 2 3 4 5 6 7 8 GCLIi 4 3 8 12 5 4 7 4 previ 7 4 3 8 12 5 4 7 ri -3 0 4 4 -7 -1 3 -3 rmin -3 0 0 -4 -8 -1 0 -3 rmax 8 11 11 7 3 10 11 8 Gatilhos,
delimitado por (min.) 3 0 0 4 8 1 0 3 min/max 3 0 0 4 3 1 0 3 max 8 11 11 7 3 10 11 8 não 15 15 15 15 15 15 15 15 delimita do C 5 0 4 8 13 1 3 5
[0070] A Tabela VII proporciona o número de bits necessário para criptar 8 códigos C de acordo com os diferentes modos de delimitação e modos de mapeamento. Tabela VII Modo de delimitação Negativo primeiro Positivo primeiro min 47 50 min/max 44 46 max 51 51 não delimitado 54 55
[0071] O valor em negrito corresponde ao exemplo mostrado na tabela VI. Pode ser visto que negativo primeiro gera melhores resultados. O modo de delimitação “delimitado pelo mínimo/máximo” proporciona melhores resultados, mas o “delimitado pelo mínimo” também é satisfatório.
[0072] As informações que são preparadas no codificador, isto é, os planos de bit e os códigos C que encriptam os resíduos são tais que o decodificador pode a partir dos códigos C recebidos, e um previsor reconstruído, determinar o número de planos de bit nbp a ser extraídos do conjunto de dados compactado de magnitude para reconstrução do conjunto de dados quantizado original. O gatilho usado no codificador para criptar o resíduo não é necessário no decodificador e não transmitido no conjunto de dados compactado de metadados.
[0073] O decodificador recebe um valor de C e tem um valor de prev, a partir da etapa anterior ou a partir de prev_init. A partir desses dois valores, o decodificador pode computar rmin e rmax, de acordo com as equações 6 e 7, respectivamente. Tendo o conhecimento do modo de mapeamento e do modo de delimitação, o decodificador computa o gatilho. O decodificador pode, então, computar o código C correspondente a todos os valores de r entre rmin e rmax, de acordo com as etapas acima do algoritmo de mapeamento. Isso produz uma tabela que gera a correspondência entre os valores de r entre rmin e rmax, e os valores correspondentes de C. O decodificador obtém, então, o valor de r como o valor correspondente a C nessa tabela.
[0074] Em um exemplo da tabela VIII, um código C=5 foi recebido, com um previsor igual a 7, e um nível de quantização t=4. Os valores de rmin e rmax podem ser computados e uma tabela para todos os possíveis resíduos entre rmin e rmax construídos. O código C para cada um desses 11 valores de r é computado e inserido na tabela. O valor do código C=5 recebido é, então, pesquisado na tabela para encontrar o valor correspondente de r, r=-3. Outros métodos equivalentes para realizar a decodificação dos códigos C, como uma pesquisa (binária) na tabela, ou uma fórmula. Tabela VIII ri C rmax 8 11 7 10
-1 1 -2 3 rmin -3 5
[0075] Os códigos C obtidos para os resíduos no método da invenção são números inteiros não negativos. Se o previsor for um previsor preciso, os resíduos serão valores menores. Uma encriptação por entropia é usada para criptar C nos metadados. Uma encriptação por entropia preferencial para C é a encriptação Rice. A encriptação Rice de um número inteiro não negativo N em dependência de parâmetro k é conforme a seguir: - um divide N por 2k e o quociente resultante é encriptado em unário; - o restante da divisão é encriptado em binário em k bits.
[0076] Os valores exemplificativos para N entre 0 e 10, e k=0, 1 e 2 são dados na tabela abaixo: Código Código Rice Código Rice Código Rice
N binário k = 0 k = 1 k = 2 0 0 0 0 0 0 00 1 1 10 0 1 0 01 2 10 110 10 0 0 10 3 11 1110 10 1 0 11 4 100 11110 110 0 10 00
Código Código Rice Código Rice Código Rice
N binário k = 0 k = 1 k = 2 5 101 111110 110 1 10 01 6 110 1111110 1110 0 10 10 7 111 11111110 1110 1 10 11 8 1000 111111110 11110 0 110 00 9 1001 1111111110 11110 1 110 01 10 1010 11111111110 111110 0 110 10
[0077] Com k=0, o comprimento do código, para N=0, é um bit. Portanto, o valor k=0 é o valor preferencial para o método da invenção, quando a previsão for precisa, e o valor 0 é frequente dentre os resíduos a ser encriptados. Entretanto, se a precisão da previsão não for perfeita, maiores valores de N podem ocorrer, e um valor maior de k, como k=1 ou 2, em que valores maiores de N exigem menos bits, pode ser ideal. A encriptação Rice é um código prefixo. Portanto, nenhum código no conjunto de códigos possíveis é um prefixo de outro código no conjunto de códigos possíveis. Nenhum marcador específico é necessário entre os códigos, e o decodificador pode extrair de modo não ambíguo códigos consecutivos do conjunto de dados compactado de metadados.
[0078] A etapa de quantização aplica o conjunto de 2m valores das magnitudes dos coeficientes, entre 0 e 2m-1, para um conjunto de 2m_t valores entre 0 e 2(m_t)-1. Uma forma simples de realizar essa quantização é removendo-se os t bits de menor peso dos coeficientes não quantizados. Entretanto, outros métodos de quantização podem ser usados na invenção.
[0079] A Figura 9 mostra os resultados obtidos para diferentes imagens e diferentes modalidades da invenção. Para cada uma das 16 imagens de teste, os gráficos de barra mostram o PSNR (Razão Entre Sinal de Pico e Ruído) em relação a um método em que a encriptação da invenção não é usada, mas quando resíduos forem encriptados usando-se encriptação unária, como no documento SMPTE RDD 35:2016. Os gráficos de barra representam com sucesso • o caso em que apenas o |rmin| delimitado é usado, com o modo de mapeamento de negativo primeiro (min_neg1st); • o caso em que apenas o |rmin| delimitado é usado, com o modo de mapeamento de positivo primeiro (min_pos1st); • o caso em que ambas as delimitações |rmin| e rmax são usadas, com o modo de mapeamento de negativo primeiro (minmax_neg1st); • o caso em que ambas as delimitações |rmin| e rmax são usadas, com o modo de mapeamento de positivo primeiro (minmax_pos1st). • o caso em que nem a delimitação |rmin| nem a delimitação rmax são usadas, com o modo de mapeamento de negativo primeiro (no_minmax).
[0080] Esses resultados mostram que usar ambas as delimitações |rmin| e rmax fornece uma melhora muito pequena em relação ao uso de penas a delimitação |rmin|. Em ambos os casos, usar o modo de mapeamento de negativo primeiro é significativamente melhor do que usar o modo de mapeamento de positivo primeiro.
[0081] A presente descrição aborda o processamento das magnitudes dos coeficientes. Os métodos se aplicam a coeficientes sem sinais. Os métodos também se aplicam quando os dados de entrada compreenderem coeficientes com sinal. Esses coeficientes com sinal podem ser encriptados como sign+magnitude ou transformados no formato sign+magnitude. Os bits de sinal dos coeficientes de um grupo são agrupados como um plano de bit de sinal, e o plano de bit de sinal é processado juntamente com os planos de bit de magnitude.
A invenção se refere a um método para compactar um conjunto de dados de entrada, em que os coeficientes no conjunto de dados de entrada são agrupados em grupos de coeficientes, um número de planos de bit, GCLI, necessário para representar cada grupo é determinado, uma quantização é aplicada, manter um número limitado de planos de bit, um mecanismo de previsão é aplicado aos GCLIs para obter resíduos e uma encriptação por entropia dos resíduos é realizada.
Os resíduos encriptados por entropia e os planos de bit mantidos permitem que o decodificados reconstrua os dados quantizados, em um custo mínimo em metadados.

Claims (16)

REIVINDICAÇÕES
1. MÉTODO PARA COMPACTAR, de acordo com parâmetros de compactação, um ou mais conjuntos de dados de entrada, em que o conjunto ou cada conjunto de dados de entrada compreende uma sequência de M coeficientes, sendo que cada coeficiente tem m bits que codificam uma magnitude compreendida entre 0 e 2m -1, em um ou mais conjuntos de dados compactados correspondentes, sendo que cada um compreende um conjunto de dados compactado de magnitude, e um conjunto de dados compactado de metadados, em que os ditos parâmetros de compactação podem compreender M, m, n, t, o tipo de quantização, o modo de mapeamento, ser negativo primeiro ou positivo primeiro; o número de fileiras e colunas de uma imagem de exibição, se o conjunto de dados de entrada representar uma imagem de exibição; um número de fileiras de uma sub-banda, se a sequência de pixels for uma transformada decorrelativa de uma imagem de exibição; o modo de previsão, que pode ser previsão horizontal ou vertical; a forma em que os valores iniciais dos previsores são determinados; o modo de encriptação por entropia; o valor do parâmetro k da encriptação Rice se a encriptação por entropia for uma encriptação Rice e o modo de delimitação é um dentre “delimitado pelo mínimo”, “delimitado pelo mínimo/máximo”, “delimitado pelo máximo”, “não delimitado”, que compreende as etapas de, para o conjunto ou cada conjunto de dados de entrada: A. agrupar os coeficientes em um ou mais grupos consecutivos de n coeficientes, sendo que o fator de agrupamento n é maior ou igual a 2, sendo que cada grupo de coeficientes tem m planos de bit de magnitude para os diferentes pesos dos coeficientes; B. para cada grupo i de coeficientes, a) determinar um valor do Maior Índice de Linha Codificada (GCLI), sendo que o GCLLi é o índice do bit diferente de zero de peso mais alto dentre os bits da magnitude dos coeficientes no dito grupo i, sendo que o índice é contado de 1 para o bit menos significativo a m para o bit mais significativo, em que o GCLI é zero para um grupo em que todos os coeficientes são iguais a zero; b) realizar uma quantização de modo que os coeficientes quantizados sejam compreendidos na faixa de 0 a 2(m_t) -1, fornecendo n coeficientes quantizados, em que t é um nível de quantização; c) se GCLLi ≥ t+1, para cada plano de bit do dito grupo, copiar planos de bit que têm peso 1 a peso GCLLi-t dos coeficientes quantizados ao conjunto de dados compactado de magnitude; d) se GCLLi ≤ t, não realizar ações e) computar um previsor previ de GCLLi, na função dos GCLIs de um ou mais grupos de coeficientes antecedentes na dita sequência de coeficientes, sendo que o previsor previ é igual a prev_init, para o primeiro grupo de coeficientes da dita sequência de coeficientes; f) computar um resíduo ri ri = max(GCLIi-t, 0) - max(previ-t, 0); caracterizado por compreender as etapas adicionais de g) mapear o resíduo ri para um código, sendo que o dito mapeamento é obtenível realizando-se as etapas de (1) computar o rmin, o menor valor dos resíduos para todos os possíveis valores de GCLIi, em que rmin = -max(previ-t, 0); (2) computar o rmax, o maior valor dos resíduos para todos os possíveis valores de GCLIi, em que rmax = max(m-max(previ,t), 0); (3) computar - Cprimeiro = -1 se o modo de mapeamento for negativo primeiro, - Cprimeiro = +1 se o modo de mapeamento for positivo primeiro; (4) computar - gatilho = |rmin| se o modo de delimitação for “delimitado pelo mínimo”; - gatilho = MIN(|rmin|, rmax) se o modo de delimitação for “delimitado pelo mínimo/máximo”; - gatilho = rmax se o modo de delimitação for “delimitado pelo máximo”; - gatilho = m se o modo de delimitação for “não delimitado”; (5) IF |r| <= gatilho ENTÃO IF r*Cprimeiro > 0 ENTÃO C = 2*|r| -1 OU C = 2*|r| OU C = gatilho + |r| h) fornecer uma encriptação por entropia do código C, e copiar a dita encriptação no conjunto de dados compactado de metadados.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado pela dita encriptação por entropia ser uma encriptação Rice, com k=0, 1 ou 2.
3. MÉTODO, de acordo com a reivindicação 2, caracterizado por k=0.
4. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo n ser menor ou igual a 8 ou ser igual a 4.
5. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pela dita quantização ser realizada removendo-se os t menores planos de bit dos grupos de coeficientes.
6. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo dito conjunto de dados de entrada ser obtido realizando-se uma transformada decorrelativa em um conjunto de dados de entrada não descorrelacionado.
7. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pela dita sequência de M coeficientes corresponder a uma sequência de pixels de uma ou mais fileiras de uma imagem de exibição que compreendem fileiras e colunas de pixels ou uma ou mais fileiras de uma sub-banda de uma transformada decorrelativa de uma imagem de exibição que compreende fileiras e colunas de pixels.
8. MÉTODO, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por na etapa B.e), o dito previsor previ de GCLIi ser o GCLI dos grupos de coeficientes anteriores em uma sequência de coeficientes, sendo prev_init para o primeiro grupo de coeficientes em uma sequência de coeficientes, em que o modo de previsão é modo de previsão horizontal.
9. MÉTODO, de acordo com a reivindicação 7, caracterizado por na etapa B.e), o dito previsor previ de GCLLi ser o GCLI do grupo de pixels na mesma coluna de fileira anterior de pixels se o dito GCLI for maior do que t, e zero se o dito GCLI for menor ou igual a t, sendo prev_init para os grupos de pixels da primeira fileira de pixels, sendo que o modo de previsão é o modo de previsão vertical.
10. MÉTODO, de acordo com a reivindicação 9, em que o dito um ou mais conjuntos de dados de entrada compreenderem pelo menos dois conjuntos de dados de entrada, um primeiro conjunto de dados de entrada que tem um nível de quantização t1, um segundo conjunto de dados de entrada que tem um nível de quantização t2, em que a última fileira de pixels do primeiro conjunto de dados de entrada está acima da primeira fileira de pixels do segundo conjunto de dados de entrada, em uma imagem de exibição, caracterizado pelo previsor para um grupo de pixels da primeira fileira de pixels do segundo conjunto de dados de entrada ser igual ao GCLI do grupo de pixels da última fileira de pixels na mesma coluna do primeiro conjunto de dados de entrada se o dito GCLI > t1 e igual a zero se o dito GCLI < t1.
11. MÉTODO PARA DESCOMPACTAR, caracterizado por ser de acordo com parâmetros de compactação, de um ou mais conjuntos de dados compactados, em que cada um compreende um conjunto de dados compactado de metadados que compreende uma sequência de códigos encriptados por entropia ci e um conjunto de dados compactado de magnitude que compreende planos de bit de coeficientes, obteníveis por um método, conforme definido em qualquer uma das reivindicações 1 a 10, com os mesmo parâmetros de compactação, em um ou mais conjuntos de dados descompactados correspondentes, em que cada um compreende uma sequência de coeficientes, sendo que cada coeficiente tem m bits que codificam uma magnitude que compreende a etapa de: a) inicializar um previsor previ’ para prev_init; se o modo de previsão for vertical, então inicializar uma fileira de GCLIs previ para prev_init; b) extrair um código Ci do dito conjunto de dados compactado de metadados; c) se o modo de previsão for vertical, então computar previ’ = previ; d) obter o resíduo ri correspondente ao dito código ci, sendo que a correspondência é obtenível realizando-se as etapas de (1) realizar as etapas B.g), de acordo com a reivindicação 1, para todos os valores de r compreendidos entre rmin e Tmax, fornecendo uma tabela; (2) obter o resíduo ri correspondente ao dito código ci da dita tabela; e) computar o número de planos de bit nbp armazenados para o grupo correspondente ao dito código, sendo que o dito número de planos de bit é nbp = ri+previ’; f) se o dito número de planos de bit nbp for igual a zero, fornecer uma sequência de n m-bit palavras que têm todos os planos de bit de t+1 a m em zero no conjunto de dados descompactados; g) se o dito número de planos de bit nbp for diferente de zero, fornecer uma sequência de n m-bit palavras que têm os t+1 a t+nbp planos de bit extraídos de n-bit planos de bit subsequentes do conjunto de dados compactado de magnitude e que têm o t+1+nbp a m planos de bit iguais a zero; h) se o modo de previsão for horizontal, então substituir previ’ por nbp; se o modo de previsão for vertical, então substituir previ = nbp; i) repetir as etapas b) a g) para códigos e planos de bit consecutivos até que todos os códigos no conjunto de dados compactado de metadados tenham sido usados.
12. MÉTODO, de acordo com a reivindicação 11, para descompactar dois ou mais conjuntos de dados de entrada obtidos de acordo com a reivindicação 10, caracterizado por, para a primeira fileira do segundo conjunto de dados, um tomar como previsor previ’, o valor correspondente de previ obtido para a última fileira do primeiro conjunto de dados.
13. MÉTODO, conforme definido em qualquer uma das reivindicações 1 a 12, caracterizado pelo prev_init ser igual a zero ou igual a int(m/2).
14. CONJUNTO DE DADOS COMPACTADOS CORRESPONDENTE A UM CONJUNTO DE DADOS NÃO COMPACTADOS, em que o dito conjunto de dados não compactados compreender uma sequência de M coeficientes, sendo que cada coeficiente tem m bits que encriptam uma magnitude, sendo que o dito conjunto de dados compactados é caracterizado por ser obtenível a partir do dito conjunto de dados não compactados pelo método, conforme definido em qualquer uma das reivindicações 1 a 10, que compreende • um conjunto de dados compactado de metadados que compreende uma sequência de códigos encriptados por entropia e • um conjunto de dados compactado de magnitude que compreende planos de bit de coeficientes.
15. DISPOSITIVO PARA COMPACTAR, conforme definido em qualquer uma das reivindicações 1 a 10, caracterizado por compreender um conjunto de dados de entrada que compreende uma sequência de M coeficientes, sendo que cada coeficiente tem m bits que encriptam uma magnitude em um conjunto de dados compactados que compreende um conjunto de dados compactado de magnitude, um conjunto de dados compactados de metadados, que compreende pelo menos um dentre um circuito lógico, um ASIC, um FPGA, uma GPU e uma CPU, configurados para realizar as etapas dos métodos.
16. DISPOSITIVO PARA DESCOMPACTAR, caracterizado por compreender dados compactados que compreendem um conjunto de dados compactado de metadados que compreendem uma sequência de códigos encriptados em Rice e um conjunto de dados compactado de magnitude que compreende planos de bit de coeficientes, em um conjunto de dados descompactados que compreende uma sequência de coeficientes, sendo que cada coeficiente tem m bits que encriptam uma magnitude, sendo que o dito conjunto de dados compactados é obtenível pelo método, conforme definido em qualquer uma das reivindicações 1 a 10, em um conjunto de dados descompactados, sendo que o dito conjunto de dados descompactados compreende uma sequência de M coeficientes, sendo que cada coeficiente tem m bits que encriptam uma magnitude, que compreende pelo menos um dentre um circuito lógico, um ASIC, um FPGA, uma GPU e uma CPU, configurado para realizar as etapas do método, conforme definido em qualquer uma das reivindicações 11 a 13.
BR112020000415-4A 2017-07-10 2018-07-10 Método para compactar, método para descompactar, conjunto de dados compactados correspondente a um conjunto de dados não compactados, dispositivo para compactar, e dispositivo para descompactar BR112020000415B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17180619.3 2017-07-10
EP17180619 2017-07-10
PCT/EP2018/068716 WO2019011944A1 (en) 2017-07-10 2018-07-10 METHOD AND DEVICE FOR COMPRESSING DIGITAL DATA

Publications (2)

Publication Number Publication Date
BR112020000415A2 true BR112020000415A2 (pt) 2020-07-14
BR112020000415B1 BR112020000415B1 (pt) 2022-03-29

Family

ID=59315458

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020000415-4A BR112020000415B1 (pt) 2017-07-10 2018-07-10 Método para compactar, método para descompactar, conjunto de dados compactados correspondente a um conjunto de dados não compactados, dispositivo para compactar, e dispositivo para descompactar

Country Status (9)

Country Link
US (1) US11475600B2 (pt)
EP (1) EP3461307B1 (pt)
JP (1) JP7046325B2 (pt)
KR (1) KR102400514B1 (pt)
CN (1) CN110720222B (pt)
AU (1) AU2018298758B2 (pt)
BR (1) BR112020000415B1 (pt)
MX (1) MX2020000341A (pt)
WO (1) WO2019011944A1 (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2908216T3 (es) * 2016-12-19 2022-04-28 Fraunhofer Ges Forschung Codificación de imágenes utilizando una adaptación de predicción dependiente de la subbanda para la codificación de entropía de GCLI
CN112713899B (zh) * 2020-12-18 2021-10-08 广东高云半导体科技股份有限公司 Fpga码流数据的压缩方法、装置及存储介质
US11803577B1 (en) * 2021-08-13 2023-10-31 Amazon Technologies, Inc. Parent/child document indexing
CN116527903B (zh) * 2023-06-30 2023-09-12 鹏城实验室 图像浅压缩方法及解码方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1355484B1 (en) * 2002-04-17 2017-03-01 Canon Kabushiki Kaisha Image compression method and apparatus, and image coding method and apparatus
US7342965B2 (en) * 2002-04-26 2008-03-11 Nokia Corporation Adaptive method and system for mapping parameter values to codeword indexes
JP4784281B2 (ja) * 2005-11-18 2011-10-05 富士ゼロックス株式会社 復号化装置、逆量子化方法及びこれらのプログラム
JP2008252176A (ja) * 2007-03-29 2008-10-16 Toshiba Corp 動画像符号化装置及び方法
CN101309405B (zh) * 2007-05-14 2011-04-20 华为技术有限公司 参考数据载入的方法及装置
CN101217671B (zh) * 2008-01-09 2011-02-16 武汉大学 自适应选择h.264视频标准中灵活宏块排序模式的方法
CN101383972A (zh) * 2008-09-28 2009-03-11 北京航空航天大学 基于空间预测与变换的遥感图像压缩方法
CN102314418B (zh) * 2011-10-09 2013-07-24 北京航空航天大学 一种基于上下文关联的中文相似性比较方法
CN102998180A (zh) * 2012-11-30 2013-03-27 北京交通大学 一种采用残余强度构建损伤岩石本构关系的方法
US9123165B2 (en) * 2013-01-21 2015-09-01 Honeywell International Inc. Systems and methods for 3D data based navigation using a watershed method
EP4072136A1 (en) 2013-03-01 2022-10-12 intoPIX s.a. Method and device for display stream compression
US9332258B2 (en) 2013-03-01 2016-05-03 intoPIX SA Method and device for display stream compression
CN103139571A (zh) * 2013-03-21 2013-06-05 南通大学 基于fec与wz编解码相结合的视频容错抗误码方法
EP3151570B1 (en) * 2015-09-30 2018-03-14 intoPIX Method and device for mapping a data stream into an sdi channel
WO2018041379A1 (en) 2016-08-29 2018-03-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Improvements for greatest common line index (gcli) video coding

Also Published As

Publication number Publication date
CN110720222A (zh) 2020-01-21
KR102400514B1 (ko) 2022-05-20
RU2020101568A3 (pt) 2021-08-23
AU2018298758B2 (en) 2021-08-12
RU2020101568A (ru) 2021-08-10
JP2020527884A (ja) 2020-09-10
AU2018298758A1 (en) 2020-01-16
US20200226791A1 (en) 2020-07-16
US11475600B2 (en) 2022-10-18
EP3461307A1 (en) 2019-04-03
WO2019011944A1 (en) 2019-01-17
BR112020000415B1 (pt) 2022-03-29
RU2765654C2 (ru) 2022-02-01
CN110720222B (zh) 2022-04-08
EP3461307B1 (en) 2021-05-12
KR20200024154A (ko) 2020-03-06
JP7046325B2 (ja) 2022-04-04
MX2020000341A (es) 2020-08-17

Similar Documents

Publication Publication Date Title
BR112020000415A2 (pt) método para compactar; método para descompactar; conjunto de dados compactados correspondente a um conjunto de dados não compactados; dispositivo para compactar e dispositivo para descompactar
US8767823B2 (en) Method and apparatus for frame memory compression
JP5733935B2 (ja) デジタルコンテンツ符号器、復号器、検索装置、符号化方法、検索方法および記憶装置
BRPI0614759A2 (pt) codificação e decodificação eficiente de blocos de transformação
TWI479456B (zh) 使用誤差平面編碼的數據壓縮方法及裝置
Alexandre et al. An autoencoder-based learned image compressor: Description of challenge proposal by NCTU
BR112021001807A2 (pt) codificação de entropia para codificação de aprimoramento de sinal
JP4601690B2 (ja) ベクトル符号化/復号化方法、装置、及びストリーム・メディア・プレイヤー
Rahmani et al. An efficient histogram-based index mapping mechanism for reversible data hiding in VQ-compressed images
CN106878757B (zh) 用于对数字视频内容进行编码的方法、介质和系统
CN104380733A (zh) 视频量化参数编码方法、视频量化参数解码方法、设备、以及程序
Sangeetha et al. A biometrie iris image compression using LZW and hybrid LZW coding algorithm
JP4603659B2 (ja) 可変長符号ビットを固定位置に詰込む方法
Padmavati et al. DCT combined with fractal quadtree decomposition and Huffman coding for image compression
Ibrahim et al. An enhanced fractal image compression integrating quantized quadtrees and entropy coding
Ravi et al. A study of various Data Compression Techniques
JP2004120623A (ja) 符号化装置、符号化方法、復号装置及び復号方法
Gupta et al. Lossless compression based Kmp technique
RU2765654C9 (ru) Способ и устройство для сжатия цифровых данных
KR100686354B1 (ko) 가변 트리를 이용한 허프만 복호화 방법 및 장치
Reddy et al. Review on Image Compression Techniques
Nithya et al. Survey On Image Compression Algorithms And Their Efficiencies Under Different Types Of Files
Sil et al. Implementation of Hybrid Wavelet Transform for Adaptive Lossless Image Compression
Sahu et al. Hybrid Compression of Medical Images Based on Huffman and LPC For Telemedicine Application
Karthikeyan et al. Comparative Study of Different Encoder Schemes of DCT for Image Compression

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/64 , H04N 19/124 , H04N 19/18 , H04N 19/184 , H04N 19/645 , H03M 7/40 , H03M 7/30

Ipc: H04N 19/64 (2014.01), H03M 7/40 (2006.01), H04N 19

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 10/07/2018, OBSERVADAS AS CONDICOES LEGAIS.