BRPI0414618B1 - Dispositivo e método para o processamento de um sinal tendo uma seqüência de valores discretos - Google Patents
Dispositivo e método para o processamento de um sinal tendo uma seqüência de valores discretos Download PDFInfo
- Publication number
- BRPI0414618B1 BRPI0414618B1 BRPI0414618-2A BRPI0414618A BRPI0414618B1 BR PI0414618 B1 BRPI0414618 B1 BR PI0414618B1 BR PI0414618 A BRPI0414618 A BR PI0414618A BR PI0414618 B1 BRPI0414618 B1 BR PI0414618B1
- Authority
- BR
- Brazil
- Prior art keywords
- values
- rounding
- sequence
- block
- discrete
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims description 24
- 230000003595 spectral effect Effects 0.000 claims abstract description 95
- 230000009466 transformation Effects 0.000 claims description 51
- 230000002441 reversible effect Effects 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000012546 transfer Methods 0.000 claims description 5
- 238000007493 shaping process Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 43
- 239000011159 matrix material Substances 0.000 description 39
- 238000006243 chemical reaction Methods 0.000 description 28
- 238000000354 decomposition reaction Methods 0.000 description 20
- 238000007792 addition Methods 0.000 description 18
- 230000000875 corresponding effect Effects 0.000 description 17
- 230000005236 sound signal Effects 0.000 description 16
- 238000001228 spectrum Methods 0.000 description 16
- 238000013459 approach Methods 0.000 description 14
- 238000011002 quantification Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 241000255777 Lepidoptera Species 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 244000089409 Erythrina poeppigiana Species 0.000 description 4
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 241001442234 Cosa Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003111 delayed 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
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- 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
- 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
-
- 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
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
-
- 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/032—Quantisation or dequantisation of spectral components
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Communication Control (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
dispositivo e método para o processamento de um sinal tendo uma seqüência de valores discretos". ao processar um sinal tendo uma seqüência de valores discretos, onde há uma primeira faixa de freqüência na qual o sinal tem alta energia e onde há uma segunda faixa de freqüência na qual o sinal possui baixa energia, a seqüência de valores discretos é primeiramente manipulada (202) para obter uma seqüência de valores manipulados, de modo que pelo menos um dos valores manipulados seja um número não inteiro. então, a seqüência de valores manipulados é arredondada (204) para obter uma seqüência de valores manipulados. o arredondamento é formado para realizar um formato espectral de um erro de arredondamento gerado de modo que um erro de arredondamento espectralmente formado tenha maior energia na primeira faixa de freqüência do que na segunda faixa de freqüência. formando espectralmente o erro de arredondamento de modo que o erro de arredondamento não tenha qualquer energia nas áreas de armazenamento onde não há energia de sinal, uma codificação especialmente eficiente é obtida particularmente na conexão com um contexto de codificação sem perdas.
Description
Dispositivo e Método para o Processamento de um Sinal tendo uma Seqüência de Valores Discretos
Descrição [001] A presente invenção refere-se a um processamento de sinal e particularmente ao processamento de sinal de valores seqüenciais, tais como amostras de áudio ou amostras de vídeo, que são particularmente adequadas especialmente para aplicações de codificação sem perda.
[002] A presente invenção é ainda adequada para algoritmos de compressão para valores discretos que compreendem informações de áudio e/ou imagem e particularmente para algoritmos de codificação, incluindo uma transformada no domínio da freqüência ou no domínio do tempo ou domínio do local, que são seguidos por uma codificação, como
| um código de | entropia | sob a | forma | de uma codificação | de Huffman | ou | ||
| aritmética. | ||||||||
| [003] | Os | modernos | métodos de | codificação de | áudio, como | o | ||
| MPEG Layer3 | (MP3) | ou | MPEG | AAC, | usam | transformadas, | tais como | a |
denominada transformada de co-seno discreta modificada (MDCT), para a obtenção de uma representação de freqüência em bloco de um sinal de áudio. Esse codificador de áudio normalmente obtém um fluxo de amostras de áudio discretas no tempo. O fluxo de amostras de áudio é enquadrado para a obtenção de um bloco enquadrado de, por exemplo, 1.024 ou 2.048 amostras enquadradas de áudio. Para o janelamento, várias funções de janela são empregadas tais como uma janela seno,etc.
[004] As amostras de áudio enquadradas discretas no tempo são então convertidas em uma representação espectral por um banco de filtro. Em princípio, uma transformada de Fourier ou, por razões especiais, uma variação da transformada de Fourier, como uma FFT ou,
Petição 870180131173, de 17/09/2018, pág. 16/78
2/63 como discutido uma MDCT, pode ser empregada para tanto. 0 bloco de valores espectrais de áudio na saída do banco de filtros poderá então ser mais processado, como necessário. Nos codificadores de áudio acima, segue-se uma quantificação dos valores espectrais de áudio, onde os estágios de quantificação são tipicamente escolhidos de maneira que o ruído de quantificação introduzido pela quantificação fique abaixo do limite de mascaramento psicoacústico, isto é, seja desmascarado. A quantificação é uma codificação de perda. De maneira a obter maior quantidade de redução de dados, os valores espectrais quantificados são então codificados por entropia, por exemplo pela codificação de Huffman. Pela adição de informações colaterais, como fatores de escala, etc., um fluxo de bits, que pode ser armazenado ou transmitido, é formado a partir dos valores espectrais quantificados codificados por entropia utilizando um multiplexador de fluxo de bits. [005] No decodificador de áudio, o fluxo de bits é dividido em valores espectrais quantificados codificados e informações colaterais por um desmultiplexador de fluxo de bits. Os valores espectrais quantificados codificados por entropia são primeiramente decodificados por entropia para obter os valores espectrais quantificados. Os valores espectrais quantificados são então inversamente quantificados para obter valores espectrais decodificados que compreendem o ruído de quantificação que, entretanto, está abaixo do limite de mascaramento psicoacústico e será, portanto inaudível. Esses valores espectrais são então convertidos em uma representação temporal por um banco de filtros de síntese para obter amostras de áudio discretas no tempo. No banco de filtros de síntese, deve ser empregado um algoritmo da transformada inverso ao algoritmo da
Petição 870180131173, de 17/09/2018, pág. 17/78
3/63 transformada. Além disso, o janelamento deve ser revertido depois da transformada backward freqüência-tempo.
[006] Para obter uma boa seletividade de freqüência, os modernos codificadores de áudio usam tipicamente sobreposição de bloco. Esse caso está ilustrado na Figura 6a. Primeiro, por exemplo, são tomadas 2.048 amostras de áudio discretas no tempo e enquadradas pelo meio 402. A janela que configura o meio 402 tem um comprimento de janela de 2N amostras e provê um bloco de 2N amostras enquadradas no lado de salda. Para atingir uma sobreposição de janela, um segundo bloco de 2N amostras enquadradas é formado através do meio 404, que está ilustrado separado do meio 402 na Figura 6a, somente por razões de clareza. As 2.048 amostras enviadas para o meio 404, entretanto, não são as amostras de áudio discretas no tempo imediatamente subseqüentes à primeira janela, mas contêm a segunda metade das amostras enquadradas pelo meio 402 e, além disso, contêm somente 1.024 novas amostras. A sobreposição está simbolicamente ilustrada pelo meio 406 na Figura 6a, provocando um grau de sobreposição de 50%. Tanto as 2N amostras enquadradas produzidas pelo meio 402 como as 2N amostras enquadradas produzidas pelo meio 404 são então submetidas ao algoritmo MDCT por intermédio do meio 408 e 410, respectivamente. O meio 408 provê N valores espectrais para a primeira janela, de acordo com o conhecido algoritmo MDCT, onde o meio 410 também provê N valores espectrais, mas para a segunda janela, onde e xiste uma sobreposição de 50% entre a primeira janela e a segunda janela.
[007] No decodificador, os N valores espectrais da primeira janela, como mostrado na Figura 6b, são alimentados ao meio 412 fazendo uma transformada co-seno discreta inverso modificada. O mesmo se aplica aos N valores espectrais da segunda janela. São enviados para
Petição 870180131173, de 17/09/2018, pág. 18/78
4/63 o meio 414, também realizando uma transformada co-seno discreta inverso modificada. Tanto o meio 412 como o meio 414 provêem cada um 2N amostras para a primeira janela e 2N amostras para a segunda janela, respectivamente.
[008] No meio 416, TDAC (time domain aliasing cancellation) indicado na Figura 6b, é levado em conta o fato de que as duas janelas estão se sobrepondo. Em particular, uma amostra yi da segunda metade da primeira janela, isto é, com um índice N+k, é somada com uma amostra y2 da primeira metade da segunda janela, isto é, com um índice k, de maneira que N amostras temporais decodificadas resultam no lado de saída, isto é, no decodificador.
[009] Deve ser notado que, pela função do meio 416, que é também denominado como função de adição, o janelamento realizado no codificador ilustrado esquematicamente pela Figura 6a é levado em conta de certa maneira automaticamente, de forma que não tenha que ocorrer nenhum janelamento inverso explícito no decodificador ilustrado na Figura 6b.
[0010] Se a função janela implementada pelo meio 402 ou 404 for denominada w(k), onde o índice k representa o índice de tempo, deve ser observada a condição de que o peso da janela ao quadrado w(k) somado ao peso da janela ao quadrado w(N+k) no conjunto resulta em 1, onde k varia entre 0 a N-l. Se for usada uma janela seno cujo peso de janela segue a primeira meia onda da função seno, essa condição será sempre observada, já que o quadrado do seno e o quadrado do co-seno em conjunto resultam no valor 1 para cada ângulo.
[0011] No método de janela com a subseqüente função MDCT descrita na Figura 6a, é desvantajoso que o janelamento pela multiplicação de uma amostra discreta no tempo, ao pensar em uma janela
Petição 870180131173, de 17/09/2018, pág. 19/78
5/63 seno, seja alcançado com um número de ponto oscilante, já que o seno de um ângulo entre 0 e 180 graus não produz um número inteiro, não considerando o ângulo de 90 graus. Mesmo quando amostras inteiras discretas no tempo são enquadradas, resultam números de ponto oscilante após o janelamento.
[0012] Portanto, mesmo que não seja usado um codificador psicoacústico, isto é, no caso de obtenção de uma codificação sem perdas, será necessária a quantificação na saída do meio 408 e 410, respectivamente, para poder realizar uma codificação de entropia razoavelmente administrável.
[0013] Em geral, as transformadas inteiras atualmente conhecidas para áudio sem perda e/ou codificação de vídeo são obtidas por uma decomposição das transformadas aí usadas em rotações Givens e pela aplicação do esquema de lifting em cada rotação Givens. Assim, é introduzido em cada etapa um erro de arredondamento. Para outros estágios de rotações Givens, o erro de arredondamento continua a se acumular. O erro de aproximação resultante torna-se problemático, em particular para abordagens de codificação de áudio sem perda, particularmente quando são usadas transformadas longas provendo, por exemplo, 1.024 valores espectrais, como é o caso na MDCT conhecida com sobreposição e adição (MDCT = transformada de co-seno discreta modificada). Particularmente na faixa de freqüência mais alta, onde o sinal de áudio tem tipicamente, de qualquer forma uma quantidade muito baixa de energia, o erro de aproximação pode rapidamente se tornar maior do que o sinal real, de maneira que essas abordagens são problemáticas com relação à codificação sem perdas e particularmente com relação à eficiência de codificação que pode ser assim obtida.
Petição 870180131173, de 17/09/2018, pág. 20/78
6/63 [0014] Com relação à codificação de áudio, transformadas inteiras, isto é, algoritmos de transformadas que geram valores inteiros de saida, se baseiam particularmente na DCT-IV conhecida, que não leva em consideração uma componente DC, enquanto as transformadas inteiras para aplicações de imagens são baseadas em DCT-II, que contém especialmente as provisões para a componente DC. Essas transformadas inteiras são, por exemplo, conhecidas em Y. Zeng, G. Bi e Z. Lin, Integer sinusoidal transforms based on lifting factorization, no Proc. ICASSP'01, maio de 2001, pp. 1,181 - 1,184, K. Komatsu and K. Sezaki, Reversible Discrete Cosine Transform, no 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, 1d and 2-d transforms from integers to integers, no Proc. ICASSP'03, Hongkong, abril de 2003.
[0015] Como acima mencionado, a transformada inteira ai descrita se baseia na decomposição da transformada em rotações Givens e na aplicação do conhecido esquema de lifting para as rotações Givens, que resulta no problema de acumulação dos erros de arredondamento. Isso se deve particularmente ao fato de que, dentro de uma transformada, os arredondamentos devem ser feitos muitas vezes, isto é, após cada etapa de lifting, de maneira que, particularmente em transformadas longas que recebem um grande número correspondente de etapas de lifting, deve haver um número particularmente grande de arredondamentos. Como descrito, isso resulta em um erro acumulado e também particularmente em um processamento relativamente complexo, porque o arredondamento é feito após cada etapa de lifting para realizar a próxima etapa de lifting.
Petição 870180131173, de 17/09/2018, pág. 21/78
7/63 [0016] Depois, a decomposição do janelamento MDCT será ilustrada novamente com relação às Figuras 9 a 11, como descrito no DE 10129240 Al, onde essa decomposição do janelamento MDCT em rotações Givens com matrizes de lifting e os correspondentes arredondamentos combinados vantajosamente com o conceito discutido na Figura 1 para a conversão e na Figura 2 para a conversão inversa, para obter uma aproximação MDCT inteira completa, isto é, uma MDCT inteira (IntMDCT) de acordo com a presente invenção, onde são dados os conceitos de transformada forward e backward para o exemplo de uma MDCT.
[0017] A Figura 3 mostra um diagrama de visualização do dispositivo inventivo preferido para o processamento de amostras discretas no tempo, representando um sinal de áudio, para obter valores inteiros baseados nos quais o algoritmo da transformada inteira IntMDCT é operativo. As amostras discretas no tempo são enquadradas pelo dispositivo mostrado na Figura 3 e opcionalmente convertidas em uma representação espectral. As amostras discretas no tempo fornecidas para o dispositivo em uma entrada 10 são enquadradas em uma janela w com um comprimento correspondente a 2N amostras discretas no tempo para alcançar, em uma salda 12, amostras enquadradas inteiras adequadas para serem convertidas em uma representação espectral por uma transformada e particularmente o meio 14 para realizar uma DCT inteira. A DCT inteira é projetada para gerar N valores de salda de N valores de entrada, que está em contraposição com a função MDCT 408 da Figura 6a, que somente gera N valores espectrais de 2N amostras enquadradas devido à equação MDCT.
[0018] Para o janelamento das amostras discretas no tempo, são selecionadas as primeiras duas amostras discretas no tempo no meio 16, que juntamente representam um vetor de amostras discretas no tempo.
Petição 870180131173, de 17/09/2018, pág. 22/78
8/63
Uma amostra discreta no tempo selecionada pelo meio 16 está no primeiro quadrante da janela. A outra amostra discreta no tempo está no Segundo quadrante da janela, como discutido em maiores detalhes com relação à Figura 5. 0 vetor gerado pelo meio 16 tem agora uma matriz de rotação de dimensão 2x2, onde esta operação não é realizada diretamente, mas por várias matrizes denominadas de lifting.
[0019] Uma matriz de lifting tem a propriedade de compreender somente um elemento dependendo da janela w e sendo igual a 1 ou 0.
[0020] A fatorização das transformadas wavelet em etapas de lifting está apresentada na publicação especializada Factorlng Wavelet Transforms Into Lifting Steps, Ingrid Daubechies e Wim Sweldens, Preprint, Bell Laboratories, Lucent Technologies, 1996. Em geral, um esquema de lifting é uma simples relação entre pares de filtros perfeitamente reconstruiveis tendo os mesmos filtros de baixa passagem ou de alta passagem. Cada par de filtros complementares pode ser fatorizado em etapas de lifting. Isso se aplica particularmente às rotações Givens. Considerar o caso em que a matriz polifase seja uma rotação Givens. Aplica-se então o seguinte:
| ^cosor | -sinof | (1 | cosa-ΐλ sina | ( 1 | 0 | cosa-ΐλ sina | ||
| ^sinor | cosor , | ίθ | 1 J | ^sinor | U | ιθ | 1 J |
[0021] Cada uma das três matrizes de lifting no lado direito do sinal de igual tem o valor 1 como principal elemento diagonal. Existe ainda, em cada matriz de lifting, um elemento diagonal secundário igual a 0 e um elemento diagonal secundário dependendo do ângulo de rotação a.
[0022] O vetor está agora multiplicado pela terceira matriz de lifting, isto é, a matriz de lifting no extremo direito da equação
Petição 870180131173, de 17/09/2018, pág. 23/78
9/63 acima, para obter um primeiro vetor resultante. Isso está ilustrado
| na Figura | 3 pelo meio 18. Agora o primeiro vetor resultante é |
arredondado por uma função de arredondamento que mapeia o conjunto dos números reais no conjunto dos inteiros, como ilustrado na Figura 3
| pelo meio | 20. Na saída do meio 20, obtém-se um primeiro vetor |
| resultante | arredondado. 0 primeiro vetor resultante arredondado é |
agora fornecido para o meio 22 para multiplicá-lo pela matriz central, isto é, segunda matriz de lifting para obter um segundo vetor resultante que é novamente arredondado no meio 24 para obter um segundo vetor resultante arredondado. 0 segundo vetor resultante arredondado é agora fornecido ao meio 26 para multiplicá-lo pela matriz de lifting mostrada na esquerda da equação acima, isto é, a primeira, para obter um terceiro vetor resultante que é finalmente arredondado por intermédio do meio 28, para finalmente obter as amostras enquadradas inteiras na saída 12 que, caso se deseje uma representação espectral desta, agora terá que ser processada pelo meio 14 para obter valores
| espectrais | inteiros na saída espectral 30. |
| [0023] | Preferivelmente, o meio 14 é implementado como DCT |
inteira.
| [0024] | A transformada co-seno discreta de acordo com o tipo |
| 4 (DCT-IV) | com um comprimento N é dada pela seguinte equação: x«W=^Xx^cos ^(2k+1X2m+1)j (2) |
| [0025] | Os coeficientes da DCT-IV formam uma matriz |
| ortonormal | N x N. Cada matriz ortogonal N x N pode ser decomposta em |
N (N-l)/2 rotações Givens, como discutido na publicação especializada
P. P. Vaidyanathan, Multirate Systems And Filter Banks, Prentice
Petição 870180131173, de 17/09/2018, pág. 24/78
10/63
Hall, Englewood Cliffs, 1993. Deve ser notado que existem outras decomposições.
[0026] Com relação às classificações dos vários algoritmos
DCT, ver H. S. Malvar, Signal Processing With Lapped Transforms, Artech House, 1992. Em geral, os algoritmos DCT diferem na espécie de suas funções base. Enquanto a DCT-IV aqui preferida inclui funções base não simétricas, isto é, co-seno quarto de onda, um co-seno 3/4 de onda, um co-seno 5/4 de onda, um co-seno 7/4 de onda, etc. a transformada co-seno discreta de, por exemplo, tipo II (DCT-II) tem funções base axissimétricas e ponto simétricas. A função 0- base tem uma componente DC, a primeira função base é uma meia onda co-seno, a segunda função base é uma onda co-seno inteira, etc. Devido ao fato de que a DCT-II dá ênfase especial à componente DC, é usada em codificação de video, mas não em codificação de áudio, porque a componente DC não é relevante na codificação de áudio em contraposição à codificação de video.
[0027] A seguir, será discutido como um ângulo de rotação α da rotação Givens depende da função janela.
[0028] Uma MDCT com um comprimento de janela de 2N pode ser reduzida para uma transformada co-seno discreta do tipo IV com comprimento N. Isso é feito pela realização explicita da operação TDAC no domínio de tempo e depois aplicando a DCT-IV. No caso de uma sobreposição 50%, a metade esquerda da janela de um bloco t sobrepõese à metade direita do bloco precedente, isto é, o bloco t-1. A parte de sobreposição de dois blocos consecutivos t-1 e t é pré-processada no domínio de tempo, isto é, antes da transformada, como segue, isto é, é processada entre a entrada 10 e a saída 12 da Figura 3:
(3)
Petição 870180131173, de 17/09/2018, pág. 25/78
11/63 [0029] da Figura 3 xt(k) ^x^N-l-k^ ( Au + k)
| «íí-i-h'] | ' +fc) ' |
| •4W) J |
Os valores marcados com til enquanto os valores x são os valores na saída não marcados com um til na equação acima são os valores na entrada 10 e/ou seguindo o meio 16 para a seleção. O índice operante k funciona entre 0 e N/2-1 enquanto w representa a função janela.
[0030]
A partir da condição TDAC para a função janela w, aplica-se o seguinte:
| (N ,Ί | 2 | (N . Λ | |
| w | --l· k | + W | --\-k |
| U ) | U ) |
[0031]
Para determinados ângulos OCk, k = 0, N/2-1, este pré-processamento no domínio de tempo pode ser escrito como rotação Givens, como discutido.
[0032] O ângulo a da rotação Givens depende da função janela w como segue:
B = arctan[w(Ν/2-l-k) / w(N/2 + k)] (5) [0033] Deve ser notado que quaisquer funções janela w podem ser empregadas desde que preencham essa condição TDAC.
[0034] A seguir, são descritos um codificador e um decodificador em cascata com relação à Figura 4. As amostras discretas no tempo x(0) a x(2N-l), que são enquadradas em conjunto por uma janela, são primeiro selecionadas pelo meio 16 da Figura 3, de maneira que a amostra x(0) e a amostra x(N-l), isto é, uma amostra do primeiro quadrante da janela e uma amostra do segundo quadrante da janela, são selecionadas para formarem um vetor na saída do meio 16. As flechas de cruzamento representam esquematicamente as multiplicações de lifting e os subseqüentes arredondamentos dos meios 18, 20 e 22, 24 e
Petição 870180131173, de 17/09/2018, pág. 26/78
12/63
26, 28, respectivamente, para obter amostras enquadradas inteiras na entrada dos blocos DCT-IV.
[0035] Quando o primeiro vetor tiver sido processado como acima descrito, um segundo vetor será ainda selecionado a partir das amostras x(N/2-l) e x(N/2), isto é, novamente uma amostra do primeiro quadrante da janela e uma amostra do segundo quadrante da janela, sendo novamente processado pelo algoritmo descrito na Figura 3. De maneira análoga, são processados todos os demais pares de amostras do primeiro e do segundo quadrantes da janela. O mesmo processamento é feito para o terceiro e o quarto quadrantes da primeira janela. Agora existem 2N amostras inteiras enquadradas na saída 12, que agora são fornecidas para uma transformada DCT-IV como ilustrado na Figura 4. Em particular, as amostras enquadradas inteiras do segundo e do terceiro quadrantes são fornecidas para uma DCT. As amostras inteiras enquadradas do primeiro quadrante da janela são processadas em uma DCT-IV precedente, juntamente com as amostras inteiras enquadradas do quarto quadrante da janela precedente. De maneira análoga, na Figura 4, o quarto quadrante das amostras inteiras enquadradas é fornecido para uma transformada DCT-IV juntamente com o primeiro quadrante da próxima janela. A transformada DCT-IV inteira central 32 mostrada na Figura 4 agora provê N valores espectrais inteiros y(0) a y(N-l). Esses valores espectrais inteiros podem agora, por exemplo, ser simplesmente codificados por entropia sem uma quantificação interposta ser necessária, porque o janelamento e a transformada produzem valores de saída inteiros.
[0036] Na metade direita da Figura 4, está ilustrado um decodificador. O decodificador, que consiste de uma transformada backward e janelamento inverso opera inversamente ao codificador. É
Petição 870180131173, de 17/09/2018, pág. 27/78
13/63 sabido que uma DCT-IV inversa pode ser usada para a transformada backward de uma DCT-IV, como ilustrado na Figura 4. Os valores de saida do decodificador DCT-IV 34 são agora inversamente processados com os valores correspondentes da transformada precedente e/ou a transformada a seguir, como ilustrado na Figura 4, para gerar novamente amostras de áudio discretas no tempo x(0) a x(2-Nl) das amostras enquadradas inteiras na saida do meio 34 e/ou da transformada precedente e seguinte.
[0037] A operação no lado de saida ocorre por uma rotação Givens inversa, isto é, de maneira que os blocos 26, 28 e 22, 24 e 18, 20, respectivamente são cruzados na direção oposta. Isso será ilustrado em mais detalhes com relação à segunda matriz de lifting da equação 1. Quando (no codificador) o segundo vetor resultante é formado pela multiplicação do primeiro vetor resultante arredondado pela segunda matriz de lifting (meio 22), resulta a seguinte expressão:
(x, y) i—> (x, y + xsin a) (6)
| [0038] | Os valores | x, y | no | lado | direito | da | equação 6 | são |
| inteiros. | Entretanto, isso | não se | aplica | ao valor | X | sin a. Aqui | , a | |
| função de | arredondamento r | deve ser | introduzida, | como ilustrado | na |
equação a seguir:
(x, y) l—> (x, y + r(x sin a)) (7) [0039] Essa operação é realizada pelo meio 24.
[0040] O mapeamento inverso (no decodificador) é definido como a seguir:
(x, y') I—> (x, y'—r(x'sin a)) (8) [0041] Devido ao sinal de menos na frente da operação de arredondamento, torna-se aparente que a aproximação inteira da etapa
Petição 870180131173, de 17/09/2018, pág. 28/78
14/63 de lifting pode ser revertida sem a introdução de erro. A aplicação dessa aproximação em cada uma das três etapas de lifting conduz a uma
| aproximação | inteira da rotação de Givens. A rotação arredondada (no |
codificador) pode ser revertida (no decodificador) sem introduzir um erro cruzando as etapas inversas de lifting, arredondado em ordem inversa, isto é, se a decodificação do algoritmo da Figura 3 é feita de baixo para cima.
| [0042] | Se a função de arredondamento r for um ponto |
| simétrico, | a rotação arredondada inversa é idêntica à rotação |
| arredondada | com o ângulo -a, sendo expressa como a seguir: ' cosa sina' (9) - sina cosay |
| [0043] | As matrizes de lifting para o decodificador, isto é, |
para a rotação Givens inversa, nesse caso resulta diretamente da
| equação (1) | pela simples reposição da expressão sin a pela expressão |
-sin a.
| [0044] | A seguir, a decomposição de uma MDCT comum com janela |
| sobrepostas | 40 a 46 está novamente ilustrada com relação à Figura 5. |
| As janelas | 40 a 46 cada uma tem 50% de sobreposição. Primeiro, as |
rotações Givens são realizadas por janela dentro do primeiro e do segundo quadrantes de uma janela e/ou dentro do terceiro e quarto
| quadrantes | de uma janela, como esquematicamente ilustrado pelas |
flechas 48. Então, os valores rotacionados, isto é, as amostras inteiras enquadradas, são fornecidos para uma DCT N-a-N de maneira que sempre o segundo e o terceiro quadrantes de uma janela e o quarto e o primeiro quadrantes de uma janela subseqüente, respectivamente, sejam
| convertidos | em uma representação espectral em conjunto, por um |
algoritmo DCT-IV.
Petição 870180131173, de 17/09/2018, pág. 29/78
15/63 [0045] As rotações comuns Givens são portanto decompostas em matrizes de lifting que são executadas em seqüência, onde, após cada multiplicação da matriz de lifting é inserida uma etapa de arredondamento, de maneira que os números de ponto oscilante sejam imediatamente arredondados depois de serem gerados, de maneira que antes de cada multiplicação de um vetor resultante com uma matriz de lifting, o vetor resultante tenha [0046] somente números inteiro s.
[0047] Portanto, os valores de saída sempre permanecem inteiros, sendo que é preferido também usar valores de entrada inteiros. Isso não representa uma limitação, porque quaisquer amostras exemplares PCM quando armazenadas em um CD são valores numéricos inteiros, cujas faixas de valores variam dependendo da largura de bit, isto é, dependendo de se os valores de entrada digital discretos no tempo são valores de 16 bits ou valores de 24 bits. Não obstante, todo o processo é inversivo, como discutido acima, pela realização de rotações inversas em ordem reversa. Existe assim uma aproximação inteira da MDCT com reconstrução perfeita, isto é, uma transformada sem perdas.
[0048] A transformada mostrada provê valores de saída inteiros ao invés de valores de ponto oscilante. Provê uma perfeita reconstrução, de maneira que nenhum erro é introduzido quando uma transformada forward e depois uma transformada backward são realizadas. De acordo com uma configuração preferida da presente invenção, a transformada é uma substituição da transformada de co-seno discreta modificada. Entretanto, outros métodos de transformadas podem ser também realizados com inteiros, enquanto for possível uma
Petição 870180131173, de 17/09/2018, pág. 30/78
16/63 decomposição em rotações e uma decomposição das rotações em etapas de lifting.
[0049] A MDCT inteira tem a maioria das propriedades favoráveis da MDCT. Tem uma estrutura de sobreposição, onde é obtida uma melhor seletividade de freqüência do que com transformadas de bloco não sobreponível. Devido à função TDAC que já é levada em consideração no janelamento antes da transformada, é mantida uma amostragem crítica, de maneira que o número total de valores espectrais que representa um sinal de áudio seja igual ao número total de amostras de entrada.
[0050] Comparada com uma MDCT normal que provê amostras de ponto oscilante, a transformada inteira preferida descrita mostra que o ruído comparado com a MDCT normal é somente aumentado na faixa espectral na qual existe um pequeno nível de sinal, enquanto este aumento de ruído não se torna perceptível nos níveis significativos de sinal. Mas o processamento inteiro sugere uma implementação eficiente de hardware, pois são usadas somente as etapas de multiplicação que possam prontamente ser decompostas em etapas de câmbio/adição que possam ser implementadas por hardware de maneira simples e rápida. É claro que é também possível uma implementação de software.
[0051] A transformada inteira provê uma boa representação espectral do sinal de áudio, permanecendo ainda assim na área dos inteiros. Quando é aplicada a partes tonais de um sinal de áudio, resulta em uma boa concentração de energia. Com isso, um eficiente esquema de codificação sem perdas pode ser construído, simplesmente fazendo a cascata do janelamento/transformada ilustrado na Figura 3 com um codificador de entropia. Em particular, o stacked coding
Petição 870180131173, de 17/09/2018, pág. 31/78
17/63 [transcodificação] que usa valores de escape, como empregados em MPEG AAC, é vantajoso. É preferível reduzir todos os valores de uma certa potência de dois até que se adaptem em uma tabela desejada de códigos, e depois ainda codificar os bits omitidos menos significativos. Em comparação com a alternativa do uso de maiores tabelas de códigos, a alternativa descrita é mais favorável com relação ao consumo de armazenagem para armazenar as tabelas de códigos. Pode também ser obtido um codificador quase sem perdas simplesmente omitindo alguns dos bits menos significativos.
[0052] Particularmente para sinais tonais, a codificação de entropia dos valores espectrais inteiros permite um alto ganho de codificação. Para partes transientes do sinal, o ganho de codificação é baixo, por ser devido ao espectro plano dos sinais transientes, isto é, devido a um pequeno número de valores espectrais iguais a 0 ou quase 0. Como descrito por J. Herre, J. D. Johnston: Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS) 101st AES Convention, Los Angeles, 1996, preprint 4384, entretanto essa planicidade pode ser usada utilizando uma predição linear no domínio da freqüência. Uma alternativa é uma predição com circuito aberto. Outra alternativa é o previsor com circuito fechado. A primeira alternativa, isto é, o previsor com circuito aberto, é denominada TNS. A quantificação depois da previsão leva a uma adaptação do resultante ruído de quantificação para a estrutura temporal do sinal de áudio, e assim evita os pré-ecos nos codificadores psicoacústicos de áudio. Para codificação de áudio sem perdas, a segunda alternativa, isto é, é mais adequada com um previsor de circuito fechado, já que a previsão com circuito fechado permite uma reconstrução mais precisa do sinal de entrada. Quando essa técnica é
Petição 870180131173, de 17/09/2018, pág. 32/78
18/63 aplicada a um espectro geral, deve ser feita uma etapa de arredondamento depois de cada etapa do filtro de previsão, de maneira a ficar na área dos inteiros. Usando o filtro inverso e a mesma função de arredondamento, o espectro original pode ser reproduzido com precisão.
[0053] De maneira a fazer uso da redundância entre dois canais para a redução de dados, também pode ser empregada a codificação centro-lado sem perda, se for usada uma rotação arredondada com um ângulo de π/4. Em comparação com a 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 de conservação de energia. O uso das denominadas técnicas de codificação estéreo conjunto podem ser ligadas e desligadas para cada banda, como também é feito no MPEG AAC padrão. Podem também ser considerados outros ângulos de rotação para poder reduzir a redundância entre dois canais de maneira mais flexível.
[0054] Particularmente o conceito de transformada ilustrado com relação à Figura 3 provê uma implementação inteira da MDCT, isto é, uma IntMDCT, que opera sem perdas com relação à transformada forward e a subseqüente transformada backward. Com as etapas de arredondamento 20, 24, 28 e as correspondentes etapas de arredondamento na DCT inteira (bloco 14 da Figura 3), existe ainda sempre possível um processamento inteiro, isto é, processamento com valores quantificados com mais precisão do que aqueles com que foram gerados, por exemplo, pela multiplicação de ponto oscilante com uma matriz de lifting (blocos 18, 22, 26 da Figura 3) .
[0055] O resultado é que toda a IntMDCT pode ser feita eficientemente com relação aos cálculos.
Petição 870180131173, de 17/09/2018, pág. 33/78
19/63 [0056] A falta de perdas desta IntMDCT ou, falando em geral, a falta de perdas de todos os algoritmos codificadores denominados como sem perdas está relacionada ao fato de que o sinal, quando é codificado para obter um sinal codificado e quando é depois novamente decodificado para obter um sinal codificado/decodifiçado, parece exatamente igual ao sinal original. Em outras palavras, o sinal original é idêntico ao sinal original codificado/decodifiçado. Este é um contraste óbvio do denominado codificação de perdas, no qual, como no caso de codificadores de áudio que operam em base psicoacústica, os dados são irremediavelmente perdidos pelo processo de codificação e particularmente pelo processo de quantificação controlado pelo modelo psicoacústico.
[0057] É claro que erros de arredondamento são ainda introduzidos. Portanto, como mostrado com referência à Figura 3 nos blocos 20, 24, 28, são feitas etapas de arredondamento que, é claro, introduzem um erro de arredondamento que somente é eliminado no decodificador quando são realizadas as operações inversas. Assim, o conceito de codificação/decodificação sem perdas difere essencialmente
| dos conceitos | de codificação/decodificação com | perdas | no | qual, | nos | ||
| conceitos | de | codificação/decodificação | sem | perdas | o | erro | de |
| arredondamento | é introduzido de forma | que | possa | ser | novamente | ||
| eliminado, | enquanto este não é o | caso | nos | conceitos | de |
codificação/decodificação com perdas.
[0058] Entretanto, se for considerado um sinal codificado, isto é, no exemplo de codificadores de transformadas, o espectro de um bloco de amostras temporais, o arredondamento na transformada forward e/ou geralmente a quantificação desse sinal resulta em um erro sendo introduzido no sinal. Assim, um erro de arredondamento é
Petição 870180131173, de 17/09/2018, pág. 34/78
20/63 sobreposto no espectro ideal sem erro do sinal, o erro tipicamente sendo, por exemplo no caso da Figura 3, ruído branco incluindo igualmente todos os componentes de freqüência da faixa espectral considerada. Esse ruído branco é sobreposto ao espectro ideal e representa assim o erro de arredondamento que ocorre, por exemplo, arredondando os blocos 20, 24, 28 durante o janelamento, isto é, o pré-processamento do sinal antes da DCT real no bloco 14. Deve-se notar em particular, que para um requisito de falta de perdas, o erro total de arredondamento deve ser necessariamente codificado, isto é, transmitido ao decodificador, porque o decodificador requer que o erro total de arredondamento introduzido no codificador atinja a correta reconstrução sem perdas.
[0059] O erro de arredondamento pode não ser problemático quando nada é feito com a representação espectral, isto é, quando a representação espectral está somente armazenada, transmitida ou decodificada novamente por um decodificador inverso de combinação correta. Nesse caso, o critério de não haver perdas será sempre observado, sem relação da quantidade de erro de arredondamento que foi introduzido no espectro. Entretanto, se alguma coisa for feita com a representação espectral, isto é, com a representação espectral ideal de um sinal original que contenha um erro de arredondamento, por exemplo se as camadas de escalação forem geradas, etc., todas essas coisas funcionam melhor, com o menor erro de arredondamento.
[0060] Assim, também existe um requisito nas codificações/decodificações sem perda que, por um lado, um sinal deve ser reconstruível sem perdas pelos decodificadores especiais, que, entretanto, um sinal deve ter um erro de arredondamento mínimo em sua representação espectral para preservar a flexibilidade, onde também
Petição 870180131173, de 17/09/2018, pág. 35/78
21/63 decodificadores não ideais sem perdas podem ser abastecidos com a representação espectral ou que possam ser gerados camadas de escalação, etc.
[0061] Como discutido acima, o erro de arredondamento é expresso como ruído branco em todo o espectro considerado. Por outro lado, particularmente em aplicações de alta qualidade, da forma interessante para o caso sem perdas, isto é, em aplicações de áudio com freqüências de amostragem muito altas, como de 96 kHz, o sinal de áudio tem somente um teor razoável de sinal em uma determinada faixa espectral, que tipicamente atinge no máximo somente até 20 kHz. Tipicamente, a faixa em que a maior parte da energia do sinal se concentra será a faixa entre 0 e 10 kHz, enquanto a energia do sinal se reduzirá consideravelmente na faixa acima de 10 kHz. Entretanto, isso não importa para o ruído branco introduzido pelo arredondamento. Este se sobrepõe em toda a faixa espectral considerada da energia do sinal. O resultado é que, nas faixas espectrais, isto é, tipicamente nas altas faixas espectrais onde não existe, ou somente existe energia de sinal de áudio muito pequena, haverá somente o erro de arredondamento. Ao mesmo tempo, particularmente devido à sua natureza não determinística, erro de arredondamento é também difícil de codificar, isto é, somente codificável com relativamente altos requisitos de bits.
Os requisitos de bits não desempenham o papel decisivo, particularmente em algumas aplicações sem perdas.
Entretanto, para as aplicações de codificação sem perdas se tornarem mais e mais difundidas, é importante operar também aqui com muita eficiência de bits para combinar a vantagem da redução de qualidade ausente inerente das aplicações sem perdas também com a correspondente
Petição 870180131173, de 17/09/2018, pág. 36/78
22/63 eficiência de bits, como é conhecido nos conceitos de codificações com perdas.
[0062] É o objeto da presente invenção prover um conceito eficiente para os sinais de processamento.
[0063] Este objeto é alcançado por um dispositivo para o processamento do sinal, tendo uma seqüência de valores discretos de
| acordo | com a | reivindicação | 1, um método para o processamento | de | um | |||
| sinal | tendo | uma | seqüência | de valores | discretos | de acordo | com | a |
| reivindicação | 18, | ou um programa de | computador | de acordo | com | a |
reivindicação 19.
[0064] A presente invenção se baseia na descoberta que, particularmente no contexto de codificação/decodificação sem perdas, um erro de arredondamento é dimensionado espectralmente de maneira que esteja acomodado na faixa de freqüência do sinal a ser codificado, em que o sinal tem, de qualquer forma, uma alta energia de sinal e que, como conseqüência, o erro de arredondamento não esteja presente nas faixas em que o sinal não tenha, de qualquer forma, energia. Na técnica anterior, enquanto um erro de arredondamento era distribuído branco em todo o espectro do sinal em codificação sem erro, e particularmente em codificação sem erro com base nos algoritmos inteiros, de acordo com a invenção, o erro de arredondamento é sobreposto no espectro ideal sob a forma de um ruído cor de rosa, isto é, de maneira que a energia do ruído devida ao arredondamento esteja presente onde o sinal tem, de qualquer forma, sua maior energia de sinal, e que assim o ruído devido ao erro de arredondamento tenha pouca ou mesmo nenhuma energia onde o sinal a ser codificado não tenha energia própria. Assim, é evitado o pior caso, no qual o erro de arredondamento que é um sinal estocástico e portanto difícil de
Petição 870180131173, de 17/09/2018, pág. 37/78
23/63 codificar, seja o único sinal a ser codificado em uma faixa de freqüência e, portanto aumentando desnecessariamente o bit rate.
[0065] Ao considerar um sinal de áudio no qual a energia esteja na faixa de baixa freqüência, o meio inventivo é projetado para o arredondamento de maneira a alcançar uma formatação espectral de baixa passagem do erro de arredondamento gerado, de maneira que, nas altas freqüências do sinal codificado, não exista nem energia de sinal nem energia de ruído, enquanto o erro de arredondamento é mapeado na faixa em que o sinal tem, de qualquer forma, muita energia.
[0066] Em particular, para aplicações de codificação sem perda, isso está em contraste com a técnica anterior, onde um erro de arredondamento é filtrado espectralmente em alta passagem para obter um erro de arredondamento fora da faixa audível. Isso também corresponde ao caso em que a faixa espectral em que existe o erro de arredondamento é filtrada, seja eletronicamente ou pela própria audição para eliminar o erro de arredondamento. Para codificação/decodificação sem perdas, entretanto, o erro de arredondamento é absolutamente necessário no decodificador, porque, de outra maneira, o algoritmo usado no decodificador, que é inverso ao algoritmo de codificação sem perda, gera distorções.
[0067] O conceito inventivo de modelamento espectral do erro de arredondamento é usado de preferência em aplicações sem erros, com uma alta taxa de amostragem, porque em particular, nos casos em que os espectros teoricamente vão até mais do que 40 kHz (devido ao excesso de amostragem) a mesma situação é obtida na faixa de alta freqüência, na qual, de qualquer maneira não existe energia de sinal, isto é, na qual a codificação pode ser feita de maneira muito eficiente, como no
Petição 870180131173, de 17/09/2018, pág. 38/78
24/63 caso de uma codificação não inteira, onde a energia do sinal é também zero na faixa de alta freqüência.
[0068] Como um grande número de zeros é codificado de forma muito eficiente e o erro de arredondamento, que é problemático para o código, é transferido para a faixa que, de qualquer maneira é tipicamente codificada de forma muito fina, o índice geral de dados do sinal fica assim reduzido quando comparado com o caso em que o erro de arredondamento é distribuído como ruído branco em toda a faixa de freqüência. Além disso, o desempenho da codificação - e assim também o desempenho da decodificação - aumentam, porque nenhum tempo de computação tem que ser gasto para a codificação e a decodificação da faixa de alta freqüência. O conceito inventivo, portanto, também tem o resultado que pode ser obtido um mais rápido processamento de sinal por parte do codificador e/ou por parte do decodificador.
[0069] Em uma configuração preferida da presente invenção, o conceito inventivo de configurar/reduzir o erro de aproximação se aplica às transformadas inteiras inversíveis, particularmente a IntMDCT. Existem duas áreas de aplicação, a saber, por um lado, o lifting multidimensional, com a qual a MDCT fica consideravelmente simplificada com relação às etapas de arredondamento necessárias, e, por outro lado, as operações de arredondamento necessárias no janelamento inteiro, tais como ocorrem no pré-processamento antes da
DCT real.
| [0070] | De | acordo | com a invenção | , é usado um | conceito | de |
| feedback de | erro | para | a configuração | espectral do erro | de | |
| arredondamento | , no | qual, | de acordo com | a invenção, | o erro | de |
| arredondamento | é deslocado | para a faixa de | freqüência em | que o sinal |
sendo processado tem a maior energia de sinal. Para sinais de áudio,
Petição 870180131173, de 17/09/2018, pág. 39/78
25/63 e também particularmente para sinais de vídeo, esta será a faixa de baixa freqüência, de maneira que o sistema de feedback de erro tem uma propriedade de baixa passagem. Isso resulta em menos erros de arredondamento na faixa superior de freqüência, na qual existem normalmente menos componentes de sinal. Na técnica anterior, os erros de arredondamento têm prevalência na faixa superior, e que devem ser portanto codificados e assim aumentam o número de bits necessários para a codificação. De acordo com a invenção, esse erro de arredondamento é reduzido nas maiores freqüências, que diretamente reduz o número de bits necessários para a codificação.
[0071] As configurações preferidas da presente invenção são explicadas em maiores detalhes abaixo, com relação aos desenhos de acompanhamento, nos quais:
[0072] Figura 1 Mostra um diagrama de circuito de blocos do conceito inventivo para o processamento de sinais, tendo uma seqüência de valores discretos;
[0073] Figura 2a mostra um conhecido conceito espectral de alta passagem que configura um erro de quantificação;
[0074] Figura 2b mostra um conceito de baixa passagem que configura o erro de arredondamento de acordo com a presente invenção; [0075] Figura 2c mostra um diagrama de circuito de blocos de acordo com uma configuração preferida da presente invenção para o bloco espectral de configuração/arredondamento;
[0076] Figura 3 mostra um diagrama de circuito de blocos de um meio preferido para o processamento de amostras de áudio discretas no tempo para obter valores inteiros, a partir dos quais possam ser determinados valores espectrais inteiros;
Petição 870180131173, de 17/09/2018, pág. 40/78
26/63
| [0077] | Figura 4 é uma ilustração esquemática da |
decomposição de uma MDCT e de uma MDCT inversa em rotações Givens e duas operações DCT-IV;
| [0078] | Figura 5 é uma ilustração para mostrar a |
decomposição de uma MDCT com 50 por cento de sobreposição em rotações e operações DCT-IV;
| [0079] | Figura 6a mostra um diagrama de circuito de blocos |
esquemático de um conhecido codificador com MDCT e 50 por cento de sobreposição;
| [0080] | Figura 6b mostra um diagrama de circuito de blocos de |
um conhecido decodificador para a decodificação dos valores gerados pela Figura 10a;
| [0081] | Figura 7 é uma ilustração do lifting em janelamento, |
de acordo com a Figura 3;
| [0082] | Figura 8 é uma ilustração reclassifiçada do |
lifting da Figura 7 para janelamento antes da transformada real;
| [0083] | Figura 9 mostra uma aplicação da presente invenção |
para janelamento de acordo com as Figuras 3, 7 e 8;
| [0084] | Figuras 10A - 10C mostra diagramas de circuito de |
bloco de um dispositivo para a conversão de acordo com uma configuração preferida da presente invenção;
| [0085] | Figura 11 mostra um dispositivo para a conversão |
inversa de acordo com uma configuração preferida da presente invenção;
| [0086] | Figura 12 é uma ilustração da transformação de dois |
blocos subseqüentes de valores, como utilizável para a presente invenção;
| [0087] | Figura 13 é uma ilustração detalhada de uma etapa de |
lifting multidimensional com uma matriz transformada forward;
Petição 870180131173, de 17/09/2018, pág. 41/78
27/63 [0088] Figura 14 é uma ilustração de uma etapa de lifting inversa multidimensional com uma matriz transformada backward;
[0089] Figura 15 é uma ilustração da presente invenção para a decomposição de uma DCT-IV de comprimento N em duas DCT-IVs de comprimento N/2;
[0090] Figura 16 mostra uma aplicação do conceito inventivo dentro da transformada com lifting multidimensional da Figura 10;
[0091] Figura 17 é uma ilustração de duas etapas sucessivas de lifting;
[0092] Figura 18 é uma ilustração do conceito para a redução do erro de arredondamento em duas etapas sucessivas de lifting da Figura 17; e [0093] Figura 19 mostra uma combinação inventiva do conceito da Figura 18 com o conceito da Figura 16.
[0094] A Figura 1 mostra um dispositivo para o processamento de um sinal tendo uma seqüência de valores discretos adicionados ao meio de manipulação 202 por um sinal de entrada 200. O sinal é tipicamente formado para ter uma primeira faixa de freqüência na qual o sinal tem uma alta energia e para ter uma segunda faixa de freqüência na qual o sinal tem uma energia comparativamente baixa. Se o primeiro sinal for um sinal de áudio, terá uma alta energia na primeira faixa de freqüência, isto é, na faixa de baixa freqüência, e terá a baixa energia na faixa de alta freqüência. Se, entretanto, o sinal for de video, este também terá alta energia na faixa baixa, e terá baixa energia na faixa alta. Em contraste com o sinal de áudio, a faixa de freqüência no sinal de video é uma faixa de freqüência espacial, a menos que sejam considerados sucessivos quadros de video, onde também
Petição 870180131173, de 17/09/2018, pág. 42/78
28/63 exista uma freqüência temporal, por exemplo, relacionada com uma área de imagem selecionada em quadros sucessivos.
[0095] O meio de manipulação 202 é geralmente formado para manipular a seqüência de valores discretos, de maneira que uma seqüência de valores manipulados seja obtida, na qual pelo menos um valor manipulado não seja inteiro. Essa seqüência de valores discretos não inteiros é enviada ao meio 204 para arredondar a seqüência de valores manipulados para a obtenção de uma seqüência de valores manipulados arredondados. De acordo com a invenção, o meio de arredondamento 204 é formado para efetuar uma configuração espectral de um erro de arredondamento gerado pelo arredondamento, de maneira que, na primeira faixa de freqüência, isto é, na faixa de freqüência em que o sinal original tem alta energia, um erro de arredondamento configurado espectralmente também tenha alta energia, e que, na segunda faixa de freqüência, isto é, na faixa de freqüência em que o sinal original tem baixa energia, o erro de arredondamento configurado espectralmente também tenha baixa ou nenhuma energia. Em geral, a energia do erro de arredondamento configurado espectralmente na primeira faixa de freqüência é assim mais alta do que a energia do erro de arredondamento configurado espectralmente na segunda faixa de freqüência. Entretanto, a configuração espectral preferencialmente não altera nada na energia geral do erro de arredondamento.
[0096] De preferência, o dispositivo inventivo para a geração da seqüência contendo erros dos valores manipulados arredondados está acoplado ao meio 206 para a conversão em representação espectral seja diretamente ou por outra manipulação ou combinações de arredondamento. Assim, a seqüência contendo erros dos valores manipulados arredondados pode ser enviada diretamente para o
Petição 870180131173, de 17/09/2018, pág. 43/78
29/63 meio 206 para conversão em representação espectral, de maneira a obter um espectro direto da seqüência contendo erros dos valores manipulados arredondados.
[0097] Entretanto, em uma configuração preferida da presente invenção, o meio de manipulação é uma etapa de lifting e/ou matriz de lifting, e o meio de arredondamento é formado para arredondar os resultados não inteiros de uma etapa de lifting. Nesse caso, o meio 204 é seguido por outro meio de manipulação que realiza a segunda etapa de lifting, que, por sua vez, é seguido por um meio de arredondamento, que, por sua vez, é seguido por um terceiro meio de manipulação da implementação da terceira etapa de lifting, onde então há uma outra manipulação de maneira que todas as três etapas de lifting se realizem. Assim, é gerada uma seqüência contendo erros de valores manipulados arredondados derivados da seqüência original contendo erros de valores manipulados arredondados na saída do meio 204, que é finalmente então convertida em uma representação espectral, também preferivelmente por uma transformada inteira e particularmente preferível por uma transformada inteira também provida com o conceito inventivo, como ilustrado no bloco 206. O sinal de saída da representação espectral na saída do bloco 206 tem agora um espectro que, em contraste com a técnica anterior, não tem mais um erro de arredondamento branco distribuído, mas um erro de arredondamento conformado espectralmente, isto é, de maneira que também haja uma alta energia de erro de arredondamento onde o espectro útil real tem uma alta energia de sinal, apesar de mesmo no melhor caso não existe energia de erro de arredondamento nas faixas de freqüência em que não existe energia de sinal.
Petição 870180131173, de 17/09/2018, pág. 44/78
30/63 [0098]
Esse espectro gerado de acordo com a invenção é então enviado para o meio de codificação 208 de entropia da representação espectral. O meio de codificação de entropia pode compreender qualquer método de codificação, como a codificação de Huffman, uma codificação aritmética, etc. Especialmente para a codificação de um grande número de linhas espectrais que são zero e limítrofes entre si, é também adequada uma codificação de comprimento de operação que, é claro, não pode se aplicar na técnica anterior, porque aqui um sinal realmente determinístico deve ser codificado em faixas de freqüência tais que, entretanto, tem um espectro branco e assim é especialmente de s f avor áve1 para quaisquer tipos de ferramentas de codificação, porque os valores espectrais individuais são completamente descorrelacionados entre si.
[0099] Subseqüentemente, uma configuração preferida do meio de arredondamento 204 com configuração espectral é discutida com relação às Figuras 2a, 2b, 2c.
[00100] A Figura 2a mostra um sistema de feedback de erro para a configuração espectral de um erro de quantificação, como descrito no livro especializado Digitale Audiosignalverarbeitung, U. Zoelzer, Teubner-Verlag, Stuttgart, 1997. Um valor de entrada x(i) é fornecido para um somador de entrada 210. O sinal de saída do somador 210 é fornecido a um quantificador 212 que fornece um valor de saída quantificado y(i) em uma saída do dispositivo de configuração espectral. Em um segundo somador 214, é determinada a diferença entre o valor após o quantificador 212, isto é, o erro de arredondamento e(i). O sinal de saída do segundo somador 214 é enviado a um meio de retardo 216. O erro e(i) retardado pela unidade é então subtraído do
Petição 870180131173, de 17/09/2018, pág. 45/78
31/63 valor de entrada pelo somador 210. Isso resulta em uma avaliação de alta passagem do sinal do erro original e(n).
[00101]
Se z 1 (-2 + z T) for usado ao invés do meio de retardo z_1 indicado 216 na Figura 2a, o resultado é uma avaliação de alta passagem de segunda ordem. Em determinadas configurações, essas configurações espectrais do erro de quantificação são usadas para mascarar o erro de quantificação da faixa perceptível, isto é, por exemplo, da faixa de baixa passagem do sinal x(n), de maneira que o erro de quantificação não seja percebido.
[00102] De acordo com a invenção, como mostrado na Figura 2b, é feita uma avaliação de baixa passagem ao invés de atingir uma configuração espectral do erro, não fora da faixa de percepção, mas exatamente na faixa de percepção. Para tanto, o sinal de saída do somador 210, como mostrado na Figura 2b, é enviado a um bloco de arredondamento 218 que implementa uma função de arredondamento que pode ser, por exemplo, o arredondamento para cima, o arredondamento para baixo, o arredondamento truncado, arredondamento para cima/arredondamento para baixo até o próximo inteiro, ou até o próximo menos um, o próximo menos dois.... inteiro. No caminho de feedback de erros, isto é, entre o somador 214 e o somador 210, existe agora um outro bloco de feedback 220 com uma resposta de impulso h(n) e/ou uma função de transferência H(z) em adição ao membro de retardo 216. A transformada z da seqüência de saída, isto é, Y(z), está relacionada com a seqüência de entrada X(z) pela equação ilustrada na Figura 2b.
e(n) = y(n)-x' (n) [00103]
210, e y(n) [00104]
Na equação acima, x'(n) é o sinal de saída do somador é o sinal de saída do bloco de arredondamento 218.
Além disso, aplica-se a seguinte equação:
Petição 870180131173, de 17/09/2018, pág. 46/78
32/63 y(n) = round (x'(n)) [00105] Na equação acima, round representa a função de arredondamento implementada pelo bloco 218. Além disso, aplica-se a seguinte equação, onde * representa a operação de convolução:
x'(n) = x(n) - h(n) * e(η - 1)
Na faixa Z, existe o seguinte resultado:
Y(z) = X'(z) + E(z)
X'(z) = X(z) - EízJz^Híz)
Y(z) = X(z) + (1 - z_1H(z))E(z) [00106] Como E(z) é o erro de arredondamento, é configurado espectralmente pelo filtro (1 - z_1 H(z)) . De acordo com a invenção, é usada agora uma função de transferência do tipo baixa passagem. A função de transferência do tipo baixa passagem mais simples pode ser obtida ao estabelecer, por exemplo, H(z) = -1. Nesse simples exemplo, o erro de arredondamento da operação anterior de arredondamento é simplesmente adicionada ao valor a ser arredondado antes de ser aplicada a próxima operação de arredondamento. Assim, é feita uma simples filtragem de baixa passagem do erro de arredondamento, que é muito eficiente para a presente invenção, sendo por isso preferida.
[00107] Está ilustrada uma implementação na Figura 2c. Em particular, está ilustrado o meio de manipulação 202 de uma seqüência original de valores discretos inteiros, que proporciona a seqüência de valores discretos não inteiros yo, yi, y2, ..., y± no lado de saída. Agora, em contraste com a técnica anterior, cada valor não é mais arredondado em si mesmo, como ilustrado, por exemplo, com relação aos blocos 20, 24, 28 da Figura 3 ou com relação aos blocos 104, 110, 142 na Figura 10C ou 126, 132, 150 na Figura 11. Ao invés disso, os valores discretos não inteiros da seqüência yo, yi, y2, y3, ... são filtrados,
Petição 870180131173, de 17/09/2018, pág. 47/78
33/63 dependendo entre si com a característica de baixa passagem no ramo de feedback pela rede mostrada na Figura 2, de maneira que o resultado é a configuração espectral do invento. Os elementos semelhantes na Figura 2c e na Figura 2b são ilustrados com os mesmos números de referência.
[00108] Além disso, a Figura 2c mostra uma implementação paralela, isto é, uma implementação na qual os valores a ser arredondados são providos em paralelo. É claro, essa ilustração é somente esquemática. Os valores yo, yi, y2, ... podem ser providos seqüencialmente para então obter os valores seqüenciais de saída, onde, nesse caso, uma simples implementação da estrutura dos elementos
210, 214, 216, 218, 220 é suficiente. As estruturas repetitivas dos elementos 214, 218, 210, 220 estão ilustradas somente com propósitos de clareza.
[00109] O meio de arredondamento 204 mostrado na Figura 2c opera assim para primeiro calcular o valor arredondado [yo] . Depois, é calculado o erro de arredondamento io. Depois, o erro de arredondamento io é ponderado (filtrado) pelo bloco 220 com a função de transferência H(z), que é preferivelmente -1, sendo colocada no somador 210. Esse erro de arredondamento filtrado é adicionado ao próximo valor da seqüência y±, onde o resultado do somador 210 é arredondado no bloco 218 para obter o próximo valor arredondado [yi] .
Subseqüentemente, o erro de arredondamento é novamente determinado pelo somador 214, isto é, usando o valor arredondado [yi] e o valor original yi, onde este erro de arredondamento obtido ii é novamente filtrado no bloco 220 para realizar o mesmo procedimento para o próximo valor y2 da seqüência.
Petição 870180131173, de 17/09/2018, pág. 48/78
34/63 [00110] Nesse ponto, deve-se notar que a direção é irrelevante. Isso significa que é também possível proceder a partir de yi com maiores índices até yi com menores índices, isto é, na direção oposta com relação ao particularmente simbolizado pelas flechas na Figura 2c, estendendo-se do bloco 220 até o somador 210. A ordem, isto é, se o procedimento segue dos índices de baixa seqüência para os de alta seqüência, não é importante.
[00111] Particularmente, no caso de aplicação da MDCT (IntMDCT)inteira, a configuração espectral do erro de arredondamento é usada preferencialmente com especial eficiência nos locais que obedecem às seguintes condições:
[00112] É introduzido um erro de arredondamento em diversos valores adjacentes independentes entre si.
[00113] Os valores adjacentes são (no senso mais amplo) sinais de tempo que são posteriormente convertidos em representação espectral por uma transformada, isto é, que são transferidos para o domínio da freqüência.
[00114] A seguir, há uma explicação mais detalhada em que partes da MDCT inteira, a configuração espectral de um erro de arredondamento é preferivelmente usada.
[00115] A primeira configuração preferida consiste no janelamento antes da transformada real, isto é, para o arredondamento especificado na Figura 3 pelos blocos 20, 24, 28. A operação de lifting, como experimentada por cada amostra original individual xi, ..., xN e ressaltada com base na Figura 3, pode também ser ilustrada pelo diagrama mostrado na Figura 7. Aqui, as aplicações das três matrizes de lifting, isto é, a respectiva multiplicação por um fator para uma amostra, estão ilustradas em formato de amostras, de maneira
Petição 870180131173, de 17/09/2018, pág. 49/78
35/63 que o resultado seja uma seqüência de cima para baixo, de baixo para cima e de cima para baixo.
[00116] Com relação à notação da Figura 7, deve ser notado que, quando uma flecha cruza uma linha horizontal, é feita aí uma soma. Essa soma é mostrada, por exemplo, em 27 na Figura 7. Quando a Figura 4 é comparada com a Figura 7, a única diferença é que x(0) na Figura 4 corresponde a xi da Figura 7. A esse respeito, xN na Figura 7 corresponde a x(N-l) na Figura 4. Entretanto, x(N/2-l) da Figura 4 corresponde a Xn/2 da Figura 7. Além disso, x(N/2) na Figura 4 corresponde a χν/2+ι da Figura 7, de maneira que o resultado são as borboletas mostradas na Figura 2, pelas quais sempre um valor do primeiro quadrante de uma janela é ponderado com um valor do segundo quadrante da janela de acordo com as etapas de lifting, enquanto de maneira análoga também um valor do terceiro quadrante da janela é processado com um valor do quarto quadrante da janela pelo sistema para baixo-para cima-para baixo, ilustrado na Figura 7.
[00117] Existe um procedimento correspondente para o par de valores xn/2 e Χν/2+ι. Existe novamente uma seqüência para baixo-para cima-para baixo, onde uma etapa para baixo 29a é seguida por uma etapa para cima 29b, que por sua vez, é seguida por uma etapa para baixo 29c.
[00118] A Figura 7 mostra assim o janelamento inteiro por lifting. Esse cálculo também pode ser prontamente feito sem a alteração do resultado, como ilustrado na Figura 8. Assim, é claro, todas as etapas para baixo (todas as etapas 29a) podem ser feitas primeiro. Depois, todas as etapas para cima (29b) podem ser feitas, até finalmente realizar todas as etapas para baixo 29c, de maneira que o resultado seja um bloco para baixo 31a, um bloco para cima 31b e
Petição 870180131173, de 17/09/2018, pág. 50/78
36/63 novamente um bloco para baixo 31c. Deve ser notado que a Figura 8 corresponde à Figura 7, mas em outra ilustração que é mais adequada para a compreensão da presente invenção.
[00119] A Figura 9 agora mostra o conceito inventivo no qual é feito o arredondamento do invento para o arredondamento com a configuração espectral. O conceito de cálculo de lifting mostrado na Figura 9 corresponde à Figura 1, onde os valores de entrada xi, Xn/2 representam a seqüência original de valores discretos inteiros na entrada 200. Os blocos de avaliação csi, CS2, csk no bloco para baixo 31a em conjunto formam o meio de manipulação 202. O bloco denominado [.]/NoiseShaping representa o meio de arredondamento 204 da Figura 1. A seqüência contendo erros dos valores manipulados arredondados agora resulta na saída desse bloco 204.
[00120] Na configuração mostrada na Figura 9, a seqüência de valores manipulados arredondados contendo erros é somada a uma outra seqüência χν/2+ι a xN para obter uma nova seqüência de valores discretos inteiros, que por sua vez, é manipulada (pelos blocos si, Sk no bloco para cima 31b) para então fazer novamente um arredondamento inventivo no bloco para cima 31b pelo elemento 204b. Assim, é provido novamente um somador direcionado para valores 205b, como no bloco para baixo 31a, isto é, como no caso do somador 205a, para obter uma nova seqüência que, por sua vez, é enviada para um manipulador 202c, onde o sinal de saída do manipulador 202c não é inteiro, sendo arredondado em um outro arredondador 204c a ser adicionado, por vez, por um outro somador 205c, isto é, à seqüência enviada ao manipulador 202b.
[00121] Na configuração mostrada na Figura 9, o resultado no lado de saída é um bloco de amostras janeladas que, de acordo com o esquema sistemático ilustrado com relação à Figura 4, é enviado aos
Petição 870180131173, de 17/09/2018, pág. 51/78
37/63 blocos DCT-IV correspondentemente mudados. Esses blocos DCT mudados provêem uma transformada para converter uma seqüência contendo erros de valores manipulados arredondados em uma representação espectral. Os blocos DCT-IV na Figura 4 representam assim uma implementação do meio 206 da Figura 1. Analogamente, os blocos para a realização da DCT-IV inteira inversa representam o meio análogo para a conversão em representação temporal.
[00122] Subseqüentemente, a aplicação do lifting multidimensional é discutida com relação às Figuras 10 a 15 para
| apresentar uma | implementação | inteira | do | meio | de | conversão | em |
| representação espectral 206 da | Figura | 10a | e/ou | uma | implementação | ||
| inteira análoga | da conversão | inversa | (para um | decodificador). | 0 |
conceito do lifting multidimensional está apresentado no pedido de patente alemã com o número oficial de referência 10331803.8.
[00123] A Figura 10a mostra um dispositivo para a conversão de valores discretos em uma representação transformada com valores inteiros. Os valores discretos são enviados ao dispositivo por uma primeira entrada 100a e por uma segunda entrada 100b. É enviado um primeiro bloco de valores discretos pela entrada 100a, enquanto um segundo bloco de valores discretos é enviado pela entrada 100b. Os valores discretos representam dados de áudio ou dados de imagem e/ou dados de video. Como discutido abaixo, o primeiro bloco de valores discretos e o segundo bloco de valores discretos podem realmente incluir dois blocos temporalmente sucessivos de amostras de áudio. O primeiro e o segundo blocos de valores discretos podem também incluir duas imagens representadas pelos valores discretos e/ou valores residuais após uma previsão ou valores diferenciados em uma codificação diferenciada, etc. De maneira alternativa, entretanto, os
Petição 870180131173, de 17/09/2018, pág. 52/78
38/63 dois blocos de valores discretos podem ter sido submetidos a préprocessamento, tal como na implementação inteira da MDCT, onde o primeiro bloco e o segundo bloco de valores discretos foram gerados por rotações Givens de amostras realmente janeladas. 0 primeiro e o segundo blocos de valores discretos podem assim ser derivados dos dados originais de áudio ou dados de imagem por algum processamento, como rotações, permutações, borboletas mais/menos, escalas, etc. Ainda assim, o primeiro e o Segundo blocos de valores discretos obtêm informações de áudio e/ou informações de imagens, apesar de não serem diretamente amostradas de áudio ou valores de imagem tornados discretos.
[00124] O primeiro bloco de valores discretos é enviado ao meio 102 para o processamento do primeiro bloco de valores discretos, usando uma primeira regra de transformação pela entrada 100a para obter um primeiro bloco de valores transformados em uma salda do meio 102, como mostrado na Figura 10a. Esse primeiro bloco de valores transformados não será tipicamente inteiro, mas incluirá valores de ponto oscilante, como são tipicamente obtidos por alguma regra de transformada, como a transformada de Fourier, a transformada de Laplace, uma FFT, uma DCT, uma DST, uma MDCT, uma MDST ou alguma outra transformada, como uma transformada wavelet com quaisquer funções base. O primeiro bloco de valores transformados é enviado ao meio de arredondamento 104 do primeiro bloco de valores transformados para obter um primeiro bloco de valores transformados arredondados no lado de salda. O meio de arredondamento 104 é formado para realizar alguma função de arredondamento, como um arredondamento por truncagem ou arredondamento para cima e/ou arredondamento para baixo a ser realizado dependendo do valor do ponto oscilante, etc.
Petição 870180131173, de 17/09/2018, pág. 53/78
39/63 [00125] A regra de arredondamento implementada pelo meio 104 é portanto responsável pelo primeiro bloco de valores transformados arredondados, novamente compreendendo somente os valores inteiros cuja precisão é determinada pela regra de arredondamento usada pelo meio 104. O primeiro bloco de valores transformados arredondados, como o segundo bloco de valores discretos aplicado à segunda entrada 100b, é enviado ao meio 106 para soma e obtenção de um segundo bloco de valores somados. Quando é considerado o exemplo de sinal de áudio, é aparente que os valores espectrais do primeiro bloco de valores transformados arredondados é somado aos valores de tempo do segundo bloco de valores discretos pelo meio 106. Se os valores discretos do segundo bloco forem, por exemplo, valores de tensão, recomenda-se que o primeiro bloco de valores transformados arredondados também exista como amplitudes de tensão, isto é, como valores com a unidade V. Nesse caso, não são esperados problemas unitários na soma. Entretanto, é aparente para os peritos na técnica, que qualquer normalização de unidades pode ser feita com o primeiro bloco de valores transformados arredondados e/ou com o segundo bloco de valores discretos, onde tanto o primeiro bloco de valores transformados arredondados como o segundo bloco de valores discretos são, por exemplo, sem unidade.
[00126] O Segundo bloco de valores somados é fornecido ao meio de processamento 108 do segundo bloco de valores somados usando uma segunda regra de transformada para obter um segundo bloco de valores transformados. Se a regra de transformada usada no meio 102 for, por exemplo, uma regra de transformada tempo-freqüência, então a segunda regra de transformada usada no bloco 108 será, por exemplo, uma regra de transformada tempo-freqüência. Entretanto, essas relações também podem ser reversas, de maneira que o primeiro e o Segundo blocos
Petição 870180131173, de 17/09/2018, pág. 54/78
40/63 de valores discretos são, por exemplo, valores espectrais, e os valores de tempo são obtidos pelo meio de processamento 102 sob a regra de transformação, enquanto os valores espectrais são novamente obtidos pelo meio de processamento pela regra de transformação inversa, isto é, o meio 108. A primeira e a segunda regras de transformadas podem assim ser uma regra de transformada forward ou backward, onde então a regra de transformação inversa é a regra de transformação backward ou a regra de transformação forward, respectivamente.
[00127] O Segundo bloco de valores transformados é enviado ao meio de arredondamento 110, como mostrado na Figura 10a, para obter um Segundo bloco de valores transformados arredondados que, finalmente é enviado ao meio de subtração 112, para subtrair um segundo bloco de valores transformados arredondados do primeiro bloco de valores discretos enviados pela primeira entrada 108a para obter um bloco de valores de saída inteiros da representação transformada que pode sair na saída 114. Pelo processamento do bloco de valores de saída inteiros da representação transformada usando qualquer terceira regra de transformação que também tenha sido usada no meio 102 ou que difira deste e pelo subseqüente arredondamento do bloco de valores de saída transformados para obter um bloco de valores de saída transformados arredondados e pela subseqüente soma do bloco de valores de saída transformados arredondados e o segundo bloco de valores somados, um outro bloco de valores de saída inteiros da representação transformada pode ser obtido, provendo uma representação transformada completa do primeiro e do segundo blocos de valores discretos com o bloco de valores de saída inteiros aplicado à saída 114.
[00128] Entretanto, mesmo sem as últimas três etapas de processamento, arredondamento e soma, onde é usado o bloco de valores
Petição 870180131173, de 17/09/2018, pág. 55/78
41/63 de saída inteiros da representação transformada na saída 114, parte da representação transformada total já pode ser obtida, isto é, por exemplo a primeira metade que, quando submetida ao processamento inverso permite um cálculo retroativo do primeiro e do segundo blocos de valores discretos.
[00129] Deve-se notar nesse ponto que, dependendo da regra de transformação, a primeira, a segunda e a terceira regras de transformação, se existirem, podem ser idênticas. Este é o caso, por exemplo, com a DCT-IV. Se for usada uma FFT como primeira regra de transformação, a IFFT, que não é idêntica à FFT, pode ser usada como segunda (inversa) regra de transformada.
[00130] Por razões de cálculo, prefere-se prover a regra de transformação na forma de matriz, que, se o número de valores discretos do primeiro bloco é igual ao número de valores discretos do segundo bloco, trata-se de uma matriz NxM quadrática, se o número de valores
| discretos do primeiro bloco e o número | de valores discretos | do segundo | ||||
| bloco, | respectivamente, for N. | |||||
| [00131] | | Em uma configuração, | os | meios de arredondamento | 104 | ||
| e 110 | são formados para arredondar | de | acordo | com uma | função | de |
arredondamento que fornece resultados arredondados cuja precisão é menor que uma precisão de máquina inerente a um computador que realiza as funções mostradas na Figura 10a. Com relação à função de arredondamento, deve ser notado que esta mapeia um número não inteiro até o próximo inteiro maior ou menor somente em uma configuração preferida. A função de arredondamento também pode mapear outros inteiros, por exemplo, o número 17,7 para o número 10 ou para o número 20, enquanto que a função de arredondamento efetua uma redução da precisão do número a ser arredondado. No exemplo acima, o número não
Petição 870180131173, de 17/09/2018, pág. 56/78
42/63 arredondado é um número com um dígito atrás da vírgula, enquanto o número arredondado é um número que não tem mais um dígito atrás da vírgula.
[00132] Assim, na Figura 10a, o meio de processamento 102 usando a primeira regra de transformação e o meio de processamento 108 usando a segunda regra de transformação são mostrados como meios separados; deve-se notar que, em uma implementação concreta, pode existir somente uma unidade de função transformada que, controlada por um controlador especial de fluxo, primeiro transforma o primeiro bloco de valores discretos e depois inversamente transforma o segundo bloco de valores somados no tempo correspondente do algoritmo. Nesse caso, a primeira e a segunda regra de transformações seriam idênticas. O mesmo se aplica aos dois meios de arredondamento 104, 110. Estes também não têm que ser providos como meios separados, mas podem ser implementados por uma unidade de função de arredondamento que, novamente controlada pelo controlador de fluxo, primeiro arredonda o primeiro bloco de valores transformados e depois arredonda o segundo bloco de valores transformados, dependendo dos requisitos do algoritmo.
[00133] Em uma configuração, o primeiro bloco de valores discretos e o segundo bloco de valores discretos são as amostras janeladas inteiras, uma vez que são obtidas na saída do bloco 28 na Figura 3. A DCT inteira no bloco 14 da Figura 3 é então implementada pelo algoritmo inteiro mostrado na Figura 1 de modo que a representação transformada no exemplo do sinal de áudio ao qual a Figura 3 se refere representa os valores espectrais inteiros na saída 30 do dispositivo mostrado na Figura 3.
Petição 870180131173, de 17/09/2018, pág. 57/78
43/63 [00134] Subseqüentemente, um meio para a conversão inversa correspondente à Figura 10a é ilustrado em relação à Figura 10b, na qual, além do bloco dos valores inteiros de saída na saída do bloco 112 da Figura 10a, é também utilizado o segundo bloco de valores somados na saída do meio 106 da Figura 10a. Com relação à Figura 11, que será explicada abaixo em maior detalhe, isso corresponde ao caso em que há somente os blocos 150 e 130, porém não o bloco de transformada 124.
[00135] A Figura 10b mostra um dispositivo para converter inversamente um bloco de valores inteiros de saída da representação transformada, conforme obtido na saída 114 da Figura 10a, e o segundo bloco de valores somados. O segundo bloco de valores somados é alimentado a uma entrada 120 do dispositivo para a conversão inversa mostrada na Figura 10b. O bloco de valores de saída da representação transformada é alimentado a outra entrada 122 do dispositivo de conversão inversa.
[00136] O segundo bloco de valores somados é alimentado ao meio de processamento 130 desse bloco utilizando a segunda regra de transformação, caso a regra de transformação utilizada pela última vez na codificação tenha sido a segunda regra de transformação. O meio 130 provê um primeiro bloco de valores transformados no lado da saída, que é fornecido ao meio de arredondamento 132 que, por sua vez, gera um primeiro bloco de valores transformados arredondados no lado da saída. O primeiro bloco de valores transformados arredondados é então subtraído do bloco de valores de saída da representação transformada utilizando o meio 134 para obter o primeiro bloco de valores discretos em uma primeira saída 149 do dispositivo da Figura 10b.
Petição 870180131173, de 17/09/2018, pág. 58/78
44/63 [00137] Esse primeiro bloco de valores discretos é fornecido ao meio de processamento 150 desse bloco utilizando a primeira regra de transformação para obter um segundo bloco de valores transformados na saída do meio 150. Esse segundo bloco de valores transformados subtraídos é, por sua vez, arredondado no meio 152 para obter um segundo bloco de valores transformados arredondados. Esse segundo bloco de valores transformados arredondados é subtraído do segundo bloco de valores somados provido no lado da entrada, que foi introduzido pela entrada 120 para obter um segundo bloco de valores discretos em uma saída 136 no lado da saída.
[00138] Com respeito à relação da primeira, segunda e terceira regras de transformação e com respeito à implementação especial dos blocos de função individual na Figura 10b por unidades de função comum e um controlador/travamento de fluxo correspondente, vide a discussão apresentada com relação à Figura 10a.
[00139] Subsequentemente, uma configuração preferida do dispositivo de conversão de uma representação transformada geralmente ilustrada na Figura 10a é descrita com relação à Figura 10c. A configuração na Figura 10a inclui outra transformada/arredondamento em comparação à Figura 10a para gerar o outro bloco de valores inteiros de saída do segundo bloco de valores somados.
[00140] A primeira entrada 100a inclui N linhas de entrada xo, ..., Xn-i para entrar com N valores do primeiro bloco de valores discretos. A segunda entrada 100b também inclui N linhas para entrar com os N valores xN, ..., X2N-1 do segundo bloco de valores discretos. O meio 102 da Figura 10a é desenhado como transformador DCT-IV na Figura 10c. O transformador DCT 102 é formado para gerar N valores de saída dos N valores de entrada, sendo cada um então arredondado pela regra
Petição 870180131173, de 17/09/2018, pág. 59/78
45/63 de arredondamento designada como [.], conforme mostrado pelo meio 104 na Figura 10c. O meio de soma 106 é ilustrado de modo que haja uma soma direcionada para valores. Isso significa que o valor de saída do meio 102 com o índice 0 é somado ao primeiro valor do segundo bloco de valores discretos tendo o índice N. De modo geral, o valor do primeiro bloco de valores transformados arredondados na saída do meio de arredondamento 104 com um número ordinal i é então somado individualmente ao valor discreto do segundo bloco de valores de saída com um número ordinal N+i, onde i é um índice de execução variando de 0 a N-l.
[00141] O meio de processamento 108 que utiliza a segunda regra de transformação é também desenhado como transformador DCT-IV. Na configuração preferida mostrada na Figura 10c, o meio de subtração 112 é também formado para realizar uma subtração direcionada para valores, isto é, de modo que os valores de saída do arredondador 110, isto é, os valores do segundo bloco de valores transformados arredondados, sejam individualmente subtraídos do primeiro bloco de valores discretos. Na configuração mostrada na Figura 10c, é preferível realizar uma subtração correspondente de modo que um valor do segundo bloco com um número ordinal de N+i seja subtraído de um valor do primeiro bloco com o número ordinal i, onde i novamente varia de 0 a N-l. Alternativamente, no entanto, podem ser também realizadas outras somas/subtrações, por exemplo, um valor de um bloco com o número ordinal de N-l é subtraído do valor do outro bloco com o número ordinal N, contanto que isto seja conseqüentemente levando em consideração na conversão inversa.
[00142] O meio de subtração 112 já provê um bloco de valores inteiros de saída da representação transformada no lado da saída, isto
Petição 870180131173, de 17/09/2018, pág. 60/78
46/63 é, os valores inteiros de salda yo a yN-i da representação transformada. Para obter também os demais valores inteiros de salda da representação transformada, isto é, o outro bloco yN a y2n-i, caso iso seja opcionalmente desejado, o bloco de valores inteiros de salda da representação transformada aplicado à salda 114 é submetido a uma transformada utilizando a terceira regra de transformação pelo transformador forward 140, onde os valores de salda do mesmo são novamente arredondados, conforme ilustrado pelo meio de arredondamento 142, para agora realizar uma adição desses valores com o segundo bloco de valores somados na salda do somador 106, conforme ilustrado pelo número de referência 144 na Figura 10c. Os valores de salda do somador 144 representam então outro bloco 146 de valores inteiros de salda da representação transformada que são designados como yN a y2N-i.
[00143] Subseqüentemente, um dispositivo de conversão inversa da representação transformada de acordo com uma configuração é discutido com relação à Figura 11. Deve ser observado que as operações realizadas pelo dispositivo ilustrado na Figura 10c são revertidas sem perdas pelo dispositivo ilustrado na Figura 11. A Figura 11 corresponde à Figura 10b, com exceção do estágio adicional de transformada/arredondamento para gerar o segundo bloco de valores somados que é alimentado à entrada 120 na configuração mostrada na Figura 10b a partir do outro bloco de valores de salda transformados. Deve ser observado que a função de adição é revertida pela função de subtração, respectivamente. Deve ser ainda observado que um par de somador/subtrator (144 na Figura 10c e 128 na Figura 11) também pode ser provido com as quantidades de entrada invertidas em relação ao sinal, de modo que, se um grupo de quantidades de entrada for provido de um sinal negativo em comparação ao caso mostrado, o somador 144
Petição 870180131173, de 17/09/2018, pág. 61/78
47/63 então realmente realiza uma operação de subtração, contanto que isso seja levado em consideração na outra parte (128 na Figura 11), o que então realmente realizaria uma operação de adição.
[00144] O subtrator 128 mostrado na Figura 11, o somador 134 e o outro subtrator 154 são novamente formados para realizar uma adição/subtração individual direcionada para valores, onde novamente o mesmo processamento de número ordinal é utilizado conforme descrito com relação à Figura 10c. Se for utilizado outro número ordinal que não aquele utilizado na Figura 10c, este será conseqüentemente levado em consideração na Figura 11.
[00145] Na saída do subtrator 134, há um primeiro bloco de valores discretos 136 designado como xo a xN-i. Para também obter o restante da representação retro-transformada, o primeiro bloco de valores discretos é fornecido ao transformador 150 que funciona com a primeira regra de transformação, cujos valores no lado da saída são arredondados pelo arredondador 152 e são subtraídos do segundo bloco de valores subtraídos na saída do subtrator 128 para finalmente também obter o segundo bloco de valores discretos 156 designado como xN, ..., X2N-1 · [00146] A seguir, a fundamentação matemática dos dispositivos, uma vez que foram descritos com relação às Figuras 10a, 10b, 10c e 11, será discutida em relação às Figuras 12 a 15. Pelo dispositivo de conversão e/ou conversão inversa ilustrado, são providos métodos para transformada inteira para uma codificação de áudio sem perdas nos quais o erro de aproximação é reduzido. Além disso, o esforço de cálculo também é levado em consideração pelo fato de que a abordagem conhecida de aplicação do esquema de lifting a cada rotação de Givens não é mais usada, onde sempre ocorrem borboletas
Petição 870180131173, de 17/09/2018, pág. 62/78
48/63 triviais de soma-diferença. Elas aumentam consideravelmente o esforço de cálculo em comparação à versão não inteira original da transformada a ser copiada.
[00147] Normalmente, um esquema de liftmg e utilizado para obter uma aproximação inteira inversivel de uma rotação de Givens.
Yos a — sin οΛ ^sin α cos α [00148] Essa aproximação função de arredondamento após cada
| f 1 | cos α - Ia | /T | °Ί | 1 | cos α - | Ia |
| Y | sin a | sin α | 1 | Y | sin α | |
| 1 J | 7 | 1 | 7 |
inteira é obtida utilizando-se uma adição, isto é, após cada etapa de lifting.
[00149] O esquema de lifting também pode ser utilizado para uma aproximação inteira inversivel de determinadas operações de escala. Na publicação especialista 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 de lifting de uma matriz de escala de 2x2 com um determinante igual é discutida e descrita:
[00150] fd 0 A f- 1
OY1 - dYO ld_1
1Λ0 i 1 d’Y
Essa decomposição de lifting, que é unidimensional, isto é, que somente se refere a uma matriz de escala de 2x2, é estendida até o caso multidimensional. Especificamente, todos os valores da equação acima são substituídos por matrizes nxn, onde n, isto é, o número de valores discretos de um bloco, é maior ou igual a 2. Assim, o resultado é que, para qualquer matriz T nxn, que deve ser preferencialmente inversivel, a seguinte decomposição em matrizes de bloco de 2n x 2n é possível, onde En descreve a matriz unitária nxn:
Petição 870180131173, de 17/09/2018, pág. 63/78
49/63 [00151]
- τΥ 0
Além de simples operações, por exemplo, permutações ou multiplicações por -1 os três blocos dessa decomposição possuem a seguinte estrutura geral:
[00152]
Para essa matriz de bloco de 2n x 2n, um esquema de lifting generalizado pode ser utilizado, o que é subseqüentemente também denominado lifting multidimensional.
[00153]
Para um vetor dos valores x ( X0 r · · · f X2n-1 ) f 3· aplicação desta matriz de bloco provê a seguinte equação:
ΓΕη ΟΊ EJ (x0, . . . , x2n-1)' — ((X0< · · · r xn-l)< (Xn< · · · r x2n-l ) + ’ (X0< · · · r x n[00154] Deve ser observado que, no lado direito da equação acima, há um vetor cuja dimensão, isto é, cujo número de linhas, é igual a 2n. Os primeiros n componentes, isto é, os componentes de 0 a n-1, correspondem a xo a xn-i. Os segundos n componentes, isto é, a segunda metade do vetor resultante no lado direito da equação acima, são iguais à soma do segundo bloco de valores discretos, isto é, xn, ..., X2n-i, porém agora somados à multiplicação da matriz A correspondente à matriz de transformada das Figuras 10a, 10b, 10c e 11, e o primeiro bloco de valores discretos xo, ..., xn-i. A matriz de transformada representa a primeira, a segunda e a terceira regra de transformação, respectivamente.
[00155] Similarmente ao esquema de lifting comum com matrizes de 2 x 2 da forma
Petição 870180131173, de 17/09/2018, pág. 64/78
50/63 [00156]
essas matrizes de 2n x 2n pode ser utilizadas para aproximações inteiras inversiveis da transformada T da seguinte maneira. Para valores inteiros de entrada (xo, . .., x2n-i) , os valores de saída de ponto oscilante (yo, . .., yn-i) = A· (xo, . .., xn-i) são arredondados, isto é, em valores inteiros, antes de serem adicionados aos valores inteiros (xn, . .., x2n-i) . O inverso da matriz de bloco resulta no seguinte:
[00157]
Assim, esse processo pode ser invertido sem erro simplesmente utilizando a mesma matriz A e a mesma função de arredondamento, e dessa vez subtraindo os valores resultantes em vez de adicioná-los no processamento forward. O processamento forward é ilustrado na Figura 13, ao passo que o processamento backward é ilustrado na Figura 14. Deve ser observado que a matriz de transformada na Figura 13 é idêntica à matriz de transformada na Figura 14, que é preferida pela simplicidade da implementação.
[00158] Uma vez que os valores (xo, ..., xn-i) não são modificados na etapa forward mostrada na Figura 13, estes ainda estão presentes para a etapa inversa, isto é, para a etapa backward na Figura
14. Deve ser observado que não há restrições específicas para a matriz A. Portanto, esta não tem de ser necessariamente inversível.
[00159] Para obter uma aproximação inteira inversível da [00160] MDCT conhecida, a MDCT é decomposta em rotações de Givens em um primeiro estágio, onde esse estágio é o estágio de janelamento, e em um estágio DCT-IV subseqüente. Essa decomposição é
Petição 870180131173, de 17/09/2018, pág. 65/78
51/63 discutida na Figura 3, que será explicada a seguir e descrita em detalhe em DE 10129240 Al.
[00161] Ao contrário da técnica anterior, na qual a DCT-IV é decomposta em vários estágios de rotações de Givens, a transformada propriamente dita permanece inalterada e é subseqüentemente arredondada.
[00162] Assim, sabe-se que a aproximação inteira da DCT-IV é realizada por vários estágios de rotações de Givens baseadas no lifting. O número de rotações de Givens é determinado pelo algoritmo rápido subjacente utilizado. Assim, o número de rotações de Givens é dado por O (N log N) para uma transformada de comprimento N. O estágio de janelamento de cada decomposição de MDCT consiste somente em N/2 rotações de Givens ou 3N/2 etapas de arredondamento. Assim, particularmente para os grandes comprimentos de transformada, por exemplo, quando são utilizados em aplicações de codificação de áudio (por exemplo 1.024), a aproximação inteira da DCT-IV provê a principal contribuição para o erro de aproximação.
[00163] A abordagem utiliza o esquema de lifting multidimensional descrito. Assim, o número de etapas de arredondamento na DCTiv é reduzido para 3N/2, isto é, fica igual ao número de etapas de arredondamento no estágio de janelamento, isto é, em comparação a aproximadamente 2N log2 N etapas de arredondamento na abordagem convencional baseada no lifting.
[00164] A DCT-IV é aplicada a dois blocos de sinais ao mesmo tempo. Uma possibilidade para isto é ilustrada na Figura 12, onde, por exemplo, dois blocos de amostras temporalmente sucessivos são simplesmente submetidos a uma DCT-IV. Os dois blocos que são
Petição 870180131173, de 17/09/2018, pág. 66/78
52/63 submetidos às duas transformadas também podem ser, no entanto, amostras de dois canais de um sinal de multicanal.
[00165] A decomposição a partir da equação de lifting multidimensional descrita acima é aplicada à regra de transformação que também pode ser considerada uma matriz de N χ N. Como a inversa, particularmente para a DCT-IV, é novamente a DCT-IV, o resultado é a seguinte decomposição para o conceito mostrado na Figura 12:
rDCTIV 0 Λ . 0 DCTIVy
| en | °] | ÍE | - DCTIV | λ | '0 |
| ,DCTIV | EJ | 1° | en | 7 | <EN |
DCTIVJ En Ί [00166]
As permutações das multiplicações por -1 podem ser extraídas em matrizes de bloco distintas, de modo que o resultado seja o seguinte:
[00167] 'DCTIV l 0
DCTIVJ
Assim, a aplicação de
Yen - DCTIV Y En J
ΛΑ f En ,DCTIV EJ
Yo uma transformada a dois blocos de sinais, isto é, a dois blocos de valores discretos, pode ser obtida preferencialmente com três etapas de lifting multidimensional:
[00168]
Yen - DCTIV <DCTIV En en
ΛΑ f en 'j
J\DCTIV En,
A equação acima é graficamente ilustrada na
Figura
10c com base em uma configuração. A conversão inversa é correspondentemente ilustrada na Figura 11, conforme discutido.
[00169]
Com a abordagem, duas transformadas DCT-IV de comprimento N podem somente 3N etapas de ser implementadas de forma inversível, onde arredondamento são necessárias, isto é, 3N/2 etapas de arredondamento por transformada.
Petição 870180131173, de 17/09/2018, pág. 67/78
53/63 [00170] A DCT-IV nas três etapas de lifting multidimensional pode ter qualquer implementação, por exemplo, uma implementação baseada em ponto oscilante ou baseada em ponto fixo. Esta nem mesmo tem de ser inversível. Deve ser somente realizada exatamente da mesma forma no processo forward e backward. Como resultado, esse conceito é adequado para grandes comprimentos de transformada, por exemplo, 1.024, uma vez que são utilizados nas atuais aplicações de codificação de áudio.
[00171] A complexidade de computação geral é igual a 1,5 vez a complexidade de computação da implementação não integral das duas transformadas DCT-IV. Essa complexidade de computação é ainda significativamente menor que para as implementações integrais convencionais baseadas em lifting que são aproximadamente duas vezes mais complexas que a DCT-IV convencional, uma vez que essas implementações devem utilizar as borboletas triviais para mais/menos baseadas no esquema de lifting utilizado para atingir a conservação de energia, conforme descrito em R. Geiger, T. Sporer, J. Koller and K. Brandenburg, Audio Coding based on Integer Transforms na 111Convenção AES, Nova York, 2001.
[00172] A abordagem ilustrada calculará pelo menos duas transformadas DCT-IV ao mesmo tempo, isto é, dentro de uma conversão. Isso pode ser alcançado, por exemplo, calculando-se a transformada DCT-IV para dois blocos sucessivos do sinal de áudio ou duas imagens sucessivas de um sinal de imagem. No caso de um sinal estéreo de dois canais, isso também pode ser alcançado calculando-se a DCT-IV dos canais esquerdo e direito em uma ação de conversão e/ou ação de conversão inversa. A primeira versão introduz um retardo adicional de
Petição 870180131173, de 17/09/2018, pág. 68/78
54/63 um bloco no sistema. A segunda versão é possível para canais estéreo e/ou, de modo geral, para sinais de múltiplos canais.
[00173]
Alternativamente, se ambas as opções não forem desejadas, porém se um comprimento de processamento de bloco normal de N valores precisar ser mantido, a DCT-IV do comprimento N também pode ser decomposta em duas transformadas DCT-IV do comprimento N/2. Nesse contexto, vide Y. Zeng, G. Bi and Z. Lin, Integer sinusoidal transforms based on lifting factorization, in Proc. ICASSP'01, May 2001, pp. 1.181 - 1.184, onde essa decomposição é discutida. Além das duas transformadas DCT de comprimento N/2, vários estágios adicionais de rotações de Givens são necessários. Nesse algoritmo, é ainda aplicada uma matriz de bloco
/2 En/2 ;
, isto é, borboletas N/2 para mais/menos, uma matriz diagonal de bloco com N/2 rotações de Givens e ainda algumas matrizes de permutação. Utilizando esses estágios adicionais de N/2 rotações de Givens, a abordagem de lifting multidimensional também pode ser utilizada para o cálculo de somente uma DCT-IV de comprimento N. A estrutura básica desse algoritmo é ilustrada na Figura 15, onde, além do estágio de conversão real, no qual duas transformadas DCT-IV com comprimento de N/2 são utilizadas, existe um primeiro estágio de borboleta para calcular o primeiro e o segundo blocos de valores discretos que, no entanto, somente agora possuem um comprimento de N/2. É ainda provido um estágio de rotação no lado da saída para obter os valores de saída yo, ..., yn-ι a partir do bloco de valores de saída da representação transformada e o outro bloco de valores de saída da representação transformada, que, no entanto, somente agora possuem N/2 valores cada, onde os primeiros são iguais aos valores de saída de uma operação de DCT-IV da Figura 12,
Petição 870180131173, de 17/09/2018, pág. 69/78
55/63 conforme fica evidente em uma comparação dos índices no lado da entrada e no lado da saida da Figura 15 e da Figura 12.
[00174] Foi discutida até agora somente a aplicação do lifting multidimensional a matrizes de bloco da seguinte forma.
T 0
T’1 [00175] Entretanto, é também possível decompor outras matrizes de bloco em etapas de lifting multidimensional. Por exemplo, a seguinte decomposição pode ser utilizada para implementar a combinação de um estágio com borboletas normalizadas para mais/menos e dois blocos de transformadas DCT-IV por três etapas do lifting multidimensional:
[00176]
V2 <en % ln en en,
Ew YDCTIV
- V2DCTIV
Fica evidente
DCTIVJ c
en
V2 DCTlV en
V2°CTlV V2DCTlV - DCTIV -^= DCTT. k v2 -v2 λ
a partir da
IV
K - V2DCTIV equação acima que a primeira regra de transformação, utilizada no equação acima, a segunda regra de transformação, colchete esquerdo da utilizada no colchete central da equação acima e a terceira regra de transformação, utilizada no último colchete da equação acima, não têm de ser idênticas. Além disso, fica evidente a partir da equação acima que não somente as matrizes de bloco nas quais somente os principais elementos diagonais são ocupados podem ser decompostas, mas também que as matrizes totalmente ocupadas podem ser processadas. Deve ser ainda observado que não há restrição ao fato de que as regras de transformação utilizadas na conversão em uma representação transformada têm de ser
Petição 870180131173, de 17/09/2018, pág. 70/78
56/63 idênticas ou mesmo ter qualquer relação entre si, por exemplo, a segunda regra de transformação é a regra de transformação backward em relação à primeira regra de transformação. Basicamente, podem ser também utilizadas três regras de transformação mutuamente diferentes, contanto que isso seja levando em consideração na representação inversa.
[00177] Nesse contexto, faz-se novamente referência às Figuras 10c e 11. Na conversão dos valores discretos em uma representação transformada, o meio 102 pode ser formado para implementar qualquer regra de transformação 1. Além disso, o meio 108 também pode ser formado para utilizar qualquer outra regra ou a mesma regra de transformação denominada como regra de transformação 2. O meio 140 pode ser ainda formado para geralmente utilizar qualquer regra de transformação 3 que não necessariamente tenha que ser a mesma que a primeira ou a segunda regra de transformação.
[00178] No entanto, na conversão inversa da representação transformada, deve ser encontrada uma adaptação às regras de transformação 1 a 3 discutidas na Figura 10c, de modo que o primeiro meio de conversão 124 não realize qualquer regra de transformação, porém a regra de transformação 3 que foi realizada no bloco 140 da Figura 10c. Conseqüentemente, o meio 130 na Figura 11 deve realizar a regra de transformação 2 que foi também realizada pelo bloco 108 na Figura 10c. Por fim, o meio 150 da Figura 11 deve realizar a regra de transformação 1 que também foi realizada pelo meio 102 da Figura 10c, de modo que uma conversão inversa sem perdas seja obtida.
[00179] A Figura 16 mostra uma modificação do conceito descrito na Figura 10c. Em particular, os arredondamentos nos elementos 104, 110, 142 para a transformada forward ou nos elementos
Petição 870180131173, de 17/09/2018, pág. 71/78
57/63
126, 132, 152 na transformada backward não são mais realizados direcionada para amostras, mas sim de modo que haja uma conformação espectral do erro de arredondamento.
[00180] Ao comparar a Figura 10c com a Figura 16, fica evidente que é preferível substituir somente o bloco 104 pelo bloco 204a e utilizar o bloco 204b em vez do bloco de arredondamento 110. Este é o caso uma vez que o conceito é especialmente vantajoso quando há uma transformação subseqüente na faixa de freqüência onde o ruído branco do erro de arredondamento é problemático quando nenhuma conformação espectral é realizado. Uma vez que não há transformação de freqüência após o arredondamento 142, a conformação espectral no bloco 142 não mais envolvería a vantagem. No entanto, esse é o caso do bloco 204a, pois há novamente uma conversão de freqüência pela transformada no bloco 108. A conformação espectral da invenção no bloco 204b é ainda assim também vantajoso, pois há novamente uma transformada pelo último bloco 140. No entanto, como fica evidente a partir da Figura 16, o erro de arredondamento formado pelo ruído já entra no bloco de saída 114, de modo que, no bloco 204b, também já possa ser realizado um arredondamento comum, conforme ilustrado pelos blocos 110 na Figura 10c, em vez da conformação espectral do erro de arredondamento.
[00181] Dependendo de cada caso, será aplicado o arredondamento de conformação espectral ou o arredondamento comum, isto é, com um erro de arredondamento tendo uma distribuição espectral branca ao final da segunda transformada, isto é, a transformada 108.
[00182] De acordo com a invenção, o arredondamento independente de um determinado número de, por exemplo, k valores, é
Petição 870180131173, de 17/09/2018, pág. 72/78
58/63 então substituído pelo arredondamento com conformação espectral, que também pode ser denominado arredondamento dependente.
[00183] Fica evidente a partir da discussão acima com referência à Figura 16 que a conformação espectral do erro de arredondamento também pode ser utilizado na DCT inteira exigida para a IntMDCT. Entretanto, deve ser aqui considerado, conforme discutido, que a conformação espectral por feedback de erro é somente particularmente vantajoso quando os valores a serem arredondados forem sinais de tempo que são transferidos para o domínio de freqüência por uma outra etapa de transformação. Portanto, conforme ilustrado com relação à lifting multidimensional da Figura 16, a conformação espectral é vantajoso nas primeiras duas etapas, porém não é mais necessariamente vantajoso na terceira etapa.
[00184] Deve ser observado que a Figura 16 mostra o caso de um codificador correspondente à Figura 10c de acordo com a invenção. O caso no decodificador correspondente à Figura 16 resulta diretamente de uma comparação da Figura 16 e da Figura 11. O decodif icador diretamente correspondente à Figura 16 resulta da Figura 11 em que todos os blocos operam de forma idêntica, com exceção dos dois blocos de arredondamento 132, 152. Na Figura 11, esses dois blocos de arredondamento operam como blocos de arredondamento independentes e seriam substituídos, no decodificador da invenção, pelos blocos de arredondamento dependentes 204a, 204b que possuem a estrutura mostrada na Figura 2c, por exemplo. Em particular, deve ser observado que exatamente o mesmo algoritmo de arredondamento de conformação espectral deve ser utilizado tanto no decodificador como no codificador.
Petição 870180131173, de 17/09/2018, pág. 73/78
59/63 [00185] O conceito ilustrado nas Figuras 2b e 2c, particularmente para H(z) = -1, é também especialmente adequado para utilizar uma redução do erro de arredondamento e particularmente uma redução do erro de arredondamento em transformadas inteiras. Essa redução do erro de arredondamento é possível sempre que dois valores de ponto oscilante forem arredondados e adicionados ao mesmo valor em vez de valores diferentes. Esse exemplo de situação é ilustrado na Figura 17. Aqui, há primeiro uma primeira etapa de lifting com uma seqüência para baixo-para cima-para baixo entre os participantes xi e X3 do lifting. Existe ainda uma segunda seqüência de lifting com a seqüência conhecida para baixo-para cima-para baixo, porém agora com os participantes X2 e X3 do lifting. Em particular, o valor X3 obtido na primeira operação de lifting é utilizado para servir como parceiro de adição na segunda etapa de lifting, como fica evidente a partir da Figura 17. Deve ser novamente observado que, quando uma seta chega em uma linha horizontal, isso representa uma adição. Em outras palavras, um valor que acabou de ser arredondado é então adicionado ao valor correspondente à linha horizontal.
[00186] Especificamente, no exemplo mostrado na Figura 17, o valor xi é primeiro ponderado (bloco 250) e então individualmente arredondado (bloco 252). O sinal de saída do bloco 252 é adicionado a X3 (bloco 254). Então, o resultado da adição 254 é novamente ponderado (bloco 256) e novamente arredondado (bloco 258). O resultado desse arredondamento 258 é agora adicionado a xi (260). O resultado da adição 260 é novamente ponderado (bloco 262) e arredondado (bloco 264) para ser adicionado ao valor atual de X3 (para o bloco 266) . Conseqüentemente, o valor x2 é ponderado pelo bloco 270 e é então arredondado pelo bloco 272. O resultado do bloco 272 é adicionado
Petição 870180131173, de 17/09/2018, pág. 74/78
60/63 (274) ao valor agora atual de X3. Então, ocorre novamente uma ponderação (276) e arredondamento (278) para adicionar (280) o resultado do bloco 278 novamente ao atual valor de x2. O resultado dessa adição 280 é novamente ponderado (bloco 282) e o resultado ponderado é arredondado (bloco 284) para então adicionar o resultado do bloco de arredondamento 284 novamente ao valor agora atual de X3 (bloco 286) para obter um valor de resultado para X3. Fica evidente a partir da Figura 17 que primeiramente um primeiro valor, isto é, o resultado do bloco 262, é arredondado e então adicionado a X3. Além disso, um segundo valor, isto é, o resultado do bloco 270, é também arredondado (bloco 272) e então adicionado ao valor x3 (somador 274). Assim, há uma situação em que dois valores de ponto oscilante são arredondados um após o outro e adicionados ao mesmo valor em vez de diferentes valores. No exemplo mostrado na Figura 17, o resultado da
| terceira e | quarta | etapas | de lifting é adicionado ao | mesmo | valor, | isto |
| é, x3, de | modo | que a | adição seja realizada | com a | função | de |
| arredondamento [. | ] : | |||||
| [X1’CS1] | + [x2-cs2] | |||||
| [00187] | Se 0 | erro da terceira etapa | de | lifting | no |
arredondamento for alimentado na quarta etapa de lifting, o erro da terceira etapa pode ser utilizado nesse caso e somente um erro de arredondamento é gerado em vez de dois erros de arredondamento. Com relação ao cálculo, esse resulta do seguinte:
[X1'CS1] + [x2'CS2 + (xpcsi - [X1-CS1])] = [X1’CS1] + [x2*cs2 + X1’CS1] - [X1-CS1] = [X2 · CS2 + [X1 · CS1] [00188] Com relação ao cálculo, a alimentação do erro de arredondamento na próxima etapa de arredondamento é então, nesse caso,
Petição 870180131173, de 17/09/2018, pág. 75/78
61/63 idêntica a uma adição dos valores e um subseqüente arredondamento. Essa situação é ilustrada na Figura 18, onde a Figura 18 corresponde à Figura 17, ao passo que, no entanto, os dois blocos separados de arredondamento 264, 272 e os dois somadores separados 266, 274 são substituídos pelo bloco 268 formado para implementar a equação acima. Portanto, os resultados dos dois blocos 262 e 270 são primeiramente adicionados na forma não arredondada e então arredondados. Em casos favoráveis, o erro de arredondamento é dividido pela metade. Na saída do bloco 268, resulta agora somente um único valor que é adicionado a X3 por um somador 269.
[00189] Uma combinação de redução e formatação do erro de arredondamento também pode ocorrer, por exemplo, quando um conjunto de rotações de Givens e uma etapa multidimensional de lifting seguem um ao outro, conforme ilustrado na Figura 19. Aqui, somente por meio de exemplo, a última etapa de uma seqüência para baixo-para cima-para baixo para diversos valores é formada de valores xi a X4, isto é, por exemplo, a etapa para baixo 31c da Figura 9. Esses valores devem ser agora adicionados aos valores correspondentes, aos quais também os valores arredondados na Figura 16, isto é, os valores na saída do bloco 204a, devem ser adicionados. Nesse caso, é preferido adicionar os valores não arredondados primeiro, isto é, pelos somadores 203 mostrados na Figura 19, para então arredondar os valores adicionados no bloco 204 na Figura 19 e simultaneamente submetê-los à formação de ruído de modo que, então, somente um simples erro de arredondamento seja obtido e os valores de saída após a adição pelos somadores 106 contenham menos erro. A situação mostrada na Figura 19 resulta então quando a Figura 9 é colocada à esquerda da Figura 16 e particularmente quando um valor N/2 DCT-IV é utilizado em vez de um valor N DCT-IV.
Petição 870180131173, de 17/09/2018, pág. 76/78
62/63 [00190] De acordo com a invenção, é então preferido combinar a redução do erro de arredondamento com a formatação do erro de arredondamento. No caso da redução do erro de arredondamento, diversos valores de entrada são então processados e arredondados juntos, onde os valores arredondados são adicionados a um valor, ao passo que, no caso da conformação espectral do erro de arredondamento, os valores arredondados são arredondados independentemente um do outro e são adicionados a diversos outros valores respectivamente diferentes.
[00191] É ainda observado que a situação na Figura 19 também pode ocorrer quando, conforme ilustrado na Figura 15, N/2 DCTs são utilizadas. Aqui, antes do estágio de conversão, isto é, antes dos dois blocos DCT, há um estágio denominado estágio de borboleta na Figura 15 no qual os valores de entrada xo a Χν/2-ι são correspondentemente ponderados e arredondados para serem então adicionados aos mesmos valores aos quais os valores de um estágio DCTIV também são adicionados. Deve ser ainda observado que o estágio de conversão na Figura 15 é ilustrado somente esquematicamente. Os dois blocos DCT-IV ilustrados esquematicamente na Figura 15 seriam substituídos pelos componentes mostrados na Figura 16 em uma implementação prática, se, na Figura 16, χν/2-ι estivesse escrito em vez de xN-i, se [SIC] estivesse escrito em vez de xN/2 e se xN-i estivesse escrito em vez de χν/2-ι .
[00192] Assim, a Figura 19 mostra uma implementação particularmente preferida para aplicações únicas, isto é, para o caso em que uma N/2 DCT-IV precisar ser utilizada.
[00193] Dependendo das circunstâncias, o método da invenção para o processamento de um sinal tendo uma seqüência de valores discretos pode ser implementado em hardware ou em software. A
Petição 870180131173, de 17/09/2018, pág. 77/78
63/63 implementação pode ser realizada em um meio de armazenamento digital, particularmente um disco flexível ou CD com sinais de controle que podem ser lidos eletronicamente, que podem cooperar com um sistema de computador programável de modo que o método seja aplicado. De modo geral, a invenção também consiste em um programa de computador com um código de programa para aplicar o método da invenção armazenado em um meio que pode ser lido por um equipamento quando o programa é executado em um computador. Em outras palavras, a invenção é também, portanto, um programa de computador com um código de programa para aplicar o método quando o programa é executado em um computador.
Claims (18)
- REIVINDICAÇÕES1. Dispositivo de processamento de um sinal tendo uma seqüência de valores discretos, caracterizado pelo fato de que há uma primeira faixa de freqüência, na qual o sinal possui alta energia, e onde há uma segunda faixa de freqüência, na qual o sinal possui baixa energia, compreendendo:meio (202) de manipulação da seqüência de valores discretos para obter uma seqüência de valores manipulados, de modo que pelo menos um dos valores manipulados seja um número não inteiro; e meio (204) de arredondamento da seqüência de valores manipulados para obter uma seqüência de valores manipulados arredondados, onde o meio (204) de arredondamento é formado para realizar uma conformação espectral de um erro de arredondamento gerado de modo que um erro de arredondamento espectralmente formado possua maior energia na primeira faixa de freqüência do que na segunda faixa de freqüência.
- 2. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o sinal é um sinal de tempo, onde os valores discretos são valores de tempo discretos, compreendendo ainda:meio (208) de conversão de pelo menos a seqüência de valores manipulados arredondados ou a seqüência derivada da seqüência de valores manipulados arredondados em uma representação espectral com coeficientes espectrais que contêm mais erros de arredondamento na primeira faixa de freqüência do que na segunda faixa de freqüência; e meio (208) de codificação da representaçãoPetição 870180131173, de 17/09/2018, pág. 6/782/7 espectral.
- 3. Dispositivo, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que a primeira faixa de freqüência é uma faixa de baixas freqüências, onde a segunda faixa de freqüência é uma faixa de altas freqüências e onde o meio (204) de arredondamento é formado para realizar a conformação espectral utilizando uma característica de baixa passagem para filtrar um erro retornado e(n).
- 4. Dispositivo, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o meio (204) de arredondamento é formado para arredondar (218) um primeiro valor discreto para determinar (214) um erro de arredondamento gerado no arredondamento do valor discreto para avaliar (220) o erro de arredondamento e para combinar (210) o erro de arredondamento avaliado com um segundo valor discreto adjacente ao primeiro valor discreto na seqüência para obter um valor combinado e para arredondar (218) o valor combinado para obter uma versão arredondada do segundo valor.
- 5. Dispositivo, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o meio (204) de arredondamento é formado para avaliar o erro de arredondamento com uma função de arredondamento cuja função de transferência é igual a -1.
- 6. Dispositivo, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que os valoresPetição 870180131173, de 17/09/2018, pág. 7/783/7 discretos são valores inteiros.
- 7. Dispositivo, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o meio (204) de arredondamento é formado para gerar valores arredondados tendo menor precisão que os valores manipulados.
- 8. Dispositivo, de acordo com qualquer uma das reivindicações anteriores, formado para realizar um janelamento inteiro ou um janelamento inteiro inverso como processamento, caracterizado pelo fato de que o sinal inclui N/2 valores discretos de um bloco de 2N valores discretos, onde o meio (202a) de manipulação é formado para ponderar cada um dos N/2 valores discretos com um valor determinado por uma primeira etapa de lifting, onde o dispositivo compreende ainda um primeiro somador (205a) para adição direcionada para valores da seqüência de valores manipulados arredondados para uma seqüência com outros N/2 valores discretos do bloco de 2N valores discretos para obter uma primeira seqüência de valores adicionados, onde o dispositivo compreende ainda outro meio (202b) de manipulação para ponderar cada valor da primeira seqüência de valores adicionados com um valor determinado por uma segunda etapa de lifting para obter outra seqüência de valores manipulados, onde o dispositivo compreende outro meio (204b) de arredondamento para obter outra seqüência de valores manipulados arredondados, onde o dispositivo compreende um segundo somadorPetição 870180131173, de 17/09/2018, pág. 8/784/7 (205b) para adição direcionada para valores para obter uma segunda seqüência de valores adicionados, onde o dispositivo compreende ainda outro meio (202c) de manipulação para ponderar cada valor da segunda seqüência de valores adicionados a um valor determinado por uma terceira etapa de lifting para obter outra seqüência de valores manipulados, onde o dispositivo inclui ainda outro meio de arredondamento (204c) para obter outra seqüência de valores manipulados arredondados, onde o dispositivo inclui ainda um terceiro somador (205c) para obter uma terceira seqüência de valores adicionados, onde a outra seqüência de valores manipulados inclui N/2 valores janelados ou valores inversamente janelados, e onde a terceira seqüência de valores adicionados inclui outros N/2 valores janelados ou valores inversamente janelados.
- 9. Dispositivo, de acordo com a reivindicação 8, caracterizado pelo fato de que o meio de manipulação é formado para utilizar os seguintes fatores como fatores de ponderação para os N/2 valores:GFk = (cos α - l)/sin a, onde GFk é o fator de ponderação do valor com um
índice ordinal k, e onde α representa um ângulo ao qual a seguinte equação se aplica: α = arctan[w(Ν/2-l-k) / w(N/2 + k) ] onde k varia entre 0 e N/2-1 e onde w representa uma função de janela. - 10. Dispositivo, de acordo com a reivindicação 8,Petição 870180131173, de 17/09/2018, pág. 9/785/7 caracterizado pelo fato de que o meio de manipulação é formado para utilizar os seguintes fatores como fatores de ponderação para os N/2 valores:GFk = sin α onde GFk é o fator de ponderação do valor com um índice ordinal k e onde α representa um ângulo ao qual a seguinte equação se aplica:α = arctan[w(Ν/2-l-k) / w(N/2 + k)] onde k varia entre 0 e N/2-1 e onde w representa uma função de janela.
- 11. Dispositivo, de acordo com a reivindicação 8, caracterizado pelo fato de que o meio de manipulação é formado para utilizar os seguintes fatores como fatores de ponderação dos N/2 valores:GFk = (cos a - l)/sin a, onde GFk é o fator de ponderação do valor com um índice ordinal k e onde α representa um ângulo ao qual a seguinte equação se aplica:= arctan[w(Ν/2-l-k) / w(N/2 + k)] onde k varia de 0 e N/2-1 e onde w representa uma função de janela.
- 12. Dispositivo, de acordo com qualquer uma das reivindicações de 8 a 11, caracterizado pelo dispositivo ser formado para um janelamento e pelo dispositivo ainda compreender meios (206) para converter um resultado do janelamento, ou pelo dispositivo ser formado para janelamento inverso e pelo dispositivo ainda compreender meios para converter inversamente de um domínioPetição 870180131173, de 17/09/2018, pág. 10/786/7 espectral para um domínio de tempo para obter uma entrada no janelamento inverso.
- 13. Dispositivo, de acordo com a reivindicação 12, caracterizado pelo fato de que o meio para converter inversamente ou o meio de conversão incluem um meio DCT-IV.
- 14. Dispositivo, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que o meio (202) de manipulação é um meio (102, 108, 130, 150) de processamento utilizando uma regra de transformação para obter um bloco de valores transformados, correspondendo à seqüência de valores discretos não inteiros.
- 15. Dispositivo, de acordo com a reivindicação 14, caracterizado pelo fato de que o meio de manipulação (202) é um meio para realizar um algoritmo DCT-IV.
- 16. Dispositivo, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo dispositivo ser configurado para ser uma parte de um codificador para geração de uma representação codificada a partir de um sinal original, ou pelo dispositivo ser configurado para ser uma parte de um decodificador para geração de uma representação decodificada a partir de um sinal codificado.
- 17. Dispositivo, de acordo com a reivindicação 16, caracterizado pelo fato de que o codificador e o decodificador juntos representam um esquema de codificação sem perdas.
- 18. Método de processamento de um sinal tendo uma seqüência de valores discretos, caracterizado pelo fato de que há uma primeira faixa de freqüência na qual o sinal possui alta energiaPetição 870180131173, de 17/09/2018, pág. 11/787/7 e onde há uma segunda faixa de freqüência onde o sinal possui baixa energia, compreendendo:manipulação (202) da seqüência de valores discretos para obter uma seqüência de valores manipulados, de modo que pelo menos um dos valores manipulados seja um número não inteiro; e arredondamento (204) da seqüência de valores manipulados para obter uma seqüência de valores manipulados arredondados, onde o meio (204) de arredondamento é formado para realizar uma conformação espectral de um erro de arredondamento gerado de modo que um erro de arredondamento espectralmente formado tenha maior energia na primeira faixa de freqüência do que na segunda faixa de freqüência.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10345995A DE10345995B4 (de) | 2003-10-02 | 2003-10-02 | Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten |
| DE10345995.2 | 2003-10-02 | ||
| PCT/EP2004/010854 WO2005034088A1 (de) | 2003-10-02 | 2004-09-28 | Vorrichtung und verfahren zum verarbeiten eines signals mit einer sequenz von diskreten werten |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI0414618A BRPI0414618A (pt) | 2006-11-07 |
| BRPI0414618B1 true BRPI0414618B1 (pt) | 2019-02-12 |
Family
ID=34399211
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0414618-2A BRPI0414618B1 (pt) | 2003-10-02 | 2004-09-28 | Dispositivo e método para o processamento de um sinal tendo uma seqüência de valores discretos |
Country Status (17)
| Country | Link |
|---|---|
| US (1) | US7917564B2 (pt) |
| EP (1) | EP1647009B1 (pt) |
| JP (1) | JP4439522B2 (pt) |
| KR (1) | KR100778349B1 (pt) |
| CN (1) | CN1860527B (pt) |
| AT (1) | ATE349753T1 (pt) |
| AU (1) | AU2004278828B2 (pt) |
| BR (1) | BRPI0414618B1 (pt) |
| CA (1) | CA2541116C (pt) |
| DE (2) | DE10345995B4 (pt) |
| ES (1) | ES2278338T3 (pt) |
| IL (1) | IL173730A (pt) |
| MX (1) | MXPA06003620A (pt) |
| NO (1) | NO337159B1 (pt) |
| PT (1) | PT1647009E (pt) |
| RU (1) | RU2325708C2 (pt) |
| WO (1) | WO2005034088A1 (pt) |
Families Citing this family (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10345996A1 (de) | 2003-10-02 | 2005-04-28 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten |
| EP2063417A1 (en) * | 2007-11-23 | 2009-05-27 | Deutsche Thomson OHG | Rounding noise shaping for integer transform based encoding and decoding |
| KR100992675B1 (ko) | 2007-12-21 | 2010-11-05 | 한국전자통신연구원 | 오디오 부호화 및 복호화 방법과 그 장치 |
| PL2346029T3 (pl) * | 2008-07-11 | 2013-11-29 | Fraunhofer Ges Forschung | Koder sygnału audio, sposób kodowania sygnału audio i odpowiadający mu program komputerowy |
| EP3002750B1 (en) | 2008-07-11 | 2017-11-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding audio samples |
| ES2592416T3 (es) * | 2008-07-17 | 2016-11-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Esquema de codificación/decodificación de audio que tiene una derivación conmutable |
| KR101315617B1 (ko) | 2008-11-26 | 2013-10-08 | 광운대학교 산학협력단 | 모드 스위칭에 기초하여 윈도우 시퀀스를 처리하는 통합 음성/오디오 부/복호화기 |
| US9384748B2 (en) | 2008-11-26 | 2016-07-05 | Electronics And Telecommunications Research Institute | Unified Speech/Audio Codec (USAC) processing windows sequence based mode switching |
| RU2523035C2 (ru) * | 2008-12-15 | 2014-07-20 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. | Аудио кодер и декодер, увеличивающий полосу частот |
| PL4231295T3 (pl) | 2008-12-15 | 2024-05-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Sposób dekodowania powiększania szerokości pasma audio oraz program komputerowy |
| RU2405262C2 (ru) * | 2009-01-13 | 2010-11-27 | Государственное образовательное учреждение высшего профессионального образования Московский технический университет связи и информатики | Способ изменения скорости передачи цифрового звукового сигнала телерадиовещания и устройство для его осуществления |
| MX2011007925A (es) * | 2009-01-28 | 2011-08-17 | Dten Forschung E V Fraunhofer Ges Zur Foeerderung Der Angewan | Codificador de audio, decodificador de audio, información de audio codificada, métodos para la codificación y decodificación de una señal de audio y programa de computadora. |
| JP5754899B2 (ja) * | 2009-10-07 | 2015-07-29 | ソニー株式会社 | 復号装置および方法、並びにプログラム |
| CN102081926B (zh) * | 2009-11-27 | 2013-06-05 | 中兴通讯股份有限公司 | 格型矢量量化音频编解码方法和系统 |
| WO2012110448A1 (en) | 2011-02-14 | 2012-08-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result |
| KR101699898B1 (ko) | 2011-02-14 | 2017-01-25 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 스펙트럼 영역에서 디코딩된 오디오 신호를 처리하기 위한 방법 및 장치 |
| EP2676267B1 (en) | 2011-02-14 | 2017-07-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoding and decoding of pulse positions of tracks of an audio signal |
| TWI564882B (zh) * | 2011-02-14 | 2017-01-01 | 弗勞恩霍夫爾協會 | 利用重疊變換之資訊信號表示技術(一) |
| MY165853A (en) | 2011-02-14 | 2018-05-18 | Fraunhofer Ges Forschung | Linear prediction based coding scheme using spectral domain noise shaping |
| FR2977439A1 (fr) * | 2011-06-28 | 2013-01-04 | France Telecom | Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard. |
| WO2013107602A1 (en) * | 2012-01-20 | 2013-07-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for audio encoding and decoding employing sinusoidal substitution |
| EP2757558A1 (en) * | 2013-01-18 | 2014-07-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Time domain level adjustment for audio signal decoding or encoding |
| EP2830054A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework |
| CN105096957B (zh) * | 2014-04-29 | 2016-09-14 | 华为技术有限公司 | 处理信号的方法及设备 |
| CN107452390B (zh) | 2014-04-29 | 2021-10-26 | 华为技术有限公司 | 音频编码方法及相关装置 |
| WO2016142002A1 (en) | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
| US10448053B2 (en) * | 2016-02-15 | 2019-10-15 | Qualcomm Incorporated | Multi-pass non-separable transforms for video coding |
| EP3276620A1 (en) | 2016-07-29 | 2018-01-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Time domain aliasing reduction for non-uniform filterbanks which use spectral analysis followed by partial synthesis |
| EP3616196A4 (en) | 2017-04-28 | 2021-01-20 | DTS, Inc. | Audio coder window and transform implementations |
| CN116087803B (zh) * | 2022-12-27 | 2025-12-09 | 长沙中联重科环境产业有限公司 | 用于确定电池电量比值的方法、装置、存储介质及处理器 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02134010A (ja) * | 1988-11-15 | 1990-05-23 | Sony Corp | 信号処理装置 |
| TW224553B (en) | 1993-03-01 | 1994-06-01 | Sony Co Ltd | Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture |
| GB9509831D0 (en) | 1995-05-15 | 1995-07-05 | Gerzon Michael A | Lossless coding method for waveform data |
| FR2765419B1 (fr) * | 1997-06-27 | 1999-09-17 | Thomson Csf | Dispositif de generation de signaux analogiques a partir de convertisseurs analogique-numerique, notamment pour la synthese numerique directe |
| CA2233831A1 (en) * | 1998-03-31 | 1999-09-30 | Tom Riley | Digital-sigma fractional-n synthesizer |
| WO2001095496A1 (en) | 2000-06-06 | 2001-12-13 | Sakai, Yasue | Compression method and apparatus, expansion method and apparatus, compression and expansion system, recorded medium, program |
| DE10129240A1 (de) * | 2001-06-18 | 2003-01-02 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Verarbeiten von zeitdiskreten Audio-Abtastwerten |
| US7197525B2 (en) * | 2002-11-26 | 2007-03-27 | Analog Devices, Inc. | Method and system for fixed point fast fourier transform with improved SNR |
| DE10331803A1 (de) | 2003-07-14 | 2005-02-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Umsetzen in eine transformierte Darstellung oder zum inversen Umsetzen der transformierten Darstellung |
-
2003
- 2003-10-02 DE DE10345995A patent/DE10345995B4/de not_active Expired - Lifetime
-
2004
- 2004-09-28 EP EP04765662A patent/EP1647009B1/de not_active Expired - Lifetime
- 2004-09-28 CN CN200480028608XA patent/CN1860527B/zh not_active Expired - Lifetime
- 2004-09-28 JP JP2006530033A patent/JP4439522B2/ja not_active Expired - Lifetime
- 2004-09-28 MX MXPA06003620A patent/MXPA06003620A/es active IP Right Grant
- 2004-09-28 AT AT04765662T patent/ATE349753T1/de active
- 2004-09-28 KR KR1020067005972A patent/KR100778349B1/ko not_active Expired - Lifetime
- 2004-09-28 DE DE502004002475T patent/DE502004002475D1/de not_active Expired - Lifetime
- 2004-09-28 PT PT04765662T patent/PT1647009E/pt unknown
- 2004-09-28 RU RU2006110566/09A patent/RU2325708C2/ru active
- 2004-09-28 ES ES04765662T patent/ES2278338T3/es not_active Expired - Lifetime
- 2004-09-28 BR BRPI0414618-2A patent/BRPI0414618B1/pt active IP Right Grant
- 2004-09-28 WO PCT/EP2004/010854 patent/WO2005034088A1/de not_active Ceased
- 2004-09-28 CA CA2541116A patent/CA2541116C/en not_active Expired - Lifetime
- 2004-09-28 AU AU2004278828A patent/AU2004278828B2/en not_active Expired
-
2006
- 2006-02-14 IL IL173730A patent/IL173730A/en active IP Right Grant
- 2006-03-23 US US11/388,186 patent/US7917564B2/en active Active
- 2006-04-28 NO NO20061870A patent/NO337159B1/no unknown
Also Published As
| Publication number | Publication date |
|---|---|
| AU2004278828B2 (en) | 2008-01-10 |
| NO20061870L (no) | 2006-04-28 |
| DE10345995B4 (de) | 2005-07-07 |
| CA2541116C (en) | 2010-12-21 |
| JP2007510167A (ja) | 2007-04-19 |
| CA2541116A1 (en) | 2005-04-14 |
| DE502004002475D1 (de) | 2007-02-08 |
| NO337159B1 (no) | 2016-02-01 |
| ATE349753T1 (de) | 2007-01-15 |
| US7917564B2 (en) | 2011-03-29 |
| BRPI0414618A (pt) | 2006-11-07 |
| EP1647009B1 (de) | 2006-12-27 |
| HK1096760A1 (en) | 2007-06-08 |
| MXPA06003620A (es) | 2006-06-05 |
| IL173730A0 (en) | 2006-07-05 |
| CN1860527A (zh) | 2006-11-08 |
| CN1860527B (zh) | 2010-04-14 |
| IL173730A (en) | 2010-06-30 |
| KR100778349B1 (ko) | 2007-11-21 |
| JP4439522B2 (ja) | 2010-03-24 |
| WO2005034088A1 (de) | 2005-04-14 |
| RU2006110566A (ru) | 2007-10-20 |
| EP1647009A1 (de) | 2006-04-19 |
| ES2278338T3 (es) | 2007-08-01 |
| US20060210180A1 (en) | 2006-09-21 |
| DE10345995A1 (de) | 2005-05-12 |
| AU2004278828A1 (en) | 2005-04-14 |
| KR20060054472A (ko) | 2006-05-22 |
| RU2325708C2 (ru) | 2008-05-27 |
| PT1647009E (pt) | 2007-03-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0414618B1 (pt) | Dispositivo e método para o processamento de um sinal tendo uma seqüência de valores discretos | |
| BRPI0415152B1 (pt) | dispositivo e método para o processamento de pelo menos dois valores de entrada | |
| AU2004300713B2 (en) | Device and method for conversion into a transformed representation or for inversely converting the transformed representation | |
| KR20100103580A (ko) | 5-포인트 dct-ⅱ, dct-ⅳ, 및 dst-ⅳ 및 아키텍쳐들의 계산을 위한 빠른 알고리즘들 | |
| JP3814611B2 (ja) | 時間離散オーディオサンプル値を処理する方法と装置 | |
| HK1096760B (en) | Device and method for processing a signal with a sequence of discrete values | |
| MXPA06003309A (en) | Device and method for processing at least two input values | |
| AU2002358578A1 (en) | Device and method for encoding a time-discrete audio signal and device and method for decoding coded audio data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B15K | Others concerning applications: alteration of classification |
Ipc: G10L 19/00 (2013.01), H04N 19/60 (2014.01), G10L 1 |
|
| B06A | Patent application procedure suspended [chapter 6.1 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 12/02/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 12/02/2019, OBSERVADAS AS CONDICOES LEGAIS |