PT1609084E - Dispositivo e método para a conversão numa representação transformada ou para a conversão inversa da representação transformada - Google Patents
Dispositivo e método para a conversão numa representação transformada ou para a conversão inversa da representação transformada Download PDFInfo
- Publication number
- PT1609084E PT1609084E PT04740658T PT04740658T PT1609084E PT 1609084 E PT1609084 E PT 1609084E PT 04740658 T PT04740658 T PT 04740658T PT 04740658 T PT04740658 T PT 04740658T PT 1609084 E PT1609084 E PT 1609084E
- Authority
- PT
- Portugal
- Prior art keywords
- block
- values
- transformed
- discrete
- rounded
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000006243 chemical reaction Methods 0.000 title claims description 39
- 230000009466 transformation Effects 0.000 claims abstract description 201
- 238000012545 processing Methods 0.000 claims description 45
- 239000011159 matrix material Substances 0.000 claims description 42
- 230000002441 reversible effect Effects 0.000 claims description 29
- 230000005236 sound signal Effects 0.000 claims description 18
- 230000000750 progressive effect Effects 0.000 claims description 16
- 230000001373 regressive effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 241000269821 Scombridae Species 0.000 claims description 5
- 235000020640 mackerel Nutrition 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 5
- 238000009825 accumulation Methods 0.000 abstract description 4
- 238000000926 separation method Methods 0.000 abstract 1
- 230000003595 spectral effect Effects 0.000 description 37
- 230000006870 function Effects 0.000 description 32
- 238000004422 calculation algorithm Methods 0.000 description 29
- 238000000844 transformation Methods 0.000 description 22
- 238000000354 decomposition reaction Methods 0.000 description 19
- 238000013459 approach Methods 0.000 description 14
- OVOUKWFJRHALDD-UHFFFAOYSA-N 2-[2-(2-acetyloxyethoxy)ethoxy]ethyl acetate Chemical compound CC(=O)OCCOCCOCCOC(C)=O OVOUKWFJRHALDD-UHFFFAOYSA-N 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000011002 quantification Methods 0.000 description 7
- 238000007667 floating Methods 0.000 description 6
- 241000255777 Lepidoptera Species 0.000 description 5
- 238000011426 transformation method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- BXBVPYSHEOQGHP-UHFFFAOYSA-N Nordihydrocapsiate Chemical compound COC1=CC(COC(=O)CCCCCC(C)C)=CC=C1O BXBVPYSHEOQGHP-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- NCGICGYLBXGBGN-UHFFFAOYSA-N 3-morpholin-4-yl-1-oxa-3-azonia-2-azanidacyclopent-3-en-5-imine;hydrochloride Chemical compound Cl.[N-]1OC(=N)C=[N+]1N1CCOCC1 NCGICGYLBXGBGN-UHFFFAOYSA-N 0.000 description 1
- 238000000137 annealing Methods 0.000 description 1
- 210000005056 cell body Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000003874 inverse correlation nuclear magnetic resonance spectroscopy Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Discrete Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Radar Systems Or Details Thereof (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Controls And Circuits For Display Device (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
DESCRIÇÃO
"DISPOSITIVO E MÉTODO PARA A CONVERSÃO NUMA REPRESENTAÇÃO TRANSFORMADA OU PARA A CONVERSÃO INVERSA DA REPRESENTAÇÃO TRANSFORMADA" A presente invenção refere-se a algoritmos de compressão para valores discretos que apresenta informações de áudio e/ou imagem e, especialmente, a algoritmos de transformação que devem especialmente ser usados em codificadores que se baseiam em transformação, isto é, que não realizam uma quantificação/codificação dos sinais originais de áudio e/ou imagem, mas compreendem uma transformação numa região espectral antes da quantificação/codificação.
Os métodos modernos de codificação de áudio, como por exemplo MPEG Layer 3 (MP3) ou MPEG AAC, usam transformações, como por exemplo a denominada transformação discreta do co-seno modificada (MDCT), para se obter uma representação de frequência em blocos de um sinal de áudio. Normalmente, um codificador de áudio deste género recebe um fluxo de amostras de áudio discretas no tempo. 0 fluxo de amostras de áudio é janelado para se obter um bloco janelado de, por exemplo, 1024 ou 2048 amostras de áudio janeladas. Para o processo de janelamento, são usadas diferentes funções de janela, como por exemplo uma janela de seno, etc.
As amostras de áudio discretas no tempo janeladas são em seguida convertidas numa representação espectral por meio de um 1 banco de filtros. Para este fim pode ser usada, em principio, uma transformação de Fourier ou, por razões especiais, uma variante da transformação de Fourier, como por exemplo uma FFT ou, como o explicado acima, uma MDCT. 0 bloco de valores espectrais de áudio na salda do banco de filtros pode em seguida ser ainda processado, consoante as necessidades. Nos codificadores de áudio acima mencionados, segue-se uma quantificação dos valores espectrais de áudio, sendo os niveis de quantificação tipicamente escolhidos de tal modo que o ruido de quantificação introduzido pela mesma fique abaixo do limiar de mascaramento psicoacústico, isto é, seja "eliminado por mascaramento". A quantificação é uma codificação com perdas. Para se obter uma redução adicional da quantidade de dados, os valores espectrais quantificados são em seguida codificados por entropia, por exemplo, através de uma codificação de Huffman. Através do acréscimo de informações secundárias, tais como factores de escala, etc., um multiplexador de fluxo de bits forma um fluxo de bits a partir dos valores espectrais quantificados codificados por entropia, o qual pode ser armazenado ou transmitido.
No descodificador de áudio, o fluxo de bits é dividido em valores espectrais quantificados codificados e informações secundárias por meio de um desmultiplexador de fluxo de bits. Os valores espectrais quantificados codificados por entropia são primeiro descodificados por entropia para se obterem os valores espectrais quantificados. Os valores espectrais quantificados são em seguida inversamente quantificados para se obterem valores espectrais descodificados que possuem ruido de quantificação, o qual está no entanto abaixo do limiar de mascaramento psicoacústico e, por isso, será inaudível. Estes valores espectrais são em seguida convertidos numa representação 2 temporal por meio de um banco de filtros de síntese, para se obterem amostras de áudio descodificadas discretas no tempo. No banco de filtros de síntese tem de ser usado um algoritmo de transformação inverso ao algoritmo de transformação. Além disso, o janelamento tem de ser anulado após a transformação inversa frequência-tempo.
Para se obter uma boa selectividade da frequência, os codificadores de áudio modernos usam tipicamente uma sobreposição de blocos. Um caso deste género está representado na Fig. 12a. Primeiro, por exemplo, 2048 amostras de áudio discretas no tempo são tomadas e janeladas por meio de um dispositivo 402. A janela que representa o dispositivo 402 possui um comprimento de janela de 2N amostras e fornece um bloco de 2N amostras janeladas no lado de saída. De modo a se obter uma sobreposição de janelas, um segundo bloco de 2N amostras janeladas é formado por meio de um dispositivo 404, o qual está representado na Fig. 12a, meramente por razões de clareza, separadamente do dispositivo 402. No entanto, as 2048 amostras introduzidas no dispositivo 404 não são as amostras de áudio discretas no tempo imediatamente adjacentes à primeira janela, mas sim compreendem a segunda metade das amostras janeladas pelo dispositivo 402 e compreendem adicionalmente meramente 1024 "novas" amostras. A sobreposição está simbolicamente representada por um dispositivo 406 na Fig. 12a, o qual provoca um grau de sobreposição de 50%. Tanto as 2N amostras janeladas emitidas pelo dispositivo 402, como também as 2N amostras janeladas emitidas pelo dispositivo 404, são então submetidas ao algoritmo MDCT por meio de dispositivos 408 e 410, respectivamente. De acordo com o algoritmo MDCT conhecido, o dispositivo 408 fornece N valores espectrais para a primeira janela, enquanto o dispositivo 410 também fornece N valores 3 espectrais, mas para a segunda janela, sendo que existe uma sobreposição de 50% entre a primeira janela e a segunda janela.
Conforme o mostrado na Fig. 12b, no descodif icador os N valores espectrais da primeira janela são fornecidos a um dispositivo 412 que realiza uma transformação discreta do co-seno modificada. O mesmo se aplica aos N valores espectrais da segunda janela. Estes são fornecidos a um dispositivo 414 que também realiza uma transformação discreta do co-seno modificada. Tanto o dispositivo 412, como também o dispositivo 414 fornecem respectivamente 2N amostras para a primeira janela e 2N amostras para a segunda janela.
No dispositivo 416, que é designado por TDAC (TDAC = Time Domain Aliasing Cancelation) na Fig. 12b, é considerado o facto de que as duas janelas estão sobrepostas. Particularmente, uma amostra yi da segunda metade da primeira janela, portanto com um índice N+k, é somada a uma amostra Y2 da primeira metade da segunda janela, portanto com um índice k, de modo que resultam N amostras descodificadas temporalmente no lado de saída, portanto no descodificador.
Deve-se observar que através da função do dispositivo 416, que também é designada por função de adição, o janelamento realizado no codificador representado esquematicamente na Fig. 12a é de certo modo levado em consideração automaticamente, de modo que nenhum "janelamento inverso" explícito tem de ser realizado no descodificador representado na Fig. 12b.
Quando a função de janela implementada pelo dispositivo 402 ou 404 é designada por w(k), sendo que o índice k representa o índice do tempo, tem de ser cumprida a condição de que o peso 4 w(k) da janela ao quadrado somado ao peso w(N+k) da janela ao quadrado resulte em 1, sendo que k varia de 0 a N-l. Caso seja usada uma janela de seno, cujos pesos seguem a primeira meia-onda da função seno, esta condição é sempre preenchida, visto que o quadrado do seno e o quadrado do co-seno somados, para todos os ângulos, resultam no valor 1.
Uma desvantagem do método de janelamento com função MDCT subsequente, descrito na Fig. 12a, é o facto de que o janelamento é obtido por multiplicação de uma amostra discreta no tempo, ao se considerar uma janela de seno, com um número em virgula flutuante, visto que o seno de um ângulo entre 0 e 180 graus não resulta num número inteiro, excepto no ângulo de 90 graus. Mesmo quando amostras inteiras discretas no tempo são janeladas, resultam portanto números em virgula flutuante após o j anelamento.
Por isso, mesmo quando não é usado nenhum codificador psicoacústico, isto é, quando se pretende obter uma codificação sem perdas, é necessária uma quantificação na saida dos dispositivos 408 e 410, respectivamente, de modo a ser possível a realização de uma codificação entrópica razoavelmente dominável.
Geralmente, as transformações inteiras actualmente conhecidas para uma codificação de áudio e/ou vídeo sem perda, são obtidas através da decomposição das transformações nesta usadas em rotações de Givens e através da aplicação do esquema de elevação a cada rotação de Givens. Desta forma, um erro de arredondamento é introduzido em cada etapa. Para estágios subsequentes de rotações de Givens, o erro de arredondamento continua a acumular-se. O erro de aproximação resultante torna- 5 se especialmente problemático para abordagens de codificação de áudio sem perdas, especialmente quando são usadas transformações longas que fornecem, por exemplo, 1.024 valores espectrais, tal como ocorre, por exemplo, no caso da MDCT (MDCT = transformação discreta do co-seno modificada) conhecida com sobreposição e adição. Particularmente na região de alta frequência, onde de qualquer forma o sinal de áudio tem tipicamente uma quantidade de energia muito pequena, o erro de aproximação pode rapidamente tornar-se maior do que o próprio sinal, de modo que estas abordagens são problemáticas no que diz respeito à codificação sem perdas e especialmente no que diz respeito à eficiência da codificação que neste caso pode ser obtida.
No que diz respeito à codificação de áudio, transformações inteiras, portanto algoritmos de transformação que geram valores de saida inteiros, são particularmente no que diz respeito à codificação de áudio, baseados na conhecida DCT-IV, que não leva em consideração nenhuma componente continua, enquanto transformações inteiras para aplicações de imagem são baseadas, em vez disso, na DCT-II, a qual contém especialmente as medidas para a componente continua. As transformações inteiras deste género estão descritas, por exemplo, em Y. Zeng, G. Bi e Z. Lin, "Integer sinusoidal transforms based on lifting factorization", em Proc. ICASSP'01, Maio de 2001, pp. 1.181 - 1.184, K. Komatsu e K. Sezaki, "Reversible Discrete Cosine Transform", em Proc. ICASSP, 1998, Vol. 3, pp. 1.769 - 1.772, P. Hao e Q. Shi, "Matrix factorizations for reversible integer mapping", IEEE Trans. Signal Processing, Signal Processing, Vol. 49, pp. 2.314 - 2.324, e J. Wang, J. Sun e S. Yu, "1-d and 2-d transforms from integers to integers", em Proc. ICASSP'03, Hong Kong, Abril de 2003. 6 0 documento GEIGER R ET AL: "AUDIO CODING BASED ON INTEGER TRANSFORMS" PREPRINTS OF PAPERS PRESENTED AT THE AES lllth CONVENTION, n.° 5471, 21 de Setembro de 2001 (2001-09-21), páginas 1-8, descreve a aplicação de transformações inteiras na codificação de áudio.
Como foi explicado, as transformações inteiras ai descritas baseiam-se na decomposição da transformação em rotações de Givens e na aplicação do esquema de elevação conhecido às rotações de Givens, o que envolve o problema da acumulação de erros de arredondamento. Isto deve-se particularmente ao facto de que um arredondamento tem de ser realizado várias vezes durante uma transformação, isto é, após cada etapa de elevação, de modo que especialmente em transformações longas que envolvem por consequência muitas etapas de elevação, o arredondamento tem de ser realizado muito frequentemente. Como foi explicado, isto resulta num erro acumulado e particularmente também num processamento relativamente complexo, visto que o arredondamento é realizado após cada uma das etapas de elevação para realizar a próxima etapa de elevação. O objectivo da presente invenção consiste em criar um conceito mais eficiente e exacto para a conversão de valores discretos numa representação transformada e para a correspondente conversão inversa da representação transformada.
Este objectivo é solucionado através de um dispositivo para conversão, de acordo com a reivindicação 1, um método para conversão, de acordo com a reivindicação 17, um dispositivo para conversão inversa, de acordo com a reivindicação 19, um método para conversão inversa de acordo com a reivindicação 21 e um programa de computador, de acordo com a reivindicação 24. 7
Um outro objectivo da presente invenção consiste em criar um dispositivo de transformação progressiva assim como um dispositivo de transformação regressiva, os quais compreendam o conceito de acordo com a invenção para a conversão e o conceito de acordo com a invenção para a conversão inversa, respectivamente.
Este objectivo é solucionado através do dispositivo de transformação progressiva de acordo com a reivindicação 16, um método de transformação progressiva de acordo com a reivindicação 18, um dispositivo de transformação regressiva de acordo com a reivindicação 22 ou um método de transformação regressiva de acordo com a reivindicação 23 ou um programa de computador de acordo com a reivindicação 24. A presente invenção baseia-se no reconhecimento de que através da extensão do esquema de elevação unidimensional para um esquema de elevação multidimensional, assim como através da execução em cascata de pelo menos duas destas etapas de elevação, por um lado, o erro de arredondamento é reduzido e, por outro lado, a eficiência da computação é aumentada. Para este fim, de acordo com a invenção, são necessários pelo menos dois blocos de valores compreendendo informações de áudio e/ou imagem, os quais são individualmente submetidos a um algoritmo de transformação arbitrário. De acordo com a invenção, o arredondamento é realizado apenas após a realização do algoritmo de transformação completo. Isto significa que primeiro são arredondados, por exemplo, os valores resultantes emitidos, como por exemplo os valores espectrais, de uma Ia transformação e os valores resultantes emitidos de uma 2a transformação, respectivamente. Não é necessário um arredondamento durante a transformação. Por isso, qualquer regra de transformação arbitrária existente e particularmente qualquer já testada, na forma de, por exemplo, um código de programa que existe e esteja livremente disponível, pode ser usado como Ia e 2a regras de transformação, sem ter de decompor a própria transformação em rotações individuais como no estado da técnica, através da intervenção na transformação propriamente dita.
De acordo com a invenção, o segundo bloco é de certo modo usado como suporte para a representação transformada do primeiro bloco, através da soma do segundo bloco à representação transformada do primeiro bloco. Além disso, de acordo com a invenção, o primeiro bloco é de certo modo usado como suporte para uma representação transformada do segundo bloco através da subtracção da representação transformada do segundo bloco, a qual já contém os valores espectrais do primeiro bloco, a partir do primeiro bloco.
Visto que, de acordo com a invenção, o arredondamento é realizado meramente após a Ia e a 2a transformações, respectivamente, e visto que os valores arredondados são sobrepostos de forma aditiva e subtractiva, respectivamente, aos valores de suporte correspondentes, pode-se obter na conversão inversa, uma anulação das etapas realizadas na conversão sem perda de dados, de modo que resulta um algoritmo de transformação inteira, o qual pode, por um lado, ser implementado de maneira eficiente do ponto de vista computacional e no qual, por outro lado, não ocorra nenhuma acumulação de erros de arredondamento. Isto deve-se ao facto de que o arredondamento é realizado apenas após uma Ia ou 2 a transformação completa, o que, por um lado, elimina a acumulação dos erros de arredondamento e, por outro lado, reduz significativamente o número das etapas de arredondamento, 9 nomeadamente em comparação com o caso em que a própria transformação é decomposta em rotações, nas quais o arredondamento é realizado após cada uma das etapas de elevação próprias, dentro do algoritmo de transformação propriamente dito.
Uma vantagem da presente invenção consiste em poderem ser usadas além disso quaisquer regras convencionais de transformação não inteira, visto que o arredondamento tem de ser realizado apenas após a transformação.
Além disso, a presente invenção é vantajosa, no sentido de que podem ser usados algoritmos rápidos, cuja complexidade 0 não suba de acordo com N2, mas meramente suba a N log N. Isto é especialmente significativo para sinais de áudio, visto que o valor N, portanto o comprimento da transformação, é relativamente grande em sinais de áudio, e nos métodos de compressão de áudio conhecidos descritos no inicio, situa-se, por exemplo, a 1.024 valores.
Num exemplo de realização preferido da presente invenção, no qual é usada uma versão inteira da transformação MDCT em virgula flutuante conhecida, a regra de transformação é a transformação DCT-IV conhecida que compreende uma matriz de transformação idêntica como regra de transformação para a Ia e a 2a transformações. Além disso, de modo a obter uma transformação completamente inteira que corresponde à MDCT com sobreposição e adição, é preferido combinar o janelamento da MDCT comum com a funcionalidade de Time-Domain-Aliasing-Cancellation (funcionalidade TDAC) e expressá-lo através de rotações de Givens, as quais por sua vez podem ser calculadas com números inteiros por um esquema de elevação, para se obter uma versão 10 totalmente inteira da MDCT.
Os dois blocos de valores discretos, fornecidos ao dispositivo para conversão de acordo com a invenção, correspondem aos valores submetidos a rotações de Givens dos blocos janelados com sobreposição das amostras de áudio discretas no tempo ou amostras de imagem discretas ou valores residuais de imagem após uma predição num algoritmo de compressão de video moderno, sendo que no caso de dados de áudio, o algoritmo DCT-IV é preferido como algoritmo de transformação. No lado do descodificador, por sua vez, o dispositivo de transformação frequência-tempo é preferido como o algoritmo DCT-IV, ao qual se segue por sua vez um estágio de rotação que realiza um esquema de elevação inverso para recuperar sem perdas os N arredondamentos introduzidos no lado do codificador, portanto os arredondamentos introduzidos na transformação tempo-frequência.
Os exemplos de realização preferidos da presente invenção são em seguida explicados mais detalhadamente com referência aos desenhos anexos. Mostram:
Fig. 1 um diagrama de blocos de um dispositivo para conversão, de acordo com a invenção;
Fig. 2 um diagrama de blocos de um dispositivo para conversão inversa, de acordo com a invenção;
Fig. 3 um diagrama de blocos de um dispositivo para conversão, de acordo com um exemplo de realização preferido da presente invenção; 11
Fig. 4 um dispositivo para conversão inversa, de acordo com um exemplo de realização preferido da presente invenção;
Fig. 5 uma representação da transformação de dois blocos subsequentes de valores, conforme aplicável para a presente invenção;
Fig. 6 uma representação detalhada de uma etapa de elevação multidimensional com uma matriz de transformação progressiva;
Fig. 7 uma representação de uma etapa de elevação inversa multidimensional com uma matriz de transformação regressiva;
Fig. 8 uma representação da presente invenção para decompor uma DCT-IV do comprimento N em duas DCT-IV do comprimento N/2; e
Fig. 9 um diagrama de blocos de um dispositivo preferido para o processamento de amostras de áudio discretas no tempo para a obtenção de valores inteiros, a partir dos quais valores espectrais inteiros podem ser determinados;
Fig. 10 uma representação esquemática da decomposição de uma MDCT e uma MDCT inversa em rotações de Givens e duas operações de DCT-IV;
Fig. 11 uma representação para ilustração da decomposição da MDCT com 50 por cento de sobreposição em rotações e 12 operações de DCT-IV;
Fig. 12a um diagrama de blocos esquemático de um codificador conhecido com MDCT e 50 por cento de sobreposição; e
Fig. 12b um diagrama de blocos de um descodificador conhecido para a descodificação dos valores gerados pela Fig. 10a. A Fig. 1 mostra um dispositivo de acordo com a invenção, para a conversão de valores discretos numa representação transformada com valores inteiros. Os valores discretos são introduzidos num dispositivo de acordo com a invenção através de uma primeira entrada 100a, assim como através de uma segunda entrada 100b. Um primeiro bloco de valores discretos é introduzido através da entrada 100a, enquanto um segundo bloco de valores discretos é introduzido através da entrada 100b. Os valores discretos representam dados de áudio ou dados de imagem ou seja dados de video. Como em seguida será ainda explicado, o primeiro bloco de valores discretos e o segundo bloco de valores discretos podem de facto compreender dois blocos de amostras de áudio sucessivos no tempo. O primeiro e o segundo blocos de valores discretos também podem compreender duas imagens representados por valores discretos, ou valores residuais após uma predição ou valores diferenciais numa codificação diferencial, etc. Como alternativa, os dois blocos de valores discretos podem ter sido submetidos a um pré-processamento, como por exemplo na implementação inteira da MDCT, onde o primeiro bloco e o segundo blocos de valores discretos foram gerados através de rotações de Givens a partir de amostras janeladas efectivas. O primeiro e o segundo blocos de valores discretos podem, assim, ser derivados a partir de dados originais de áudio 13 ou de imagem através de quaisquer processamentos, como por exemplo rotações, permutações, borboletas para mais/menos, escalonamentos, etc. Todavia, o primeiro e o segundo blocos de valores discretos, embora não sejam directamente amostras de áudio ou valores de imagem discretizados, contêm informações de áudio ou informações de imagem, respectivamente. 0 primeiro bloco de valores discretos é introduzido, através da entrada 100a, num dispositivo 102 para processamento do primeiro bloco de valores discretos através do uso de uma Ia regra de transformação, para se obter um primeiro bloco de valores transformados numa sarda do dispositivo 102, como é mostrado na Fig. 1. Este primeiro bloco de valores transformados não será tipicamente inteiro, mas sim compreenderá valores em virgula flutuante, como são tipicamente obtidos por qualquer regra de transformação, como por exemplo uma transformação de Fourier, uma transformação de Laplace, uma FFT, uma DCT, uma DST, uma MDCT, uma MDST ou qualquer outra transformação, como por exemplo uma transformação wavelet com funções de base arbitrárias. O primeiro bloco de valores transformados é introduzido no dispositivo 104 para arredondamento do primeiro bloco de valores transformados para se obter, no lado de saída, um primeiro bloco de valores transformados arredondados. O dispositivo 104 para arredondamento é concebido para realizar qualquer função de arredondamento, como por exemplo um arredondamento por truncamento ou um arredondamento para cima ou para baixo, para ser realizado dependendo do valor em vírgula flutuante. A regra de arredondamento, que é implementada pelo dispositivo 104, é assim responsável pelo facto de que o primeiro bloco de valores transformados arredondados apenas 14 possui novamente valores inteiros, cuja precisão é determinada através da regra de arredondamento usada pelo dispositivo 104. O primeiro bloco de valores transformados arredondados, assim como o segundo bloco de valores discretos aplicado à segunda entrada 100b, é fornecido a um dispositivo 106 para soma, para se obter um segundo bloco de valores somados. Caso se considere o exemplo do sinal de áudio, pode-se ver que, através do dispositivo 106, valores espectrais do primeiro bloco de valores transformados arredondados são somados aos valores de tempo a partir do segundo bloco de valores discretos. Caso os valores discretos do segundo bloco se apresentem, por exemplo, como valores de tensão, recomenda-se que o primeiro bloco de valores transformados arredondados se apresente também como amplitudes de tensão, portanto como valores com a unidade V. Neste caso, na soma não haverá problemas no que diz respeitos às unidades. Para os especialistas é todavia evidente que qualquer padronização de unidade pode ser feita com o primeiro bloco de valores transformados arredondados e com o segundo bloco de valores discretos, respectivamente, no sentido de que tanto o primeiro bloco de valores transformados arredondados, como também o segundo bloco de valores discretos são, por exemplo, isentos de unidades. O segundo bloco de valores somados é fornecido a um dispositivo 108 para processamento do segundo bloco de valores somados através do uso de uma 2a regra de transformação para se obter um segundo bloco de valores transformados. Caso a regra de transformação usada no dispositivo 102 seja, por exemplo, uma regra de transformação tempo-frequência, então a 2a regra de transformação, que é usada no bloco 108, é, por exemplo, uma regra de transformação frequência-tempo. Estas relações também podem ser invertidas, de modo que o primeiro e o segundo blocos 15 de valores discretos sejam, por exemplo, valores espectrais, de modo que valores de tempo sejam obtidos através do dispositivo 102 para processamento sob a regra de transformação, enquanto valores espectrais sejam novamente obtidos através do dispositivo para processamento mediante a regra de transformação inversa, portanto o dispositivo 108. Assim, a Ia e a 2a regras de transformação podem ser uma regra de transformação progressiva ou uma regra de transformação regressiva, sendo que a regra de transformação inversa é então a regra de transformação regressiva ou a regra de transformação progressiva, respectivamente. O segundo bloco de valores transformados é introduzido num dispositivo 110 para arredondamento, conforme o mostrado na Fig. 1, para se obter um segundo bloco de valores transformados arredondados, o qual é finalmente introduzido num dispositivo 112 para subtracção, para subtrair o segundo bloco de valores transformados arredondados a partir do primeiro bloco de valores discretos que é introduzido através da primeira entrada 108a, para se obter um bloco de valores de saida inteiros da representação transformada, o qual pode ser emitido por uma saida 114. Através do processamento do bloco de valores de saida inteiros da representação transformada através do uso de uma terceira regra de transformação arbitrária que também tenha sido usada no dispositivo 102 ou difira da mesma, e através do subsequente arredondamento do bloco de valores de saída transformados para se obter um bloco de valores de saída transformados arredondados, e através da subsequente soma do bloco de valores de saída transformados arredondados ao segundo bloco de valores somados, pode-se obter um outro bloco de valores de saída inteiros da representação transformada, o qual, com o bloco de valores de saída inteiros aplicado à saída 114, 16 fornece uma representação transformada completa do primeiro e do segundo blocos de valores discretos.
No entanto também sem as últimas três etapas de processamento, arredondamento e soma, nas quais o bloco de valores de saida inteiros da representação transformada é aplicado à saida 114, uma parte de toda a representação transformada pode já ser obtida, a saber, por exemplo, a primeira metade que, quando submetida ao processamento inverso, permite um cálculo inverso do primeiro e do segundo blocos de valores discretos.
Aqui deve-se observar que, consoante a regra de transformação, a Ia, a 2 a e, eventualmente, a terceira regras de transformação podem ser idênticas. Isto é, por exemplo, o caso com a DCT-IV. Caso uma FFT tenha sido usada como Ia regra de transformação, a IFFT, que não é idêntica à FFT, poderia ser usada como segunda regra de transformação (inversa).
Por motivos computacionais é preferido disponibilizar a regra de transformação na forma de uma matriz que, quando o número de valores discretos do primeiro bloco é igual ao número de valores discretos dos segundo bloco, é então uma matriz quadrada de N x N, quando o número de valores discretos do primeiro bloco e o número de valores discretos do segundo bloco são ambos iguais a N.
Num exemplo de realização preferido da presente invenção, os dispositivos 104 e 110 para arredondamento são concebidos para arredondar, de acordo com uma função de arredondamento que fornece resultados arredondados, cuja precisão é inferior a uma precisão de máquina inerente a um computador que executa as 17 funcionalidades mostradas na Fig. 1. No que diz respeito à função de arredondamento, deve-se observar que a mesma mapeia um número não inteiro para o próximo inteiro mais alto ou mais baixo, meramente num exemplo de realização preferido. De igual modo, a função de arredondamento também pode mapear para outros números inteiros, como por exemplo o número 17,7 para o número 10 ou para o número 20, desde que a função de arredondamento provoque uma diminuição da precisão do número a ser arredondado. No exemplo acima, o número não arredondado é um número com um digito após a virgula decimal, enquanto o número arredondado é um número sem digito após a virgula decimal.
Embora o dispositivo 102 para processamento através do uso da Ia regra de transformação e o dispositivo 108 para processamento através do uso da 2a regra de transformação sejam mostrados como dispositivos separados na Fig. 1, deve-se observar que numa implementação concreta, pode estar presente meramente uma unidade funcional de transformação que, controlada por um controlo sequencial especial, primeiro transforme o primeiro bloco de valores discretos e em seguida, no respectivo momento do algoritmo, transforme inversamente o segundo bloco de valores somados. Então, a primeira e a segunda regras de transformação seriam idênticas. O mesmo aplica-se aos dois dispositivos 104, 110 para arredondamento. Eles também não têm de estar previstos como dispositivos separados, mas sim podem ser implementados por uma unidade funcional de arredondamento que, novamente controlada pelo controlo sequencial, consoante os requisitos do algoritmo, primeiro arredonda o primeiro bloco de valores transformados e em seguida arredonda o segundo bloco de valores transformados.
Num exemplo de realização preferido da presente invenção, o 18 primeiro bloco de valores discretos e o segundo bloco de valores discretos são as amostras janeladas inteiras, como são obtidas na saida do bloco 28 na Fig. 9, a qual será aprofundada em seguida. A DCT inteira no bloco 14 da Fig. 9 é então implementada através do algoritmo inteiro mostrado na Fig. 1, de tal modo que a representação transformada, num exemplo do sinal de áudio relativo à Fig. 9, represente o valor espectral inteiro na saida 30 do dispositivo mostrado na Fig. 9.
Em seguida, com base na Fig. 2, está representado um dispositivo para transformação inversa correspondente à Fig. 1, no qual além do bloco de valores de saida inteiros na saida do bloco 112 da Fig. 1, é também usado segundo bloco de valores somados na saida do dispositivo 106 da Fig. 1. Com referência à Fig. 4, a qual será em seguida ainda explicada detalhadamente, isto corresponde ao caso em que meramente os blocos 150 e 130 estão presentes, mas não o bloco 124 de transformação. A Fig. 2 mostra um dispositivo de acordo com a invenção, para a conversão inversa de um bloco de valores de saida inteiros da representação transformada, como é obtida na saida 114 da Fig. 1, e do segundo bloco de valores somados. O 2o bloco de valores somados é introduzido numa entrada 120 do dispositivo para conversão inversa, mostrado na Fig. 2. O bloco de valores de saida da representação transformada é introduzido numa outra entrada 122 do dispositivo para conversão inversa. O 2o bloco de valores somados é introduzido num dispositivo 130 para processamento deste bloco através do uso da 2a regra de transformação, quando a última regra de transformação usada durante a codificação foi a 2a regra de transformação. No lado de saida, o dispositivo 130 fornece um primeiro bloco de valores 19 transformados, o qual é fornecido a um dispositivo 132 para arredondamento que por sua vez gera um primeiro bloco de valores transformados arredondados no lado de saída. 0 primeiro bloco de valores transformados arredondados é em seguida subtraído a partir do bloco de valores de saída da representação transformada por meio de um dispositivo 134, para se obter o primeiro bloco de valores discretos numa primeira saída 149 do dispositivo da Fig. 2.
Este primeiro bloco de valores discretos é fornecido a um dispositivo 150 para processamento deste bloco através do uso da Ia regra de transformação para se obter um segundo bloco de valores transformados na saída do dispositivo 150. Este segundo bloco de valores subtraídos transformados é por sua vez arredondado no dispositivo 152 para se obter um segundo bloco de valores transformados arredondados. Este segundo bloco de valores transformados arredondados é em seguida subtraído a partir do 2o bloco de valores somados fornecido no lado da entrada, o qual foi introduzido através da entrada 120, para se obter, no lado de saída, um segundo bloco de valores discretos numa saída 136.
No que diz respeito à relação de Ia, 2a e 3a regras de transformação, assim como no que diz respeito à implementação especial dos blocos funcionais individuais na Fig. 2 através de unidades funcionais comuns e a um correspondente controlo sequencial/armazenagem temporária, faz-se referência às explicações feitas em relação à Fig. 1.
Em seguida, com referência à Fig. 3, é explicado um exemplo de realização preferido do dispositivo para conversão numa representação transformada, representado de forma geral na Fig. 20 1. 0 exemplo de realização na Fig. 1 compreende uma outra transformação/arredondamento, comparado com a Fig. 1, de modo a gerar o outro bloco de valores de saída inteiros a partir do segundo bloco de valores somados. A primeira entrada 100a compreende N linhas de entrada xo,..., xN-i para a introdução de N valores do primeiro bloco de valores discretos. A segunda entrada 100b também compreende N linhas para a introdução de N valores xN, . . ., X2N-1 do segundo bloco de valores discretos. O dispositivo 102 da Fig. 1 é mostrado na Fig. 3 como um transformador DCT-IV. O transformador DCT 102 é concebido para gerar N valores de saida a partir de N valores de entrada, dos quais cada um é então arredondado através da regra de arredondamento designada por conforme o mostrado na Fig. 3 pelo dispositivo 104. O dispositivo 106 para soma está representado de tal modo que ocorra uma soma por valor. Isto significa que o valor de saida do dispositivo 102 com o índice 0 é somado ao primeiro valor do segundo bloco de valores discretos, que tem o indice N. Assim, geralmente o valor do primeiro bloco de valores transformados arredondados na saída do dispositivo de arredondamento 104 com um número ordinal i é somado individualmente ao valor discreto do segundo bloco de valores de saída com um número ordinal N+i, sendo que i é um índice variável que se estende de 0 a N-l. O dispositivo 108 para processamento através do uso da 2a regra de transformação também é desenhado como um transformador DCT-IV. No exemplo de realização preferido mostrado na Fig. 3, o dispositivo 112 para subtracção também é concebido para realizar uma subtracção por valor, nomeadamente no sentido de que os valores de saída do arredondador 110, portanto os valores do segundo bloco de valores transformados arredondados, são 21 subtraídos individualmente a partir do primeiro bloco de valores discretos. No exemplo de realização mostrado na Fig. 3, é preferido realizar uma subtracção correspondente, no sentido de que um valor do segundo bloco com um número ordinal de N+i é subtraído a partir de um valor do primeiro bloco com o número ordinal i, sendo que i varia novamente de 0 a N-l. Como alternativa, podem no entanto também ser realizadas outras somas/subtracções, no sentido de que, por exemplo, um valor de um bloco com o número ordinal N-l, é subtraído a partir do valor do outro bloco com o número ordinal N, desde que este seja correspondentemente considerado na conversão inversa.
No lado de saída, o dispositivo 112 para subtracção já fornece um bloco de valores de saida inteiros da representação transformada, portanto os valores de saída inteiros yo a yN_i da representação transformada. De modo a obter, caso opcionalmente se deseje isso, os restantes valores de saída inteiros da representação transformada, portanto o outro bloco yN a y2N-i, o bloco de valores de saída inteiros da representação transformada aplicado à saída 114 é submetido a uma transformação através do uso da terceira regra de transformação pelo transformador 140 progressivo, sendo que os valores de saída do mesmo são por sua vez arredondados, conforme se encontra representado por um dispositivo 142 de arredondamento, para realizar agora uma adição destes valores com o segundo bloco de valores somados na saída do somador 106, conforme se encontra representado pelo número de referência 144 na Fig. 3. Os valores de saída do somador 144 representam então um outro bloco 146 de valores de saída inteiros da representação transformada, os quais são designados por yN a y2N-i ·
Em seguida, com referência à Fig. 4, é explicado um 22 dispositivo de acordo com a invenção, para a conversão inversa da representação transformada de acordo com um exemplo de realização preferido será ilustrado. Deve-se observar que as operações realizadas pelo dispositivo representado na Fig. 3 podem ser anuladas sem perdas pelo dispositivo representado na Fig. 4. A Fig. 4 corresponde à Fig. 2, excepto o estágio adicional de transformação/arredondamento para gerar a partir do outro bloco de valores de saida transformados, o segundo bloco de valores somados que é introduzido na entrada 120 no exemplo de realização mostrado na Fig. 2. Deve-se observar que a função de adição é respectivamente invertida pela função de subtracção. Além disso, deve-se observar que um par de adicionador/subtractor (144 da Fig. 3 e 128 da Fig. 4) também pode ser provido com grandezas de entrada invertidas no que diz respeito ao sinal, de modo que o adicionador 144, quando um grupo de grandezas de entrada é provido com sinal negativo em comparação com o caso mostrado, realize na verdade uma operação de subtracção, desde que isto seja considerado na contraparte (128 na Fig. 4) que iria então na verdade realizar uma operação de adição. O subtractor 128, o adicionador 134, assim como o outro subtractor 154, mostrados na Fig. 4, são por sua vez concebidos para realizar uma adição/subtracção individual por valor, sendo que é novamente usado o mesmo processamento de números ordinais, como foi explicado em relação à Fig. 3. Se na Fig. 3 fosse usada uma outra aplicação de números ordinais, em vez daquela mostrada, isto seria correspondentemente considerado na Fig. 4. O primeiro bloco 136 de valores discretos designados por x0 a xN-i, já se apresenta na saida do subtractor 134. De modo a se obter também o restante da representação inversamente 23 transformada, o primeiro bloco de valores discretos é fornecido ao transformador 150 que opera com a primeira regra de transformação e cujos valores no lado de sarda são arredondados pelo arredondador 152 e subtraídos a partir do segundo bloco de valores subtraídos na saída do subtractor 128, para se obter finalmente também o segundo bloco 156 de valores discretos designados por xN, . . ., X2N-1· Em seguida, com referência às Figs. 5 - 8, é elucidada a fundamentação matemática para os dispositivos de acordo com a invenção, conforme foram explicados com base nas Figs. 1-4.
Através dos dispositivos representados de acordo com a invenção, para conversão e para conversão inversa, respectivamente, são criados métodos de transformação inteira para uma codificação de áudio sem perdas, nos quais o erro de aproximação é reduzido. Para além disso, o esforço de cálculo é também considerado no sentido de que não se baseia mais na abordagem de solução conhecida da aplicação do esquema de elevação a cada rotação de Givens, sendo que sempre ocorrem borboletas triviais de soma-diferença. Estas aumentam o esforço de cálculo, a saber, significativamente em comparação com a versão não inteira original da transformação a ser reproduzida.
Normalmente, o esquema de elevação é usado para se obter uma aproximação inteira invertível de uma rotação de Givens. sen α cos a r cos α - i) 1 o H r cos or - ΐΛ = sen α _L ---- sen α r—1 O i^sen οι 1 j 1° 1 ) cos a sen or
Esta aproximação inteira é obtida através do uso de uma 24 função de arredondamento após cada adição, portanto após cada etapa de elevação. 0 esquema de elevação também pode ser usado para uma aproximação inteira invertivel de determinadas operações de escalonamento. Na publicação especializada R. Geiger e G. Schuller, "Integer low delay and MDCT filter banks" Proc. of the Asilomar Conf. on Signals, Systems and Computers, 2002, a seguinte decomposição por elevação de uma matriz de escalonamento de 2 x 2 com um determinante igual a 1 é explicada e descrita: \ ( d 0 -1 0 0 [d-1 l
De acordo com a invenção, esta decomposição por elevação, que é unidimensional, que se refere portanto meramente a uma matriz de escalonamento de 2 x 2, é estendida para o caso multidimensional. Em pormenor, todos os valores da equação anterior são substituídos por matrizes de n x n, sendo que n, portanto o número de valores discretos de um bloco, é maior do que ou igual a 2. Assim, resulta que para qualquer matriz T de n x n arbitrária, que de um modo preferido deve ser invertivel, é possivel a seguinte decomposição em matrizes de blocos de 2n x 2n, sendo que En descreve a matriz unidade de η x n: T 0
f
Além de operações simples, como permutações ou 25 multiplicações por -1, todos os três blocos desta decomposição possuem a seguinte estrutura geral:
Para esta matriz de blocos de 2n x 2n, pode-se usar um esquema de elevação generalizado de acordo com a invenção, o qual em seguida é também designado por uma elevação multidimensional.
Para um vector dos valores x = (xo,..., X2n-i) a aplicação desta matriz de blocos fornece a seguinte equação:
Deve-se observar que há um vector no lado direito da equação anterior, cuja dimensão, portanto cujo número de linhas, é igual a 2n. As primeiras n componentes, portanto as componentes de 0 a n-1, correspondem a x0 a xn-i · As segundas n componentes, portanto a segunda metade do vector que resulta no lado direito da equação anterior, são iguais a uma soma do segundo bloco de valores discretos, portanto xn, . . ., X2n-i, mas agora somados à multiplicação da matriz A que corresponde à matriz de transformação das Figs. 1-4, e do primeiro bloco de valores discretos x0,..., xn-i. A matriz de transformação representa a primeira, a segunda e a terceira regras de transformação, respectivamente.
Similar ao esquema de elevação comum com matrizes de 2 x 2 na forma (. ^ 1 a 0 l estas matrizes de 2n x 2n podem ser usadas para aproximações inteiras invertiveis da transformação T como o seguinte. Para valores de entrada inteiros (xo, ..., X2n-i) , os valores de saida em virgula flutuante (Yo, Yn-i) = Α·(χο/···/ xn-i) são arredondados, nomeadamente para valores inteiros, antes de serem adicionados aos valores inteiros (xn, ..., X2n-i) · O inverso da matriz de blocos resulta da seguinte forma:
\ of . ÍEn 0 ' [a eJ 1- A
Assim, este processo pode ser invertido sem erros através do simples uso da mesma matriz A e da mesma função de arredondamento e agora através da subtracção dos valores resultantes ao invés da adição no processamento progressivo. 0 processamento progressivo está representado na Fig. 6, enquanto o processamento regressivo está representado na Fig. 7. Deve-se observar que a matriz de transformação na Fig. 6 é idêntica à matriz de transformação na Fig. 7, o que é preferido por razões de simplicidade da implementação.
Visto que os valores (x0, ..., xn-i) não são modificados na etapa progressiva mostrada na Fig. 6, ainda estão presentes para a etapa inversa, portanto para a etapa regressiva na Fig. 7. Deve-se observar que não existem restrições especiais para a 27 matriz A. Assim, a mesma não tem de ser necessariamente invertivel.
De modo a se obter uma aproximação inteira invertivel da MDCT conhecida, a MDCT é decomposta em rotações de Givens num primeiro estágio, sendo que este estágio é o estágio de janelamento, e num subsequente estágio de DCT-IV. Esta decomposição está ilustrada na Fig. 10, que em seguida é ainda explicada, e descrita em detalhes no documento DE 10129240 AI.
Em oposição ao estado da técnica, no qual a DCT-IV é decomposta em vários estágios de rotações de Givens, de acordo com a invenção, a própria transformação é inalterada e em seguida arredondada.
Deste modo, como se sabe, a aproximação inteira da DCT-IV é realizada através de vários estágios de rotações de Givens baseadas em elevação. O número de rotações de Givens é determinado pelo algoritmo rápido subjacente usado. Assim, o número de rotações de Givens é fornecido através de O (N log N) para uma transformação do comprimento N. O estágio de janelamento de cada decomposição MDCT consiste apenas em N/2 rotações de Givens ou de 3N/2 etapas de arredondamento. Assim, particularmente em elevados comprimentos de transformação, como os usados em aplicações de codificação de áudio (por exemplo, 1.024), a aproximação inteira da DCT-IV fornece a principal contribuição para o erro de aproximação. A abordagem de solução de acordo com a invenção usa o esquema de elevação multidimensional descrito. Por conseguinte, o número das etapas de arredondamento na DCTiV é reduzido para 3N/2, portanto tornado igual ao número de etapas de 28 arredondamento no estágio de janelamento, nomeadamente comparado com cerca de 2N log2 N etapas de arredondamento na abordagem de solução convencional baseada em elevação.
De acordo com a invenção, a DCT-IV é aplicada simultaneamente a dois blocos de sinais. Uma possibilidade para tal, está representada na Fig. 5, onde simplesmente, por exemplo, dois blocos de amostras subsequentes no tempo são submetidos a uma DCT-IV. Os dois blocos que são submetidos às duas transformações, podem no entanto também ser amostras de dois canais de um sinal multicanal. A decomposição da equação de elevação multidimensional acima descrita é aplicada à regra de transformação que também pode ser considerada como uma matriz de N x N. Visto que particularmente na DCT-IV o inverso é novamente a DCT-IV, resulta a seguinte decomposição para o conceito mostrado na Fig. 5:
^DCTIV 0 , o DCTIV
- En 0 Y Eh - DCTIV V 0 en^ °CTIV En En ^ Eu DCTIV J
As permutações das multiplicações por -1 podem ser extraídas em matrizes de blocos próprios, resultando assim o seguinte contexto:
DCTIV 0 0 DCTIV - Ev E,
V u) DCT,
IV
En 0 - DCTIV En Λ •‘‘NDCT,
IV
0 En 0 En' En 0 J
Por conseguinte, a aplicação de uma transformação a dois 29 blocos de sinais, portanto a dois blocos de valores discretos, pode ser obtida, de um modo preferido, com três etapas de elevação multidimensional:
A equação acima está graficamente representada na Fig. 3 com base num exemplo de realização preferido da presente invenção. A conversão inversa é, como foi explicado, ilustrada de maneira correspondente na Fig. 4.
Com a abordagem de solução de acordo com a invenção, duas transformações DCT-IV do comprimento N podem ser implementadas de uma maneira invertivel, sendo necessárias apenas 3N etapas de arredondamento, portanto 3N/2 etapas de arredondamento por transformação. A DCT-IV nas três etapas de elevação multidimensional pode ter uma implementação arbitrária, o que significa, por exemplo, uma implementação baseada em virgula flutuante ou em virgula fixa. Esta nem precisa ser invertivel. Esta apenas tem de ser executada exactamente da mesma maneira nos processos progressivo e regressivo. Como resultado, este conceito é adequado a elevados comprimentos de transformação, como, por exemplo, 1.024, como os que são usados nas aplicações actuais de codificação de áudio.
Toda a complexidade de computação é igual a 1,5 vezes a complexidade de computação da implementação não inteira das duas transformações DCT-IV. Esta complexidade de computação é ainda 30 significativamente inferior às implementações inteiras convencionais baseadas em elevação, as quais são cerca de duas vezes mais complexas do que a DCT-IV convencional, visto que estas implementações têm de usar as triviais borboletas para mais/menos baseadas no esquema de elevação usado, para se obter uma conservação de energia, conforme está descrito em R. Geiger, T. Sporer, J. Koller e K. Brandenburg, "Audio Coding based on Integer Transforms" em lllth AES Convention, Nova Iorque, 2001. inferior as implementações A abordagem de solução representada calculará pelo menos duas transformações DCT-IV simultaneamente, portanto durante uma conversão. Isto pode, por exemplo, ser alcançado através do cálculo da transformação DCT-IV para dois blocos subsequentes do sinal de áudio ou duas imagens subsequentes de um sinal de imagem. No caso de um sinal estéreo de dois canais, isto também pode ser obtido através do cálculo da DCT-IV dos canais esquerdo e direito numa acção de conversão e numa acção de conversão inversa, respectivamente. A primeira versão introduz um atraso adicional de um bloco no sistema. A segunda versão é possível para canais estéreos e de modo geral para sinais multicanal, respectivamente.
Como alternativa, caso ambas as opções não sejam desejadas, mas caso um comprimento de processamento de blocos normal de N valores deva ser mantido, a DCT-IV do comprimento N pode ser decomposta em duas transformações DCT-IV do comprimento N/2. Neste contexto, faz-se referência a Y. Zeng, G. Bi e Z. Lin, "Integer sinusoidal transforms based on lifting factorization", em Proc. OCASSP'01, Maio de 2001, pp. 1.181 - 1.184, onde esta decomposição é realizada. Adicionalmente às duas transformações DCT de comprimento N/2, são ainda necessários alguns estágios adicionais de rotações de Givens. Além disso, neste algoritmo, é 31 usada uma matriz de blocos EN/2 “ EN/2 ^ ^ EH/2 EN/2 j ’ isto é, N/2 borboletas para mais/menos, uma matriz diagonal em bloco com N/2 rotações de Givens e, além disso, algumas matrizes de permutação. Através do uso destes estágios adicionais de N/2 rotações de Givens, a abordagem de elevação multidimensional também pode ser usada para o cálculo de apenas uma DCT-IV do comprimento N. A estrutura de base deste algoritmo está representada na Fig. 8, onde, além do estágio de conversão propriamente dita, no qual são usadas duas transformações DCT-IV com o comprimento N/2, está presente primeiro um estágio de borboleta para calcular o primeiro e o segundo blocos de valores discretos, os quais agora têm no entanto apenas um comprimento de N/2. No lado de saida, está além disso previsto um estágio de rotação para se obterem a partir do bloco de valores de saida da representação transformada e do outro bloco de valores de saida da representação transformada, os quais agora têm cada um meramente N/2 valores, os valores de saída yo, ..., yN-i que são iguais aos valores de saída de uma operação de DCT-IV da Fig. 5, como se torna óbvio a partir de uma comparação dos índices do lado de entrada e do lado de saída da Fig. 8 e da Fig. 5.
Até agora, foi explicada meramente a aplicação da elevação multidimensional a matrizes de blocos da seguinte forma: T 0 0 T'1 32
Todavia, também é possível decompor outras matrizes de blocos em etapas de elevação multidimensionais. Por exemplo, a decomposição a seguir pode ser usada para implementar a combinação de um estágio com borboletas para mais/menos normalizadas e de dois blocos de transformações DCT-IV através de três etapas da elevação multidimensional: J_rE & YDC%
IV DCT,
IV -Pdct„ jjDCTjv —j= DCTIV -j=DCTIV V 2 V 2 ^ DCT1V 0 E„ EN 0 ''En - VÍDCTIV En ITen oEjj “ V2DCTIV En
Torna-se óbvio a partir da equação anterior que a primeira regra de transformação usada entre parênteses no lado esquerdo da equação anterior e a segunda regra de transformação usada entre parênteses no centro da equação anterior e a terceira regra de transformação usada nos últimos parênteses da equação anterior, não têm de ser idênticas. Além disso, torna-se óbvio a partir da equação anterior que podem ser decompostas não apenas matrizes de blocos nas quais meramente os elementos da diagonal principal estão ocupados, mas que também matrizes plenamente ocupadas podem ser processadas de acordo com a invenção. Além disso, deve-se observar que a presente invenção não se limita ao facto de que as regras de transformação, que são usadas na conversão numa representação transformada, têm de ser idênticas ou precisam de ter qualquer relação entre si, de tal modo que, por exemplo, a segunda regra de transformação seja a regra de transformação regressiva em relação à primeira regra de 33 transformação. Em princípio, poderiam também ser usadas três regras de transformação diferentes entre si, desde que isto seja considerado na representação inversa.
Neste contexto, faz-se mais uma vez referência à Fig. 3 e à Fig. 4. Na conversão dos valores discretos numa representação transformada, o dispositivo 102 pode ser concebido para implementar qualquer regra 1 de transformação. Além disso, o dispositivo 108 também pode ser concebido para usar qualquer outra ou a mesma regra de transformação, a qual é designada por regra 2 de transformação. Além disso, o dispositivo 140 pode ser concebido para usar em geral qualquer regra 3 de transformação que não tem de necessariamente ser igual à primeira ou à segunda regras de transformação.
No entanto, na conversão inversa da representação transformada, tem de ser encontrada uma adaptação às regras 1 - 3 de transformação representadas na Fig. 3, no sentido de que o primeiro dispositivo 124 para conversão não realiza nenhuma regra de transformação além da regra 3 de transformação realizada no bloco 140 da Fig. 3. De maneira correspondente, o dispositivo 130 na Fig. 4 tem de realizar a regra 2 de transformação que também foi realizada pelo bloco 108 na Fig. 3. Finalmente, o dispositivo 150 da Fig. 4 tem de realizar a regra 1 de transformação que também foi realizada pelo dispositivo 102 da Fig. 3, de modo a ser obtida uma conversão inversa sem perdas.
Em seguida, com referência às Figs. 9 - 11, a decomposição do janelamento MDCT é representada mais uma vez, conforme está descrita no documento DE 10129240 Al, onde a decomposição do janelamento MDCT em rotações de Givens com matrizes de elevação 34 e correspondentes arredondamentos pode ser combinada de forma vantajosa com o conceito representado na Fig. 1 para a conversão e na Fig. 2 para a conversão inversa, para se obter uma aproximação MDCT inteira completa, portanto uma MDCT inteira (IntMDCT) de acordo com a presente invenção, sendo que tanto um conceito de transformação progressiva como um conceito de transformação regressiva foi realizado no exemplo de uma MDCT. A Fig. 9 mostra um diagrama de visão geral para o dispositivo preferido de acordo com a invenção, para o processamento de amostras discretas no tempo que representam um sinal de áudio, para se obterem valores inteiros sobre os quais opera o algoritmo de transformação inteira Int-MDCT. As amostras discretas no tempo são janeladas pelo dispositivo mostrado na Fig. 9 e opcionalmente convertidas numa representação espectral. As amostras discretas no tempo introduzidas no dispositivo numa entrada 10, são j aneladas com uma janela w com um comprimento correspondente a 2N amostras discretas no tempo para se obterem amostras janeladas inteiras numa saida 12, as quais são adequadas para serem convertidas numa representação espectral por meio de uma transformação e particularmente do dispositivo 14 para a realização de uma DCT inteira. A DCT inteira é concebida para gerar N valores de saida a partir de N valores de entrada, o que é contrário à função MDCT 408 da Fig. 12a, a qual, com base na equação da MDCT, gera meramente N valores espectrais a partir de 2N amostras janeladas.
Para o janelamento das amostras discretas no tempo, num dispositivo 16, primeiro são seleccionadas duas amostras discretas no tempo que juntas representam um vector de amostras discretas no tempo. Uma amostra discreta no tempo seleccionada pelo dispositivo 16 situa-se no primeiro quarto da janela. A 35 outra amostra discreta no tempo situa-se no segundo quarto da janela, como será ainda discutido com mais detalhes com base na Fig. 11. O vector gerado pelo dispositivo 16 é agora provido de uma matriz de rotação de dimensão 2x2, sendo que esta operação não é realizada directamente, mas sim por meio de várias denominadas matrizes de elevação.
Uma matriz de elevação tem a caracteristica de apresentar apenas um elemento dependendo da janela w e diferente de "1" ou " 0 ". A factorização de transformações wavelet em etapas de elevação encontra-se explicada na publicação especializada "Factoring Wavelet Transforms Into Lifting Steps", Ingrid Daubechies e Wim Sweldens, Pré-Publicação, Bell Laboratories, Lucent Technologies, 1996. Geralmente, um esquema de elevação é uma relação simples entre pares de filtros que reconstroem perfeitamente, os quais têm o mesmo filtro passa-baixo ou passa-alto. Cada par de filtros complementares pode ser factorizado em etapas de elevação. Isto aplica-se particularmente a rotações de Givens. É considerado o caso em que a matriz polifásica é uma rotação de Givens. Então aplica-se: / cos oc ·> —sen a ( Ί cos a-l' f 1 0 Λ ( 1 cos a-l'' - sen ot sen a ^sen oc COS 0( j 1° 1 J sen a 1 1° j (1)
Cada uma das três matrizes de elevação à direita do sinal de igual possui o valor "1" como elemento da diagonal principal. Além disso, em cada matriz de elevação, um elemento da diagonal secundária é igual a 0 e um elemento da diagonal secundária depende do ângulo de rotação a. 36 0 vector é agora multiplicado pela terceira matriz de elevação, isto é, a matriz de elevação na extremidade direita da equação acima, para se obter um primeiro vector resultante. Isto está representado na Fig. 9 através de um dispositivo 18. Agora, o primeiro vector resultante é arredondado com uma função de arredondamento arbitrária que mapeia a quantidade de números reais para a quantidade de números inteiros, como está representado na Fig. 9 através de um dispositivo 20. Um primeiro vector resultante arredondado é obtido na saida do dispositivo 20. O primeiro vector resultante arredondado é agora introduzido num o dispositivo 22 para multiplicação do mesmo pela matriz de elevação central, isto é, a segunda, para se obter um segundo vector resultante que é por sua vez é arredondado num dispositivo 24 para se obter um segundo vector resultante arredondado. O segundo vector resultante arredondado é agora introduzido no dispositivo 26 para multiplicação do mesmo pela matriz de elevação mostrada à esquerda da equação acima, isto é, a primeira matriz de elevação, para se obter um terceiro vector resultante que finalmente é ainda arredondado por meio de um dispositivo 28 para se obterem finalmente amostras janeladas inteiras na saida 12, as quais agora, caso se deseje uma representação espectral das mesmas, têm de ser processadas pelo dispositivo 14 para se obterem valores espectrais inteiros numa saida 30 espectral.
De um modo preferido, o dispositivo 14 é concebido como uma DCT inteira. A transformação discreta do co-seno de acordo com o tipo 4 (DCT-IV) com um comprimento N é dada pela seguinte equação: 37 X (m)=J— Σ x{k)coJ~(2k+1^2m+l)\ (2) t \Nk=0 )
Os coeficientes da DCT-IV formam uma matriz ortogonal de N x N. Cada matriz ortogonal de N x N pode ser decomposta em N (N-l)/2 rotações de Givens conforme exposto na publicação especializada P. P. Vaidyanathan, "Multirate Systems And Filter banks", Prentice Hall, Englewood Cliffs, 1993. Deve-se observar que também existem outras decomposições.
No que diz respeito às classificações dos diferentes algoritmos DCT, faz-se referência a H. S. Malvar, "Signal Processing With Lapped Transforms", Artech House, 1992. Geralmente, os algoritmos DCT diferem pelo tipo das suas funções de base. Enquanto a DCT-IV, que é a preferida aqui, compreende funções de base não simétricas, isto é, um quarto de onda de co-seno, um 3/4 de onda de co-seno, um 5/4 de onda de co-seno, um 7/4 de onda de co-seno, etc., a transformação discreta do co-seno, por exemplo, do tipo II (DCT-II), possui funções de base com simetria axial e simetria pontual. A 0a função de base possui uma componente continua, a primeira função de base é uma meia-onda de co-seno, a segunda função de base é um onda completa de co-seno, etc. Devido ao facto de que a DCT-II considera particularmente a componente continua, a mesma é usada na codificação de video, mas não na codificação de áudio, visto que a componente continua não é relevante na codificação de áudio, ao contrário da codificação de video.
Em seguida, faz-se referência ao facto de como o ângulo de rotação α da rotação de Givens depende da função de janela. 38
Uma MDCT com um comprimento de janela de 2N pode ser reduzida a uma transformação discreta do co-seno do tipo IV com um comprimento N. Isto é obtido através da realização da operação de TDAC explicitamente no dominio do tempo e da subsequente aplicação da DCT-IV. Numa sobreposição de 50%, a metade esquerda da janela para um bloco t sobrepõe-se com a metade direita do bloco anterior, isto é, o bloco t-1. A parte da sobreposição de dois blocos subsequentes t-1 e t é pré-processada da seguinte maneira no dominio do tempo, isto é, antes da transformação, isto é, entre a entrada 10 e a saida 12 da Fig. 9:
Os valores indicados com o til são os valores na saida 12 da Fig. 9, enquanto os valores de x indicados sem til na equação acima são os valores na entrada 10 ou após o dispositivo 16 para selecção. O indice variável k varia de 0 a N/2-1, enquanto w representa a função de janela. A partir da condição de TDAC para a função w de janela, aplica-se o seguinte contexto: w\
N
--l· k 2 J + w
N --1-k ^2 = 1 (4) /
Para determinados ângulos ak, k = 0,..., N/2-1, este pré- processamento no dominio do tempo pode ser escrito como uma 39 rotação de Givens, conforme foi explicado. O ângulo α da rotação de Givens depende da função w de janela da seguinte maneira: a = arctan[w(Ν/2-l-k) / w(N/2+k)] (5)
Deve-se observar que é possível usar qualquer função w de janela, desde que preencha esta condição de TDAC.
Em seguida, um codificador e descodificador em cascata é descrito com base na Fig. 10. As amostras discretas no tempo x(0) a x(2N-l), que são "janeladas" juntas através de uma janela são primeiro seleccionadas de tal maneira pelo dispositivo 16 da Fig. 9 que a amostra x(0) e a amostra x(N-l), isto é, uma amostra do primeiro quarto da janela e uma amostra do segundo quarto da janela são seleccionadas para formar o vector na saída do dispositivo 16. As setas cruzadas representam esquematicamente as multiplicações de elevação e os subsequentes arredondamentos dos dispositivos 18, 20 e 22, 24 e 26, 28, respectivamente, para se obterem as amostras janeladas inteiras na entrada dos blocos DCT-IV.
Quando o primeiro vector tiver sido processado como o descrito acima, é ainda seleccionado um segundo vector a partir das amostras x(N/2-l) e x(N/2), isto é, novamente uma amostra do primeiro quarto da janela e uma amostra do segundo quarto da janela, e por sua vez processado através do algoritmo descrito na Fig. 9. De maneira análoga, todos os demais pares de amostras a partir do primeiro e do segundo quartos da janela são processados. O mesmo processamento é realizado para o terceiro e o quarto quartos da primeira janela. Agora, 2N amostras inteiras 40 janeladas estão presentes na saída 12, as quais são agora introduzidas numa transformação DCT-IV conforme o representado na Fig. 10. Particularmente, as amostras janeladas inteiras do segundo e do terceiro quartos são introduzidas numa DCT. As amostras inteiras janeladas do primeiro quarto da janela são processadas numa DCT-IV anterior em conjunto com as amostras inteiras janeladas do quarto quarto da janela anterior. De maneira análoga, o quarto quarto das amostras inteiras janeladas da Fig. 10 é introduzido juntamente com o primeiro quarto da próxima janela numa transformação DCT-IV. A transformação DCT-IV 32 inteira, intermédia mostrada na Fig. 10 fornece agora N valores espectrais inteiros y(0) a y(N-l). Estes valores espectrais inteiros podem agora ser, por exemplo, facilmente codificados por entropia, sem exigir uma quantificação intermédia, visto que o janelamento e a transformação fornecem valores de saída inteiros.
Um descodificador está representado na metade direita da Fig. 10. O descodificador que consiste em transformação inversa e "janelamento inverso", opera inversamente ao codificador. É sabido que uma DCT-IV inversa pode ser usada para a transformação inversa de uma DCT-IV, conforme o representado na Fig. 10. Os valores de saída da DCT-IV do descodif icador 34 são agora processados inversamente, conforme o representado na Fig. 10, com os valores correspondentes da transformação anterior e da transformação subsequente, respectivamente, de modo a gerar amostras de áudio discretas no tempo x(0) a x(2N-l) novamente a partir das amostras janeladas inteiras na saída do dispositivo 34 e das transformações anterior e subsequente, respectivamente. A operação do lado de saída é realizada por uma rotação de Givens inversa, isto é, de tal modo que os blocos 26, 28 e 22, 41 24 e 18, 20, respectivamente, sejam passados na direcção oposta. Isto está representado em mais detalhes com base na segunda matriz de elevação da equação 1. Caso (no codificador) o segundo vector resultante seja formado através da uma multiplicação do primeiro vector resultante arredondado pela segunda matriz de elevação (dispositivo 22), obtém-se a seguinte expressão: {x,y)^>(x,y + xsena) (6)
Os valores x, y no lado direito da equação 6 são números inteiros. No entanto, isto não se aplica ao valor de x sen a. Aqui, a função r de arredondamento tem de ser introduzida, conforme o representado na equação subsequente: (x, y) l-> (x,y + r(xsena)) (?}
Esta operação é realizada pelo dispositivo 24. O mapeamento inverso (no descodificador) é definido da seguinte maneira: (x,yr) M· {x’,y'-r(xsena))
Devido ao sinal de menos antes da operação de arredondamento, torna-se óbvio que a aproximação inteira da etapa de elevação pode ser invertida sem a introdução de um erro. A aplicação desta aproximação a cada uma das três etapas de elevação leva a uma aproximação inteira da rotação de Givens. A rotação arredondada (no codificador) pode ser invertida (no descodificador) sem se introduzir um erro e nomeadamente através da passagem pelas etapas de elevação arredondadas inversas em ordem inversa, isto é, quando o algoritmo da Fig. 9 é executado 42 de baixo para cima durante a descodificação.
Quando a função r de arredondamento apresenta simetria pontual, a rotação arredondada inversa é idêntica à rotação arredondada com o ângulo -a e é como segue: f \ cos a sen a /Λ. (9) ^-sen a cos a }
As matrizes de elevação para o descodificador, isto é, para a rotação de Givens inversa, resultam neste caso directamente da equação (1) através da mera substituição da expressão "sen a" pela expressão "-sen a".
Em seguida, está representada mais uma vez a decomposição de uma MDCT comum com janelas 40 a 46 sobrepostas, com base na Fig. 11. As janelas 40 a 46 sobrepõem-se respectivamente em 50%. Por janela, as rotações de Givens são realizadas dentro do primeiro e segundo quartos de uma janela e dentro do terceiro e quarto quartos de uma janela, respectivamente, como está representado esquematicamente pelas setas 48. Em seguida, os valores submetidos a rotações de Givens, isto é, as amostras inteiras janeladas, são introduzidos numa DCT de N para N, de tal modo que sempre o segundo e terceiro quartos de uma janela e o quarto e primeiro quartos de uma janela subsequente, respectivamente, sejam convertidos, em conjunto, numa representação espectral por meio de um algoritmo DCT-IV.
Por esta razão, as rotações comuns de Givens são decompostas em matrizes de elevação que são realizadas em sequência, sendo que uma etapa de arredondamento é introduzida após cada 43 multiplicação de matriz de elevação, de tal modo que os números em vírgula flutuante sejam arredondados imediatamente após a sua ocorrência, de tal modo que o vector resultante tenha meramente números inteiros antes de cada multiplicação de um vector resultante por uma matriz de elevação.
Assim, os valores de saída permanecem sempre inteiros, sendo que é preferido também usar valores de entrada inteiros. Isto não representa uma limitação, visto que, por exemplo, quaisquer amostras PCM, como as que estão armazenadas num CD, são valores inteiros cuja gama de valores varia consoante a largura de bit, isto é, dependendo de se os valores de entrada digitais discretos no tempo são valores de 16 bits ou valores de 24 bits. Todavia, como foi exposto, todo o processo é invertível através da execução das rotações inversas numa ordem inversa. Assim, existe uma aproximação inteira da MDCT com reconstrução perfeita, portanto uma transformação sem perdas. A transformação mostrada fornece valores de saída inteiros ao invés de valores em vírgula flutuante. Esta fornece uma reconstrução perfeita, de modo que nenhum erro é introduzido quando são realizadas uma transformação progressiva e depois uma outra regressiva. De acordo com um exemplo de realização preferido da presente invenção, a transformação é uma substituição para a transformação discreta do co-seno modificada. No entanto, também outros métodos de transformação podem ser realizados com números inteiros, desde que seja possível uma decomposição em rotações e uma decomposição das rotações em etapas de elevação. A MDCT inteira tem a maioria das características favoráveis da MDCT. Esta possui uma estrutura de sobreposição, através da 44 qual é obtida uma melhor selectividade da frequência do que com transformações de bloco sem sobreposição. Devido à função de TDAC, que já é considerada durante o janelamento antes da transformação, é mantida uma amostragem critica, de modo que o número total de valores espectrais que representam um sinal de áudio seja igual ao número total de amostras de entrada.
Comparada com uma MDCT normal, que fornece amostras em virgula flutuante, verifica-se na transformação inteira preferida descrita que, comparada com a MDCT normal, o ruido é aumentado meramente na região espectral, na qual existe um reduzido nivel de sinal, enquanto este aumento de ruido não é perceptivel em niveis de sinal significativos. Ao invés disso, o processamento inteiro presta-se a uma implementação de hardware eficiente, visto que são usados meramente etapas de multiplicação que podem facilmente ser decompostas em etapas de deslocamento/adição (etapas Shift/Add) que podem ser implementadas de uma maneira simples e rápida no que diz respeito ao hardware. É evidente que uma implementação de software também é possível. A transformação inteira fornece uma boa representação espectral do sinal de áudio e no entanto permanece na gama dos números inteiros. Caso a mesma seja aplicada a componentes tonais de um sinal de áudio, isto resulta numa boa concentração de energia. Deste modo, pode-se construir um esquema de codificação eficiente sem perdas através do facto de que o janelamento/transformação representado na Fig. 9 é simplesmente submetido em cascata a um codificador entrópico. É particularmente favorável a codificação empilhada (Stacked Coding), usando valores de "escape", como é usada em MPEG AAC. É preferido escalonar para baixo todos os valores numa determinada 45 potência de dois até que caibam numa tabela de código desejada e em seguida codificar adicionalmente os bits menos significativos omitidos. Em comparação com a alternativa de usar tabelas de código maiores, a alternativa descrita é mais favorável no que diz respeito ao consumo de memória para armazenagem das tabelas de código. Também seria possivel obter um codificador quase sem perdas através da simples omissão de determinados bits menos significativos.
Particularmente para sinais tonais, uma codificação entrópica dos valores espectrais inteiros permite um elevado ganho de codificação. Para componentes transientes do sinal, o ganho de codificação é reduzido, nomeadamente devido ao espectro plano dos sinais transientes, isto é, devido a um reduzido número de valores espectrais que são iguais a ou próximos de 0. Conforme o descrito em J. Herre, J. D. Johnston: "Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shapping (TNS)" 101. AES Convention, Los Angeles, 1996, Pré-Publicação 4384, esta planura pode no entanto ser usada através da aplicação de uma predição linear na região de frequência. Uma alternativa é uma predição com laço aberto. Outra alternativa é o predictor com laço fechado. A primeira alternativa, isto é, o predictor com laço aberto, é designada por TNS. A quantificação após a predição leva a uma adaptação do ruido de quantificação resultante à estrutura temporal do sinal de áudio e evita, por conseguinte, pré-ecos em codificadores de áudio psicoacústicos. Para uma codificação de áudio sem perdas, a segunda alternativa, isto é, com um predictor com laço fechado, é mais adequada, visto que a predição com laço fechado possibilita uma reconstrução exacta do sinal de entrada. Quando esta técnica é aplicada a um espectro gerado, uma etapa de arredondamento tem de ser realizada após cada etapa do filtro de predição para 46 permanecer na gama dos números inteiros. Através do uso do filtro inverso e da mesma função de arredondamento, o espectro original pode de novo ser exactamente reconstruido.
De modo a aproveitar a redundância entre dois canais para a redução de dados, também uma codificação em sinal central/lateral pode ser usada de uma maneira sem perdas, quando se usa uma rotação arredondada com um ângulo de π/4. Em comparação à alternativa de calcular a soma e a diferença dos canais esquerdo e direito de um sinal estéreo, a rotação arredondada tem a vantagem da conservação de energia. 0 uso das denominadas técnicas de codificação " Joint-Stereo" pode ser activado ou desactivado para cada banda, como é também feito no padrão MPEG AAC. Também podem ser considerados outros ângulos de rotação para poder reduzir a redundância entre dois canais de uma maneira mais flexível.
Dependendo das circunstâncias, o método de acordo com a invenção, para a conversão e para a conversão inversa, e respectivamente para a transformação tempo-frequência ou a transformação frequência-tempo, pode ser implementado em hardware ou em software. A implementação pode ser efectuada num suporte de memória digital, particularmente numa disquete ou CD com sinais de controlo legíveis electronicamente que podem interagir com um sistema de computador programável, de tal modo que o método seja executado. Geralmente, a invenção consiste por conseguinte também num produto de programa de computador com um código de programa armazenado num suporte legível por máquina, para realizar um método de acordo com a invenção quando o produto de programa de computador for executado num computado. Por outras palavras, a invenção pode por conseguinte ser concretizada como um programa de computador com um código de 47 programa para a realização do método quando o programa de computador é executado num computador.
Lisboa, 7 de Dezembro de 2006 48
Claims (24)
- REIVINDICAÇÕES 1. Dispositivo para conversão de valores discretos numa representação transformada com valores inteiros, sendo que os valores discretos apresentam informações de áudio e/ou imagem, com as seguintes caracteristicas: um dispositivo (102) para processamento de um primeiro bloco de valores discretos através do uso de uma primeira regra de transformação para se obter um primeiro bloco de valores transformados; um dispositivo (104) para arredondamento do primeiro bloco de valores transformados para se obter um primeiro bloco de valores transformados arredondados; um dispositivo (106) para a soma do primeiro bloco de valores transformados arredondados a um segundo bloco de valores discretos para se obter um segundo bloco de valores somados; um dispositivo (108) para processamento do segundo bloco de valores somados através do uso de uma segunda regra de transformação para se obter um segundo bloco de valores transformados; um dispositivo (110) para arredondamento do segundo bloco de valores transformados para se obter um segundo bloco de valores transformados arredondados; e um dispositivo (112) para a subtracção do segundo bloco de valores transformados arredondados a partir do primeiro bloco de valores discretos para se obter um bloco de valores de saída inteiros da representação transformada.
- 2. Dispositivo de acordo com a reivindicação 1, que apresenta ainda as seguintes caracteristicas: um dispositivo (140) para o processamento do bloco de valores de sarda inteiros através do uso de uma terceira regra de transformação para se obter um bloco de valores de sarda transformados; um 1 dispositivo (142) para o arredondamento do bloco de valores de saida transformados para se obter um bloco de valores de salda transformados arredondados; e um dispositivo (144) para soma do bloco de valores de saida transformados arredondados e do segundo bloco de valores somados para se obter um outro bloco de valores de saída inteiros da representação transformada.
- 3. Dispositivo de acordo com a reivindicação 1 ou 2, no qual a primeira regra de transformação, a segunda regra de transformação e a terceira regra de transformação, respectivamente, compreendem uma matriz de transformação.
- 4. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual a primeira regra de transformação, a segunda regra de transformação e a terceira regra de transformação, respectivamente, são idênticas entre si.
- 5. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual a primeira regra de transformação e a terceira regra de transformação são uma regra de transformação progressiva, enquanto a segunda regra de transformação é uma regra de transformação regressiva.
- 6. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual o dispositivo (104) para arredondamento do primeiro bloco, e o dispositivo (110) para arredondamento do segundo bloco e o dispositivo (142) para arredondamento do bloco de valores de saída transformados, respectivamente, são concebidos para arredondar de acordo com a função de arredondamento que fornece resultados arredondados, cuja precisão é inferior à precisão de máquina de um computador 2 que compreenda o dispositivo.
- 7. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual o primeiro bloco de valores discretos possui valores discretos de um número ordinal 0 até um número ordinal N-l, no qual o segundo bloco de valores discretos possui valores discretos de um número ordinal N até um número ordinal 2N-1, no qual o primeiro bloco de valores transformados arredondados possui um número ordinal de 0 a N-l e no qual o dispositivo (106) para soma é concebido para realizar uma adição por valor, de modo que um valor do bloco de valores transformados arredondados com um número ordinal i, seja somado a um valor do segundo bloco de valores discretos com um número ordinal i+N, sendo que i é um indice variável que se estende de 0 a N-l.
- 8. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual o primeiro bloco de valores discretos possui valores discretos com um número ordinal 0 até um número ordinal N-l, no qual o segundo bloco de valores discretos possui valores discretos de um número ordinal 0 até um número ordinal 2N-1, no qual o segundo bloco de valores transformados arredondados possui valores entre um número ordinal N e 2N-1, sendo que o dispositivo (112) para subtracção é concebido para subtrair um valor do bloco de valores transformados arredondados com o número ordinal n+i, a partir de um valor do primeiro bloco com o número ordinal i, sendo que i é um índice variável que se estende de 0 a N-1.
- 9. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual o primeiro e o segundo blocos de valores 3 discretos compreendem valores discretos inteiros.
- 10. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual o dispositivo (104) para arredondamento do primeiro bloco de valores transformados ou o dispositivo (110) para arredondamento do segundo bloco de valores transformados é concebido para arredondar de acordo com a mesma regra de arredondamento.
- 11. Dispositivo de acordo com a reivindicação 3, no qual a matriz de transformação subjacente à primeira regra de transformação, a matriz de transformação subjacente à segunda regra de transformação e a matriz de transformação subjacente à terceira regra de transformação, respectivamente, são, cada uma, uma matriz quadrada que possui um número de linhas e colunas, respectivamente, que são iguais a um número de valores discretos no primeiro ou no segundo blocos.
- 12. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual o dispositivo (102) para processamento de acordo com a primeira regra de transformação e o dispositivo (108) para processamento de acordo com a segunda regra de transformação são concebidos num transformador, e no qual está ainda previsto um controlo sequencial que é concebido para primeiro fornecer ao transformador o primeiro bloco de valores discretos e depois o segundo bloco de valores somados.
- 13. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual o dispositivo (104) para arredondamento do primeiro bloco de valores transformados e o dispositivo 4 (110) para arredondamento do segundo bloco de valores transformados são concebidos num arredondador, e no qual está ainda previsto um controlo sequencial para primeiro fornecer ao arredondador o primeiro bloco de valores discretos e depois o segundo bloco de valores transformados.
- 14. Dispositivo de acordo com qualquer uma das reivindicações anteriores, no qual o primeiro e o segundo blocos de valores discretos são amostras de áudio de um primeiro e de um segundo canais de um sinal de áudio muiticanal.
- 15. Dispositivo de acordo com qualquer uma das reivindicações 1 a 13, no qual o primeiro bloco e o segundo bloco são amostras temporais subsequentes de um sinal de áudio.
- 16. Dispositivo de transformação progressiva com as seguintes características: um dispositivo (16, 18, 20, 22, 24, 26, 28) para janelamento de um primeiro bloco de amostras que representam um sinal de áudio ou um sinal de imagem, e para o janelamento de um segundo bloco de amostras que representam um sinal de áudio ou um sinal de imagem através do uso de várias matrizes (18, 22, 26) de elevação e subsequentes operações (20, 24, 28) de arredondamento para se obterem um primeiro bloco de valores discretos e um segundo bloco de valores discretos; e um dispositivo de acordo com qualquer uma das reivindicações 1 a 15, para se obter uma representação transformada a partir do primeiro e o segundo blocos com valores de saida inteiros.
- 17. Método para conversão de valores discretos numa representação transformada com valores inteiros, sendo que os valores discretos apresentam informações de áudio e/ou 5 imagem, com as seguintes etapas: processamento (102) de um primeiro bloco de valores discretos através do uso de uma primeira regra de transformação para se obter um primeiro bloco de valores transformados; arredondamento (104) do primeiro bloco de valores transformados para se obter um primeiro bloco de valores transformados arredondados; soma (106) do primeiro bloco de valores transformados arredondados a um segundo bloco de valores discretos para se obter um segundo bloco de valores somados; processamento (108) do segundo bloco de valores somados através do uso de uma segunda regra de transformação para se obter um segundo bloco de valores transformados; arredondamento (110) do segundo bloco de valores transformados para se obter um segundo bloco de valores transformados arredondados; e subtracção (112) do segundo bloco de valores transformados arredondados a partir do primeiro bloco de valores discretos para se obter um bloco de valores de saida inteiros da representação transformada.
- 18. Método de transformação progressiva, com as seguintes etapas: janelamento (16, 18, 20, 22, 24, 26, 28) de um primeiro bloco de amostras que representam um sinal de áudio ou um sinal de imagem, e janelamento de um segundo bloco de amostras que representam um sinal de áudio ou um sinal de imagem, através do uso de várias matrizes (18, 22, 26) de elevação e subsequentes operações (20, 24, 28) de arredondamento, para se obterem um primeiro bloco de valores discretos e um segundo bloco de valores discretos; e método de acordo com a reivindicação 17, para se obter uma representação transformada a partir do primeiro e do segundo blocos com valores de saida inteiros. 6
- 19. Dispositivo para conversão inversa de um bloco de valores de sarda inteiros e de um segundo bloco de valores somados, os quais são uma representação transformada de valores discretos, para se obterem um primeiro e um segundo blocos de valores discretos, sendo que o bloco de valores de saida inteiros e o segundo bloco de valores somados são derivados a partir do primeiro e do segundo blocos de valores discretos, por processamento (102) de um primeiro bloco de valores discretos através do uso de uma primeira regra de transformação para se obter um primeiro bloco de valores transformados, arredondamento (104) do primeiro bloco de valores transformados para se obter um primeiro bloco de valores transformados arredondados, soma (106) do primeiro bloco de valores transformados arredondados a um segundo bloco de valores discretos para se obter o segundo bloco de valores somados, processamento (108) do segundo bloco de valores somados através do uso de uma segunda regra de transformação para se obter um segundo bloco de valores transformados, arredondamento (110) do segundo bloco de valores transformados para se obter um segundo bloco de valores transformados arredondados, e subtracção (112) do segundo bloco de valores transformados arredondados a partir do primeiro bloco de valores discretos para se obter um bloco de valores de saida inteiros da representação transformada, com as seguintes características: um dispositivo (130) para processamento do segundo bloco de valores somados através do uso da segunda regra de transformação para se obter um primeiro bloco de valores de saida transformados; um dispositivo (132) para arredondamento do primeiro bloco de valores de saida transformados para se obter um primeiro bloco de valores transformados arredondados; um dispositivo (134) para soma 7 do primeiro bloco de valores de saida transformados arredondados ao bloco de valores de saida inteiros para se obter o primeiro bloco de valores discretos; um dispositivo (150) para processamento do primeiro bloco de valores discretos através do uso da primeira regra de transformação para se obter um segundo bloco de valores transformados; um dispositivo (152) para arredondamento do segundo bloco de valores transformados para se obter um bloco de valores transformados arredondados; e um dispositivo (154) para subtracção do bloco de valores transformados arredondados a partir do segundo bloco de valores somados para se obter o segundo bloco de valores discretos.
- 20. Dispositivo de acordo com a reivindicação 19, no qual um outro bloco de valores de saida inteiros da representação transformada é calculado a partir do segundo bloco de valores somados, por processamento (140) do bloco de valores de saida inteiros através do uso de uma terceira regra de transformação para se obter um bloco de valores de saida transformados, por arredondamento (142) do bloco de valores de saida transformados para se obter um bloco de valores de saida transformados arredondados, e por soma (144) do bloco de valores de saida transformados arredondados ao segundo bloco de valores somados para se obter o outro bloco de valores de saida inteiros da representação transformada, e que apresenta ainda as seguintes caracteristicas: um dispositivo (124) para processamento do bloco de valores de saida inteiros através do uso da terceira regra de transformação para se obter um primeiro bloco de valores de saida transformados; um dispositivo (126) para arredondamento do primeiro bloco de valores de saída transformados para se obter um primeiro bloco de valores de 8 saída transformados arredondados; e um dispositivo para subtracção (128) do primeiro bloco de valores de saída transformados arredondados a partir do outro bloco de valores de saída para se obter o segundo bloco de valores somados.
- 21. Método para conversão inversa de um bloco de valores de saída inteiros e de um segundo bloco de valores somados, os quais são uma representação transformada de valores discretos, para se obterem um primeiro e um segundo blocos de valores discretos, sendo que o bloco de valores de saída inteiros e o segundo bloco de valores somados são derivados a partir do primeiro e do segundo blocos de valores discretos, por processamento (102) de um primeiro bloco de valores discretos através do uso de uma primeira regra de transformação para se obter um primeiro bloco de valores transformados, arredondamento (104) do primeiro bloco de valores transformados para se obter um primeiro bloco de valores transformados arredondados, soma (106) do primeiro bloco de valores transformados arredondados a um segundo bloco de valores discretos para se obter um segundo bloco de valores somados, processamento (108) do segundo bloco de valores somados através do uso de uma segunda regra de transformação para se obter um segundo bloco de valores transformados, arredondamento (110) do segundo bloco de valores transformados para se obter um segundo bloco de valores transformados arredondados, e subtracção (112) do segundo bloco de valores transformados arredondados a partir do primeiro bloco de valores discretos para se obter um bloco de valores de saída inteiros da representação transformada, com as seguintes etapas: processamento (130) do segundo bloco de valores somados através do uso da 9 segunda regra de transformação para se obter um primeiro bloco de valores de saida transformados; arredondamento (132) do primeiro bloco de valores de saida transformados para se obter um primeiro bloco de valores transformados arredondados; soma (134) do primeiro bloco de valores de saida transformados arredondados ao bloco de valores de saida inteiros para se obter o primeiro bloco de valores discretos; processamento (150) do primeiro bloco de valores discretos através do uso da primeira regra de transformação para se obter um segundo bloco de valores transformados; arredondamento (152) do segundo bloco de valores transformados para se obter um bloco de valores transformados arredondados; e subtracção (154) do bloco de valores transformados arredondados a partir do segundo bloco de valores somados para se obter o segundo bloco de valores discretos.
- 22. Dispositivo de transformação regressiva, com as seguintes características: um dispositivo de acordo com a reivindicação 19 ou 20; e um dispositivo para o janelamento inverso do primeiro e do segundo blocos de valores discretos através do uso de matrizes (18, 22, 26) de elevação e subsequentes operações (20, 24, 28) de arredondamento para se obterem um primeiro e um segundo blocos de valores originais que representam amostras de áudio ou amostras de imagem.
- 23. Método de transformação regressiva, com as seguintes etapas: um método de acordo com a reivindicação 21; e janelamento inverso do primeiro e do segundo blocos de valores discretos através do uso de matrizes (18, 22, 26) de elevação e subsequentes operações (20, 24, 28) de arredondamento para 10 se obterem um primeiro e um segundo blocos de valores originais gue representam amostras de áudio ou amostras de imagem.
- 24. Programa de computador com um código de programa para a execução de um método de acordo com a reivindicação 17, 18, 21 ou 23, quando o programa de computador é executado num computador. Lisboa, 7 de Dezembro de 2006 11
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10331803A DE10331803A1 (de) | 2003-07-14 | 2003-07-14 | Vorrichtung und Verfahren zum Umsetzen in eine transformierte Darstellung oder zum inversen Umsetzen der transformierten Darstellung |
Publications (1)
Publication Number | Publication Date |
---|---|
PT1609084E true PT1609084E (pt) | 2007-01-31 |
Family
ID=34041838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT04740658T PT1609084E (pt) | 2003-07-14 | 2004-07-05 | Dispositivo e método para a conversão numa representação transformada ou para a conversão inversa da representação transformada |
Country Status (15)
Country | Link |
---|---|
US (1) | US8195730B2 (pt) |
EP (1) | EP1609084B1 (pt) |
JP (1) | JP4398979B2 (pt) |
KR (1) | KR100776235B1 (pt) |
CN (1) | CN100416553C (pt) |
AT (1) | ATE339728T1 (pt) |
AU (1) | AU2004300713B2 (pt) |
BR (1) | BRPI0412166B1 (pt) |
CA (1) | CA2532288C (pt) |
DE (2) | DE10331803A1 (pt) |
ES (1) | ES2273268T3 (pt) |
HK (1) | HK1085033A1 (pt) |
MX (1) | MXPA06000528A (pt) |
PT (1) | PT1609084E (pt) |
WO (1) | WO2005006624A2 (pt) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070276894A1 (en) * | 2003-09-29 | 2007-11-29 | Agency For Science, Technology And Research | Process And Device For Determining A Transforming Element For A Given Transformation Function, Method And Device For Transforming A Digital Signal From The Time Domain Into The Frequency Domain And Vice Versa And Computer Readable Medium |
DE10345995B4 (de) | 2003-10-02 | 2005-07-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten |
US20090099844A1 (en) * | 2007-10-16 | 2009-04-16 | Qualcomm Incorporated | Efficient implementation of analysis and synthesis filterbanks for mpeg aac and mpeg aac eld encoders/decoders |
EP2063417A1 (en) * | 2007-11-23 | 2009-05-27 | Deutsche Thomson OHG | Rounding noise shaping for integer transform based encoding and decoding |
KR101067531B1 (ko) | 2009-08-27 | 2011-09-27 | 성균관대학교산학협력단 | 양방향 정수 변환 장치 및 방법 |
US9008811B2 (en) | 2010-09-17 | 2015-04-14 | Xiph.org Foundation | Methods and systems for adaptive time-frequency resolution in digital data coding |
ES2534972T3 (es) | 2011-02-14 | 2015-04-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Predicción lineal basada en esquema de codificación utilizando conformación de ruido de dominio espectral |
SG192746A1 (en) | 2011-02-14 | 2013-09-30 | Fraunhofer Ges Forschung | Apparatus and method for processing a decoded audio signal in a spectral domain |
AU2012217216B2 (en) | 2011-02-14 | 2015-09-17 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result |
PL3471092T3 (pl) | 2011-02-14 | 2020-12-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Dekodowanie pozycji impulsów ścieżek sygnału audio |
CN102959620B (zh) * | 2011-02-14 | 2015-05-13 | 弗兰霍菲尔运输应用研究公司 | 利用重迭变换的信息信号表示 |
WO2012122297A1 (en) | 2011-03-07 | 2012-09-13 | Xiph. Org. | Methods and systems for avoiding partial collapse in multi-block audio coding |
US9009036B2 (en) | 2011-03-07 | 2015-04-14 | Xiph.org Foundation | Methods and systems for bit allocation and partitioning in gain-shape vector quantization for audio coding |
US8838442B2 (en) * | 2011-03-07 | 2014-09-16 | Xiph.org Foundation | Method and system for two-step spreading for tonal artifact avoidance in audio coding |
US10860683B2 (en) | 2012-10-25 | 2020-12-08 | The Research Foundation For The State University Of New York | Pattern change discovery between high dimensional data sets |
US10089319B2 (en) * | 2015-02-20 | 2018-10-02 | International Business Machines Corporation | Policy-based, multi-scheme data reduction for computer memory |
US10448053B2 (en) * | 2016-02-15 | 2019-10-15 | Qualcomm Incorporated | Multi-pass non-separable transforms for video coding |
WO2018044125A1 (ko) * | 2016-09-01 | 2018-03-08 | 엘지전자(주) | 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치 |
KR101916525B1 (ko) | 2016-09-30 | 2018-11-07 | 연세대학교 산학협력단 | 필터 뱅크 멀티캐리어 시스템 및 필터링 방법 |
EP3616196A4 (en) * | 2017-04-28 | 2021-01-20 | DTS, Inc. | AUDIO ENCODER WINDOW AND TRANSFORMATION IMPLEMENTATIONS |
TWI777907B (zh) * | 2017-07-13 | 2022-09-11 | 美商松下電器(美國)知識產權公司 | 編碼裝置、編碼方法、解碼裝置、解碼方法及電腦可讀取之非暫時性媒體 |
CN108200436B (zh) * | 2017-12-29 | 2019-06-18 | 华中科技大学 | 一种面向线列扫描红外成像非均匀性残差的无损压缩方法 |
CN108986794B (zh) * | 2018-09-19 | 2023-02-28 | 河海大学 | 一种基于幂函数频率变换的说话人补偿方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473744A (en) * | 1992-09-28 | 1995-12-05 | Optical Magnetic Imaging Corporation | Computer-assisted interactive method and apparatus for making a multi-media presentation |
EP0624032B1 (en) * | 1993-05-07 | 2000-07-26 | Lg Electronics Inc. | Video format conversion apparatus and method |
JP3291948B2 (ja) | 1994-12-15 | 2002-06-17 | ソニー株式会社 | 高能率符号化方法及び装置、並びに伝送媒体 |
EP0951184A4 (en) * | 1997-11-05 | 2006-08-30 | Sony Corp | METHOD FOR CONVERTING DIGITAL SIGNALS AND APPARATUS FOR CONVERTING DIGITAL SIGNALS |
US6360204B1 (en) | 1998-04-24 | 2002-03-19 | Sarnoff Corporation | Method and apparatus for implementing rounding in decoding an audio signal |
US6263019B1 (en) * | 1998-10-09 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Variable rate MPEG-2 video syntax processor |
KR100289621B1 (ko) * | 1998-12-29 | 2001-05-02 | 이계철 | 비디오 인코더의 변환 및 역변환 부호화 장치 및 그 방법 |
US20050143981A1 (en) | 2000-06-06 | 2005-06-30 | Yukio Koyanagi | Compressing method and apparatus, expanding method and apparatus, compression and expansion system, recorded medium, program |
JP2002311997A (ja) | 2001-04-16 | 2002-10-25 | Matsushita Electric Ind Co Ltd | オーディオ信号符号化装置 |
DE10129240A1 (de) * | 2001-06-18 | 2003-01-02 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten |
US20070276894A1 (en) * | 2003-09-29 | 2007-11-29 | Agency For Science, Technology And Research | Process And Device For Determining A Transforming Element For A Given Transformation Function, Method And Device For Transforming A Digital Signal From The Time Domain Into The Frequency Domain And Vice Versa And Computer Readable Medium |
-
2003
- 2003-07-14 DE DE10331803A patent/DE10331803A1/de not_active Withdrawn
-
2004
- 2004-07-05 JP JP2006519811A patent/JP4398979B2/ja not_active Expired - Lifetime
- 2004-07-05 BR BRPI0412166A patent/BRPI0412166B1/pt active IP Right Grant
- 2004-07-05 AU AU2004300713A patent/AU2004300713B2/en not_active Expired
- 2004-07-05 CN CNB2004800166016A patent/CN100416553C/zh not_active Expired - Lifetime
- 2004-07-05 WO PCT/EP2004/007326 patent/WO2005006624A2/de active IP Right Grant
- 2004-07-05 MX MXPA06000528A patent/MXPA06000528A/es active IP Right Grant
- 2004-07-05 AT AT04740658T patent/ATE339728T1/de active
- 2004-07-05 KR KR1020067000950A patent/KR100776235B1/ko active IP Right Grant
- 2004-07-05 EP EP04740658A patent/EP1609084B1/de not_active Expired - Lifetime
- 2004-07-05 PT PT04740658T patent/PT1609084E/pt unknown
- 2004-07-05 ES ES04740658T patent/ES2273268T3/es not_active Expired - Lifetime
- 2004-07-05 DE DE502004001490T patent/DE502004001490D1/de not_active Expired - Lifetime
- 2004-07-05 CA CA2532288A patent/CA2532288C/en not_active Expired - Lifetime
-
2006
- 2006-01-13 US US11/331,551 patent/US8195730B2/en active Active
- 2006-06-27 HK HK06107235A patent/HK1085033A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ATE339728T1 (de) | 2006-10-15 |
CN1806239A (zh) | 2006-07-19 |
JP4398979B2 (ja) | 2010-01-13 |
CA2532288A1 (en) | 2005-01-20 |
BRPI0412166B1 (pt) | 2017-06-06 |
EP1609084B1 (de) | 2006-09-13 |
AU2004300713A1 (en) | 2005-01-20 |
ES2273268T3 (es) | 2007-05-01 |
DE10331803A1 (de) | 2005-02-17 |
CA2532288C (en) | 2012-10-02 |
US20060115171A1 (en) | 2006-06-01 |
WO2005006624A3 (de) | 2005-02-10 |
DE502004001490D1 (de) | 2006-10-26 |
MXPA06000528A (es) | 2006-03-30 |
AU2004300713B2 (en) | 2007-11-08 |
HK1085033A1 (en) | 2006-08-11 |
BRPI0412166A (pt) | 2006-08-22 |
EP1609084A2 (de) | 2005-12-28 |
KR20060034293A (ko) | 2006-04-21 |
CN100416553C (zh) | 2008-09-03 |
KR100776235B1 (ko) | 2007-11-16 |
JP2009513993A (ja) | 2009-04-02 |
US8195730B2 (en) | 2012-06-05 |
WO2005006624A2 (de) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8195730B2 (en) | Apparatus and method for conversion into a transformed representation or for inverse conversion of the transformed representation | |
PT1647009E (pt) | Dispositivo e método para o processamento de um sinal | |
JP5269908B2 (ja) | 5点dct−ii、dct−iv、およびdst−ivの計算のための高速アルゴリズム、ならびにアーキテクチャ | |
US7873227B2 (en) | Device and method for processing at least two input values | |
KR100892152B1 (ko) | 시간-이산 오디오 신호를 부호화하기 위한 장치 및 방법그리고 부호화 오디오 데이터를 복호화하기 위한 장치 및방법 | |
US7512539B2 (en) | Method and device for processing time-discrete audio sampled values | |
Britanak | A survey of efficient MDCT implementations in MP3 audio coding standard: Retrospective and state-of-the-art | |
EP2784691A2 (en) | Orthogonal transform apparatus, method and computer program, and audio decoding apparatus | |
Britanak et al. | Fast computational structures for an efficient implementation of the complete TDAC analysis/synthesis MDCT/MDST filter banks | |
Britanak | New universal rotation-based fast computational structures for an efficient implementation of the DCT-IV/DST-IV and analysis/synthesis MDCT/MDST filter banks | |
JPH06232763A (ja) | 信号符号化装置および信号復号化装置 | |
Britanak et al. | Efficient Implementations of Cosine-Modulated Pseudo-QMF and MLT (MDCT) Filter Banks in MP3 | |
Britanak et al. | Perfect Reconstruction Cosine/Sine-Modulated Filter Banks in the Dolby Digital (Plus) AC-3 Audio Coding Standards |