BR112015019543B1 - Aparelho para codificar um sinal de áudio, descodificador para descodificar um sinal de áudio, método para codificar e método para descodificar um sinal de áudio - Google Patents
Aparelho para codificar um sinal de áudio, descodificador para descodificar um sinal de áudio, método para codificar e método para descodificar um sinal de áudio Download PDFInfo
- Publication number
- BR112015019543B1 BR112015019543B1 BR112015019543-1A BR112015019543A BR112015019543B1 BR 112015019543 B1 BR112015019543 B1 BR 112015019543B1 BR 112015019543 A BR112015019543 A BR 112015019543A BR 112015019543 B1 BR112015019543 B1 BR 112015019543B1
- Authority
- BR
- Brazil
- Prior art keywords
- window
- overlap
- length
- transient
- frame
- Prior art date
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000001052 transient effect Effects 0.000 claims abstract description 190
- 230000003595 spectral effect Effects 0.000 claims abstract description 54
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000009466 transformation Effects 0.000 claims description 167
- 230000006870 function Effects 0.000 claims description 127
- 238000000844 transformation Methods 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 15
- 230000015572 biosynthetic process Effects 0.000 claims description 10
- 238000003786 synthesis reaction Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims 1
- 230000001419 dependent effect Effects 0.000 abstract description 7
- 230000007704 transition Effects 0.000 description 23
- 230000008859 change Effects 0.000 description 20
- 238000001514 detection method Methods 0.000 description 15
- 238000007792 addition Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 238000001228 spectrum Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 238000002592 echocardiography Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005452 bending Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
- G10L19/025—Detection of transients or attacks for time/frequency resolution switching
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3002—Conversion to or from differential modulation
- H03M7/3044—Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
aparelho e método para codificar e descodificar um sinal de áudio usando uma sobreposição dependente de localização de transiente. aparelho para codificar um sinal de áudio ou imagem, que compreende: um gerenciador de janelas controlável (102) para a gestão de janelas do sinal de áudio ou imagem para fornecer a sequência de blocos de amostras em janela; um conversor (104) para converter a sequência de blocos de amostras em janela em uma representação espectral, que compreende uma sequência de frames de valores espectrais; um detector de localização de transiente (106) para identificar uma localização de um transiente dentro de uma zona de antecipação de transiente de uma frame; e um controlador (108) para controlar o gerenciador de janelas controlável (102) para aplicar uma janela específica que tem um comprimento de sobreposição especificado ao sinal de áudio ou imagem em resposta a uma localização identificada (210-213) do transiente, em que o controlador (108) está configurado para selecionar a janela específica a partir de um grupo de pelo menos três janelas que compreende uma primeira janela (201) com um primeiro comprimento de sobreposição (203), uma segunda janela (215) com um segundo comprimento de sobreposição (218), e uma terceira janela (224) com um terceiro comprimento de sobreposição (229) ou sem sobreposição, em que o primeiro comprimento de sobreposição (203) é maior do que o segundo comprimento de sobreposição (218), e em que o segundo comprimento de sobreposição (218) é maior do que o terceiro comprimento de sobreposição (229) ou maior do que uma sobreposição zero, em que a janela específica é selecionada com base na localização de transiente, de modo a que uma das duas janelas de sobreposição adjacente de tempo tem coeficientes na localização do transiente e a outra das duas janelas de sobreposição adjacente de tempo em segundos coeficientes de janela na localização do transiente, em que os segundos coeficientes são pelo menos nove vezes maiores do que os primeiros coeficientes. fig. 1a
Description
[001] A presente invenção refere-se ao processamento de sinais de áudio ou de imagem e, em particular, à codificação ou descodificação de sinais de áudio ou de imagem na presença de transientes.
[002] Os esquemas contemporâneos de codificação de voz/áudio do domínio da frequência baseados nos FFTs de sobreposição ou a transformada de cosseno discreta modificado (MDCT) oferecem algum grau de adaptação às características de sinal não estacionário. Os codecs generalistas padronizados em MPEG, nomeadamente MPEG-1 Camada 3, mais conhecido por MP3, MPEG-4 (HE-)AAC [1], e mais recentemente, MPEG-0 xHE-AAC (USAC), assim como, o codec Opus/Celt especificado pelo IETF [2], permitem a codificação de uma frame usando um de pelo menos dois comprimentos de transformação diferentes - uma transformação longa do comprimento M para passagens de sinal estacionárias, ou 8 transformações curtas do comprimento M/8 cada. No caso dos codecs MPEG, mudar das transformações compridas para curtas e de curtas para longas (também conhecida por mudança de bloco) requer a utilização de transformações de transição com janelas assimétricas, nomeadamente uma janela de arranque e uma janela de paragem, respectivamente. Estas formas de transformação, juntamente com outras conhecidas formas da técnica anterior, são apresentadas na Figura 16. Note-se que a inclinação de sobreposição linear é meramente ilustrativa e varia na forma exata. O padrão AAC [1] e a secção 6 de [3] fornecem possíveis formas de janela.
[003] Tendo em conta que a frame que chega deve ser codificada com transformações curtas por um codificador MPEG, a frame atual tem de ser codificada com uma transformação de transição inicial, é evidente que um codificador implementado de acordo com um dos padrões MPEG acima mencionados requer pelo menos um comprimento de frame de antecipação. Em aplicações de comunicação de pouco atraso, no entanto, é desejável minimizar ou até evitar esta antecipação adicional. Com esta finalidade, foram propostas duas modificações ao paradigma de codificação generalista. Uma, que foi adotada por ex. em Celt [2] é reduzir a sobreposição da longa transformação para a da transformação curta, de modo a poder evitar janelas de transição assimétricas. A outra modificação, que é usada por ex. nos esquemas de codificação AAC de pouco Atraso (Melhorado) MPEG-4, é não permitir a mudança para transformações mais curtas e, em vez disso, basear-se em uma ferramenta de codificação de Modelação do Ruído Temporal (TNS) [4] que opera sobre os coeficientes de longa transformação para minimizar a propagação temporal de erro de codificação à volta dos transientes.
[004] Além disso, tal como xHE-AAC, o AAC de Pouco Atraso permite a utilização de duas larguras de sobreposição de frames - a sobreposição pré- definida de 50% para a entrada estacionária ou uma sobreposição reduzida (similar à sobreposição curta de transformações de transição) para sinais não estacionários. A sobreposição reduzida efetivamente limita a extensão de tempo de uma transformação e, por conseguinte, o seu erro de codificação no caso da quantização do coeficiente.
[005] A patente norte-americana 2008/0140428A 1 atribuída à Samsung Electronics Co., assim como, as patentes norte-americanos 5502789 e 5819214 atribuídas à Sony Corp., apresentam unidades de determinação do tamanho da janela ou da transformação adaptativas do sinal. No entanto, as unidades transformadoras controladas por essas unidades de determinação do tamanho da janela ou da transformação operam sobre valores de subbanda QMF ou LOT (implicando que os sistemas descritos empregam ambos bancos de filtros ou transformações em cascata), enquanto no presente caso se trabalha diretamente sobre o sinal de entrada de banda cheia do domínio do tempo. Para além disso, o documento 2008/0140428A 1 não descreve detalhes sobre a forma ou o controlo da sobreposição de janelas, e no documento 5819214 as formas de sobreposição seguem - isto é, são o resultado da - produção da unidade de determinação do tamanho de transformação, que é o oposto do que é proposto por um modelo privilegiado da presente invenção.
[006] A patente norte-americana 2010/0076754A1 atribuída à France Telecom segue a mesma motivação da presente invenção, nomeadamente ser capaz de mudar o comprimento de transformação em cenários de codificação de comunicação para melhorar a codificação de segmentos do sinal do transiente, e fazê-lo sem a antecipação extra do codificador. No entanto, enquanto esse documento revela que o objetivo de pouco atraso é conseguido evitando janelas de transição do comprimento de transformação e processando posteriormente o sinal reconstruído no descodificador (desvantajosamente através da amplificação de peças do sinal descodificado e, por conseguinte, do erro de codificação), a presente invenção propõe uma simples modificação da janela de transição de um sistema da técnica anterior que será introduzida mais abaixo, de modo a poder minimizar a antecipação adicional do codificador e a evitar o pós-processamento do descodificador especial (arriscado).
[007] A transformação de transição, à qual deve ser aplicada uma modificação inventiva, é a janela inicial descrita em duas variantes na patente norte-americana 5848391 atribuída á Fraunhofer-Gesellschaft e.V. e Dolby Laboratories Licensing Corp., assim como, em uma forma ligeiramente diferente, na patente norte-americana 2006/0122825A 1 atribuída à Samsung Electronics Co. A Figura 16 mostra estas janelas iniciais e revela que a diferença entre as janelas de Fraunhofer/Dolby e a janela da Samsung é a presença de um segmento de não sobreposição, isto é, em uma zona da janela que tem um valor máximo constante que não pertence a nenhuma inclinação de sobreposição. As janelas de Fraunhofer/Dolby exibem uma "peça de não sobreposição com um comprimento" que as janelas da Samsung não têm. Conclui-se que se pode realizar um codificador com a menor quantidade de antecipação adicional mas usando a mudança de transformação da técnica anterior através da abordagem da janela de transição da Samsung. Com essas transformações, basta uma antecipação igual à largura de sobreposição entre as transformações curtas para mudar completamente das transformações longas para as curtas o tempo suficiente antes de um transiente de sinal.
[008] Além disso, a técnica anterior pode ser encontrada no documento WO 90/09063 ou “Codificação de sinais de áudio com funções de transformação do bloco de sobreposição e funções de janelas adaptativas”, frequência, volume 43, setembro de 1989, página 2052 a 2056 ou no Documento da Convenção AES 4929, “MPEG-4 Low Delay Audio Coding based on the AAC Codec”, E. Allamanche, et al., 106 Convenção, 1999.
[009] Não obstante, dependendo do comprimento da transformação curta, a antecipação pode permanecer bastante grande e não deve ser evitada. A Figura 17 ilustra o desempenho da mudança de bloco durante a pior situação de entrada, nomeadamente a presença de um transiente súbito no início da zona antecipada, que por sua vez começa no fim da inclinação longa, isto é, a zona de sobreposição entre as frames. De acordo com as abordagens da técnica anterior, pelo menos um dos dois transientes apresentados chega à transformação de transição. Em um sistema de codificação com perdas que utiliza um codificador sem antecipação adicional - um codificador que não "vê o transiente a chegar" - esta condição causa a propagação temporal do erro de codificação até ao início da inclinação longa e, mesmo quando usa TNS, o ruído de pré-eco tem probabilidade de ser ouvido no sinal descodificado.
[010] As duas alternativas de antecipação previamente mencionadas têm as suas desvantagens. Reduzir a sobreposição de transformação longa em um fator até 8, por um lado, como é feito no codificador Celt, limita severamente a eficiência (isto é, o ganho de codificação, a compactação espectral) sobre o material de entrada estacionário, sobretudo altamente tonal. Por outro lado, proibir transformações curtas como em AAC de Pouco Atraso (Melhorado), reduz o desempenho do codec em transientes fortes com durações muito inferiores ao comprimento da frame, levando frequentemente ao ruído pré-eco ou pós-eco audível mesmo ao usar TNS.
[011] Deste modo, os procedimentos de determinação da sequência de janelas da técnica anterior estão sub-otimizados relativamente à flexibilidade devido aos comprimentos restritos das janelas, estão sub-otimizados relativamente ao atraso exigido devido aos períodos mínimos de antecipação de transiente exigidos, estão sub-otimizados relativamente à qualidade de áudio devido aos pré-ecos e pós-ecos, estão sub-otimizados relativamente à eficiência devido ao pré-processamento adicional potencialmente necessário usando funcionalidades adicionais para além dos procedimentos de sistemas de janelas com certas janelas ou estão sub-otimizados relativamente à flexibilidade e eficiência devido à potencial necessidade de mudar uma trama de frames/blocos na presença de um transiente.
[012] Um objetivo da presente invenção é providenciar um conceito melhorado de codificação/descodificação de áudio que proporciona um melhor desempenho relativamente a pelo menos uma das desvantagens da técnica anterior.
[013] Este objetivo é conseguido por um aparelho para codificar um sinal de áudio ou de imagem da reivindicação 1, um aparelho de descodificação de um sinal de áudio ou de imagem da reivindicação 17, um método de codificação de um sinal de áudio ou de imagem da reivindicação 32, um método de descodificação de um sinal de áudio ou de imagem da reivindicação 33 ou um programa de computador da reivindicação 34.
[014] Os aspectos da presente invenção baseiam-se na descoberta de que, para que um codec de áudio ou de imagem de pouco atraso possa abordar a qualidade de codificação dos codecs generalistas, é útil manter uma percentagem de sobreposição alta entre transformações longas durante entradas de sinal estacionárias e permitir a mudança imediata para sobreposições e transformações mais curtas em partes de sinal de áudio ou de imagem à volta de não estacionaridades do sinal. Além disso, é desejável permitir uma flexibilidade um pouco maior do que oferecer apenas uma escolha binária relativamente à largura de sobreposição e, adicionalmente ou em alternativa relativamente aos comprimentos de transformação, de modo a que a largura ou os comprimentos de sobreposição da ou das transformações dentro de uma frame possa ser adaptada com precisão com base na localização de um possível transiente dento da zona temporal da frame para minimizar pré-ecos ou outros artefatos.
[015] Especificamente, um detector de localização de transientes está configurado para identificar uma localização de um transiente dentro de uma zona de antecipação de transiente de uma frame e, com base na localização do transiente dentro da frame, é selecionada uma janela específica a partir de um grupo de pelo menos três janelas, em que estas três janelas são diferentes relativamente aos seus comprimentos de sobreposição com correspondentes janelas adjacentes. Por conseguinte, a primeira janela tem um comprimento de sobreposição maior do que a segunda janela, e a segunda janela tem um comprimento de sobreposição maior do que o comprimento de sobreposição da terceira janela, e a terceira janela pode, em alternativa, também ter uma sobreposição zero, isto é, sem sobreposição. A janela específica é selecionada com base na localização do transiente de modo a que uma de duas janelas de sobreposição de tempo-adjacente tem uns primeiros coeficientes de janelas na localização do transiente e a outra das duas janelas de sobreposição tempo- adjacente tem uns segundos coeficientes de janelas na localização do transiente, em que os segundos coeficientes são pelo menos nove vezes maiores do que os primeiros coeficientes. Deste modo, assegura-se que a localização do transiente está, relativamente à primeira janela, suficientemente suprimida e que o transiente está, relativamente à segunda janela, suficientemente captado. Por outras palavras, e preferencialmente, a janela anterior já está em valores próximos de zero na localização do transiente onde o transiente foi detectado e a segunda janela tem coeficientes de janela próximos de um nesta zona, de modo a que, durante pelo menos uma parte do transiente, o transiente é suprimido na janela anterior e não é suprimido na janela posterior ou seguinte.
[016] Em uma implementação, os comprimentos de sobreposição são diferentes por fatores de número inteiro, de modo a que o segundo comprimento de sobreposição seja, por exemplo, igual a metade do terceiro comprimento de sobreposição e o terceiro comprimento de sobreposição seja igual a metade do segundo comprimento de sobreposição ou seja diferente do segundo comprimento de sobreposição por um fator diferente mas maior do que ou igual a pelo menos 64 amostras ou maior do que ou igual a pelo menos 32 amostras ou maior ou igual a pelo menos mesmo 16 amostras de áudio ou de imagem.
[017] A seleção da janela derivada da localização do transiente é transmitida juntamente com as frames do sinal de áudio ou de imagem, de modo a que um descodificador possa selecionar as correspondentes janelas de síntese em linha com a seleção do codificador das janelas de análise, garantindo que o codificador e o descodificar são sincronizados por toda a operação de codificação/descodificação.
[018] Em uma implementação, um gerenciador de janelas controlável, um conversor, um detector da localização de transientes e um controlador formam um aparelho para codificar, e o conversor aplica qualquer uma das conhecidas transformações de introdução de distorção, tais como uma MDCT (transformação do cosseno discreto modificado), uma DST (transformação do seno discreto modificado) ou qualquer outra transformação similar. No lado do descodificador, um processador coopera com um conversor controlável para converter uma sequência de blocos de valores espectrais em uma representação do domínio do tempo usando um processamento de sobreposição-adição de acordo com as sequências de janelas indicadas por uma informação de janelas recebida pelo descodificador.
[019] Dependendo da implementação, pode ser implementada uma mudança do comprimento de transformação adicionalmente à seleção da sobreposição de transformação, mais uma vez com base na localização do transiente dentro da frame. Ao implementar uma secção de sobreposição múltipla, na qual pelo menos três janelas se sobrepõem umas às outras, é realizado um conceito de codec de muito pouco atraso, que mais uma vez reduz substancialmente o atraso de antecipação do transiente exigido relativamente a conceitos anteriores. Noutra implementação, é preferível começar por selecionar a sobreposição e depois decidir o comprimento de transformação para determinar um código de sobreposição para cada frame. Em alternativa, a decisão de mudar o comprimento de transformação pode ser tomada independentemente da decisão da largura de sobreposição e, com base nestas duas decisões, é determinado um código de sobreposição. Com base no código de sobreposição para uma frame atual e no código de sobreposição de uma frame anterior, é selecionada a sequência de janelas para um transiente específico, com base na qual um codificador e um descodificador operam em sincronia entre si.
[020] Noutro aspecto, um controlador da sequência de janelas, um pré- processador e um conversor de espectro constituem em conjunto um aparelho para criar um sinal codificado, em que três janelas têm uma parte de sobreposição múltipla. Esta parte de sobreposição múltipla, na qual não apenas duas janelas, tal como na técnica anterior, mas três janelas se sobrepõem umas às outras, permite um conceito de muito pouco atraso pelo fato de o atraso necessário e exigido ser ainda mais reduzido para a antecipação do transiente. Um correspondente descodificador é formado por um processador de descodificadores, um conversor de tempo e um pós-processador. O pós- processador e o pré-processador realizam operações adicionais de sistemas de janelas, usando a mesma janela auxiliar no lado do codificador e no lado do descodificador, de modo a poder obter uma implementação eficiente particularmente em dispositivos móveis ou dispositivos de baixo custo, onde um armazenamento ROM ou RAM exigido deve ser o menor possível.
[021] Os modelos privilegiados baseiam-se em uma sequência específica de janelas e em uma interação específica de janelas com diferentes comprimentos, de modo a "colocar" uma janela de comprimento curto no transiente para evitar pré-ecos ou pós-ecos compridos. Para assegurar que a parte de sobreposição múltipla não resulte em artefatos de áudio ou de imagem, o pré-processador no lado do codificador realiza uma operação de gerir janelas, usando a função auxiliar da janela e uma operação de pré-processamento, usando uma operação de dobrar para obter uma parte de sobreposição múltipla modificada, que é depois transformada no domínio espectral usando uma transformação de introdução de distorção. No lado do descodificador, é configurado um correspondente pós-processador para realizar uma operação de dobrar depois de correspondentes transformações para a representação do tempo e, depois da operação de desdobrar, uma gestão de janelas usando a função auxiliar da janela e é feita uma adição final de sobreposição com um bloco precedente de amostras originárias de uma operação de janelas com uma janela longa.
[022] Em um modelo onde é selecionada uma sobreposição de transformação, obtém-se uma maior qualidade de áudio ou de imagem.
[023] Ao contrário de existentes sistemas de codificação, que empregam apenas uma escolha binária da largura da sobreposição de transformação (grande/máximo ou pequena), o modelo propõe um conjunto de três larguras de sobreposição, a partir do qual um codificador pode escolher uma base por frame (ou opcionalmente, uma por transformação): sobreposição máxima, meia sobreposição ou sobreposição mínima. A sobreposição máxima pode ser igual ao comprimento da frame, tal como para transformações lingas em AAC, isto é, 50% de sobreposição, mas também pode ser igual a metade do comprimento da frame, isto é, 33% de sobreposição, ou menos, tal como será descrito um modelo preferido. Correspondentemente, a sobreposição mínima pode indicar uma largura de sobreposição de zero, isto é, sem sobreposição, mas também pode representar uma sobreposição superior a zero de um número muito pequeno de amostras de tempo ou milésimos de segundo, tal como esse modelo privilegiado vai demonstrar. Por fim, a meia sobreposição pode ser, mas não tem de ser necessariamente, metade da sobreposição máxima.
[024] Em particular, de acordo com um aspecto da presente invenção, é definida uma unidade de determinação da largura de sobreposição que seleciona para cada frame (ou opcionalmente, para cada transformação dentro de uma frame) uma das três possíveis larguras de sobreposição. Mais precisamente, essa unidade de determinação da largura de sobreposição tem, como uma entrada, a saída de uma unidade de detecção de transientes para identificar com precisão suficiente a posição de um transiente dentro da frame atual (ou opcionalmente, dentro de uma transformação na frame atual) e para derivar uma largura de sobreposição de modo a que pelo menos um dos dois objetivos é conseguido:
[025] - A largura é escolhida de modo a que apenas uma das transformações de sobreposição contenha o transiente.
[026] - Os pseudo-transientes são fortemente suprimidos devido à modelação TNS de distorção do tempo do erro de codificação.
[027] Por outras palavras, a largura da sobreposição é determinada com o objetivo de prevenir a distorção de pré-eco ou pós-eco à volta de um transiente perceptualmente codificado localizado na frame definida. Note-se que é possível um certo grau de liberdade relativamente aos meios de determinação da localização exata do transiente. O índice de tempo ou sub-bloco que designa uma localização do transiente pode igualar o início (arranque) dessa localização do transiente, como em um modelo privilegiado, mas também pode ser a localização da energia ou amplitude máxima, ou o centro da energia, do transiente.
[028] Além disso, ao contrário dos esquemas de codificação da técnica anterior, que derivam as sobreposições instantâneas de inter-transformação a partir da seleção definida dos comprimentos de transformação para um par de frames (ou seja, a largura da sobreposição segue a saída de uma unidade de determinação do tamanho de transformação), de acordo com outro aspecto da presente invenção um sistema de codificação pode, em certas condições que serão analisadas em baixo em um modelo privilegiado, controlar ou derivar o(s) comprimentos(s) de transformação que será/serão usado(s) em uma frame particular usando a largura de sobreposição atribuída a essa frame e, opcionalmente, a largura de sobreposição da frame anterior (isto é, o tamanho de transformação segue os dados da unidade de determinação do tamanho de sobreposição).
[029] Noutro modelo, no qual é usada uma parte de sobreposição múltipla ou no qual é aplicada uma mudança do comprimento de transformação, obtém- se um conceito particularmente de pouco atraso.
[030] Um melhoramento dos esquemas de mudança da técnica anterior é uma modificação vantajosa às transformações de transição da Figura 16, que permite que a antecipação do codificador adicional exigida para uma operação de qualidade estável seja reduzida em metade durante as não estacionaridades do sinal. Tal como discutido em cima, as janelas de arranque propostas por Fraunhofer/Dolby ou pela Samsung caracterizam-se pela presença ou ausência, respectivamente, de uma "peça de não sobreposição com um comprimento". O modelo vai ainda mais longe e permite que as inclinações da sobreposição esquerda e direita da janela de transição se estendam umas nas outras. Por outras palavras, a transformação de transição modificada exibe uma zona de "sobreposição dupla" do comprimento não zero, no qual se sobrepõe tanto com a transformação longa da frame precedente como com a seguinte transformação curta. A forma resultante da transformação de transição inventiva é ilustrada na Figura 13. Em comparação com a janela de transição da Samsung apresentada na Figura 17, fica claro que ao permitir uma zona de "sobreposição dupla" na transformação, a inclinação de sobreposição curta na extremidade direita da transformação pode ser deslocada para a esquerda em - e, assim, a antecipação do codificador exigida pode ser reduzida em - metade da largura da sobreposição de transformação curta. O comprimento reduzido dessa janela de transição modificada tem três vantagens cruciais, que facilitam a implementação, especialmente em dispositivos móveis:
[031] O núcleo de transformação, isto é, o comprimento do vetor de coeficiente resultante do tempo envolvido / transformação de frequência (preferencialmente o MDCT), é exatamente metade da largura da zona de sobreposição entre duas transformações longas. Tendo em conta que essa largura de sobreposição longa é habitualmente igual ao comprimento da frame ou metade do comprimento da frame, isto implica que a janela de transição inventiva e as subsequentes janelas curtas se adaptem perfeitamente à grelha da frame e que todos os tamanhos de transformação do codec resultante estão relacionados por um fator de potência de dois números inteiros, como se pode ver na Figura 13.
[032] - Tanto as localizações do transiente apresentadas na Figura 17 e novamente na Figura 13 estão fora da transformação de transição, de modo a poder restringir-se uma persistência temporal do erro de codificação devido aos transientes dentro da extensão das duas primeiras janelas curtas que seguem a transformação. Por conseguinte, ao contrário dos esquemas de Fraunhofer/Dolby e Samsung da técnica anterior, é pouco provável que o ruído de pré-eco audível à volta dos transientes ocorra quando usar a abordagem de mudança do bloco da invenção da Figura 13.
[033] - Tanto o codificador como o descodificador podem usar exatamente as mesmas janelas para as transformações de encaminhamento e de inversão. Em um dispositivo de comunicação que realiza tanto a codificação como a descodificação, apenas um conjunto de dados de janelas tem de ser guardado na ROM. Pode ser ainda evitado o pré-processamento e o pós-processamento especial do sinal, o que exigiria um programa ROM e/ou RAM adicional.
[034] Tradicionalmente, as janelas de transição com um segmento de "sobreposição dupla", tal como na presente invenção, não foram usadas na codificação de voz ou áudio ou imagem, muito provavelmente porque se considerou que violavam certos princípios que garantem a reconstrução perfeita da forma de onda na ausência da quantização dos coeficientes de transformação. No entanto, é possível reconstruir exatamente a entrada quando usar a transformação de transição inventiva, e além disso, não é exigido nenhum pós-processamento especial do lado do descodificador, tal como na proposta da France Telecom.
[035] Note-se que vale a pena enfatizar que a utilização dessa janela de transição inventiva pode ser controlada através da unidade de determinação da largura de sobreposição inventiva, em vez ou como complemento de uma unidade de determinação do comprimento de transformação.
[036] Posteriormente os modelos privilegiados da presente invenção são discutidos e ilustrados em mais detalhe. Além disso, faz-se particular referência às reivindicações dependentes que definem mais modelos.
[037] Além disso, a especificação ilustra especificamente um aspecto relacionado com a mudança de sobreposição adaptativa da localização de transientes particularmente no que diz respeito às Figuras 1a até 7. Outro aspecto relacionado como a parte de sobreposição múltipla é ilustrado e descrito relativamente às Figuras 8a até 15f. Estes aspectos individuais podem ser implementados independentemente uns dos outros, isto é, a mudança de sobreposição pode ser aplicada sem uma zona de sobreposição múltipla ou a zona de sobreposição múltipla pode ser aplicada sem a mudança de sobreposição adaptativa da localização do transiente. Porém, em uma implementação, ambos os aspectos podem ser vantajosamente combinados, resultando em um conceito de codificação/descodificação com uma mudança de sobreposição adaptativa da localização do transiente e uma zona de sobreposição múltipla. Um conceito destes pode ser adicionalmente melhorado por um procedimento de mudança do comprimento de transformação, mais uma vez dependente de uma localização do transiente dentro de uma zona de antecipação do transiente de uma frame. A mudança do comprimento de transformação pode ser realizada dependente da determinação da largura de sobreposição ou independente da mudança de sobreposição.
[038] A presente invenção não é apenas útil para sinais de áudio, mas também é útil para sinais de vídeo, de fotografia ou de imagem, de um modo geral. Por exemplo, na codificação de imagens paradas ou de chamadas I frames em AVC ou em tecnologias mais ou menos avançadas, a presente invenção pode ser aplicada para evitar bloquear artefatos. Um transiente no campo de imagens seria uma aresta viva e uma frame corresponderia por exemplo a um macrobloco. A imagem é depois preferencialmente codificada bidimensionalmente, usando uma transformação de introdução de distorção e uma sobreposição espacial correspondente. Isto reduz os artefatos de bloqueio, por um lado, e reduz qualquer outro artefato através de partes de transiente, isto é, as partes com arestas viva por outro lado. Por conseguinte, a apresentação posterior aplica-se igualmente a sinais de imagem, apesar de não ser especificamente indicado ao longo da apresentação.
[039] Passamos a discutir a seguir os modelos e aspectos com referência aos desenhos anexos, em que:
[040] A Fig. 1a ilustra um aparelho para codificar no contexto de um aspecto de mudança de sobreposição;
[041] A Fig. 1b ilustra um aparelho para descodificar para o aspecto da mudança de sobreposição;
[042] A Fig. 2a ilustra uma sequência de janelas com total sobreposição entre as janelas posteriores;
[043] A Fig. 2b ilustra uma sequência de janelas com meia sobreposição entre as janelas adjacentes;
[044] A Fig. 2c ilustra uma sequência de janelas com um quarto da sobreposição entre janelas adjacentes e meia sobreposição entre janelas adjacentes e uma total sobreposição posterior entre as janelas adjacentes;
[045] As Figuras 3a e 3c ilustram diferentes larguras de sobreposição para diferentes localizações de transientes para um modelo com um comprimento de transformação de 20 m, tal como em TCX 20;
[046] As Figuras 4a até 4g ilustram uma seleção dos comprimentos de sobreposição de transformação para um comprimento de transformação de 10 m, tal como TCX 10 dependente de uma localização do transiente;
[047] As Figuras 5a até 5c ilustram uma codificação de uma largura de sobreposição;
[048] A Fig. 6a ilustra uma codificação da largura de sobreposição e do comprimento de transformação com base na posição do transiente;
[049] A Fig. 6b ilustra um quadro de decisão do comprimento de transformação;
[050] A Fig. 7 ilustra diferentes sequências de janelas dependentes dos códigos de sobreposição anteriores e atuais;
[051] A Fig. 8a ilustra um codificador no contexto de uma parte de sobreposição múltipla em um modelo da presente invenção;
[052] A Fig. 8a ilustra um descodificador para o aspecto da parte de sobreposição múltipla em um modelo da presente invenção;
[053] A Fig. 9a ilustra um procedimento de acordo com um modelo privilegiado que ilustra o lado do codificador;
[054] A Fig. 9b ilustra um fluxograma de um procedimento preferido no lado do codificador;
[055] A Fig. 10a ilustra um modelo de um procedimento no lado do descodificador;
[056] A Fig. 10b ilustra um outro modelo de um procedimento realizado no lado do descodificador;
[057] A Fig. 11a ilustra operações realizadas no lado do codificador de um modelo;
[058] A Fig. 11b ilustra operações realizadas por um descodificador em um modelo da presente invenção;
[059] As Figuras 12a e 12b ilustram outro modelo de procedimentos por realizar no lado do codificador/descodificador no contexto do aspecto da sobreposição múltipla da invenção;
[060] A Fig. 13 ilustra diferentes sequências de janelas que têm todas uma parte de sobreposição múltipla;
[061] A Fig. 14a ilustra uma sequência de janelas com um comprimento de transformação mudado dependente da localização do transiente;
[062] A Fig. 14b ilustra outra sequência de janelas com uma parte de sobreposição múltipla;
[063] As Figuras 15a até 15f ilustram diferentes sequências de janelas e correspondentes partes de antecipação e pré-ecos;
[064] A Fig. 16 ilustra formas de janelas da técnica anterior; e
[065] A Fig. 17 ilustra sequências de janelas da técnica anterior formadas por formas de janelas da Fig. 16.
[066] A Fig. 1a ilustra um aparelho para codificar um sinal de áudio 100. O aparelho para codificar um sinal de áudio compreende um gerenciador de janelas controlável 102 para gerir as janelas do sinal de áudio 100 para providenciar uma sequência de blocos de amostras em janela em 103. O descodificador compreende ainda um conversor 104 para converter a sequência de blocos de amostras em janela 103 em uma representação espectral que compreende uma sequência de frames de valores espectrais indicada em 105. Além disso, é fornecido um detector da localização do transiente 106. O detector está configurado para identificar uma localização de um transiente dentro de uma zona de antecipação de transiente de uma frame. Além disso, um controlador 108 para controlar o gerenciador de janelas controlável está configurado para aplicar uma janela específica com um comprimento de sobreposição especificado para o sinal de áudio 100 em resposta a uma localização identificada do transiente ilustrado em 107. Além disso, o controlador 108 está, em um modelo, configurado para fornecer informação sobre janelas 112 não apenas para o gerenciador de janelas controlável 102, mas também para uma interface de saída 114 que fornece, como sua saída, o sinal de áudio codificado 115. A representação espectral que compreende a sequência de frames de valores espectrais 105 é introduzida em um processador de codificação 110, que pode realizar qualquer tipo de operação de codificação, tal como uma operação de predição, uma operação de modelação do ruído temporal, uma operação de quantização preferencialmente no que diz respeito ao modelo psico-acústico ou pelo menos no que diz respeito aos princípios psico-acústicos ou pode compreender uma operação de codificação de redução de redundância, tal como a operação de codificação Huffman ou uma operação de codificação aritmética. O rendimento do processador de codificação 110 é depois encaminhado para a interface de saída 114 e a interface de saída 114 depois fornece, por fim, o sinal de áudio codificado que tem associado, a cada frame codificada, uma certa informação de janela 112.
[067] O controlador 108 está configurado para selecionar a janela específica a partir de um grupo de pelo menos três janelas. O grupo compreende uma primeira janela com um primeiro comprimento de sobreposição, uma segunda janela com um segundo comprimento de sobreposição, e uma terceira janela com um terceiro comprimento de sobreposição ou sem sobreposição. O primeiro comprimento de sobreposição é maior do que o segundo comprimento de sobreposição e o segundo comprimento de sobreposição é maior do que uma sobreposição zero. A janela específica é selecionada pelo gerenciador de janelas controlável 102 com base na localização do transiente de modo a que uma de duas janelas de sobreposição de tempo-adjacente tem uns primeiros coeficientes de janelas na localização do transiente e a outra das duas janelas de sobreposição tempo-adjacente tem uns segundos coeficientes de janelas na localização do transiente, sendo os segundos coeficientes são pelo menos nove vezes maiores do que os primeiros coeficientes. Isto assegura que o transiente é substancialmente suprimido pela primeira janela que tem os primeiros (pequenos) coeficientes e o transiente quase que não é afetado pela segunda janela que tem os segundos coeficientes de janela. Preferencialmente, os primeiros coeficientes de janela são iguais a 1 dentro de uma tolerância de mais/menos 5%, tal como entre 0,95 e 1,05, e os segundos coeficientes de janela são preferencialmente iguais a 0 ou pelo maiores que 0,05. Os coeficientes de janela podem ser negativos, assim como, neste caso, as relações e as quantidades dos coeficientes de janelas estão relacionados com a magnitude absoluta.
[068] A Fig. 2a ilustra uma sequência de janelas unicamente com as primeiras janelas, e as primeiras janelas têm o primeiro comprimento de sobreposição. Particularmente, a última frame associou uma primeira janela 200, a frame atual associou a janela 202 e a terceira ou próxima frame associou a janela 204. Neste modelo, as janelas adjacentes sobrepõem-se em 50%, isto é, um comprimento total. Além disso, as frames são colocadas relativamente às janelas para identificar que parte do sinal de áudio é processada por uma frame. Isto é explicado relativamente à frame atual. A frame atual tem uma parte esquerda 205a e uma parte direita 205b. Correspondentemente, a última frame tem uma parte direita 204b e uma parte esquerda 204a. De modo análogo, a frame seguinte tem uma parte esquerda 206a e uma parte direita 206b. Esquerda/Direita refere-se a mais cedo ou mais tarde no tempo, conforme é ilustrado na Fig. 2a. Quando é criada a frame atual de valores espectrais, são utilizadas as amostras de áudio obtidas pela gestão de janelas com a janela 202. As amostras de áudio são oriundas de partes de 204b a 206a.
[069] Tal como se é conhecido na técnica do processamento MDCT, geralmente, no processamento que usa uma transformação de introdução de distorção, esta transformação de introdução de distorção pode ser separada em um passo de dobrar e em um posterior passo de transformação que usa uma certa transformação de introdução de não distorção. No exemplo da Fig. 2a, a secção 204b é dobrada na secção 205a e secção 206a é dobrada na secção 205b. O resultado da operação de dobrar, isto é, a combinação pesada de 205a, 204b, por um lado, e de 206a e 205b são depois transformadas no domínio espectral usando uma transformação, tal como uma transformação DCT. No caso de um MDCT, é aplicada uma transformação DCT IV.
[070] Posteriormente isto é exemplificado com referência ao MDCT, mas outras transformações de introdução de distorção podem ser processadas de um modo similar e análogo. Como uma transformação volvida, a MDCT é um pouco não usual comparativamente com outras transformações relacionadas com Fourier pelo fato de ter metade das saídas das entradas (em vez do mesmo número). Em particular, é uma função linear (em que R denota o conjunto de números reais). O números reais 2N x0, . .., x2N-1 são transformados nos N números reais X0, ..., XN-1 de acordo com a fórmula:
[071] (O coeficiente de normalização à frente desta transformação, aqui unidade, é uma convenção arbitrária e difere entre tratamentos. Apenas o produto das normalizações da MDCT e da IMDCT, abaixo, está limitado.)
[072] Transformação inversa
[073] A MDCT inversa é conhecida por IMDCT. Por haver quatro números diferentes de entradas e saídas, à primeira vista pode parecer que a MDCT não deve ser invertível. No entanto, consegue-se uma perfeita invertibilidade se adicionar as IMDCTs sobrepostas dos blocos de sobreposição tempo-adjacente, fazendo com que os erros cancelem e os dados originais sejam restaurados; esta técnica é conhecida como o cancelamento de distorção do domínio do tempo (TDAC).
[074] A IMDCT transforma os N números reais X0, ..., XN-1 em 2N números reais y0, ..., y2N-1 de acordo com a fórmula:
[075] (Tal como para DCT-IV, uma transformação ortogonal, a inversão tem a mesma forma da transformação de encaminhamento.)
[076] No caso de uma MDCT em janelas com a habitual normalização de janela (ver abaixo), o coeficiente de normalização em frente à IMDCT deve ser multiplicado por 2 (i.e., tornar-se 2/N).
[077] Em típicas aplicações de compressão do sinal, as propriedades de transformação são ainda mais melhoradas usando uma função de janela wn (n = 0, ..., 2N-1) que é multiplicada por xn e yn nas fórmulas de MDCT e IMDCT, em cima, para evitar descontinuidades nos limites n = 0 e 2N fazendo com que a função vá suavemente para zero nestes pontos. (Ou seja, nós visualizamos os dados antes da MDCT e depois da IMDCT.) Em princípio, x e y podem ter funções de janela diferentes, e a função de janela também pode mudar de um bloco para o próximo (especialmente no caso em que são combinados blocos de dados de diferentes tamanhos), mas para simplificar nós consideramos o caso comum de funções de janela idênticas para blocos do mesmo tamanho.
[078] A transformação permanece invertível (ou seja, a TDAC funciona), para uma janela simétrica wn = w2N-1-n, enquanto w satisfaz a condição Princen-Bradley:
[079] são usadas várias funções de janela. Uma janela que produz uma forma conhecida por transformação volvida modulada [3] [4] é fornecida por
[081] para Vorbis. AC-3 usa uma janela derivada Kaiser-Bessel (KBD), e MPEG-4 AAC pode também usar uma janela KBD.
[082] Note que as janelas aplicadas à MDCT são diferentes das janelas usadas para os alguns outros tipos de análise de sinal, uma vez que têm de satisfazer a condição Princen-Bradley. Uma das razões para esta diferença é que as janelas MDCT são aplicadas duas vezes, tanto para a MDCT (análise) como para a IMDCT (síntese).
[083] Tal como se pode ver por inspeção das definições, para o N par a MDCT é essencialmente equivalente a uma DCT-IV, em que a entrada é deslocada em N/2 e dois blocos N de dados são transformados de uma só vez. Ao examinar estar equivalência com mais cuidado, podem-se derivar facilmente propriedades imperantes, tal como TDAC.
[084] Para definir a relação precisa para com DCT-IV, é necessário perceber que DCT-IV corresponde a condições de limite par/ímpar alternadas: par no seu limite esquerdo (por volta de n=-1/2), ímpar no seu limite direito (por voltar de n=N-1/2), e assim por diante (em vez de limites periódicos tal como uma DFT). Isto segue-se às identidades e. Por conseguinte, se as suas entradas
[085] Por conseguinte, se as suas entradas forem uma rede x de comprimento N, nós podemos imaginar estender esta rede para (x, -xR, -x, xR, ...) e assim por diante, em que xR denota x por ordem inversa.
[086] Considerando uma MDCT com 2N entradas e N saídas, em que dividimos as entradas em quatro blocos (a, b, c, d), cada qual com o tamanho N/2. Se deslocarmos estes para a direita em N/2 (a partir do termo +N/2 na definição de MDCT), então (b, c, d) estendem-se pela extremidade das N entradas DCT-IV, e nós temos de os "dobrar" de volta de acordo com as condições limite acima descritas.
[087] Deste modo, a MDCT de 2N entradas (a, b, c, d) é exatamente equivalente a um DCT-IV das entradas N: (-cR-d, a-bR), em que R denota a inversão, tal como em cima.
[088] Isto é exemplificado para a função de janela 202 na Fig. 2a. a é a parte 204b, b é a parte 205a, c é a parte 205b e d é a parte 206a.
[089] (Deste modo, qualquer algoritmo para calcular DCT-IV pode ser trivialmente aplicado à MDCT.)
[090] De modo similar, a fórmula IMDCT acima é precisamente 1/2 de DCT- IV (que é a seu próprio inverso), em que a saída se estende (através das condições limite) para um comprimento 2N e deslocada de volta para a esquerda em N/2. A DCT-IV inversa simplesmente devolve as entradas (-cR-d, a-bR) acima mencionadas. Quando isto se estende e é deslocado através das condições limite, obtém-se:
[091] IMDCT(MDCT(a, b, c, d)) = (a-bR, b-aR, c+dR, d+cR) / 2.
[092] Metade das saídas IMDCT são, pois, redundantes, como b-aR = -(a-bR)R, e de igual modo para os dois últimos termos. Se agruparmos a entrada em blocos maiores A,B do tamanho N, em que A=(a, b) e B=(c, d), podemos escrever este resultado de um modo simples:
[093] IMDCT(MDCT(A, B)) = (A-AR, B+BR) / 2
[094] Pode-se agora entender como funciona TDAC. Suponde que se calcula a MDCT do tempo adjacente, 50% sobreposto, bloco 2N (B, C). A IMDCT resultaria em, tal como em cima: (B-BR, C+CR) / 2. Quando isto é adicionado com o resultado anterior de IMDCT na meia sobreposição, os termos invertidos cancelam e obtém-se simplesmente B, recuperando os dados originais.
[095] A origem do termo "cancelamento da distorção do domínio do tempo" fica agora claro. A utilização dos dados de entrada que se estendem para além dos limites de DCT-IV lógico faz com que os dados sejam distorcidos do mesmo modo que as frequências para além da frequência Nyquist são distorcidas para frequências mais baixas, exceto o fato de esta distorção ocorrer no domínio do tempo em vez no domínio da frequência: não conseguimos distinguir as contribuições de a e de bR relativamente a MDCT de (a, b, c, d), ou equivalentemente, relativamente ao resultado de IMDCT(MDCT(a, b, c, d)) = (a-bR, b-aR, c+dR, d+cR) / 2. As combinações c-dR, e assim por diante, têm precisamente os sinais certos para as combinações para cancelar quando são adicionados.
[096] Para N ímpar (que na prática são raramente usados), N/2 não é um número inteiro, portanto, o MDCT não é simplesmente uma permutação de deslocação de um DCT-IV. Neste caso, a deslocação adicional em metade de uma amostra significa que o MDCT/IMDCT se torna equivalente a DCT-III/II, e a análise é análoga à de cima.
[097] Vimos em cima que a MDCT de 2N entradas (a, b, c, d) é equivalente a um DCT-IV das N entradas (-cR-d, a-bR). O DCT-IV é concebido para o caso de a função no limite direito ser ímpar, e por isso os valores perto do limite direito estão próximos de 0. Se o sinal de entrada for suave, o caso é este: os componentes mais à direita de a e bR são consecutivos na sequência da entrada (a, b, c, d), e por isso a sua diferença é pouca. Vamos observar o centro do intervalo: se reescrevermos a expressão acima como (-cR-d, a-bR) = (-d, a)-(b,c)R, o segundo termo, (b,c)R, fornece uma suave transição no meio. No entanto, no primeiro termo, (-d, a), existe uma potencial descontinuidade onde a extremidade direita de -d encontra a extremidade esquerda de a. Esta é a razão para usar uma função de janela que reduz os componentes perto dos limites da sequência de entradas (a, b, c, d) em direção a 0.
[098] Em cima, a propriedade de TDAC ficou comprovada para a MDCT ordinária, mostrando que a adição de IMDCTs de blocos de tempo adjacente na sua metade de sobreposição recupera os dados originais. A derivação desta propriedade de inversão para a MDCT em janela é apenas ligeiramente mais complicada.
[099] Considere sobrepor conjuntos consecutivos de 2N entradas (A,B) e (B,C), para blocos A,B,C do tamanho N. Lembre-se de cima que quando (A, B) e (B,C)são MDCTed, IMDCTed, e adicionados na sua metade de sobreposição, nós obtemos(B+BR)/2+(B-BR)/2= B , os dados originais.
[100] Agora nós supomos que multiplicamos ambas as entradas MDCT e as saídas IMDCT por uma função de janela do comprimento 2N. Tal como em cima, nós assumimos uma função de janela simétrica, que é, por isso, da forma (W ,WR )em que W é um N vetor de comprimento e R denota reversão tal como antes. Depois a condição Princen-Bradley pode ser escrita como W +WR2 = (1, 1,...), com os quadrados e adições realizados de forma elementar.
[101] Por isso, em vez de MDCTing (A,B), tem-se agora MDCTs (WA,WRB) com todas as multiplicações realizadas de forma elementar. Quando isto é IMDCTed e é novamente multiplicado (de forma elementar) pela função de janela, a última N metade torna-se:
[103] (Note que nós já não temos a multiplicação por 1/2, porque a normalização de IMDCT difere em um fator de 2 no caso em janela.)
[104] De modo similar, a MDCT e IMDCT em janela de (B,C)
[105] resulta na sua primeira metade N:
[107] Quando se adiciona estas duas metades uma à outra, recuperam-se os dados originais.
[108] Em um procedimento idêntico, a próxima frame é calculada usando as partes 205b, 206a, 206b e a primeira parte da frame lado a lado na Fig. 2a. Assim sendo, as janelas 200, 202, 204 correspondem à função de janela que tem um primeiro comprimento de sobreposição das três janelas com os diferentes comprimentos de sobreposição usados pelo gerenciador de janelas controlável 102 da Fig. 1a. Conforme declarado, a Fig. 2a ilustra uma situação em que não são detectados transientes na última frame, na frame atual e na frame seguinte e, especificamente, na zona de antecipação para cada frame indicada pelo item 207 para a última frame, 208 para a frame atual e 209 para a frame seguinte. A Fig. 2b ilustra uma situação, em que os transientes são detectados em posições de transientes 210, 211, 212, 213. Pelo fato de uma posição de transiente ser, por exemplo, detectada em 210, e uma vez que 210 está na zona de antecipação que começa em 207 para a última frame, o controlador 108 determina que deve ser feita uma mudança da primeira janela 201 para uma outra janela 215. Devido aos outros transientes 211, e, particularmente, 212/213 que ficam na próxima zona de antecipação, a frame atual é adicionalmente processada usando a segunda janela 216 com o segundo comprimento de sobreposição. Assim sendo, a janela 215 é uma espécie de uma janela de arranque que muda da janela com o primeiro comprimento de sobreposição indicado em 201 para a segunda janela que tem o segundo comprimento de sobreposição. Conforme ilustrado, o segundo comprimento de sobreposição estende-se apenas por oito ranhuras e, por isso, tem apenas metade do comprimento do primeiro comprimento de sobreposição. Pelo fato de na zona de antecipação que começa em 209 não ser detectado mais nenhum transiente, muda-se de volta para a janela longa 201 através de uma espécie de “parar janela 217”. Mais uma vez, note-se que o comprimento de sobreposição ilustrado em 218 na frame atual por um lado e entre a frame atual e a frame seguinte por outro lado, que está indicada em 218, tem metade do comprimento do comprimento de sobreposição na Fig. 2a para a primeira janela que é 16 ranhuras ilustradas.
[109] Assim sendo, a janela de meia sobreposição é utilizada para transientes que são detectados nas zonas de detecção 1 e 6. Conforme ilustrado em 219, essa zona de detecção compreende duas ranhuras. Assim sendo, a faixa de antecipação está separada em oito ranhuras preferencialmente. Por outro lado, no entanto, pode fazer-se uma subdivisão mais por alto ou mais precisa. Porém, em modelos preferidos, a zona de antecipação está subdividida em pelo menos quatro ranhuras e preferencialmente subdividida em oito ranhuras conforme ilustrado em 2b e 2c e outras figuras.
[110] Conforme ilustrado, a segunda janela 216 tem a meia sobreposição em ambos os lados, enquanto a janela 215 tem a meia sobreposição no lado direito e tem a sobreposição total no lado esquerdo, e a janela 217 tem a meia sobreposição no lado esquerdo e a sobreposição total no lado direito.
[111] Faz-se referência à Fig. 2c. A Fig. 2c ilustra uma situação, em que o detector de transientes detecta na zona de antecipação que começa no centro da última frame que existe um transiente na segunda zona de detecção de transientes 222. Assim sendo, muda-se para um quarto de sobreposição para garantir que o transiente 223 é apenas “espalhado” dentro da janela 224, sem ser incluído na zona definida pela janela 201 ou na zona definida pela janela 225. Além disso, é indicada uma sequência, na qual se realiza uma mudança de um quarto de sobreposição para a última frame e a frame atual para a meia sobreposição entre a frame atual e a frame seguinte e de volta para a sobreposição total entre a frame seguinte e a frame lado a lado. Isto deve-se aos transientes detectados. Na zona de antecipação que começa em 208, os transientes são detectado na parte um e na parte seis, enquanto os transientes são detectados na parte dois e parte cinco entre a última frame 207 e a frame atual 208.
[112] Assim sendo, a Fig. 2c ilustra uma sequência de janelas, onde é apresentada a primeira janela 201 que tem o primeiro ou todo comprimento de sobreposição, onde é utilizada uma segunda janela que tem o segundo comprimento de sobreposição indicado em 218, onde a segunda janela pode, por exemplo, ser a janela 225 ou a janela 226, e onde uma terceira janela com um terceiro comprimento de sobreposição é ilustrada como janela 224 ou janela 225 que tem no seu lado esquerdo, o pequeno comprimento de sobreposição 229. Assim sendo, é ilustrada uma sequência de janelas que muda de uma sobreposição total para um quarto de sobreposição e depois para meia sobreposição e depois para uma sobreposição total. Por conseguinte, a primeira janela com o primeiro comprimento de sobreposição pode ser uma janela assimétrica com uma sobreposição diferente desde a primeira sobreposição em um lado e com o primeiro comprimento de sobreposição no outro lado. Em alternativa, porém, a primeira janela pode também ser uma janela com o primeiro comprimento de sobreposição em ambos os lados conforme ilustrado em 216 na Fig. 2b. Além disso, a segunda janela com o segundo comprimento de sobreposição pode ser uma janela simétrica com o segundo comprimento de sobreposição em ambos os lados ou pode ser uma janela assimétrica com o segundo comprimento de sobreposição em um lado e, no outro lado, com o primeiro comprimento de sobreposição ou o terceiro comprimento de sobreposição ou outro qualquer comprimento de sobreposição. Por fim, a terceira janela com o terceiro comprimento de sobreposição pode ser uma janela simétrica com o terceiro comprimento de sobreposição em ambos os lados ou pode ser uma janela com o terceiro comprimento de sobreposição em um lado e com um comprimento de sobreposição diferente no outro lado.
[113] Posteriormente são ilustrados outros modelos relativamente às seguintes figuras. De um modo geral, a detecção do transiente e a sua localização podem ser feitas por exemplo usando um método ou procedimento similar ao detector de transientes descrito na Patente norte-americana 6.826.525 [82] mas podem ser também usados quaisquer outros detectores de transientes.
[114] A unidade de detecção de transientes identifica a presença e, se se aplicar, a localização do início do transiente mais forte na nova parte do sinal de uma certa frame, isto é, excluindo a zona de sobreposição entre a frame atual e a frame anterior. A resolução do índice que descreve a localização do transiente é, nas seguintes figuras, 1/8 do comprimento da frame, portanto, o índice vai de 0 a 7. Em figuras subsequentes, os sub-blocos com índices 0, ..., 7 representam os mais recentes 20 m de um sinal do domínio de tempo que são usados para a codificação da frame atual.
[115] As Figuras 3a-3c ilustram a seleção da largura da sobreposição de transformação para um comprimento de transformação em m exemplificativo, isto é, para um comprimento de transformação TCX20.
[116] Na Fig. 3a não está presente um transiente na frame atual. Por isso, é detectada uma sobreposição total 300.
[117] A Fig. 3b, em contrapartida, ilustra uma situação em que um transiente é detectado no sétimo sub-bloco, de modo a ser selecionada uma meia sobreposição 302 pelo controlador 108 da Fig. 1a. Além disso, a Fig. 3c ilustra a situação em que um transiente é detectado no sexto sub-bloco e, por isso, é definida uma sobreposição mínima304 pelo controlador. Assim sendo, o detector da localização de transientes 106 detecta se existe um transiente e, em caso negativo, é selecionada a largura de sobreposição ou a primeira largura de sobreposição 300. Quando, porém, existe um transiente no sétimo sub-bloco como é determinado pelo detector de localização de transientes 106 da Fig. 1a, o segundo comprimento de sobreposição 302, que é preferencialmente metade do primeiro comprimento de sobreposição 300, é definido pelo controlador e quando o transiente está no sub-bloco 6, é definida uma sobreposição mínima. A Fig. 3c adicionalmente mostra a situação em que, apesar do fato de o transiente ser detectado na localização 6 ou 7, o comprimento de transformação mantém-se mesmo assim. Assim sendo, os comprimentos de transformação das janelas 301a, 301b ou 303a ou 303b são idênticos e iguais à primeira janela que tem o comprimento de sobreposição mais comprido ilustrado na Fig. 3a em 301a e 301b. Como se pode ver mais à frente, é preferível não apenas controlar o comprimento de sobreposição, mas adicionalmente controlar o comprimento de transformação especificamente em situações nas quais o transiente é detectado em outros sub-blocos. Assim sendo, a largura de sobreposição entre a janela de transformação atual e a seguinte depende da localização do transiente. A sobreposição entre a janela de transformação atual e a anterior, porém, foi determinada ao processar a frame anterior.
[118] Posteriormente é feita referência à Fig. 4a até 4g para mostrar a seleção do comprimento de sobreposição de transformação para o comprimento de transformação de 10 m, isto é, TCX10. Se, por exemplo, um codec é limitado para 10 m de comprimento de transformação, a sobreposição entre duas janelas TCX10 é escolhida de modo a suprimir fortemente pseudo-transientes devido à modelação TNX de distorção do tempo do erro de codificação. Além disso, é minimizada a persistência do transiente para mais do que cinco sub-blocos anteriores e mais do que cinco sub-blocos seguintes. Isto é, o pré-eco e o pós- eco são limitados para 12,5 ms. A escolha da sobreposição baseia-se na posição do transiente.
[119] A Fig. 4a ilustra uma situação em que um transiente é detectado no 0.° ou 1.° sub-bloco. De seguida, são escolhidas as “primeiras janelas” 401,402 que têm o comprimento de sobreposição máximo ou o primeiro 403. Além disso, para fins ilustrativos, é ilustrada uma sobreposição total de TCX20 com a janela anterior e com a janela seguinte com a referência 404. Assim sendo, a “sobreposição total” corresponde a 50% da janela 401, 402 ou corresponde a 33% da janela TCX20 301a, 301b, por exemplo. Assim sendo, os comprimentos de sobreposição 300 na Fig. 3a e 403 na Fig. 4a são idênticos.
[120] A Fig. 4b ilustra uma situação em que o transiente é detectado no segundo sub-bloco e o controlador depois controla a sequência de janelas, de modo a escolher uma sobreposição mínima 404 correspondente ao “terceiro comprimento de sobreposição” ilustrado em 229 da Fig. 2c. Assim sendo, as janelas 406, 407 que são, neste modelo, janelas assimétricas, são selecionadas tendo o comprimento de sobreposição curto correspondente á “segunda janela” na linguagem da Fig. 1a e 1b. Além disso, quando é detectado o transiente no terceiro sub-bloco, é selecionado o segundo comprimento de sobreposição 405. Assim sendo, as janelas 408, 409 correspondem à terceira janela que tem o terceiro comprimento de sobreposição 405, mas são janelas assimétricas.
[121] Além disso, conforme ilustrado na Fig. 4d, o comprimento de sobreposição total é determinado quando o transiente está na parte do transiente 4 e, por conseguinte, as janelas selecionadas nesta situação são as janelas 401, 402 ilustradas na Fig. 4a. Ao escolher a sobreposição de modo a que uma das transformações de sobreposição contenha um transiente conforme ilustrado, o caso em que o transiente está no segundo ou no terceiro sub-bloco é ilustrado na Fig. 4f ou 4g respectivamente. Os casos em que o transiente está no sub- bloco zero ou no primeiro sub-bloco são depois tratados separadamente, tal como nos casos em que o transiente está no quarto ou no quinto sub-bloco. Por isso, faz-se referência à Fig. 4e que ilustra a situação em que o transiente está no sub-bloco zero, sendo obtida uma sequência de janelas conforme ilustrado na Fig. 4e, onde há uma meia sobreposição 405 e que é depois mudada de volta para a sobreposição total 403. Isto é obtido pela sequência de janelas formada pela janela inicial 408, e a janela de parar 409 e outra janela de comprimento normal 402.
[122] A Fig. 4f, por outro lado, ilustra a situação em que o transiente está no primeiro sub-bloco, de modo ser selecionado um curto ou um terceiro comprimento de sobreposição 404, que é possibilitado pela janela inicial 406 e a janela de parar 407 que é depois seguida por uma janela de sobreposição total 402. Assim sendo, a janela 408 ou 409 na Fig. 4e ilustra a segunda janela que tem um segundo comprimento de sobreposição 405 e a janela 406 e 407 corresponde à terceira janela que tem o terceiro comprimento de sobreposição 404”.
[123] A Fig. 4g ilustra uma situação em que o transiente é detectado no quarto sub-bloco. Esta situação é refletida por uma primeira janela 401 que tem um comprimento de sobreposição total 403 e uma segunda janela 409 que tem um comprimento de meia sobreposição 405 e uma outra segunda janela 414 que tem um segundo comprimento de sobreposição 405. O lado direito da janela 414, porém, depende do comprimento de sobreposição determinado para o frame seguinte, isto é, a próxima zona de antecipação que começa no momento indicado pelo número de referência 415.
[124] Assim sendo, as Figuras 4a-4g ilustram a situação em que o comprimento de sobreposição é determinado de modo a que o transiente esteja localizado apenas dentro de uma janela que é garantida pelo fato de, na localização do transiente, por exemplo no sub-bloco 4, os coeficientes da janela 414 serem iguais a 0 e de os coeficientes da janela 409 serem iguais a 1.
[125] Posteriormente faz-se referência a um modelo preferido, no qual o comprimento de transformação é derivado do comprimento de sobreposição. As Figuras 5a, 5b, 5c ilustram três diferentes comprimentos de sobreposição 403, 405, 404, em que o comprimento de sobreposição total é determinado por duas primeiras janelas indicadas em 501 e 502. Além disso, o comprimento de meia sobreposição é obtido por duas segundas janelas, cujo segundo comprimento de sobreposição está ilustrado em 503 e 504, e o terceiro comprimento de sobreposição 404 é obtido por duas terceiras janelas 505 e 506, cujo terceiro comprimento de sobreposição é 404. A sobreposição total é codificada preferencialmente usando um bit "0", a meia sobreposição é codificada usando uma combinação do bit “11” e a sobreposição mínima é codificada usando a combinação do bit “10” bit.
[126] Assim sendo, esta codificação é útil quando determinar a largura de sobreposição e a seleção do comprimento de sobreposição quando se pode usar TCX-20 e uma combinação de frames TCX-5 e TCX-10.
[127] Ao contrário dos esquemas de codificação que derivam as sobreposições instantâneas de inter-transformação a partir de uma seleção fornecida de comprimentos de transformação para um par de frames, isto é, a largura de sobreposição segue a saída da determinação do comprimento de transformação, um modelo preferido da presente invenção refere-se a um sistema de codificação que pode controlar ou derivar o(s) comprimento(s) de transformação para serem usados para uma frame particular usando a largura de sobreposição atribuída a essa frame e opcionalmente a largura de sobreposição de uma frame anterior, isto é, o comprimento de transformação segue os dados da unidade de determinação da largura de sobreposição ou, relativamente à Fig. 1a, através da cooperação do detector de localização de transientes106 e do controlador 108. A Fig. 6a ilustra um quadro de codificação e a Fig. 6b ilustra um correspondente quadro de decisão. Nas Figuras 5a, 5b e 5c, a linha contínua representa a metade direita da janela da última transformação na frame atual e a linha descontínua representa a metade esquerda da janela da primeira transformação na frame seguinte.
[128] A Fig. 6a ilustra uma codificação da sobreposição e do comprimento de transformação com base na posição do transiente. Em particular, a decisão de transformação curta/longa é codificada usando 1 bit como indicado na coluna 600 e a sobreposição com a primeira janela da frame seguinte é codificada usando o código do comprimento variável com 1 ou 2 bits conforme ilustrado na coluna 602. O código para a decisão de transformação curta/longa 600, por um lado, e o código binário para a largura de sobreposição da coluna 602 estão concatenados para obter o chamado código de sobreposição na coluna 603. Além disso, a sobreposição com a primeira janela da frame seguinte é determinada pelo controlador 108 dependendo do índice da posição do transiente da coluna 604 conforme determinado pelo detector de transientes 106. Ao contrário de ilustrações anteriores, o índice da posição do transiente tem uma maior faixa de antecipação a começar em duas ranhuras anteriores indicadas por -1 e -2 e para esta situação, adicionalmente, a sobreposição total é sinalizada neste modelo.
[129] Assim sendo, a sobreposição total é sinalizada para “nenhum transiente” ou uma posição de transiente entre -2 e 1. Além disso, uma meia sobreposição é sinalizada pela coluna 605 para posições do transiente 2 e 3 e 7 e a sobreposição mínima é sinalizada para posições do transiente 4, 5, 6.
[130] Assim sendo, o índice “-2” na Fig. 6a significa que houve um transiente na frame anterior na posição 6, e “-1” significa que houve um transiente na frame anterior na posição 7. Tal como foi afirmado, “nenhum” significa que não foi detectado nenhum transiente na zona de antecipação do transiente.
[131] Tal como foi delineado, a decisão de transformação curta/longa e a largura de sobreposição são codificadas em conjunto usando o código de sobreposição. O código de sobreposição consiste de 1 bit para uma decisão de transformação curta/longa e do código binário para a largura de sobreposição codificada com 1 ou 2 bits. O código é um código de comprimento variável, onde é automaticamente detectado onde começa um nome de código e onde termina o nome de código anterior. Os códigos para a decisão de transformação curta/longa e para a largura de sobreposição estão definidos na Fig. 6a. Por exemplo, quando a decisão de transformação curta/longa fornece 1 e é selecionada a sobreposição mínima, isto é, um código binário é igual a 10, o código de sobreposição é 110.
[132] Além disso, Fig. 6a ilustra a situação em que é tomada uma decisão de transformação curta para todas as posições do transiente entre -2 e 5 e em que é escolhida uma transformação longa para nenhum transiente ou para o transiente na posição 6 ou 7. Assim sendo, a Fig. 6a ilustra a situação em que o detector da localização do transiente pode detectar um certo transiente em uma certa posição e em que, independentemente uma da outra ou em paralelo, pode ser determinada a decisão de transformação curta/longa e a sobreposição com a primeira janela da frame seguinte, isto é, é possível derivar o código da sobreposição total 603. Enfatiza-se que os profissionais na matéria entendem que podem ser usados quaisquer outros códigos para codificar diferentes transformações curtas/longas e diferentes sobreposições. Além disso, podem ser determinados e sinalizados mais de dois, isto é três ou mesmo mais, comprimentos de transformação e, ao mesmo tempo, podem ser determinados e também codificados mais do que três sobreposições, como quatro ou cinco diferentes comprimentos de sobreposição. Tudo isto é determinado, por exemplo, em resposta a um detector da localização do transiente que opera em pelo menos quatro diferentes divisões por frame ou, tal como no modelo, que opera em oito divisões por frame ou, para uma decisão mais precisa, que opera em ainda mais divisões, tal como em dezesseis divisões de uma frame.
[133] Com base no código de sobreposição para a frame atual e para a frame anterior, é tomada uma decisão para uma combinação do comprimento de transformação para usar, conforme ilustrado na Fig. 6b. Assim sendo, a Fig. 6b ilustra a decisão de um comprimento de transformação com base no código de sobreposição anterior e no código de sobreposição atual. Por exemplo, se o código de sobreposição anterior e o código de sobreposição atual forem ambos “00”, é utilizada uma janela como 401. Se o código de sobreposição anterior foi 10 e o código de sobreposição atual for 00, é selecionada a mesma janela. No entanto, se o código anterior for 111, ou seja um código de meia sobreposição, e o código de sobreposição atual for 00, é selecionada a janela 409 da Fig. 4c, por exemplo. Para um código de sobreposição anterior de 110 e o código de sobreposição atual 00, é novamente selecionada uma transformação longa, mas com uma janela idêntica à janela 407, e a situação é a mesma para o código de sobreposição anterior de 010 e o código de sobreposição atual de 00, isto é, é selecionada a janela 407 da Fig. 4f. Por fim, para um código de sobreposição anterior 011, e para o código de sobreposição atual 00, é selecionada uma janela como 409 na Fig. 4e.
[134] São selecionadas outras janelas para outras combinações e isto é especificamente ilustrado relativamente à Fig. 7. Assim sendo, a Fig. 7 ilustra algumas das combinações do comprimento de transformação juntamente com a posição do transiente na frame atual e com os códigos de sobreposição para a frame atual e para frame anterior. 110/010 - 111 na Fig. 7 significa que o código de sobreposição anterior é 110 ou 010 e que o código de sobreposição atual é 111. A Fig. 7 ilustra, por isso, diferentes combinações. Por exemplo, a imagem no lado esquerdo superior da Fig. 7 ilustra uma sobreposição mínima no início de uma sequência de duas transformações TCX-5 e uma transformação TCX-10 seguinte que tem a sobreposição total. Contrariamente a isso, a imagem por baixo desta imagem ilustra uma sobreposição mínima seguida por quatro janelas TCX-5, em que a quarta janela das janelas TCX-5 tem meia sobreposição e assim por diante. Assim sendo, os números de referência 700, 701 ilustram uma sequência de duas janelas TCX-5 ou de duas janelas curtas seguidas por uma janela média. De modo idêntico, os números de referência 702, 703, 704, 705, 706, 707 ilustram uma situação com quatro comprimentos de transformação curta ou transformações “TCX-5”, enquanto os números de referência 708, 709, 710, 711 ilustram a situação em que há, da primeira vez, isto é, no início da sequência, uma janela de comprimento de transformação média, tal como uma janela TXC 10 seguida por duas janelas TCX-5 ou de comprimento de transformação curta. As sequências de 700 a 711 na Fig. 7 podem ser introduzidas por outras sequências dessas ou por janelas TCX-20 ou de comprimento de transformação longa que têm diferentes sobreposições, tal como sobreposições curtas em 700, 702 por exemplo, uma sobreposição média em 704 ou sobreposições longas em 708 ou 710, por exemplo. Ao mesmo tempo, a sequência pode ser seguida por outras sequências dessas ou pode ser seguida por TCX-20, isto é, por janelas de transformação longa, mas com um comprimento de sobreposição diferente. Assim sendo, a sequência 700, por exemplo, termina com uma sobreposição longa e a sequência 702, por exemplo, termina com uma sobreposição média ou a sequência 706, por exemplo, termina com um comprimento de sobreposição pequeno.
[135] Conforme ilustrado na Fig. 1a, a informação de janela, isto é, o código de sobreposição 603 da Fig. 6a ilustrado em 112 na Fig. 1a pode ser associado a cada frame codificada por uma interface de saída 114.
[136] Além disso, a transformação aplicada no conversor 104 pode ser uma MDCT ou uma MDST ou uma transformação de introdução de distorção diferente que é caracterizada pelo fato de o número de valores espectrais em um bloco de valores espectrais ser inferior ao número de amostras em janela em um bloco de amostras em janela introduzido na transformação ou, relativamente ao lado do descodificador onde o número de amostras de saída do domínio do tempo é superior ao número de valores espectrais introduzidos nessa transformação de retorno ou inversa redutora da distorção.
[137] Conforme ilustrado em todas as Figuras de 2 a 7, é mantida uma grelha de frames constante. Assim sendo, o controlador 108 garante que, apesar de se mudar para comprimentos de transformação mais curtos, tal como por exemplo ilustrado na Fig. 7, é sempre mantida a mesma grelha de frames constante. Isto é garantido pelo uso exclusivo dessas janelas específicas que resultam sempre em um comprimento de transformação similar para cada classe de janelas no contexto do correto tamanho de sobreposição. Assim sendo, cada comprimento de transformação TCX-5 é definido para ter essa zona de sobreposição e uma zona constante entre as duas zonas de sobreposição que a transformação resulta em N/4 valores espectrais, onde N é o número dos valores espectrais dentro de uma frame. A forma e o tamanho e especificamente os comprimentos de sobreposição das janelas de transformação TCX 20 são adicionalmente concebidos de modo a que esta janela resulta em N amostras espectrais N depois da transformação.
[138] A Fig. 1c ilustra uma implementação privilegiada do lado do descodificador do conversor controlável 158. Em particular, o conversor controlável 158 compreende um conversor frequência-tempo 170, um gerenciador de janelas de síntese posteriormente conectado 172 e um adicionador de sobreposição final 174. Especificamente, o conversor frequência- tempo realiza a transformação tal como uma transformação DCT-IV e uma subsequente operação de desdobrar, de modo a que a saída do conversor frequência-tempo 170 tenha, para uma primeira ou longa janela, 2N amostras enquanto a introdução no conversor frequência-tempo foi, a título exemplificativo, de N valores espectrais. Por outro lado, quando a introdução no conversor frequência-tempo é de N/8 valores espectrais, a saída é de N/4 valores do domínio do tempo para uma operação MDCT, a título exemplificativo.
[139] De seguida, a saída do conversor frequência-tempo 170 é introduzida em um gerenciador de janelas de síntese, que aplica a janela de síntese que é preferencialmente exatamente a mesma da janela do lado do codificador. Assim sendo, cada amostra está, antes de ser adicionada uma sobreposição, em janela mediante duas janelas, de modo a que a resultante “gestão total de janelas” seja um quadrado dos correspondentes coeficientes de janela para que a condição Princen-Bradley seja preenchida conforme discutido acima.
[140] Por fim, o adicionado de sobreposição 174 faz a correspondente adição correta de sobreposição para finalmente obter o sinal de áudio descodificado na saída 175. Em particular, o conversor frequência-tempo 170, o gerenciador de janelas de síntese 172 e o adicionador de sobreposição 174 são controláveis e são controlados, por exemplo, pelo código de sobreposição 603 discutido no contexto da Fig. 6a ou por qualquer outra informação relativa à situação discutida no contexto da Fig. 6b. No entanto, é preferencialmente determinado o correspondente comprimento de transformação para o converso frequência-tempo, com base no código de sobreposição anterior e no código de sobreposição atual usando o quadro da decisão do comprimento de transformação. Além disso, o tamanho/forma da janela é também determinado com base no código de sobreposição anterior e em um código de sobreposição atual, e o mesmo é válido para o adicionado de sobreposição, de modo a que o adicionador de sobreposição aplique a sobreposição máxima, a sobreposição média ou a sobreposição mínima conforme sinalizada.
[141] Assim sendo, é preferível o controlador 180 no descodificador na Fig. 1c receba os códigos de sobreposição, isto é, o código de sobreposição anterior 606 e o código de sobreposição atual 607, e determina, a partir desta informação, a sobreposição e a janela para o bloco de valores espectrais.
[142] Assim sendo, é determinada cada janela e o correspondente tamanho de transformação associado à janela. Nos modelos preferidos em que uma MDCT é usada como uma transformação e uma MDCT inversa é usada para a transformação inversa, o tamanho da janela é duas vezes o comprimento de transformação ou o comprimento de transformação é metade do tamanho da janela.
[143] A Fig. 1d ilustra outro modelo da presente invenção implementado com um dispositivo móvel, em que o dispositivo móvel compreende, por um lado, um codificador 195 e, por outro lado, um descodificador 196. Além disso, de acordo com um modelo preferido da presente invenção, tanto o codificador 105 como o descodificador 106 recuperam a mesma informação de janela a partir de apenas uma única memória 197, uma vez que as janelas utilizadas no codificador 195 e as janelas utilizadas no descodificador 196 são idênticas umas às outras. Assim sendo, o descodificador tem uma memória de leitura apenas 197 ou uma memória de acesso aleatório ou geralmente qualquer memória 197 que guarda apenas um único conjunto de sequências de janelas ou de janelas para usar tanto no codificador como no descodificador. Isto é vantajoso pelo fato de os diferentes coeficientes de janela para as diferentes janelas não terem de ser guardados duas vezes, com um conjunto para o codificador e um conjunto para o descodificador. Em vez disso, pelo fato de conforme a presente invenção serem usadas janelas e sequências de janelas idênticas no codificador e no descodificador, apenas um conjunto de coeficientes de janela tem de ser guardado. Por conseguinte, a utilização da memória do dispositivo da invenção ilustrado na Fig. 1d é substancialmente reduzida relativamente a um conceito diferente, no qual o codificador e o descodificador têm diferentes janelas ou no qual se faz um certo pós-processamento com um processamento que não é o das operações de gestão de janelas.
[144] Posteriormente fez-se referência a outro modelo privilegiado relativamente ao modelo de mudança do comprimento de transformação/transformação.
[145] O esquema de codificação de comprimento adaptativo de transformação e sobreposição delineado acima foi implementado no caminho da excitação codificada da transformação (TCX) do codificador LD-USAC, uma variante de pouco atraso de xHE-AAC [5] com um comprimento de frame de 20 m, e testada a 48 kbit/s mono. Neste ponto de configuração, LD-USAC opera no modo TCX apenas com um comprimento do núcleo da frame de 512 amostras e uma sobreposição de transformação longa de 256 amostras, isto é 33%, durante as condições de entrada (pseudo)estacionárias. O codificador inclui uma unidade de detecção de transientes, cuja saída é introduzida em uma unidade de determinação do comprimento de transformação e na unidade de determinação da largura de sobreposição inventiva. Estão disponíveis três comprimentos de transformação para codificar: um comprimento de TCX-20 com 512 coeficientes MDCT, um comprimento de TCX-10 com 256 coeficientes MDCT e um comprimento especial de TCX-5 com 128 coeficientes MDCT. Correspondentemente, uma de três larguras de sobreposição pode ser utilizada e transmitida por frame: sobreposição máxima de 256 amostras de núcleo (10 m), meia sobreposição de 128 amostras de núcleo (5 m) e sobreposição mínima de 16 amostras (0,6 m). Para cada frame têm de ser selecionados os comprimentos de transformação, de modo a que a soma dos comprimentos de todas as transformações nessa seja igual ao comprimento da frame de núcleo, isto é, 512 amostras.
[146] Em um modelo privilegiado do sistema de codificação da invenção, o codificador opera do seguinte modo: 1. A unidade de detecção de transientes identifica a presença e, se se aplicar, a localização do início do transiente mais forte na nova parte do sinal de uma certa frame (isto é, excluindo a zona de sobreposição entre a frame atual e a frame anterior). A resolução do índice que descreve a localização do transiente é 1/8 do comprimento da frame, portanto, a faixa do índice é 0, ..., 7. 2. Se não for detectado nenhum transiente ou se o índice de localização do transiente for 6 ou 7, a frame afetada é codificada usando a transformação TCX-20 por decisão da unidade de determinação do comprimento de transformação. Caso contrário, é utilizada uma combinação de transformações TCX-10 e/ou TCX-5: ou 2x TCX-10 ou 4x TCX-5 ou TCX-10 seguida de 2x TCX-5 ou 2x TCX-5 seguida de TCX-10. 3. A unidade de determinação da largura de sobreposição controla agora as formas de sobreposição das transformações usadas dentro da frame atual (excluindo a sobreposição já escolhida com a última frame) de acordo com os objetivos em numerados acima, de tal modo que são selecionadas as sobreposições mais longas possíveis que não violem esses objetivos. Em particular, se uma frame for TCX-20 e o índice de localização do transiente for 6 ou 7, a unidade de sobreposição devolve a sobreposição mínima ou a meia sobreposição, respectivamente. Se não estiver presente nenhum sinal não estacionário em uma frame, é utilizada a sobreposição máxima. 4. Além disso, se uma combinação TCX-10/-5 foi devolvida pela unidade de determinação do comprimento de transformação para a frame (não- estacionária), a unidade de determinação da largura de sobreposição controla a composição exata dos comprimentos de transformação nessa frame. Particularmente, se for utilizada a sobreposição máxima anteriormente, assim como, a frame atual, aplica-se 2x TCX-5 seguido de TCX-10 na frame atual, sendo a primeira das transformações TCX-5 a transformação de transição da invenção com sobreposição dupla. Se a largura de sobreposição da última frame ou da frame atual for inferior ao máximo, é também utilizada uma das configurações TCX-10/-5 misturadas. Se tanto a última como a atual frame tiverem uma sobreposição inferior ao mínimo, utiliza-se 4x TCX-5. 5. O codificador procede agora à gestão de janelas do sinal e das atuais MDCTs para a frame. É preciso ter cuidado especial com a ordem das operações de gestão de janelas na presença da janela de transição de sobreposição dupla da invenção para obter uma perfeita reconstrução depois da descodificação. O remanescente do processo de codificação é idêntico ao de xHE-AAC. TNS é opcionalmente aplicado às transformações individuais e pode ser feito o agrupamento de dois conjuntos de coeficientes TCX-5 MDCT em um conjunto de coeficientes tipo TCX-10 (intercalado) para guardar a informação lateral. Para cada frame, é transmitido ao descodificador um valor da largura de sobreposição, assim como, uma bandeira de 1-bit que indica a codificação TCX- 20 ou não TCX-20.
[147] Tal como o codificador, o descodificador apropriado de acordo com o modelo privilegiado apresenta uma unidade de determinação da largura de sobreposição que interpreta os valores da largura de sobreposição transmitidos para controlar o comprimento e a gestão de janelas das MDCTs inversas, de modo a que o codificador e o descodificador estejam completamente sincronizados relativamente às transformações utilizadas. Tal como no codificador, a ordem do gerenciamento de janelas e das operações de dobrar depois das MDCTs individuais é fulcral para obter a reconstrução perfeita do sinal.
[148] Posteriormente um outro modelo da invenção é discutido e ilustrado no contexto das Figuras 8 a 15f. Este aspecto, que é também denominado de “aspecto de sobreposição múltipla" pode ser combinado com o modelo da mudança da largura de sobreposição e do comprimento de transformação que foi discutido relativamente às Figuras 1 a 7, ou pode ser implementado separadamente a partir deste aspecto.
[149] Um lado do codificador da invenção é ilustrado na Fig. 8a e um lado do descodificador é ilustrado na Fig. 8b. Em particular, o aparelho para criar um sinal codificado ou o codificador ilustrado na Fig. 8a compreende um controlador da sequência de janelas para criar uma informação da sequência de janelas 809 encaminhada, por exemplo, para o pré-processador 802, um conversor de espectro 804 ou uma interface de saída 810 conforme ilustrado na Fig. 8a. A informação da sequência de janelas indica uma primeira função da janela para criar uma primeira frame de valores espectrais, uma segunda função da janela e uma ou mais terceiras funções da janela para criar uma segunda frame de valores espectrais. A primeira função da janela, a segunda função da janela e a ou as terceiras funções da janela sobrepõem-se dentro de uma zona de sobreposição múltipla.
[150] Esta zona de sobreposição múltipla está, por exemplo, ilustrado em 1300 na Fig. 13 ou Fig. 14b ou Fig. 15e ou Fig. 15f. Assim sendo, nesta zona de sobreposição múltipla 1300, pelo menos três funções da janela, isto é, a primeira função da janela relativamente à Fig. 15f ilustrada em 1500, a segunda função da janela 1502 e a terceira função da janela 1503, sobrepõem-se umas às outras dentro da zona de sobreposição múltipla 1300. Pode haver também uma sobreposição mais alta, tal como uma sobreposição de quatro, cinco ou ainda mais janelas. Em alternativa, a Fig. 15e ilustra a situação em que mais uma vez há uma primeira função da janela 1500, a segunda função da janela 1502 mas agora quatro terceiras funções da janela 1503 ao contrário de uma única terceira função da janela 1503 da Fig. 15f.
[151] É fornecido um pré-processador 102 para manusear corretamente esta zona de sobreposição múltipla que resulta em uma redução significativa do atraso exigido para a zona de antecipação do transiente. O pré-processador esta configurado para gerir as janelas de um segundo bloco de amostras correspondente à segunda janela e às ou às terceiras funções da janela usando uma função auxiliar da janela para obter um segundo bloco de amostras em janela. Além disso, o pré-processador está configurado para pré-processar o segundo bloco de amostras em janelas usando uma operação de dobrar uma parte do segundo bloco que se sobrepõe com o primeiro bloco na parte de sobreposição múltipla para obter um segundo bloco pré-processado de amostras de janela com uma parte de sobreposição múltipla modificada. Além disso, um conversor de espectro 804 está configurado para aplicar uma transformação de introdução de distorção ao primeiro bloco de amostras usando a primeira janela para obter a primeira frame de valores espectrais. Além disso, o conversor de espectro está configurado para aplicar uma transformação de introdução de distorção em uma primeira parte do segundo bloco pré-processado das amostras em janela, usando a segunda função da janela para obter uma primeira parte de amostras espectrais de uma segunda frame, e para aplicar a transformação de introdução de distorção em uma segunda parte do segundo bloco pré- processado das amostras em janela, usando a uma ou mais terceiras funções da janela para obter uma segunda parte de amostras espectrais da segunda frame. Além disso, um processador 806 indicado como “processador de codificação” é fornecido dentro do codificador da Fig. 8a para processar a primeira frame e a segunda frame de valores espectrais para obter frames codificadas do sinal de áudio na saída 807 do bloco 806. Assim sendo, o processador de codificação pode ser idêntico ao ou diferente do processador de codificador 110 da Fig. 1a e pode realizar qualquer um dos conhecidos MPEG ou AMR ou qualquer outra característica de codificação na técnica.
[152] Faz-se depois referência à Fig. 13. A Fig. 13 mostra mais uma vez a segunda metade da primeira função da janela 1500, da segunda função da janela 1502 e, na segunda imagem da Fig. 13, duas terceiras funções da janela 1503. Contrariamente a isto, a ilustração superior na Fig. 13 mostra mais uma vez uma primeira função da janela 1500, uma segunda função da janela 1502 e, contrariamente por exemplo à Fig. 15f e ligeiramente similar à Fig. 15e, quatro terceiras funções da janela 1503. Em alternativa, o número de terceiras funções da janela pode ser também três, cinco ou mais.
[153] Além disso, a Fig. 13 ilustra ainda uma situação com uma diferente primeira função da janela 1500’, uma diferente segunda função da janela 1502’ e a mesma terceira função da janela 1503. A diferença entre 1500 e 1500’ é que o comprimento de sobreposição das funções 1500’ e 1502’ é metade relativamente às janelas 1500, 1502. Assim sendo, a situação das funções da janela 1500’ e 1502’ é que o comprimento da sobreposição é meia sobreposição ilustrada em 218, por exemplo na Fig. 2d, enquanto o comprimento de sobreposição total corresponde a uma frame completa como, por exemplo, é ilustrado em 203 na Fig. 2a ou Fig. 13. Por conseguinte, as funções da janela 1500’ e 1502’ ilustradas nesta figura representam uma combinação do aspecto de sobreposição múltipla e do aspecto da determinação da largura de sobreposição.
[154] Para explicar melhor o procedimento do pré-processador 802 no lado do codificador, faz-se referência à ilustração na Fig. 11a por um lado, e aos fluxogramas na Fig. 9a, 9b por outro lado. Relativamente ao descodificador, faz- se referência às correspondentes ilustrações na Fig. 8b, Figuras 10a, 10b e à ilustração na Fig. 11b. Além disso, o codificado é também ilustrado na Fig. 12a e o descodificador é ilustrado na Fig. 12b.
[155] Em particular, a Fig. 11a ilustra mais uma veza primeira função da janela 1500 e pelo menos uma parte da segunda função da janela 1502 e ou quatro terceiras funções da janela 1503 ou uma única terceira função da janela 1503. Em particular, a Fig. 11a adicionalmente ilustra a função auxiliar da janela 1100. A função auxiliar da janela 1100 tem uma primeira parte 1100a que coincide com a primeira parte ascendente 1500a da primeira função da janela 1500. Além disso, a função auxiliar da janela 1100 tem uma segunda parte de não sobreposição 1100b preferencialmente tem coeficientes de janela iguais à unidade e uma terceira parte 1100c correspondente a uma parte direita descendente ou em queda da ou das terceiras funções da janela. Assim sendo, a função auxiliar da janela 1100 cobre a segunda metade da frame anterior ilustrada em 1102, sendo a primeira metade da frame atual i indicada por 1103, a segunda metade da frame atual i indicada por 1104 e a primeira pequena parte 1105 coberta pela parte da função auxiliar da janela 1100c. Tal como se torna claro na Fig. 11a, a função auxiliar da janela é tratada como uma “sequência de janelas inicial" ou corresponde a essa “sequência de janelas inicial”, como se na frame i + 1 tivesse de ser introduzida uma sequência de janelas curtas. É importante, porém, que uma sequência de janelas curtas já tenha sido introduzida na frame atual em vez de na frame que está a chegar i + 1.
[156] A funcionalidade do pré-processador é depois ilustrada na Fig. 11a. O pré-processador pré-processa o segundo bloco de amostras de janelas obtido pela gestão de janelas usando a função auxiliar da janela que usa uma votação na operação indicada como “distorção de dobrar inicial, frame i”. Assim sendo, a parte mais à esquerda do segundo bloco de amostras em janela indicada por 1110 é dobrada para dentro. Esta parte 1110 é a parte do segundo bloco de amostras em janela que se sobrepõem com a primeira função anterior da janela 1500, isto é, a parte do segundo bloco de amostras em janela correspondente ao período de tempo 1102 e que se situa na frame anterior i - 1. Pelo fato de esta operação de dobrar da parte 1110 influenciar agora a zona de sobreposição 1300, a operação de dobrar realizada pelo pré-processador resulta em uma parte de sobreposição múltipla modificada. Agora, o conversor de espectro aplica a operação ilustrada na linha da Fig. 11a indicada como “distorções de dobrar internas”. Em particular, o conversor de espectro aplica uma transformação de introdução de distorção ao primeiro bloco de amostras usando a primeira função da janela ilustrada para a frame i - 1. A transformação de introdução de distorção compreende a operação de dobrar ilustrada em 1120 e a subsequente, por exemplo, transformação DCT-IV indicada em 1122. Com esse fim, a primeira função da janela 1500 é exigida para obter a forma antes da operação de dobrar 1120 para a frame i - 1. Além disso, o conversor de espectro aplica-se à transformação de introdução de distorção à primeira parte indicada pelo item 1131 na Fig. 11a. Isto é feito usando a segunda função da janela 1502 e, em particular, a parte direita da segunda função da janela 1502. Esta operação resulta em uma primeira parte de amostras espectrais de uma segunda frame obtida por transformação 1132, em que a transformação 1132 mais uma vez representa uma operação DCT-IV que constitui, juntamente com a correspondente operação de dobrar, mas agora apenas na parte de sobreposição do lado direito do bloco 1131, a transformação de introdução de distorção.
[157] Além disso, o conversor de espectro está configurado para aplicar a transformação de introdução de distorção a uma segunda parte 1133 do segundo bloco pré-processado 1130 usando a ou as terceiras funções da janela 1503 para obter uma segunda parte 1135 das amostras espectrais da segunda frame. Assim sendo, para obter a segunda parte 1135 de amostras espectrais, podem ser aplicadas quatro N/8 transformações DCT-IV ou uma única N/2 transformação DCT-IV. O número ou as transformações e os comprimentos dependem do número das terceiras funções da janela. De um modo geral, o comprimento, a transformação ou o número de amostras espectrais na segunda parte 1135 é igual ao número de amostras espectrais em uma frame menos o comprimento da transformação 1132 e o resultado é depois dividido pelo número das terceiras funções da janela utilizadas.
[158] Assim sendo, o pré-processador 802 é geralmente operativo para gerir janelas 902 (Fig. 9a), em que o sinal de áudio usa a função auxiliar da janela 1100 para obter o segundo bloco de amostras em janela. De seguida, o processador 904 preferencialmente aplica a seguinte operação de dobrar indicada em 1110 na Fig. 11a para obter o segundo bloco pré-processado das amostras em janela com a parte de sobreposição múltipla modificada 1300. De seguida, o conversor 906 aplica as transformações usando a primeira, segunda e terceira funções da janela para obter a primeira frame de valores espectrais1122, a primeira parte 1132 da segunda frame e a segunda parte 1135 da segunda frame ou frame i na notação da Fig. 11a.
[159] No modelo privilegiado, ilustrado relativamente à Fig. 9b, a função auxiliar da janela é determinada 910 fazendo referência à primeira função da janela, e a título exemplificativo selecionando, como a primeira parte 1100a da função auxiliar da janela 1100, a primeira parte 1500a da primeira função da janela. Além disso, a parte de não sobreposição 1100b é determinada (os coeficientes da janela de um são considerados para o correspondente comprimento) e a terceira parte 1100c é depois determinada, novamente a título exemplificativo considerando a segunda parte da função da janela curta.
[160] De seguida, o sinal de áudio é gerenciado em janela 912 com esta função auxiliar da janela na correta relação com a frame anterior ou primeira i - 1 ilustrada na Fig. 11a. De seguida, conforme ilustrado em 914 na Fig. 9b, a parte esquerda 1110 e preferencialmente a parte direita 1111 são dobradas. No passo 916, sobram-se as partes de sobreposição, sendo isso ilustrado em linhas ponteadas no item e) ou f) na zona interior. Além disso, conforme é ilustrado em 918, se houver mais terceiras funções da janela como na Fig. 11a sub-imagem e), são também dobradas as partes de sobreposição das terceiras funções da janela. No entanto, se houver apenas só uma terceira função da janela conforme ilustrado na Fig. 11a, sub-imagem f), o controlo prossegue a partir do passo 916 para 920 diretamente sem o passo 918. No passo 920, as operações DCT são realizadas usando os núcleos DCT mais curtos do que o núcleo DCT para a primeira frame. O núcleo DCT para a sub-imagem e) é N/2 para a segunda função da janela, e N/8 para as terceiras funções da janela. Contrariamente, quando existe apenas uma única terceira função da janela, o núcleo de transformação é igual a N/2 para a segunda função da janela e é igual a N/2 para a única terceira função da janela.
[161] Assim sendo, fica claro que a zona de sobreposição múltipla 1300 é gerenciada em janela duas vezes. A primeira gestão de janelas é feita pela primeira parte 1100a da janela auxiliar e a segunda gestão de janelas é realizada pela segunda metade da primeira terceira função da janela 1503 conforme é ilustrado na sub-imagem e) ou f) da Fig. 11a.
[162] Faz-se novamente referência à Fig. 13. Conforme discutido no contexto da Fig. 1a ou no contexto da Fig. 8a, o controlador da sequência de janelas cria as formas específicas da janela. Em um modelo, o controlador da sequência das janelas está configurado para compreender o detector de localização do transiente 106. Quando é detectado um transiente em partes de detecção de transientes 0 ou 1, o codificador é controlado para ir para o modo da parte de sobreposição múltipla, de modo a que estes transientes indicados em 1305 fiquem confinados apenas à única terceira janela ou a dois terceiras janelas adjacentes. Especificamente, o transiente esquerdo 1305 está confinado apenas à primeira função da janela curta, onde o transiente direito dos transientes 1305 está na primeira até às terceiras funções da janela. No entanto, quando é determinado que os transientes estão localizados em uma zona diferente de 0, tal como na zona 1, 2, 3 ou assim, pode ser realizado um processamento sem a zona de sobreposição múltipla, por exemplo, idêntico ao que foi discutido no contexto da Fig. 6a, Fig. 6b, Fig. 7 ou assim.
[163] Contrariamente a isso, porém, o processamento da zona de sobreposição múltipla pode ser também realizado no contexto da aplicação da mudança de janela, em que, quando é detectado um transiente, pode ser mudado um conjunto ainda maior de janelas curtas para a frame atual, de modo a que, preferencialmente dentro de um e do mesmo bloco ou grelha da frame, seja usada uma janela longa ou um número especificado de janelas curtas para gerir as janelas. A primeira janela corresponde à janela 1500, por exemplo na Fig. 13, a segunda janela corresponde à janela 1502 e é realizada uma mudança, sem fazer referência a uma certa localização do transiente, para um número das terceiras funções da janela apenas quando é detectado um transiente em qualquer parte da frame atual sem saber exatamente onde dentro da frame é que o transiente se encontra.
[164] No entanto, é preferível, para manter o número de terceiras funções da janela o menor possível, que a mudança para o modo da parte de sobreposição múltipla e a mudança adicional da seleção da sobreposição de transformação e do comprimento de transformação sejam realizadas em função da localização específica do transiente dentro da frame, isto é, em um ou preferencialmente em quatro ou até oito diferentes partes de uma frame ou de uma parte do tempo correspondente a uma frame, em que esta parte do tempo é depois igual a metade do tamanho de uma janela longa, tal como a janela longa 1500 da Fig. 13. Preferencialmente, a parte de sobreposição múltipla está, tal como pode ser visto na Fig. 13, localizada antes de um início 208 (ilustrado na Fig. 2 por um lado e na Fig. 13 por outro lado) da zona de antecipação.
[165] No lado do descodificador é realizado um processamento análogo. Em um modelo é exigido um aparelho para descodificar um sinal de áudio codificado 821, que compreende uma primeira frame codificada e uma segunda frame codificada, um processador de descodificação 824 da Fig. 8b, para processar a primeira frame codificada e a segunda frame codificada para obter uma primeira frame de valores espectrais e uma segunda frame de valores espectrais, compreendo a primeira e a segunda frames partes de distorção. Um conversor de tempo 826 está ligado ao processador descodificado 824 e o conversor de tempo 826 está configurado para aplicar uma transformação a esta primeira frame usando uma primeira função da janela para obter um primeiro bloco de amostras. Além disso, o conversor de tempo 826 está configurado para aplicar a transformação a uma primeira parte da segunda frame usando uma segunda função da janela, e para aplicar a transformação a uma segunda parte da segunda frame usando uma ou mais terceiras funções da janela para obter o segundo bloco de amostras. Conforme discutido no contexto da Fig. 1a, a primeira função da janela 1500, a segunda função da janela 1502 e a ou as terceiras funções da janela 1503 têm, em conjunto, uma zona de sobreposição múltipla 1300.
[166] Além disso, o descodificador compreende um pós-processador 828 para pós-processar o segundo bloco de amostras usando uma operação de desdobrar para obter um segundo bloco pós-processado de amostras com uma parte do segundo bloco de amostras a sobrepor-se ao primeiro bloco de amostras na zona de sobreposição múltipla. Além disso, o pós-processador 828 está configurado para gerir as janelas do segundo bloco pós-processado de amostras usando a função auxiliar da janela discutida no contexto da Fig. 8a e da Fig. 11a. O pós-processador 828 realiza uma adição de sobreposição do segundo bloco pós-processado em janela das amostras e do primeiro bloco de amostras para obter o sinal de áudio descodificado indicado em 829 da Fig. 8b ou no bloco 175 da Fig. 1c. Assim sendo, basicamente o pós-processador 828 da Fig. 8b pode ter a funcionalidade do gerenciador de janelas de síntese 172 relativamente á função auxiliar da janela e ao adicionador de sobreposição 174.
[167] Posteriormente a funcionalidade do pós-processador em colaboração com o conversor de tempo é discutida relativamente à ilustração da Fig. 11b, que ilustra um processamento inverso relativamente à ilustração do codificador da Fig. 11a. A primeira frame de valores espectrais 1142 é introduzida em uma transformação inversa de tamanho N 1161 e a primeira parte 1152 da segunda frame é introduzida em uma transformação inversa N/2 1162 e dependendo do número das terceiras funções da janela, a segunda parte 1155 da segunda frame é introduzida em quatro N/8 transformações curtas 1163 ou em uma única N/2 transformação 1162 idêntico ao processo da primeira parte 1152 da segunda frame.
[168] Este procedimento é realizado pelo conversor de tempo. O conversor de tempo adicionalmente usa a primeira função da janela para realizar a gestão de janelas em conjunto com uma operação de desdobrar prévia ilustrada em 1170 na Fig. 11b. Além disso, a segunda função da janela é usada quando se aplicam os procedimentos à primeira parte 1152 ilustrada em 1172. Especificamente, desdobra-se especificamente a parte mais à direita 1173 da segunda função da janela e realiza-se a segunda gestão posterior de janelas, enquanto, no lado esquerdo da frame não se procede a nenhuma desdobragem interna. Além disso, a transformação realiza uma desdobragem específica e uma posterior gestão de janelas e uma adicional adição de sobreposição não apenas com a primeira parte 1152 da segunda frame, mas também com a segunda parte 1155 da segunda frame conforme ilustrado em 1172 na Fig. 11b. Se houver apenas uma única terceira função da janela ilustrada na sub-imagem f) na Fig. 11b, realiza-se apenas uma única operação de desdobrar de ambos os lados juntamente com a gestão de janelas, usando a parte direita da segunda função da janela e o lado esquerdo da terceira função da janela e a posterior adição de sobreposição dentro da faixa de sobreposição 1174.
[169] De seguida, o pós-processador aplica o pós-processamento usando a operação de desdobrar ilustrada em 1175 com a primeira parte do resultado do procedimento em 1172 para obter uma parte 1176a que se estende na frame anterior e preferencialmente 1176b que se estende na frame seguinte. De seguida, é realizada a gestão de janelas com a parte desdobrada 1176a, 1176b e claro com a parte dentro da frame atual i usando a função auxiliar da janela para obter o estado ilustrado em 1175. De seguida, é feita uma adição final de sobreposição da função auxiliar da janela do segundo bloco pós-processado de amostras e do primeiro bloco de amostras em e dentro da faixa de sobreposição 1180 para obter o sinal de áudio descodificado final correspondente a esta faixa de sobreposição 1180. Além disso, este procedimento adicionalmente resulta em uma parte subsequente das amostras de sinal de áudio descodificado 1181 pelo fato de não haver sobreposição e a próxima secção 1182 é obtida pela sobreposição com a correspondente parte de uma função da janela para a frame i + 1, seguindo a frame i no tempo.
[170] Assim sendo, conforme ilustrado na Fig. 10a, o método do lado do descodificador compreende aplicar 1000 uma transformação à primeira frame usando a primeira função da janela e aplicar 1010 a transformação à primeira parte da segunda frame usando a segunda função da janela e aplicar 1020 a transformação à segunda parte da segunda frame usando a(s) terceira(s) função/funções da janela. De seguida, no passo 1030 é realizada uma operação de desdobrar e no passo 1040 é realizada uma gestão de janelas usando a função auxiliar da janela, no passo 1050 é realizada uma adição de sobreposição do segundo e do primeiro bloco pós-processado em janela para obter o sinal de áudio descodificado no fim do processamento ilustrado, por exemplo, na Fig. 11b.
[171] Conforme ilustrado na Fig. 10b, os modelos privilegiados compreendem realizar uma operação DCT inversa para cada parte da segunda frame, isto é, realizar várias operações DCT com comprimentos mais curtos relativamente à anterior frame i - 1, onde foi usada uma janela longa 1500. No passo 1070 as partes de distorção internas são desdobradas como a operação ilustrada em 1172 e a desdobragem é preferencialmente um espelho no correspondente limite ilustrada como linhas verticais na linha indicada por 1172 na Fig. 11b. De seguida, no passo 1080, é feita uma gestão de janelas usando a segunda e terceira funções da janela dentro do bloco 1184 e é feita a subsequente adição de sobreposição do resultado da gestão de janelas dentro do bloco conforme ilustrado em 1090. De seguida, tal como é indicado em 192, as partes de distorção esquerda/direita ou, por outras palavras, anterior/posterior do resultado de adição de sobreposição são desdobradas para obter as partes 1176a que se estendem na frame anterior e a parte 1176b que se estende na seguinte frame. Porém, a representação em 1175 é apenas depois da gestão de janelas, usando a função auxiliar da janela ilustrada em 1094. De seguida, no passo 1906, é feita uma adição de sobreposição com o primeiro bloco de amostras depois da gestão de janelas usando a função auxiliar da janela.
[172] Posteriormente faz-se referência à Fig. 12a e Fig. 12b. O item a na Fig. 12a corresponde ao procedimento na primeira linha da Fig. 11a. O procedimento na sub-imagem b) corresponde ao procedimento realizado na segunda e terceira linhas da Fig. 11a e os procedimentos ilustrados no item c) na Fig. 12a correspondem aos procedimentos nas duas últimas linhas da Fig. 11a. De forma análoga, a representação do lado do descodificador corresponde à Fig. 12b. Em particular, as duas primeiras linhas da Fig. 11b correspondem à sub-imagem f) na Fig. 12b. A terceira e quarta linhas correspondem ao item e) na Fig. 12b, e a última linha na Fig. 12b corresponde à última linha na Fig. 11b.
[173] A Fig. 14a ilustra uma situação em que o controlador da sequência de janelas no lado do codificador ou os elementos 824, 826, 828 do lado do descodificador estão configurados para alternar entre uma situação de sobreposição não múltipla como na Fig. 14a e uma situação de sobreposição múltipla ilustrada na Fig. 14b. Assim sendo, quando um transiente é detectado na parte de transientes 0, um procedimento é não aplicar a parte de sobreposição múltipla mas sim mudar para janelas curtas de sobreposição única TCX-10 a partir das janelas TCX-20. Preferencialmente, no entanto, muda-se para uma parte de sobreposição múltipla aplicando uma sequência de janelas que compreende a primeira janela 1400, a segunda janela 1402 e uma ou, no modelo da Fig. 14b, duas terceiras janelas 1403.
[174] As sobreposições e os tamanhos da janela da Fig. 14b são um pouco diferentes da ilustração na Fig. 13, mas fica claro que os procedimentos gerais relativamente ao lado do codificador na Fig. 11a ou ao lado do descodificador na Fig. 11b ocorrem do mesmo modo.
[175] Posteriormente é discutida a Fig. 15. Especificamente, a Fig. 15 ilustra, tal como as caixas pretas, uma antecipação da detecção do transiente 1590 e a duração do pré-eco resultante 1595. A Fig. 15a ilustra uma tradicional sequência de Alta Eficiência tipo AAC que compreende uma janela inicial longa, oito janelas curtas, uma janela de parar longa e assim por diante. A antecipação exigida é alta e chega a N + N/2 + N/16, mas o pré-eco 1595 é pequeno. De forma análoga, a Fig. 15b ilustra um tradicional procedimento de detecção do transiente tipo AAC de pouco atraso resultante em uma sequência de janelas que compreende uma longa sequência, uma janela inicial longa, uma janela de sobreposição baixa e uma janela de parar longa. A antecipação da detecção de transientes é a mesma da Fig. 15a, mas a duração do pré-eco é maior do que na Fig. 15a. Por outro lado, porém, a eficiência é superior pelo fato de quanto mais janelas curtas se usarem menor é a eficiência da taxa de bits.
[176] A Fig. 15c e 15d ilustra uma implementação da AAC de Alta Eficiência ou um procedimento de pouco atraso AAC com uma antecipação reduzida da detecção de transientes de N/16 amostras e são apenas apresentadas as sequências longas possíveis com uma antecipação reduzida da detecção do transiente de N/16 amostras. Se a sequência consistir de uma janela longa, uma janela longa, uma janela inicial longa, uma janela de parar longa, e assim por diante, conforme ilustrado na Fig. 15d, apenas o pós-eco é reduzido comparativamente com a Fig. 15c, mas o pré-eco 1595 é o mesmo. Por conseguinte, a Fig. 15c, d, ilustra uma antecipação curta idêntica às Figuras 15e e 15f da invenção. Se implementássemos agora a parte da sobreposição múltipla como nas Figuras 15c e 15e, só se podiam usar sequências como as nessas figuras, mas não seria possível nenhuma mudança para uma janela curta. Assim sendo, a parte de sobreposição múltipla permite mudar para janelas curtas para reduzir o pré-eco e o pós-eco, ou para usar um atraso de antecipação curto ou ambas as características para reduzir o atraso e para reduzir o pré-eco e o pós- eco.
[177] A Fig. 15e ilustra uma sequência AAC de Alta Eficiência com uma antecipação reduzida da detecção de transiente de N/16 amostras e da zona de sobreposição múltipla preferida 1300. A sequência compreende uma janela longa, outra janela longa 1500, outra sequência inicial 1502, quatro sequências curtas 1503 e uma janela de parar longa 1504. Tal como fica claro, a antecipação é pequena, tal como é o pré-eco. Uma situação similar é obtida para Fig. 15f ilustrando uma configuração similar da na Fig. 15e, mas com, apenas uma única terceira função da janela em vez de quatro sequências curtas.
[178] Apesar de a presente invenção ter sido descrita no contexto de diagramas de bloco, em que os blocos representam componentes de hardware atuais ou lógicos, a presente invenção pode ser também implementada por um método implementado por computador. No último caso, os blocos representam correspondentes passos do método, em que estes passos estão para as funcionalidades realizadas por correspondentes blocos de hardware lógicos ou físicos.
[179] Apesar de alguns aspectos terem sido descritos no contexto de um aparelho, é claro que estes aspectos também representam uma descrição do correspondente método, em que um bloco ou dispositivo corresponde a um passo de método ou a uma característica de um passo de método. De modo análogo, os aspectos descritos no contexto de um passo de método também representam uma descrição de um correspondente bloco ou item ou característica de um correspondente aparelho. Alguns ou todos os passos do método podem ser executados (ou usados) por um aparelho de hardware, com por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas versões, um ou mais dos mais importantes passos do método podem ser executados por um aparelho destes.
[180] O sinal transmitido ou codificado da invenção pode ser guardado em um meio de armazenamento digital ou pode ser transmitido em um meio de transmissão, tal como um meio de transmissão sem fios ou um meio de transmissão com fios, tal como a Internet.
[181] Dependendo de certos requisitos de implementação, os modelos da invenção podem ser implementados em hardware ou em software. A implementação pode ser realizada usando um meio de armazenamento digital, por exemplo uma disquete, um DVD, um Blu-Ray, um CD, um ROM, um PROM, um EPROM, um EEPROM ou uma memória FLASH, com sinais de controlo de leitura eletrônica guardados lá, que cooperam (ou são capazes de cooperar) com um sistema de computador programável, de modo a que seja executado o respetivo método. Por isso, o meio de armazenamento digital pode ser lido em computador.
[182] Algumas versões de acordo com a invenção compreendem um suporte de dados com sinais de controlo de leitura eletrônica, que são capazes de cooperar com um sistema de computador programável, de modo a que seja executado um dos métodos aqui descritos.
[183] De um modo geral, os modelos da presente invenção podem ser implementados como um produto de programa de computador com um código de programa, sendo o código de programa operativo para executar um dos métodos quando o produto do programa de computador corre em um computador. O código de programa pode, por exemplo, ser guardado em um suporte de leitura em máquina.
[184] Outros modelos compreendem o programa de computador para executar um dos métodos aqui descritos, guardados em um suporte de leitura em máquina.
[185] Por outras palavras, um modelo do método da invenção é, por isso, um programa de computador com um código de programa para executar um dos métodos aqui descritos, quando o programa de computador corre em um computador.
[186] Outro modelo do método da invenção é, por isso, um suporte de dados (ou um suporte de armazenamento não transitório, tal como um suporte de armazenamento digital, ou um suporte de leitura em computador) compreendendo, aí gravados, o programa de computador para executar um dos métodos aqui descritos. O suporte de dados, o suporte de armazenamento digital ou o suporte gravado são tipicamente tangíveis e/ou não transitórios.
[187] Outro modelo do método da invenção é, por isso, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para executar um dos métodos aqui descritos. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido através de uma ligação de comunicação de dados, por exemplo via Internet.
[188] Outro modelo compreende um meio de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado ou adaptado para executar um dos métodos aqui descritos.
[189] Outro modelo compreende um computador com o programa de computador instalado para executar um dos métodos aqui descritos.
[190] Outra versão de acordo com a invenção compreende um aparelho ou um sistema configurado para transferir (por exemplo, eletronicamente ou opticamente) um programa de computador para executar um dos métodos aqui descritos para um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou idêntico. O aparelho ou sistema pode, por exemplo, compreender um servidor de ficheiros para transferir o programa de computador para o receptor.
[191] Em alguns modelos, pode ser utilizado um dispositivo programável lógico (por exemplo uma rede de portas lógicas programáveis) para executar algumas ou todas as funcionalidades dos métodos aqui descritos Em alguns modelos, uma rede de portas lógicas programáveis pode cooperar com um microprocessador para executar um dos métodos aqui descritos. De um modo geral, os métodos são preferencialmente executados por qualquer aparelho de hardware.
[192] Os modelos acima descritos são meramente ilustrativos para os princípios da presente invenção. Compreende-se que as modificações e variações das disposições e dos detalhes descritos serão evidentes aos profissionais da matéria. Pretende-se, por isso, que seja limitado apenas pelo âmbito das reivindicações impendentes da patente e não pelos detalhes específicos da descrição e explicação dos modelos aqui constantes.
[193] Referências
[194] [1] Organização Internacional da Padronização, ISO/IEC 14496-3 2009, " Information Technology - Coding of audio-visual objects - Part 3 Audio," Genebra, Suíça, Ag. 20096.
[195] [2] Grupo de Missão de Engenharia de Internet (IETF), RFC 6716, " Definition of the Opus Audio Codec," Padrão Proposto, Se. 2012. Disponível online em http://tools.ietf.org/html/rfc6716.
[196] [3] C. R. Helmrich, "On the Use of Sums of Sines in the Signal Windows," em Proc. da 13-a Conferência Int. sobre Efeitos de Áudio Digitais (DAFx-10), Graz, Áustria, Se. 2010.
[197] [4] J. Herre e J. D. Johnston, " Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS)," em Proc. 101a Convenção AES, LA, EUA, Nov. 1996
[198] [5] M. Neuendorf et al., " MPEG Unified Speech and Audio Coding - The ISO/MPEG Standard for High-Efficiency Audio Coding of All Content Types," em Proc 132.a Convenção de AES, Budapeste, Hungria, Abr. 2012. Também para aparecer no Diário do AES, 2013.
Claims (33)
1. Aparelho para codificar um sinal de áudio, caracterizado por compreender: um gerenciador de janelas controlável (102) para gerir janelas do sinal de áudio para fornecer uma sequência de blocos de amostras em janela; um conversor (104) para converter a sequência de blocos de amostras em janela em uma representação espectral que compreende uma sequência de frame de valores espectrais; um detector da localização do transiente (106) para identificar uma localização de um transiente dentro de uma zona de antecipação de transiente de uma frame; e um controlador (108) para controlar o gerenciador de janelas controlável (102) para aplicar uma janela específica com um comprimento de sobreposição especificado ao sinal de áudio em resposta a uma localização identificada (210-213) do transiente, em que o controlador (108) está configurado para selecionar a janela específica a partir de um grupo de pelo menos três janelas que compreende uma primeira janela (201) com um primeiro comprimento de sobreposição (203), uma segunda janela (215) com um segundo comprimento de sobreposição (218) e uma terceira janela (224) com um terceiro comprimento de sobreposição (229) ou sem sobreposição, em que o primeiro comprimento de sobreposição (203) é maior do que o segundo comprimento de sobreposição (218), e em que o segundo comprimento de sobreposição (218) é superior ao terceiro comprimento de sobreposição (229) ou maior do que uma sobreposição de zero, em que a janela específica é selecionada com base na localização do transiente de modo a que uma de duas janelas de sobreposição de tempo- adjacente tem primeiros coeficientes de janelas na localização do transiente e a outra das duas janelas de sobreposição tempo-adjacente tem segundos coeficientes de janelas na localização do transiente, em que os segundos coeficientes de janelas são pelo menos nove vezes maiores do que os primeiros coeficientes de janelas.
2. Aparelho para codificar um sinal de áudio, de acordo com a reivindicação 1, caracterizado por o controlador (108) estar configurado para selecionar a janela específica, de modo que os segundos coeficientes da janela são iguais a 1 e os primeiros coeficientes da janela são iguais à zero.
3. Aparelho para codificar um sinal de áudio, de acordo com a reivindicação 1 ou 2, caracterizado por o primeiro comprimento de sobreposição ser igual a um quarto ou um terço ou uma metade de um comprimento da janela específica, em que o segundo comprimento de sobreposição é igual a uma metade ou um terço do primeiro comprimento de sobreposição, e em que o terceiro comprimento de sobreposição é uma metade ou um quarto ou um oitavo do segundo comprimento de sobreposição ou inferior ou igual a 1,25 milésimos de segundo.
4. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado por compreender ainda uma interface de saída (114) para associar uma informação de janela (112) fornecida pelo controlador (108) com uma representação codificada da representação espectral que compreende uma sequência de blocos codificados de valores espectrais.
5. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado por o conversor (104) estar configurado para realizar uma transformada de cosseno discreta modificada ou uma transformada de seno discreta modificada, em que um número de valores espectrais em um bloco de valores espectrais é inferior ao número de amostras em janela em um bloco de amostras em janela.
6. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado por o controlador (108) estar configurado para controlar o gerenciador de janelas (102) de modo a manter uma grelha de frame constante na sequência de blocos que compreende pelo menos cinco frames, em que uma frame tem um comprimento que é igual a um comprimento da primeira janela ou igual ao comprimento da primeira janela dividida por um múltiplo inteiro de dois, e em que a zona de antecipação do transiente se estende a partir de uma localização na frame atual até uma localização em uma frame seguinte, estando a localização no centro da frame ou deslocada do centro da frame em menos ou igual a 25% das amostras de uma frame.
7. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por o detector de localização de transiente (106) estar configurado para aplicar a zona de antecipação do transiente que se estende sobre todo uma frame e para distinguir pelo menos quatro quartos, e em que o controlador (108) está configurado para selecionar a primeira janela, quando não é detectado nenhum transiente, para selecionar a segunda janela, quando um transiente é detectado no primeiro e quarto quarto e para selecionar a terceira janela, quando é detectado um transiente no segundo ou terceiro quarto.
8. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por o controlador (108) estar configurado para determinar a janela específica, de modo a ser escolhida uma largura de sobreposição para que apenas uma de duas janelas de sobreposição adjacentes de tempo contenha o transiente detectado.
9. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 8, caracterizado por o detector de localização do transiente (106) estar configurado para detectar a localização do transiente dentro da zona de antecipação do transiente, de modo a que a localização do transiente coincida com um início do transiente ou coincida com a localização de tempo de uma amplitude ou energia máxima ou um centro de uma energia do transiente.
10. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado por o detector de localização do transiente (106) estar configurado para usar uma zona de antecipação do transiente que cobre uma segunda parte de uma frame atual e uma primeira parte de uma frame seguinte, em que o detector de localização do transiente (106) está configurado para identificar oito diferentes localizações de transiente identificadas por um índice de zero a sete, em que o controlador (108) está configurado para selecionar a segunda janela, quando o índice do transiente é sete ou para selecionar a terceira janela, quando o índice do transiente é seis.
11. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 10, caracterizado por o detector de localização do transiente (106) estar configurado para usar uma zona de antecipação do transiente que cobre uma segunda parte de uma frame atual e uma primeira parte de uma frame seguinte, em que o detector de localização do transiente (106) está configurado para identificar oito diferentes localizações de transiente identificadas por um índice de zero a sete, em que o controlador está configurado para selecionar a primeira janela, quando não é detectado nenhum transiente, para selecionar a segunda janela, quando o índice do transiente é igual a zero, um, seis, sete, ou para selecionar a terceira janela, quando o índice do transiente é igual a dois, três, quatro, cinco.
12. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 11, caracterizado por o controlador (108) estar configurado para selecionar um número de janelas específicas para uma frame para que um número de valores espectrais obtido por uma pluralidade de janelas para uma frame seja igual ao número de valores espectrais obtido através da conversão de uma função de janela com o primeiro tamanho de janela, em que a primeira a terceira janela têm um primeiro tamanho de janela idêntico, e em que uma frame é definida pelo tamanho idêntico da janela, e em que o grupo compreende uma quarta e uma quinta janela, a quarta e a quinta janela possuindo um segundo tamanho idêntico de janela, o tamanho da segunda janela sendo uma fração inteira do primeiro tamanho de janela, e em que a quarta janela tem um quarto comprimento de sobreposição e a quinta janela tendo um quinto comprimento de sobreposição inferior ao quarto comprimento de sobreposição.
13. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 12, caracterizado por o controlador (1085) estar configurado para determinar, com base na localização do transiente, uma informação da largura de sobreposição (602) e uma informação de transformação curta/comprida (600), em que a informação da largura de sobreposição (602) está determinada para ter um primeiro valor indicando uma largura máxima de sobreposição, um segundo valor indicando uma largura média de sobreposição e um terceiro valor indicando uma largura mínima de sobreposição, em que a informação de transformação curta/longa (600) compreende uma identificação para uma janela longa ou uma janela curta para uma frame com mais de uma transformação, e em que o controlador (108) está configurado para determinar uma única janela para uma frame ou uma sequência de duas, três ou quatro janelas para a frame (608) com base na informação da largura de sobreposição (602) e na informação da transformação curta/longa (600).
14. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 13, caracterizado por o controlador (108) estar configurado para determinar um número de transformações e correspondentes comprimentos das transformações para uma frame em resposta a uma localização de transiente identificada (605), em que o controlador (108) está configurado para determinar o número e comprimentos da transformação para uma frame, de modo a que um número de valores espectrais obtido pelas transformações para a frame seja igual a um número de valores espectrais obtido através de um comprimento de transformação mais longo associado a uma função de janela de sobreposição máxima.
15. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 14, caracterizado por o controlador (108) estar configurado para determinar um comprimento e número de transformações ou para selecionar uma janela específica, de modo a obter dentro da frame uma zona de sobreposição múltipla que se estende por uma pluralidade de amostras para que a pluralidade de amostras sejam visualizadas em janela por pelo menos três janelas de sobreposição (1500, 1502, 1503).
16. Aparelho para codificar um sinal de áudio, de acordo com qualquer uma das reivindicações 1 a 15, caracterizado por o controlador (108) estar configurado para determinar o comprimento e número de transformações ou para selecionar a janela específica, de modo que seja determinada a zona de sobreposição múltipla, em que um transiente é localizado em uma localização da zona de antecipação de transiente correspondente a uma zona que se estende por 30% das amostras da frame em torno do centro da frame.
17. Descodificador para descodificar um sinal de áudio, caracterizado por compreender uma sequência de blocos das amostras em janela convertidas e informação de janela associada (160) identificando uma função de janela específica para um bloco de entre pelo menos três diferentes funções de janela, compreendendo: um processador (156) para fornecer uma sequência de blocos de valores espectrais; um conversor controlável (158) para converter a sequência de blocos de valores espectrais em uma representação do domínio do tempo usando um processamento de adição de sobreposição, em que o conversor controlável (158) está controlado pela informação de janela para aplicar funções de janela indicadas pela informação de janela ao correspondente bloco para calcular um sinal de áudio descodificado, em que a janela é selecionada a partir de um grupo de pelo menos três janelas, compreendendo uma primeira janela (201) com um primeiro comprimento de sobreposição (203), uma segunda janela (215) com um segundo comprimento de sobreposição (218), e uma terceira janela (224) com um terceiro comprimento de sobreposição (229) ou sem sobreposição, em que o primeiro comprimento de sobreposição (203) é maior do que o segundo comprimento de sobreposição (218), e em que o segundo comprimento de sobreposição (218) é maior do que o terceiro comprimento de sobreposição (229) ou maior do que uma sobreposição de zero.
18. Descodificador para descodificar um sinal de áudio, de acordo com a reivindicação 17, caracterizado por o conversor controlável (158) compreender: um conversor frequência-tempo (170) para converter os blocos de valores espectrais em uma representação de tempo; um gerenciador de janelas de síntese (172) para aplicar a função de janela de síntese à representação de tempo do bloco de valores espectrais; e um adicionador de sobreposição (174) para sobrepor e adicionar as representações de tempo da janela adjacente de tempo para obter o sinal de áudio descodificado, em que o gerenciador de janelas de síntese (172), o adicionador de sobreposição (174) ou o conversor frequência-tempo (170) são controlados pela informação de janela associada para aplicar a janela de síntese e uma sobreposição conforme indicado pela informação de janela (160).
19. Descodificador para descodificar um sinal de áudio, de acordo com a reivindicação 18, caracterizado por a informação de janela (603) compreender uma informação do comprimento de transformação (600) e uma informação de sobreposição (602), em que um controlador (180) está configurado para determinar uma sobreposição e uma janela para um bloco de valores espectrais com base em uma informação de janela anterior (606) e uma informação de janela atual (607), em que a informação de janela atual (607) indica uma primeira transformação com um primeiro comprimento de transformação ou duas segundas transformações cada uma com um segundo comprimento de transformação, ou uma segunda transformação com o segundo comprimento de transformação e duas terceiras transformações cada uma com um terceiro comprimento de transformação ou quatro transformações com o terceiro comprimento de transformação, em que o primeiro comprimento de transformação tem o dobro do tamanho do segundo comprimento de transformação, e em que o segundo comprimento de transformação tem o dobro do tamanho do terceiro comprimento de transformação.
20. Descodificador para descodificar um sinal de áudio, de acordo com qualquer uma das reivindicações de 17 a 19, caracterizado por a informação de janela (603) compreender uma informação de sobreposição anterior (606) indicando uma sobreposição de uma parte posterior de uma função de janela anterior, e em que a informação de janela compreende uma informação de sobreposição atual (607) indicando uma sobreposição de uma parte posterior, em que o controlador (180) está configurado para determinar uma parte anterior de uma janela imediatamente a seguir à janela anterior de acordo com a informação de sobreposição da parte posterior da janela anterior.
21. Descodificador para descodificar um sinal de áudio, de acordo com qualquer uma das reivindicações 17 a 20, caracterizado por a informação de janela para uma frame atual que indica uma informação do comprimento de transformação (600) requerer um segundo comprimento de transformação que é menor do um primeiro comprimento de transformação que define a frame, em que o conversor controlável (158) está configurado para aplicar uma sequência de duas ou quatro janelas associada a um terceiro comprimento de transformação, em que uma sobreposição entre duas janelas adjacentes de tempo associadas ao terceiro comprimento de transformação é o terceiro comprimento de sobreposição, e em que o terceiro comprimento de transformação é menor do que o segundo comprimento de transformação.
22. Descodificador para descodificar um sinal de áudio, de acordo com qualquer uma das reivindicações de 17 a 21, caracterizado por a primeira janela, a segunda janela e a terceira janela terem associadas o mesmo tamanho de transformação que define uma frame. em que o primeiro comprimento de sobreposição é um quarto ou um terço ou uma metade de um comprimento da primeira janela, em que o segundo comprimento de sobreposição é uma metade ou um terço do primeiro comprimento de sobreposição, e em que o terceiro comprimento de sobreposição é uma metade ou um quarto ou um oitavo do segundo comprimento de sobreposição ou inferior ou igual a 1,25 milésimos de segundo.
23. Descodificador para descodificar um sinal de áudio, de acordo com a reivindicação 22, caracterizado por o conversor controlável (158) estar configurado para aplicar, em resposta à informação de janela, uma quarta janela com um primeiro comprimento de sobreposição, em que a quarta janela tem associada um tamanho de transformação que é metade do tamanho de transformação da primeira à terceira janela, ou em que o conversor controlável (158) está configurado para aplicar, em resposta à informação de janela, uma quinta janela com um segundo comprimento de sobreposição e uma sexta janela com o terceiro comprimento de sobreposição, em que a quinta janela e a sexta janela têm associadas o mesmo tamanho de transformação que é um quarto do tamanho de transformação da primeira à terceira janela.
24. Descodificador para descodificar um sinal de áudio, de acordo com a reivindicação 23, caracterizado por o conversor controlável (158) estar configurado para aplicar, em resposta à informação de janela, uma sequência de uma única quarta janela e duas sextas janelas, em que as duas sextas janelas têm o terceiro comprimento de sobreposição em partes de janela de sobreposição.
25. Descodificador para descodificar um sinal de áudio, de acordo com a reivindicação 23, caracterizado por o conversor controlável (158) estar configurado para aplicar, em resposta à informação de janela (603), uma sequência de janelas que compreende, por ordem: uma primeira janela, uma quarta janela, uma sexta janela e uma quinta janela (708), uma primeira janela, uma quarta janela e duas sextas janelas (710), uma segunda janela, uma quinta janela, duas sextas janelas e uma quinta janela (704), uma terceira janela e quatro sextas janelas (706); uma terceira janela, duas sextas janelas e uma quarta janela (700), uma terceira janela, três sextas janelas e uma quinta janela (702), uma primeira janela e uma segunda janela, ou vice-versa, uma primeira janela, uma terceira janela ou vice-versa, ou uma segunda janela e uma terceira janela, ou vice-versa.
26. Descodificador para descodificar um sinal de áudio, de acordo com qualquer uma das reivindicações de 17 a 25, caracterizado por a indicação de janela (603) estar associada a cada frame do sinal de áudio codificado, em que uma frame é definido por uma transformação associada à primeira janela, em que a indicação de janela (603) é um código de comprimento variável com um bit para um comprimento de transformação (600) e um único ou 2 bits para um comprimento de sobreposição (602), em que o conversor controlável (158) está configurado para aplicar uma sequência de janelas definida por um comprimento de sobreposição de uma indicação de janela anterior (606) e por um comprimento de sobreposição e um comprimento de transformação de uma indicação de janela atual (607) imediatamente a seguir à indicação de janela anterior (606) e o sinal e áudio codificado.
27. Descodificador para descodificar um sinal de áudio, de acordo com qualquer uma das reivindicações de 17 a 26, caracterizado por o conversor controlável (158) estar configurado para realizar uma transformada de cosseno discreta modificada inversa ou uma transformada de seno discreta modificada inversa ou qualquer outra transformada de redução da distorção com uma funcionalidade de sobreposição e adição.
28. Descodificador para descodificar um sinal de áudio, de acordo com qualquer uma das reivindicações de 17 a 27, caracterizado por o primeiro comprimento de sobreposição compreender 256 amostras ou cerca de 10 m, em que o segundo comprimento de sobreposição compreende 128 amostras ou cerca de 5 m e em que o terceiro comprimento de sobreposição compreende 16 amostras ou cerca de 0,6 m, e em que o comprimento da frame compreende 512 amostras ou cerca de 20 m.
29. Descodificador para descodificar um sinal de áudio, de acordo com qualquer uma das reivindicações de 17 a 28, caracterizado por o primeiro comprimento de transformação compreender 512 coeficientes MDCT ou MDST, em que o segundo comprimento de transformação compreende 256 coeficientes MDCT ou MDST, e em que o terceiro comprimento de transformação compreende 128 coeficientes MDCT ou MDST.
30. Descodificador para descodificar um sinal de áudio, de acordo com qualquer uma das reivindicações de 17 a 26, caracterizado por compreender ainda: um aparelho para codificar um sinal de áudio tal como descrito em qualquer uma das reivindicações de 1 a 16.
31. Descodificador para descodificar um sinal de áudio, de acordo com a reivindicação 30, caracterizado por as janelas usadas no aparelho para codificar serem idênticas às correspondentes janelas usadas no descodificador, e em que o descodificador tem uma memória de leitura apenas (197), na qual é guardado um único conjunto de janelas para usar no aparelho para codificar e o descodificador
32. Método para codificar um sinal de áudio, caracterizado por compreender: gerir as janelas (102) do sinal de áudio para fornecer uma sequência de blocos de amostras em janela; converter (104) a sequência de blocos de amostras em janela em uma representação espectral que compreende uma sequência de frames de valores espectrais; identificar (106) uma localização de um transiente dentro de uma zona de antecipação de transiente de uma frame controlar (108) a gestão de janelas (102) para aplicar uma janela específica com um comprimento de sobreposição especificado ao sinal de áudio em resposta a uma localização identificada (210-213) do transiente, em que a janela específica é selecionada a partir de um grupo de pelo menos três janelas, compreendendo uma primeira janela (201) com um primeiro comprimento de sobreposição (203), uma segunda janela (215) com um segundo comprimento de sobreposição (218), e uma terceira janela (224) com um terceiro comprimento de sobreposição (229) ou sem sobreposição, em que o primeiro comprimento de sobreposição (203) é maior do que o segundo comprimento de sobreposição (218), e em que o segundo comprimento de sobreposição (218) é superior ao terceiro comprimento de sobreposição (229) ou maior do que uma sobreposição de zero, em que a janela específica é selecionada com base na localização do transiente de modo que uma de duas janelas de sobreposição de tempo- adjacente tem primeiros coeficientes de janelas na localização do transiente e a outra das duas janelas de sobreposição tempo-adjacente tem segundos coeficientes de janelas na localização do transiente, em que os segundos coeficientes de janela são pelo menos nove vezes maiores do que os primeiros coeficientes de janela.
33. Método para descodificar um sinal de áudio, caracterizado por compreender uma sequência de blocos das amostras em janela convertidas e informação de janela associada (160) identificando uma função de janela específica para um bloco de entre pelo menos três diferentes funções de janela, compreendendo: fornecer (156) uma sequência de blocos de valores espectrais; converter (158) a sequência de blocos de valores espectrais em uma representação do domínio do tempo usando um processamento de adição de sobreposição, em que a conversão (158) está controlada pela informação de janela para aplicar funções de janela indicadas pela informação de janela ao correspondente bloco para calcular um sinal de áudio descodificado, em que a janela é selecionada a partir de um grupo de pelo menos três janelas, compreendendo uma primeira janela (201) com um primeiro comprimento de sobreposição (203), uma segunda janela (215) com um segundo comprimento de sobreposição (218), e uma terceira janela (224) com um terceiro comprimento de sobreposição (229) ou sem sobreposição, em que o primeiro comprimento de sobreposição (203) é maior do que o segundo comprimento de sobreposição (218), e em que o segundo comprimento de sobreposição (218) é maior do que o terceiro comprimento de sobreposição (229) ou maior do que uma sobreposição de zero.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361767115P | 2013-02-20 | 2013-02-20 | |
US61/767,115 | 2013-02-20 | ||
PCT/EP2014/053293 WO2014128197A1 (en) | 2013-02-20 | 2014-02-20 | Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112015019543A2 BR112015019543A2 (pt) | 2017-07-18 |
BR112015019543B1 true BR112015019543B1 (pt) | 2022-01-11 |
Family
ID=50179586
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112015019543-1A BR112015019543B1 (pt) | 2013-02-20 | 2014-02-20 | Aparelho para codificar um sinal de áudio, descodificador para descodificar um sinal de áudio, método para codificar e método para descodificar um sinal de áudio |
BR112015019270-0A BR112015019270B1 (pt) | 2013-02-20 | 2014-02-20 | aparelho e método para criar um sinal de áudio ou de imagem codificado na presença de transientes, aparelho e método para descodificar um sinal de áudio ou de imagem codificado na presença de transientes |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112015019270-0A BR112015019270B1 (pt) | 2013-02-20 | 2014-02-20 | aparelho e método para criar um sinal de áudio ou de imagem codificado na presença de transientes, aparelho e método para descodificar um sinal de áudio ou de imagem codificado na presença de transientes |
Country Status (20)
Country | Link |
---|---|
US (7) | US9947329B2 (pt) |
EP (4) | EP4375996A3 (pt) |
JP (2) | JP6175148B2 (pt) |
KR (2) | KR101764725B1 (pt) |
CN (5) | CN110232929B (pt) |
AR (2) | AR096576A1 (pt) |
AU (2) | AU2014220722B2 (pt) |
BR (2) | BR112015019543B1 (pt) |
CA (2) | CA2901186C (pt) |
ES (2) | ES2736309T3 (pt) |
HK (2) | HK1218988A1 (pt) |
MX (2) | MX348506B (pt) |
MY (2) | MY185210A (pt) |
PL (2) | PL2959481T3 (pt) |
PT (2) | PT2959482T (pt) |
RU (2) | RU2625560C2 (pt) |
SG (2) | SG11201506542QA (pt) |
TR (1) | TR201910956T4 (pt) |
TW (2) | TWI550600B (pt) |
WO (2) | WO2014128197A1 (pt) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2830058A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Frequency-domain audio coding supporting transform length switching |
EP2980791A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Processor, method and computer program for processing an audio signal using truncated analysis or synthesis window overlap portions |
EP2980794A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder using a frequency domain processor and a time domain processor |
EP2980795A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor |
FR3024581A1 (fr) * | 2014-07-29 | 2016-02-05 | Orange | Determination d'un budget de codage d'une trame de transition lpd/fd |
EP3107096A1 (en) | 2015-06-16 | 2016-12-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Downscaled decoding |
WO2017050398A1 (en) * | 2015-09-25 | 2017-03-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding |
EP3182411A1 (en) | 2015-12-14 | 2017-06-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for processing an encoded audio signal |
ES2727462T3 (es) * | 2016-01-22 | 2019-10-16 | Fraunhofer Ges Forschung | Aparatos y procedimientos para la codificación o decodificación de una señal multicanal de audio mediante el uso de repetición de muestreo de dominio espectral |
JP6976277B2 (ja) * | 2016-06-22 | 2021-12-08 | ドルビー・インターナショナル・アーベー | 第一の周波数領域から第二の周波数領域にデジタル・オーディオ信号を変換するためのオーディオ・デコーダおよび方法 |
US10210874B2 (en) * | 2017-02-03 | 2019-02-19 | Qualcomm Incorporated | Multi channel coding |
EP3382701A1 (en) | 2017-03-31 | 2018-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for post-processing an audio signal using prediction based shaping |
EP3382700A1 (en) * | 2017-03-31 | 2018-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for post-processing an audio signal using a transient location detection |
KR102615903B1 (ko) * | 2017-04-28 | 2023-12-19 | 디티에스, 인코포레이티드 | 오디오 코더 윈도우 및 변환 구현들 |
WO2019068915A1 (en) * | 2017-10-06 | 2019-04-11 | Sony Europe Limited | AUDIO FILE ENVELOPE BASED ON RMS POWER IN SUB-WINDOW SEQUENCES |
EP3483879A1 (en) * | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Analysis/synthesis windowing function for modulated lapped transformation |
TWI681384B (zh) * | 2018-08-01 | 2020-01-01 | 瑞昱半導體股份有限公司 | 音訊處理方法與音訊等化器 |
WO2020094263A1 (en) | 2018-11-05 | 2020-05-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and audio signal processor, for providing a processed audio signal representation, audio decoder, audio encoder, methods and computer programs |
CN113365057B (zh) * | 2019-03-09 | 2023-02-28 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、解码端、编码端和*** |
WO2021027774A1 (en) | 2019-08-10 | 2021-02-18 | Beijing Bytedance Network Technology Co., Ltd. | Subpicture dependent signaling in video bitstreams |
CN114631317B (zh) | 2019-10-18 | 2024-03-15 | 北京字节跳动网络技术有限公司 | 子图片的参数集信令中的语法约束 |
CN112803959B (zh) * | 2019-11-13 | 2022-05-10 | 瑞昱半导体股份有限公司 | 收发电路与应用于收发电路的信号处理方法 |
US11942078B2 (en) | 2021-02-26 | 2024-03-26 | International Business Machines Corporation | Chunking and overlap decoding strategy for streaming RNN transducers for speech recognition |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4920426A (en) * | 1986-11-10 | 1990-04-24 | Kokusai Denshin Denwa Co., Ltd. | Image coding system coding digital image signals by forming a histogram of a coefficient signal sequence to estimate an amount of information |
DE3902948A1 (de) | 1989-02-01 | 1990-08-09 | Telefunken Fernseh & Rundfunk | Verfahren zur uebertragung eines signals |
AU7041791A (en) * | 1989-10-06 | 1991-04-28 | Telefunken Fernseh Und Rundfunk Gmbh | Process for transmitting a signal |
US5502789A (en) | 1990-03-07 | 1996-03-26 | Sony Corporation | Apparatus for encoding digital data with reduction of perceptible noise |
CN1062963C (zh) * | 1990-04-12 | 2001-03-07 | 多尔拜实验特许公司 | 用于产生高质量声音信号的解码器和编码器 |
JP3186307B2 (ja) | 1993-03-09 | 2001-07-11 | ソニー株式会社 | 圧縮データ記録装置及び方法 |
US5701389A (en) * | 1995-01-31 | 1997-12-23 | Lucent Technologies, Inc. | Window switching based on interblock and intrablock frequency band energy |
KR0154387B1 (ko) | 1995-04-01 | 1998-11-16 | 김주용 | 음성다중 시스템을 적용한 디지탈 오디오 부호화기 |
JP3552811B2 (ja) * | 1995-09-29 | 2004-08-11 | 三菱電機株式会社 | ディジタル映像信号符号化装置および復号化装置 |
US5848391A (en) * | 1996-07-11 | 1998-12-08 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Method subband of coding and decoding audio signals using variable length windows |
US6131084A (en) | 1997-03-14 | 2000-10-10 | Digital Voice Systems, Inc. | Dual subframe quantization of spectral magnitudes |
DE19736669C1 (de) | 1997-08-22 | 1998-10-22 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erfassen eines Anschlags in einem zeitdiskreten Audiosignal sowie Vorrichtung und Verfahren zum Codieren eines Audiosignals |
JP2000000247A (ja) | 1998-06-15 | 2000-01-07 | Yoshihiro Adachi | ウルトラ ラグ スクリュー |
US6173255B1 (en) | 1998-08-18 | 2001-01-09 | Lockheed Martin Corporation | Synchronized overlap add voice processing using windows and one bit correlators |
DE10000934C1 (de) * | 2000-01-12 | 2001-09-27 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Bestimmen eines Codierungs-Blockrasters eines decodierten Signals |
JP2002118517A (ja) * | 2000-07-31 | 2002-04-19 | Sony Corp | 直交変換装置及び方法、逆直交変換装置及び方法、変換符号化装置及び方法、並びに復号装置及び方法 |
JP4596197B2 (ja) | 2000-08-02 | 2010-12-08 | ソニー株式会社 | ディジタル信号処理方法、学習方法及びそれらの装置並びにプログラム格納媒体 |
JP2004506947A (ja) * | 2000-08-16 | 2004-03-04 | ドルビー・ラボラトリーズ・ライセンシング・コーポレーション | 補足情報に応答するオーディオ又はビデオ知覚符号化システムのパラメータ変調 |
FR2822980B1 (fr) * | 2001-03-29 | 2003-07-04 | Ela Medical Sa | Procede de traitement de donnees d'electogrammes d'un dispositif medical implantable actif pour l'aide au diagnostic par un praticien |
MXPA03010237A (es) * | 2001-05-10 | 2004-03-16 | Dolby Lab Licensing Corp | Mejoramiento del funcionamiento de transitorios en sistemas de codificacion de audio de baja tasa de transferencia de bitios mediante la reduccion del pre-ruido. |
US7460993B2 (en) | 2001-12-14 | 2008-12-02 | Microsoft Corporation | Adaptive window-size selection in transform coding |
EP1394772A1 (en) | 2002-08-28 | 2004-03-03 | Deutsche Thomson-Brandt Gmbh | Signaling of window switchings in a MPEG layer 3 audio data stream |
US7876966B2 (en) | 2003-03-11 | 2011-01-25 | Spyder Navigations L.L.C. | Switching between coding schemes |
US7325023B2 (en) * | 2003-09-29 | 2008-01-29 | Sony Corporation | Method of making a window type decision based on MDCT data in audio encoding |
DE10345996A1 (de) | 2003-10-02 | 2005-04-28 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten |
EP1711938A1 (en) * | 2004-01-28 | 2006-10-18 | Koninklijke Philips Electronics N.V. | Audio signal decoding using complex-valued data |
WO2005091275A1 (en) * | 2004-03-17 | 2005-09-29 | Koninklijke Philips Electronics N.V. | Audio coding |
US8744862B2 (en) * | 2006-08-18 | 2014-06-03 | Digital Rise Technology Co., Ltd. | Window selection based on transient detection and location to provide variable time resolution in processing frame-based data |
US7630902B2 (en) * | 2004-09-17 | 2009-12-08 | Digital Rise Technology Co., Ltd. | Apparatus and methods for digital audio coding using codebook application ranges |
US7937271B2 (en) * | 2004-09-17 | 2011-05-03 | Digital Rise Technology Co., Ltd. | Audio decoding using variable-length codebook application ranges |
EP1793372B1 (en) * | 2004-10-26 | 2011-12-14 | Panasonic Corporation | Speech encoding apparatus and speech encoding method |
KR100668319B1 (ko) | 2004-12-07 | 2007-01-12 | 삼성전자주식회사 | 오디오 신호의 변환방법 및 장치와 오디오 신호에적응적인 부호화방법 및 장치, 오디오 신호의 역변환 방법및 장치와 오디오 신호에 적응적인 복호화 방법 및 장치 |
US7386445B2 (en) | 2005-01-18 | 2008-06-10 | Nokia Corporation | Compensation of transient effects in transform coding |
CN101124740B (zh) * | 2005-02-23 | 2012-05-30 | 艾利森电话股份有限公司 | 多声道音频信号编码和解码的方法和装置和音频传送*** |
RU2409874C9 (ru) * | 2005-11-04 | 2011-05-20 | Нокиа Корпорейшн | Сжатие звуковых сигналов |
JP2007304258A (ja) * | 2006-05-10 | 2007-11-22 | Matsushita Electric Ind Co Ltd | オーディオ信号符号化およびその復号化装置、方法ならびにプログラム |
US7987089B2 (en) * | 2006-07-31 | 2011-07-26 | Qualcomm Incorporated | Systems and methods for modifying a zero pad region of a windowed frame of an audio signal |
DE102006051673A1 (de) | 2006-11-02 | 2008-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale |
GB2443832B (en) | 2006-11-14 | 2010-08-18 | Schlumberger Holdings | Method and system of deploying one or more optical fiber waveguides in conjunction with a pipeline |
JP2008129250A (ja) * | 2006-11-20 | 2008-06-05 | National Chiao Tung Univ | Aacのためのウィンドウ切り替え方法およびm/s符号化の帯域決定方法 |
KR20080053739A (ko) | 2006-12-11 | 2008-06-16 | 삼성전자주식회사 | 적응적으로 윈도우 크기를 적용하는 부호화 장치 및 방법 |
CN101589623B (zh) | 2006-12-12 | 2013-03-13 | 弗劳恩霍夫应用研究促进协会 | 对表示时域数据流的数据段进行编码和解码的编码器、解码器以及方法 |
FR2911228A1 (fr) | 2007-01-05 | 2008-07-11 | France Telecom | Codage par transformee, utilisant des fenetres de ponderation et a faible retard. |
FR2911227A1 (fr) * | 2007-01-05 | 2008-07-11 | France Telecom | Codage par transformee, utilisant des fenetres de ponderation et a faible retard |
RU2459283C2 (ru) * | 2007-03-02 | 2012-08-20 | Панасоник Корпорэйшн | Кодирующее устройство, декодирующее устройство и способ |
EP2015293A1 (en) | 2007-06-14 | 2009-01-14 | Deutsche Thomson OHG | Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain |
CN101790756B (zh) * | 2007-08-27 | 2012-09-05 | 爱立信电话股份有限公司 | 瞬态检测器以及用于支持音频信号的编码的方法 |
JP5327982B2 (ja) * | 2008-03-25 | 2013-10-30 | 旭化成ケミカルズ株式会社 | エラストマー組成物及びエアバッグ装置の収納カバー |
US8447591B2 (en) | 2008-05-30 | 2013-05-21 | Microsoft Corporation | Factorization of overlapping tranforms into two block transforms |
RU2443028C2 (ru) | 2008-07-11 | 2012-02-20 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен | Устройство и способ расчета параметров расширения полосы пропускания посредством управления фреймами наклона спектра |
KR101227729B1 (ko) * | 2008-07-11 | 2013-01-29 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | 샘플 오디오 신호의 프레임을 인코딩하기 위한 오디오 인코더 및 디코더 |
MX2011000375A (es) * | 2008-07-11 | 2011-05-19 | Fraunhofer Ges Forschung | Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada. |
EP2144171B1 (en) * | 2008-07-11 | 2018-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding frames of a sampled audio signal |
EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
AU2013200679B2 (en) | 2008-07-11 | 2015-03-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder and decoder for encoding and decoding audio samples |
KR101250309B1 (ko) * | 2008-07-11 | 2013-04-04 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 에일리어싱 스위치 기법을 이용하여 오디오 신호를 인코딩/디코딩하는 장치 및 방법 |
AU2009267507B2 (en) * | 2008-07-11 | 2012-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and discriminator for classifying different segments of a signal |
EP2311032B1 (en) | 2008-07-11 | 2016-01-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding audio samples |
US8380498B2 (en) | 2008-09-06 | 2013-02-19 | GH Innovation, Inc. | Temporal envelope coding of energy attack signal by using attack point location |
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 |
US8457975B2 (en) * | 2009-01-28 | 2013-06-04 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio decoder, audio encoder, methods for decoding and encoding an audio signal and computer program |
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. |
EP2234103B1 (en) * | 2009-03-26 | 2011-09-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device and method for manipulating an audio signal |
PL3352168T3 (pl) * | 2009-06-23 | 2021-03-08 | Voiceage Corporation | Postępowe tłumienie aliasingu w dziedzinie czasu z zastosowaniem w ważonej albo pierwotnej dziedzinie sygnału |
US8892427B2 (en) * | 2009-07-27 | 2014-11-18 | Industry-Academic Cooperation Foundation, Yonsei University | Method and an apparatus for processing an audio signal |
ES2441069T3 (es) * | 2009-10-08 | 2014-01-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decodificador multimodo para señal de audio, codificador multimodo para señal de audio, procedimiento y programa de computación que usan un modelado de ruido en base a linealidad-predicción-codificación |
KR101137652B1 (ko) * | 2009-10-14 | 2012-04-23 | 광운대학교 산학협력단 | 천이 구간에 기초하여 윈도우의 오버랩 영역을 조절하는 통합 음성/오디오 부호화/복호화 장치 및 방법 |
US9093066B2 (en) * | 2010-01-13 | 2015-07-28 | Voiceage Corporation | Forward time-domain aliasing cancellation using linear-predictive filtering to cancel time reversed and zero input responses of adjacent frames |
CN102222505B (zh) | 2010-04-13 | 2012-12-19 | 中兴通讯股份有限公司 | 可分层音频编解码方法***及瞬态信号可分层编解码方法 |
EP2591470B1 (en) | 2010-07-08 | 2018-12-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coder using forward aliasing cancellation |
US20140046670A1 (en) * | 2012-06-04 | 2014-02-13 | Samsung Electronics Co., Ltd. | Audio encoding method and apparatus, audio decoding method and apparatus, and multimedia device employing the same |
KR20140075466A (ko) * | 2012-12-11 | 2014-06-19 | 삼성전자주식회사 | 오디오 신호의 인코딩 및 디코딩 방법, 및 오디오 신호의 인코딩 및 디코딩 장치 |
-
2014
- 2014-02-20 SG SG11201506542QA patent/SG11201506542QA/en unknown
- 2014-02-20 AU AU2014220722A patent/AU2014220722B2/en active Active
- 2014-02-20 WO PCT/EP2014/053293 patent/WO2014128197A1/en active Application Filing
- 2014-02-20 MX MX2015010596A patent/MX348506B/es active IP Right Grant
- 2014-02-20 EP EP24167580.0A patent/EP4375996A3/en active Pending
- 2014-02-20 RU RU2015139597A patent/RU2625560C2/ru active
- 2014-02-20 TR TR2019/10956T patent/TR201910956T4/tr unknown
- 2014-02-20 CA CA2901186A patent/CA2901186C/en active Active
- 2014-02-20 AR ARP140100545A patent/AR096576A1/es active IP Right Grant
- 2014-02-20 TW TW103105681A patent/TWI550600B/zh active
- 2014-02-20 RU RU2015139596A patent/RU2626666C2/ru active
- 2014-02-20 BR BR112015019543-1A patent/BR112015019543B1/pt active IP Right Grant
- 2014-02-20 PT PT14706529T patent/PT2959482T/pt unknown
- 2014-02-20 PL PL14706528T patent/PL2959481T3/pl unknown
- 2014-02-20 AR ARP140100544A patent/AR094845A1/es active IP Right Grant
- 2014-02-20 BR BR112015019270-0A patent/BR112015019270B1/pt active IP Right Grant
- 2014-02-20 JP JP2015558442A patent/JP6175148B2/ja active Active
- 2014-02-20 PT PT147065288T patent/PT2959481T/pt unknown
- 2014-02-20 CN CN201910452024.3A patent/CN110232929B/zh active Active
- 2014-02-20 SG SG11201506543WA patent/SG11201506543WA/en unknown
- 2014-02-20 EP EP14706529.6A patent/EP2959482B1/en active Active
- 2014-02-20 CN CN201910368646.8A patent/CN110097889B/zh active Active
- 2014-02-20 WO PCT/EP2014/053287 patent/WO2014128194A1/en active Application Filing
- 2014-02-20 MY MYPI2015002060A patent/MY185210A/en unknown
- 2014-02-20 CA CA2900437A patent/CA2900437C/en active Active
- 2014-02-20 ES ES14706529T patent/ES2736309T3/es active Active
- 2014-02-20 TW TW103105684A patent/TWI550599B/zh active
- 2014-02-20 MX MX2015010595A patent/MX348505B/es active IP Right Grant
- 2014-02-20 AU AU2014220725A patent/AU2014220725B2/en active Active
- 2014-02-20 PL PL14706529T patent/PL2959482T3/pl unknown
- 2014-02-20 EP EP19164500.1A patent/EP3525207A1/en active Pending
- 2014-02-20 JP JP2015558443A patent/JP6196324B2/ja active Active
- 2014-02-20 KR KR1020157025744A patent/KR101764725B1/ko active IP Right Grant
- 2014-02-20 KR KR1020157025743A patent/KR101764726B1/ko active IP Right Grant
- 2014-02-20 CN CN201480009722.1A patent/CN105074819B/zh active Active
- 2014-02-20 ES ES14706528.8T patent/ES2634621T3/es active Active
- 2014-02-20 CN CN201811631280.0A patent/CN110047498B/zh active Active
- 2014-02-20 EP EP14706528.8A patent/EP2959481B1/en active Active
- 2014-02-20 CN CN201480009744.8A patent/CN105378835B/zh active Active
- 2014-02-28 MY MYPI2015002058A patent/MY173774A/en unknown
-
2015
- 2015-08-19 US US14/830,484 patent/US9947329B2/en active Active
- 2015-08-19 US US14/830,453 patent/US10354662B2/en active Active
-
2016
- 2016-06-16 HK HK16106931.1A patent/HK1218988A1/zh unknown
- 2016-06-23 HK HK16107301.1A patent/HK1219343A1/zh unknown
-
2017
- 2017-07-26 US US15/660,902 patent/US10685662B2/en active Active
-
2019
- 2019-06-21 US US16/448,260 patent/US10832694B2/en active Active
-
2020
- 2020-05-28 US US16/886,066 patent/US11621008B2/en active Active
- 2020-08-17 US US16/995,581 patent/US11682408B2/en active Active
-
2023
- 2023-02-17 US US18/111,445 patent/US20230282221A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11621008B2 (en) | Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap | |
BR112017019179B1 (pt) | Decodificador para decodificar um sinal de áudio codificado e codificador para codificar um sinal de áudio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 20/02/2014, OBSERVADAS AS CONDICOES LEGAIS. |