PT2959481T - Aparelho e método para criar um sinal codificado ou para descodificar um sinal de áudio codificado usando uma parte de sobreposição múltipla - Google Patents
Aparelho e método para criar um sinal codificado ou para descodificar um sinal de áudio codificado usando uma parte de sobreposição múltipla Download PDFInfo
- Publication number
- PT2959481T PT2959481T PT147065288T PT14706528T PT2959481T PT 2959481 T PT2959481 T PT 2959481T PT 147065288 T PT147065288 T PT 147065288T PT 14706528 T PT14706528 T PT 14706528T PT 2959481 T PT2959481 T PT 2959481T
- Authority
- PT
- Portugal
- Prior art keywords
- window
- frame
- block
- overlap
- transform
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 52
- 230000006870 function Effects 0.000 claims description 212
- 230000001052 transient effect Effects 0.000 claims description 148
- 230000003595 spectral effect Effects 0.000 claims description 70
- 230000005236 sound signal Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 16
- 238000001228 spectrum Methods 0.000 claims description 14
- 230000002441 reversible effect Effects 0.000 claims description 12
- 238000012805 post-processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000005452 bending Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 description 27
- 230000007704 transition Effects 0.000 description 22
- 238000007792 addition Methods 0.000 description 13
- 230000002123 temporal effect Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- OVOUKWFJRHALDD-UHFFFAOYSA-N 2-[2-(2-acetyloxyethoxy)ethoxy]ethyl acetate Chemical compound CC(=O)OCCOCCOCCOC(C)=O OVOUKWFJRHALDD-UHFFFAOYSA-N 0.000 description 5
- 238000002592 echocardiography Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000003466 anti-cipated effect Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000000481 breast Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 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
- 235000015110 jellies Nutrition 0.000 description 1
- 239000008274 jelly Substances 0.000 description 1
- 230000001418 larval effect 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
- 239000000203 mixture Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 229940036310 program Drugs 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- 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)
Description
DESCRIÇÃO
APARELHO E MÉTODO PARA CRIAR UM SINAL CODIFICADO OU PARA DESCODIFICAR UM SINAL DE ÁUDIO CODIFICADO USANDO UMA PARTE DE
SOBREPOSIÇÃO MÚLTIPLA 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.
Os esguemas contemporâneos de codificação de voz/áudio do domínio da freguência baseados nos FFTs de sobreposição ou na transformada de cosseno discreto modificado (MDCT) oferecem um certo 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 um frame usando um de pelo menos dois comprimentos de transformada diferentes - uma transformada longa de comprimento M para passagens de sinal estacionárias, ou 8 transformadas curtas do comprimento M/8 cada. No caso dos codecs MPEG, mudar das transformadas compridas para curtas e de curtas para longas (também conhecida por mudança de bloco) reguer a utilização de transformadas de transição com janelas assimétricas, nomeadamente uma janela de arrangue e uma janela de paragem, respetivamente. Estas formas de transformada, 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. 0 padrão AAC [1] e a seção 6 de [3] fornecem possíveis formas de janela.
Tendo em conta que o frame que chega deve ser codificado com transformadas curtas por um codificador MPEG, o frame atual tem de ser codificado com uma transformada de transição inicial, torna-se 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 baixo 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 transformada para a da transformada 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 baixo atraso (Melhorado) MPEG-4, é não permitir a mudança para transformadas mais curtas e, em vez disso, basear-se numa ferramenta de codificação de Modelação do Ruído Temporal (TNS) [4] que opera sobre os coeficientes de longa transformada para minimizar a propagação temporal de erro de codificação à volta dos transientes.
Para além disso, tal como xHE-AAC, o AAC de Baixo 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 transformadas de transição) para sinais não estacionários. A sobreposição reduzida efetivamente limita a extensão de tempo de uma transformada e, por conseguinte, o seu erro de codificação no caso da quantização do coeficiente. 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 transformada adaptativas do sinal. No entanto, as unidades transformadoras controladas por essas unidades de determinação do tamanho da janela ou da transformada operam sobre valores de sub-banda QMF ou LOT (implicando que os sistemas descritos empregam ambos bancos de filtros ou transformadas 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 transformada, que é o oposto do que é proposto por uma forma de realização preferida da presente invenção. 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 transformada 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 baixo atraso é conseguido evitando janelas de transição do comprimento de transformada 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 especial pós-processamento (arriscado) do descodificador. A transformada 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, numa 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 é, numa 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 transformada da técnica anterior através da abordagem da janela de transição da Samsung. Com essas transformadas, basta uma antecipação igual à largura de sobreposição entre as transformadas curtas para mudar completamente das transformadas longas para as curtas o tempo suficiente antes de um transiente de sinal.
Para 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 transformada 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, "Codificação de Áudio de Baixo atraso MPEG-4 baseada no Codec AAC", E. Allamanche, et ai., 106 Convention, 1999. Não obstante, dependendo do comprimento da transformada 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 inicio da zona antecipada, que por sua vez começa no fim da inclinação longa, isto é, a zona de sobreposição entre os frames. De acordo com as abordagens da técnica anterior, pelo menos um dos dois transientes apresentados chega à transformada de transição. Num 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 inicio da inclinação longa e, mesmo quando usa TNS, o ruido de pré-eco tem probabilidade de ser ouvido no sinal descodificado.
As duas alternativas de antecipação previamente mencionadas têm as suas desvantagens. Reduzir a sobreposição de transformada longa de 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 o que for altamente tonal. Por outro lado, proibir transformadas curtas como em AAC de Baixo atraso (Melhorado), reduz o desempenho do codec em transientes fortes com durações muito inferiores ao comprimento do frame, levando frequentemente ao ruído pré-eco ou pós-eco audível mesmo ao usar TNS.
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 um varrimento de frames/blocos na presença de um transiente.
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.
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. A presente invenção baseia-se na descoberta de que pelo uso de uma parte com sobreposição múltipla, é obtido um conceito de mudança de bloco com um particular baixo atraso.
Os aspetos da presente invenção baseiam-se na descoberta de que, para que um codec de áudio ou de imagem de baixo atraso possa abordar a qualidade de codificação dos codecs generalistas, é útil manter uma percentagem de sobreposição alta entre transformadas longas durante entradas de sinal estacionárias e permitir a mudança imediata para sobreposições e transformadas mais curtas em partes de sinal de áudio ou de imagem à volta de não estacionaridades do sinal. Para 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 transformada, de modo a que a largura ou os comprimentos de sobreposição da ou das transformadas dentro de um frame possa ser adaptada com precisão com base na localização de um possivel transiente dento da zona temporal do frame para minimizar pré-ecos ou outros artefactos.
Numa forma de realização, um detetor 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 um frame e, com base na localização do transiente dentro do 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 detetado 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.
Num exemplo, 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. A seleção da janela derivada da localização do transiente é transmitida juntamente com os 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.
Num exemplo, um controlador de sequência de janelas, um conversor, um detetor da localização de transientes e um controlador formam um aparelho para codificar, e o conversor aplica qualquer uma das conhecidas transformadas de introdução de aliasing, tais como uma MDCT (transformada do cosseno discreto modificado) , uma DST (transformada do seno discreto modificado) ou qualquer outra transformada similar. No lado do descodificador, um processador coopera com um conversor controlável para converter uma sequência de blocos de valores espectrais numa 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.
Dependendo da implementação, pode ser implementada uma mudança do comprimento de transformada adicionalmente à seleção da sobreposição de transformada, mais uma vez com base na localização do transiente dentro do frame. Ao implementar uma seçã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 baixo atraso, que mais uma vez reduz substancialmente o atraso de antecipação do transiente exiqido relativamente a conceitos anteriores. Noutra forma de realização, é preferível começar por selecionar a sobreposição e depois decidir o comprimento de transformada para determinar um códiqo de sobreposição para cada frame. Em alternativa, a decisão de mudar o comprimento de transformada pode ser tomada independentemente da decisão da larqura de sobreposição e, com base nestas duas decisões, é determinado um códiqo de sobreposição. Com base no códiqo de sobreposição para um frame atual e no códiqo de sobreposição de um 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.
Num aspeto primordial da invenção, 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 baixo atraso pelo facto 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. 0 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 descodif icador, de modo a poder obter uma implementação eficiente particularmente em dispositivos móveis ou dispositivos de baixo custo, onde o armazenamento ROM ou RAM exigido deve ser o mais pequeno possível.
As forma de realização preferidas baseiam-se numa sequência específica de janelas e numa 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 artefactos 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 transformada de introdução de distorção. No lado do descodificador, é configurado um correspondente pós-processador para realizar uma operação de dobragem depois de correspondentes transformadas 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 de amostras precedente originárias de uma operação de janelas com uma janela longa.
Ao contrário dos sistemas de codificação existentes, que empregam apenas uma escolha binária da largura da sobreposição de transformada (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 transformada): sobreposição máxima, meia sobreposição ou sobreposição minima. A sobreposição máxima pode ser igual ao comprimento do frame, tal como para transformadas longas em AAC, isto é, 50% de sobreposição, mas também pode ser igual a metade do comprimento do frame, isto é, 33% de sobreposição, ou menos, tal como será descrito numa forma de realização preferida. Correspondentemente, a sobreposição minima 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 segundos, tal como essa forma de realização preferida vai demonstrar. Por fim, a meia sobreposição pode ser, mas não tem de ser necessariamente, metade da sobreposição máxima.
Em particular, é definida uma unidade de determinação da largura de sobreposição que seleciona para cada frame (ou opcionalmente, para cada transformada dentro de um 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 deteção de transientes para identificar com precisão suficiente a posição de um transiente dentro do frame atual (ou opcionalmente, dentro de uma transformada no frame atual) e para derivar uma largura de sobreposição de modo a que pelo menos um dos dois objetivos é conseguido: A largura é escolhida de modo a que apenas uma das transformadas de sobreposição contenha o transiente. - Os pseudo-transientes devido ao aliasing no tempo da modelação TNS do erro de codificação são fortemente suprimidos.
Por outras palavras, a largura da sobreposição é determinada com o objetivo de prevenir a aliasing de pré-eco ou pós-eco à volta de um transiente perceptualmente codificado localizado no frame definido. Note-se que é possível um certo grau de liberdade relativamente aos meios de determinação da localização exata do transiente. 0 í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 numa forma de realização preferida, mas também pode ser a localização da energia ou amplitude máxima, ou o centro da energia, do transiente.
Para além disso, ao contrário dos esquemas de codificação da técnica anterior, que derivam as sobreposições instantâneas de inter-transformada a partir da seleção definida dos comprimentos de transformada 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 transformada), um sistema de codificação pode, em certas condições que serão analisadas abaixo, controlar ou derivar o(s) comprimentos(s) de transformada que será/serão usado(s) para um frame em particular usando a largura de sobreposição atribuída a esse frame e, opcionalmente, a largura de sobreposição do frame anterior (isto é, o tamanho de transformada segue os dados da unidade de determinação do tamanho de sobreposição).
Um melhoramento dos esquemas de mudança da técnica anterior é uma modificação vantajosa às transformadas 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 para 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, respetivamente, de uma "parte de não sobreposição com um dado comprimento". A forma de realização 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 transformada de transição modificada exibe uma zona de "sobreposição dupla" do comprimento não zero, a qual se sobrepõe tanto com a transformada longa do frame precedente como com a transformada curta seguinte. A forma resultante da transformada 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 transformada, a inclinação de sobreposição curta na extremidade direita da transformada 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 transformada curta. 0 comprimento reduzido dessa janela de transição modificada tem três vantagens cruciais, que facilitam a implementação, especialmente em dispositivos móveis: - 0 núcleo de transformada, isto é, o comprimento do vetor de coeficiente resultante do tempo volvido / transformada de frequência (preferencialmente o MDCT), é exatamente metade da largura da zona de sobreposição entre duas transformadas longas. Tendo em conta que essa largura de sobreposição longa é habitualmente igual ao comprimento do frame ou metade do comprimento do frame, isto implica que a janela de transição inventiva e as subsequentes janelas curtas se adaptem perfeitamente à grelha do frame e que todos os tamanhos de transformada do codec resultante estão relacionados por um fator de potência de dois números inteiros, como se pode ver na Figura 13. - Ambas as localizações do transiente apresentadas na Figura 17 e novamente na Figura 13 estão fora da transformada 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 transformada. 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 abordaqem de mudança do bloco da invenção da Fiqura 13.
Tanto o codificador como o descodificador podem usar exatamente as mesmas janelas para as transformadas de encaminhamento e de inversão. Num dispositivo de comunicação que realiza tanto a codificação como a descodificação, apenas um conjunto de dados de janelas tem de ser quardado na ROM. Pode ser ainda evitado o pré-processamento e o pós-processamento especial do sinal, o que exiqiria um proqrama ROM e/ou RAM adicional.
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 imaqem, muito provavelmente porque se considerou que violavam certos princípios que qarantem a reconstrução perfeita da forma de onda na ausência da quantização dos coeficientes de transformada. No entanto, é possível reconstruir exatamente a entrada quando usar a transformada de transição inventiva, e para além disso, não é exiqido nenhum pós-processamento especial do lado do descodificador, tal como na proposta da France Telecom.
Como nota adicional, vale a pena enfatizar que a utilização da dita janela de transição inventiva pode ser controlada através da unidade de determinação da larqura de sobreposição inventiva, em vez de ou como complemento de uma unidade de determinação do comprimento de transformada.
Subsequentemente, as forma de realização preferidas da presente invenção são discutidos e ilustrados com mais detalhe. Para além disso, faz-se particular referência às reivindicações dependentes que mais formas de realização são definidas.
Para além disso, a especificação ilustra especificamente um aspeto relacionado com a mudança de sobreposição adaptativa da localização de transientes particularmente no que diz respeito às Figuras la até 7. Outro aspeto relacionado como a parte de sobreposição múltipla é ilustrado e descrito relativamente às Fiquras 8a até 15f. Estes aspetos 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, numa forma de realização, ambos os aspetos podem ser vantajosamente combinados, resultando num 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 transformada, mais uma vez dependente de uma localização do transiente dentro de uma zona de antecipação do transiente de um frame. A mudança do comprimento de transformada pode ser realizada dependente da determinação da largura de sobreposição ou independente da mudança de sobreposição. A presente invenção não é apenas útil para sinais de áudio, mas também é útil para sinais de video, de fotoqrafia ou de imaqem, 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 artefactos. Um transiente no campo de imagens seria uma aresta viva e um frame corresponderia por exemplo a um macrobloco. A imagem é depois preferencialmente codificada bidimensionalmente, usando uma transformada de introdução de aliasing e uma sobreposição espacial correspondente. Isto reduz os artefactos de bloqueio, por um lado, e reduz qualquer outro artefacto 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 Passamos a discutir a seguir os modelos e aspetos com referência aos desenhos anexos, em que: A Fig. la ilustra um aparelho para codificar no contexto de um aspeto de mudança de sobreposição; A Fig. lb ilustra um aparelho para descodificar para o aspeto da mudança de sobreposição; A Fig. 2a ilustra uma sequência de janelas com total sobreposição entre as janelas adjacentes; A Fig. 2b ilustra uma sequência de janelas com meia sobreposição entre duas janelas adjacentes; 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 subsequente sobreposição total entre as janelas adjacentes;
As Figuras 3a e 3c ilustram diferentes larguras de sobreposição para diferentes localizações de transientes para uma forma de realização com um comprimento de transformada de 20 ms, tal como em TCX 20;
As Figuras 4a até 4g ilustram uma seleção dos comprimentos de sobreposição de transformada para um comprimento de transformada de 10 ms, tal como TCX 10 dependente de uma localização do transiente;
As Figuras 5a até 5c ilustram uma codificação de uma largura de sobreposição; A Fig. 6a ilustra uma codificação da largura de sobreposição e do comprimento de transformada com base na posição do transiente; A Fig. 6b ilustra um quadro de decisão do comprimento de transformada; A Fig. 7 ilustra diferentes sequências de janelas dependentes dos códigos de sobreposição anteriores e atuais; A Fig. 8a ilustra um codificador no contexto de uma parte de sobreposição múltipla numa forma de realização da presente invenção; A Fig. 8d ilustra um descodificador para o aspeto da parte de sobreposição múltipla numa forma de realização da presente invenção; A Fig. 9a ilustra um procedimento de acordo com uma forma de realização preferida que ilustra o lado do codificador; A Fig. 9b ilustra um fluxograma de um procedimento preferida no lado do codificador; A Fig. 10a ilustra uma forma de realização de um procedimento no lado do descodificador ; A Fig. 10b ilustra uma outra forma de realização de um procedimento realizado no lado do descodificador; A Fig. 11a ilustra operações realizadas no lado do codificador de uma forma de realização; A Fig. 11b ilustra operações realizadas por um descodificador numa forma de realização da presente invenção;
As Figuras 12a e 12b ilustram outra forma de realização de procedimentos por realizar no lado do codificador/descodificador no contexto do aspeto da sobreposição múltipla da invenção; A Fig. 13 ilustra diferentes sequências de janelas em que ambas têm uma parte de sobreposição múltipla; A Fig. 14a ilustra uma sequência de janelas com um comprimento de transformada mudado dependente da localização do transiente; A Fig. 14b ilustra outra sequência de janelas com uma parte de sobreposição múltipla;
As Figuras 15a até 15f ilustram diferentes sequências de janelas e correspondentes partes de antecipação e pré-ecos; A Fig. 16 ilustra formas de janelas da técnica anterior; e A Fig. 17 ilustra sequências de janelas da técnica anterior formadas por formas de janelas da Fig. 16. A Fig. la ilustra um aparelho para codificar um sinal de áudio 100. O aparelho para codificar um sinal de áudio compreende um controlador de sequência de janelas 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 numa representação espectral que compreende uma sequência de frames de valores espectrais indicada em 105. Para além disso, é fornecido um detetor da localização do transiente 106. 0 detetor está configurado para identificar uma localização de um transiente dentro de uma zona de antecipação de transiente de um frame. Para além disso, um controlador 108 para controlar o controlador de sequência de janelas 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. Para além disso, o controlador 108 está, numa forma de realização, configurado para fornecer informação sobre janelas 112 não apenas para o controlador de sequência de janelas 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 num 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. 0 controlador 108 está configurado para selecionar a janela especifica 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 especifica é selecionada pelo controlador de sequência de janelas 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 menos mais pequenos 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. 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, o último frame associou uma primeira janela 200, o frame atual associou a janela 202 e o terceiro ou próximo frame associou a janela 204. Neste modelo, as janelas adjacentes sobrepõem-se em 50%, isto é, um comprimento total. Para além disso, os frames são colocados relativamente às janelas para identificar que parte do sinal de áudio é processada por um frame. Isto é explicado relativamente ao frame atual. O frame atual tem uma parte esquerda 205a e uma parte direita 205b. Correspondentemente, o último frame tem uma parte direita 204b e uma parte esquerda 204a. De modo análogo, o 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 é criado o 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.
Tal como é conhecido na técnica do processamento MDCT, geralmente, no processamento que usa uma transformada de introdução de aliasing, esta transformada de introdução de aliasing pode ser separada num passo de dobrar e num posterior passo de transformada que usa uma certa transformada de introdução de não aliasing. No exemplo da Fig. 2a, a seção 204b é dobrada na seção 205a e seção 206a é dobrada na seção 205b. O resultado da operação de dobrar, isto é, a combinação ponderada de 205a, 204b, por um lado, e de 206a e 205b são depois transformadas no domínio espectral usando uma transformada, tal como uma transformada DCT. No caso de um MDCT, é aplicada uma transformada DCT IV.
Posteriormente isto é exemplificado com referência ao MDCT, mas outras transformadas de introdução de aliasing podem ser processadas de um modo similar e análogo. Como uma transformada volvida, a MDCT é um pouco incomum comparativamente com outras transformadas de Fourier relacionadas dado ao facto de ter metade das saídas das entradas (em vez do mesmo número) . Em particular, é uma função linear F: R2Ar—>R^ (em que R denota o conjunto de números reais) . O números reais 2N xO, . . ., x2N-l são transformados nos N números reais XO, ..., XN-1 de acordo com a fórmula:
(O coeficiente de normalização à frente desta transformada, aqui unidade, é uma convenção arbitrária e difere entre tratamentos. Apenas o produto da normalização da MDCT e da IMDCT, abaixo, está limitado.)
Transformada inversa A MDCT inversa é conhecida por IMDCT. Por haver 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 se cancelem e os dados originais sejam restaurados; esta técnica é conhecida como o cancelamento de aliasing do domínio do tempo (TDAC). A IMDCT transforma os N números reais XO, ..., XN-1 em 2N números reais yO, . .., y2N-l de acordo com a fórmula:
(Tal como para DCT-IV, uma transformada ortogonal, a inversão tem a mesma forma da transformada de encaminhamento.)
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 (isto é, tornar-se 2/N).
Em típicas aplicações de compressão do sinal, as propriedades de transformada são ainda adicionalmente 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 aplicamos a função de janela aos 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, consideramos o caso comum de funções de janela idênticas para blocos do mesmo tamanho. A transformada permanece invertível (ou seja, a TDAC funciona), para uma janela simétrica wn = w2N-l-n, enquanto w satisfaz a condição Princen-Bradley:
são usadas várias funções de janela. Uma janela que produz uma forma conhecida por transformada volvida modulada [3][4] é fornecida por
e é usada para MP3 e MPEG-2 AAC, e
para Vorbis. AC-3 usa uma janela derivada Kaiser-Bessel (KBD), e MPEG-4 AAC pode também usar uma janela KBD.
Note que as janelas aplicadas à MDCT são diferentes das janelas usadas para alquns 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). 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-se estas equivalência com mais cuidado, podem facilmente derivar-se propriedades importantes, tal como TDAC.
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=-l/2), ímpar no seu limite direito (por voltar de n=N-l/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
Por conseguinte, se as suas entradas forem uma rede x de comprimento N, podemos imaginar estender esta rede para (x, -xR, -x, xR, ...) e assim por diante, em que xR denota x por ordem inversa.
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 temos de os "dobrar" de volta de acordo com as condições limite acima descritas.
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 acima.
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.
(Deste modo, qualquer algoritmo para calcular DCT-IV pode ser trivialmente aplicado à MDCT.) De modo similar, a fórmula IMDCT acima é precisamente 1/2 de DCT-IV (que é o seu próprio inverso), em que a saida 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 é estendido através das condições limite e deslocado, obtém-se: IMDCT(MDCT(a, b, c, d)) = (a-bR, b-aR, c+dR, d+cR) / 2. Metade das saldas IMDCT são, pois, redundantes, como b-aR = -(a-bR)R, e de iqual modo para os dois últimos termos. Se aqruparmos 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: IMDCT(MDCT(A, B)) = (A-AR, B+BR) / 2 Poderá agora entender-se como funciona a 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 ao resultado anterior de IMDCT na meia sobreposição, os termos invertidos cancelam-se e obtém-se simplesmente B, recuperando os dados oriqinais. A oriqem do termo "cancelamento da aliasing do domínio do tempo" fica aqora claro. A utilização dos dados de entrada que se estendem para além dos limites de DCT-IV lóqico 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 facto de este aliasing ocorrer no domínio do tempo em vez de no domínio da frequência: não consequimos 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 se cancelarem quando são adicionadas. Para N impar (que na prática raramente são 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 siqnifica que o MDCT/IMDCT se torna equivalente a DCT-III/II, e a análise é análoqa à de acima.
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). 0 DCT-IV é concebido para o caso de a função no limite direito ser impar, 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 sequndo termo, (b,c)R, fornece uma transição suave 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 a utilização de 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.
Em cima, a propriedade de TDAC ficou comprovada para a MDCT corrente, 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.
Considere sobrepor conjuntos consecutivos de 2N entradas (A,B) e (B,C), para blocos A,B,C do tamanho N. Recorde acima quando (A,B) e (B,C) são MDCTed, IMDCTed, e adicionados na sua metade de sobreposição, obtemos (B + Br)/2 + (B-Br)/2 = B , os dados originais. Agora supomos que multiplicamos ambas as entradas MDCT e as saldas IMDCT por uma função de janela do comprimento 2N. Tal como acima, 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 a reversão tal como antes. Depois a condição Princen-Bradley pode ser escrita como W + WR=( 1,1,...), com os quadrados e adições realizados de forma elementar.
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: 1¾ · ( WrB+ ( WrB) r)=Wr· ( WrB+ WBr) = ws B + WWrBr (Note que já não temos a multiplicação por 1/2, porque a normalização de IMDCT difere de um fator de 2 no caso em j anela.)
De modo similar, a MDCT e IMDCT em janela de (B, C) resulta na sua primeira metade N: W-{WB- WrBr ) = W2B - WWrBr
Quando se adicionam estas duas metades uma à outra, recuperam-se os dados originais.
Num procedimento idêntico, a próximo frame é calculado usando as partes 205b, 206a, 206b e a primeira parte do 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 controlador de sequência de janelas 102 da Fig. la. Conforme declarado, a Fig. 2a ilustra uma situação em que não são detetados transientes no último frame, no frame atual e no frame seguinte e, especificamente, na zona de antecipação para cada frame indicada pelo item 207 para o último frame, 208 para o frame atual e 209 para o frame seguinte. A Fig. 2b ilustra uma situação, em que os transientes são detetados em posições de transientes 210, 211, 212, 213. Pelo facto de uma posição de transiente ser, por exemplo, detetada em 210, e uma vez que 210 está na zona de antecipação que começa em 207 para o último 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, o frame atual é adicionalmente processado usando a segunda janela 216 com o segundo comprimento de sobreposição. Assim sendo, a janela 215 é uma espécie de janela de arranque que muda da janela com o primeiro comprimento de sobreposição indicado em 201 para uma 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 facto de na zona de antecipação que começa em 209 não ser detetado 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 no frame atual por um lado e entre o frame atual e o frame seguinte por outro lado, que está indicada em 218, tem metade do comprimento do que o comprimento de sobreposição na Fig. 2a para a primeira janela que é ilustrada com 16 ranhuras.
Assim sendo, a janela de meia sobreposição é utilizada para transientes que são detetados nas zonas de deteção 1 e 6. Conforme ilustrado em 219, essa zona de deteção compreende duas ranhuras. Assim sendo, a faixa de antecipação está separada preferencialmente em oito ranhuras. Por outro lado, no entanto, pode fazer-se uma subdivisão mais por alto ou mais precisa. Porém, em formas de realização preferidas, 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.
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.
Faz-se referência à Fig. 2c. A Fig. 2c ilustra uma situação, em que o detetor de transientes deteta na zona de antecipação que começa no centro do último frame em que existe um transiente na segunda zona de deteção de transientes 222. Assim sendo, muda-se para um quarto de sobreposição para garantir que o transiente 223 é apenas "atenuado" dentro da janela 224, sem ser incluído na zona definida pela janela 201 ou na zona definida pela janela 225. Para além disso, é indicada uma sequência, na qual se realiza uma mudança de um quarto de sobreposição para o último frame e o frame atual para a meia sobreposição entre o frame atual e o frame seguinte e de volta para a sobreposição total entre o frame seguinte e o frame lado a lado. Isto deve-se aos transientes detetados. Na zona de antecipação que começa em 208, os transientes são detetado na parte um e na parte seis, enquanto os transientes são detetados na parte dois e parte cinco entre a último frame 207 e o frame atual 208.
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 num 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. Para 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 num 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 num lado e com um comprimento de sobreposição diferente no outro lado.
Posteriormente são ilustrados outras formas de realização relativamente às seguintes figuras. De um modo geral, a deteção do transiente e a sua localização podem ser feitas por exemplo usando um método ou procedimento similar ao detetor de transientes descrito na Patente norte-americana 6.826.525 B2, mas podem também ser usados quaisquer outros detetores de transientes. A unidade de deteção de transientes identifica a presença e, caso se aplique, a localização do inicio do transiente mais forte na nova parte do sinal de um certo frame, isto é, excluindo a zona de sobreposição entre o frame atual e o frame anterior. A resolução do índice que descreve a localização do transiente é, nas seguintes figuras, 1/8 do comprimento do frame, portanto, o índice vai de 0 a 7. Em figuras subsequentes, os sub-blocos com índices 0, ..., 7 representam os mais recentes 20 ms de um sinal do domínio de tempo que são usados para a codificação do frame atual.
As Figuras 3a-3c ilustram a seleção da largura da sobreposição de transformada para um comprimento de transformada em ms exemplificativo, isto é, para um comprimento de transformada TCX20.
Na Fig. 3a não está presente um transiente no frame atual. Por isso, é detetada uma sobreposição total 300. A Fig. 3b, em contrapartida, ilustra uma situação em que um transiente é detetado no sétimo sub-bloco, de modo a ser selecionada uma meia sobreposição 302 pelo controlador 108 da
Fig. la. Para além disso, a Fig. 3c ilustra a situação em que um transiente é detetado no sexto sub-bloco e, por isso, é definida uma sobreposição mínima304 pelo controlador. Assim sendo, o detetor da localização de transientes 106 deteta 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 detetor de localização de transientes 106 da Fig. la, 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 facto de o transiente ser detetado na localização 6 ou 7, o comprimento de transformada mantém-se mesmo assim. Assim sendo, os comprimentos de transformada 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 transformada especificamente em situações nas quais o transiente é detetado noutros sub-blocos. Assim sendo, a largura de sobreposição entre a janela de transformada atual e a seguinte depende da localização do transiente. A sobreposição entre a janela de transformada atual e a anterior, porém, foi determinada ao processar o frame anterior.
Posteriormente é feita referência à Fig. 4a até 4g para mostrar a seleção do comprimento de sobreposição de transformada para o comprimento de transformada de 10 ms, isto é, TCX10. Se, por exemplo, um codec é limitado para 10 ms de comprimento de transformada, a sobreposição entre duas janelas TCX10 é escolhida de modo a suprimir fortemente pseudo-transientes devido ao aliasing no tempo da modelação TNX do erro de codificação. Para 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. A Fig. 4a ilustra uma situação em que um transiente é detetado na ordem zero ou l.° sub-bloco. De seguida, são escolhidas as "primeiras janelas" 401, 402 que têm o máximo ou o primeiro comprimento de sobreposição 403. Para 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. A Fig. 4b ilustra uma situação em que o transiente é detetado no segundo sub-bloco e o controlador depois controla a sequência de janelas, de modo a escolher uma sobreposição minima 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. la e lb. Para além disso, quando é detetado 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.
Para 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 transformadas de sobreposição contenha um transiente conforme ilustrado, o caso em que o transiente está no segundo ou no terceiro sub-blocos é ilustrado na Fig. 4f ou 4g respetivamente. 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-blocos. 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. A Fig. 4f, por outro lado, ilustra a situação em que o transiente está no primeiro sub-bloco, de modo a 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". A Fig. 4g ilustra uma situação em que o transiente é detetado 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 40 9 que tem um comprimento de meia sobreposição 405 e uma outra segunda janela 414 que tem um segundo comprimento de sobreposição 405. 0 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.
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 facto 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. Posteriormente faz-se referência a uma forma de realização preferida, no qual o comprimento de transformada é 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. Para 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 minima é codificada usando a combinação do bit "10" bit.
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 .
Ao contrário dos esquemas de codificação que derivam as sobreposições instantâneas de inter-transformada a partir de uma dada seleção de comprimentos de transformada para um par de frames, isto é, a largura de sobreposição segue a saida da determinação do comprimento de transformada, uma forma de realização preferida da presente invenção refere-se a um sistema de codificação que pode controlar ou derivar o(s) comprimento(s) de transformada para serem usados para um frame particular usando a largura de sobreposição atribuída a esse frame e opcionalmente a largura de sobreposição de um frame anterior, isto é, o comprimento de transformada segue os dados da unidade de determinação da largura de sobreposição ou, relativamente à Fig. la, através da cooperação do detetor de localização de transienteslO6 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 transformada no frame atual e a linha descontínua representa a metade esquerda da janela da primeira transformada no frame seguinte. A Fig. 6a ilustra uma codificação da sobreposição e do comprimento de transformada com base na posição do transiente. Em particular, a decisão de transformada curta/longa é codificada usando 1 bit como indicado na coluna 600 e a sobreposição com a primeira janela do frame seguinte é codificado 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 transformada 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. Para além disso, a sobreposição com a primeira janela do frame seguinte é determinada pelo controlador 108 dependendo do índice da posição do transiente da coluna 604 conforme determinado pelo detetor 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.
Assim sendo, a sobreposição total é sinalizada para "nenhum transiente" ou uma posição de transiente entre -2 e 1. Para 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.
Assim sendo, o índice "-2" na Fig. 6a significa que houve um transiente no frame anterior na posição 6, e "-1" significa que houve um transiente no frame anterior na posição 7. Tal como foi afirmado, "nenhum" significa que não foi detetado nenhum transiente na zona de antecipação do transiente.
Tal como foi delineado, a decisão de transformada 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 transformada curta/longa e do código binário para a largura de sobreposição codificada com 1 ou 2 bits. 0 código é um código de comprimento variável, onde é automaticamente detetado 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 transformada curta/longa e para a largura de sobreposição estão definidos na Fig. 6a. Por exemplo, quando a decisão de transformada curta/longa fornece 1 e é selecionada a sobreposição minima, isto é, um código binário é igual a 10, o código de sobreposição é 110.
Para além disso, Fig. 6a ilustra a situação em que é tomada uma decisão de transformada curta para todas as posições do transiente entre -2 e 5 e em que é escolhida uma transformada 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 detetor da localização do transiente pode detetar um certo transiente numa certa posição e em que, independentemente uma da outra ou em paralelo, pode ser determinada a decisão de transformada curta/longa e a sobreposição com a primeira janela do frame seguinte, isto é, é possível derivar o código da sobreposição total 603. Enfatiza-se que os versados na arte entendem que podem ser usados quaisquer outros códigos para codificar diferentes transformadas curtas/longas e diferentes sobreposições. Para além disso, podem ser determinados e sinalizados mais de dois, isto é três ou mesmo mais, comprimentos de transformada 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 detetor 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 mais divisões ainda, como seja em dezasseis divisões de um frame.
Com base no código de sobreposição para o frame atual e para o frame anterior, é tomada uma decisão para uma combinação do comprimento de transformada para usar, conforme ilustrado na Fig. 6b. Assim sendo, a Fig. 6b ilustra a decisão de um comprimento de transformada 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 transformada 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 . 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 transformada juntamente com a posição do transiente no frame atual e com os códigos de sobreposição para o frame atual e para o 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 transformadas TCX-5 e uma transformada 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 transformada curta ou transformadas "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 transformada média, tal como uma janela TXC 10 seguida por duas janelas TCX-5 ou de comprimento de transformada 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 transformada 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 transformada 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.
Conforme ilustrado na Fig. la, a informação de janela, isto é, o código de sobreposição 603 da Fig. 6a ilustrado em 112 na Fig. la pode ser associado a cada frame codificada por uma interface de saída 114.
Para além disso, a transformada aplicada no conversor 104 pode ser uma MDCT ou uma MDST ou uma transformada de introdução de aliasing diferente que é caracterizada pelo facto de o número de valores espectrais num bloco de valores espectrais ser inferior ao número de amostras em janela num bloco de amostras em janela introduzido na transformada 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 transformada de retorno ou inversa redutora da distorção. Conforme ilustrado em todas as Figuras de 2 a 7, é mantida um varrimento de frames constante. Assim sendo, o controlador 108 garante que, apesar de se mudar para comprimentos de transformada mais curtos, tal como por exemplo ilustrado na Fig. 7, é sempre mantida o mesmo varrimento constante de frames. Isto é garantido pelo uso exclusivo dessas janelas específicas que resultam sempre num comprimento de transformada similar para cada classe de janelas no contexto do correto tamanho de sobreposição. Assim sendo, cada comprimento de transformada TCX-5 é definido para ter essa zona de sobreposição e uma zona constante entre as duas zonas de sobreposição que a transformada resulta em N/4 valores espectrais, onde N é o número dos valores espectrais dentro de um frame. A forma e o tamanho e especificamente os comprimentos de sobreposição das janelas de transformada TCX 20 são adicionalmente concebidos de modo a que esta janela resulta em N amostras espectrais N depois da transformada. A Fig. lc ilustra uma forma de realizaçã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 controlador de janelas de síntese posteriormente conectado 172 e um adicionador de sobreposição final 174. Especificamente, o conversor frequência-tempo realiza a transformada tal como uma transformada 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.
De seguida, a saída do conversor frequência-tempo 170 é introduzida num controlador 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.
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 controlador 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 transformada para o conversor 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 transformada. Para além disso, o tamanho/forma da janela é também determinado com base no código de sobreposição anterior e num 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.
Assim sendo, é preferível o controlador 180 no descodificador na Fig. lc 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.
Assim sendo, é determinada cada janela e o correspondente tamanho de transformada associado à janela. Nos modelos preferidas em que uma MDCT é usada como uma transformada e uma MDCT inversa é usada para a transformada inversa, o tamanho da janela é duas vezes o comprimento de transformada ou o comprimento de transformada é metade do tamanho da janela. A Fig. ld ilustra outra forma de realização da presente invenção implementada com um dispositivo móvel, em que o dispositivo móvel compreende, por um lado, um codificador 195 e, por outro lado, um descodif icador 196. Para além disso, de acordo com uma forma de realização preferida 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 uso tanto no codificador como no descodificador. Isto é vantajoso pelo facto 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 descodif icador. Em vez disso, pelo facto 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. ld é 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. A seguir, faz-se referência a uma outra forma de realização preferida relativamente ao modelo de mudança do comprimento de transformada/transformada. 0 esquema de codificação de comprimento adaptativo de transformada e sobreposição delineado acima foi implementado no caminho da excitação codificada da transformada (TCX) do codificador LD-USAC, uma variante de baixo atraso de xHE-AAC [5] com um comprimento de frame de 20 ms, 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 do frame de 512 amostras e uma sobreposição de transformada longa de 256 amostras, isto é 33%, durante as condições de entrada (pseudo)estacionárias. O codificador inclui uma unidade de deteção de transientes, cuja saída é introduzida numa unidade de determinação do comprimento de transformada e na unidade de determinação da largura de sobreposição inventiva. Estão disponíveis três comprimentos de transformada 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 ms) , meia sobreposição de 128 amostras de núcleo (5 ms) e sobreposição minima de 16 amostras (0,6 ms) . Para cada frame têm de ser selecionados os comprimentos de transformada, de modo a que a soma dos comprimentos de todas as transformadas nesse frame seja igual ao comprimento do frame de núcleo, isto é, 512 amostras.
Numa forma de realização preferida do sistema de codificação da invenção, o codificador opera do seguinte modo: 1. A unidade de deteção de transientes identifica a presença e, caso se aplique, a localização do inicio do transiente mais forte na nova parte do sinal de um certo frame (isto é, excluindo a zona de sobreposição entre o frame atual e o frame anterior) . A resolução do índice que descreve a localização do transiente é 1/8 do comprimento do frame, portanto, a faixa do índice é 0, ..., 7 . 2. Se não for detetado nenhum transiente ou se o índice de localização do transiente for 6 ou 7, o frame afetado é codificada usando a transformada TCX-20 por decisão da unidade de determinação do comprimento de transformada. Caso contrário, é utilizada uma combinação de transformadas 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 transformadas usadas dentro do frame atual (excluindo a sobreposição já escolhida com o último frame) de acordo com os objetivos enumerados acima, de tal modo que são selecionadas as sobreposições mais longas possíveis que não violem esses objetivos. Em particular, se um 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, respetivamente. Se não estiver presente nenhum sinal não estacionário num frame, é utilizada a sobreposição máxima. 4. Para além disso, se uma combinação TCX-10/-5 foi devolvida pela unidade de determinação do comprimento de transformada para o frame (não-estacionária), a unidade de determinação da largura de sobreposição controla a composição exata dos comprimentos de transformada nesse frame. Particularmente, se for utilizada a sobreposição máxima anteriormente, assim como, o frame atual, aplica-se 2x TCX-5 seguido de TCX-10 no frame atual, sendo a primeira das transformadas TCX-5 a transformada de transição da invenção com sobreposição dupla. Se a largura de sobreposição da último frame ou do frame atual for inferior ao máximo, é também utilizada uma das configurações TCX-10/-5 misturadas. Se tanto o último como o atual frame tiverem uma sobreposição inferior ao mínimo, utiliza-se 4x TCX-5. 5. 0 codificador procede agora à gestão de janelas do sinal e das atuais MDCTs para o 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. 0 remanescente do processo de codificação é idêntico ao de xHE-AAC. TNS é opcionalmente aplicado às transformadas individuais e pode ser feito o agrupamento de dois conjuntos de coeficientes TCX-5 MDCT num 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.
Tal como o codificador, o descodificador apropriado de acordo com a forma de realização preferida 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 transformadas utilizadas. Tal como no codificador, a ordem do gestão de janelas e das operações de dobrar depois das MDCTs individuais é fulcral para obter a reconstrução perfeita do sinal.
Posteriormente uma outra forma de realização da invenção é discutida e ilustrada no contexto das Figuras 8 a 15f. Este aspeto, que é também denominado de "aspeto de sobreposição múltipla" pode ser combinado com a forma de realização da mudança da largura de sobreposição e do comprimento de transformada que foi discutido relativamente às Figuras 1 a 7, ou pode ser implementado separadamente a partir deste aspeto.
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 de janela para criar um primeiro frame de valores espectrais, uma segunda função de janela e uma ou mais terceiras funções da janela para criar um segundo frame de valores espectrais. A primeira função de janela, a segunda função de janela e a ou as terceiras funções da janela sobrepõem-se dentro de uma zona de sobreposição múltipla.
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 de janela relativamente à Fig. 15f ilustrada em 1500, a segunda função de janela 1502 e a terceira função de 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 de janela 1500, a segunda função de janela 1502 mas agora quatro terceiras funções da janela 1503 ao contrário de uma única terceira função de janela 1503 da Fig. 15f . É fornecido um pré-processador 102 para manusear corretamente esta zona de sobreposição múltipla que resulta numa 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. Para 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. Para além disso, um conversor de espectro 804 está configurado para aplicar uma transformada de introdução de aliasing ao primeiro bloco de amostras usando a primeira janela para obter o primeiro frame de valores espectrais. Para além disso, o conversor de espectro está configurado para aplicar uma transformada de introdução de aliasing numa primeira parte do segundo bloco pré-processado das amostras em janela, usando a segunda função de janela para obter uma primeira parte de amostras espectrais de um segundo frame, e para aplicar a transformada de introdução de aliasing numa 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 do segundo frame. Para além disso, um processador 806 indicado como "processador de codificação" é fornecido dentro do codificador da Fig. 8a para processar o primeiro frame e o segundo frame de valores espectrais para obter frames codificadas do sinal de áudio na saida 807 do bloco 806. Portanto, o processador de codificação pode ser idêntico ao ou diferente do processador de codificador 110 da Fig. la e pode realizar qualquer um dos bem conhecidos MPEG ou AMR ou qualquer outra caracteristica de codificação na técnica.
Faz-se depois referência à Fig. 13. A Fig. 13 mostra mais uma vez a segunda metade da primeira função de janela 1500, da segunda função de 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 de janela 1500, uma segunda função de 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.
Para além disso, a Fig. 13 ilustra ainda uma situação com uma diferente primeira função de janela 1500', uma diferente segunda função de janela 1502' e a mesma terceira função de 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 um frame completo 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 aspeto de sobreposição múltipla e do aspeto da determinação da largura de sobreposição.
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. Para além disso, o codificado é também ilustrado na Fig. 12a e o descodif icador é ilustrado na Fig. 12b.
Em particular, a Fig. 11a ilustra mais uma vez a primeira função de janela 1500 e pelo menos uma parte da segunda função de janela 1502 e ou quatro terceiras funções da janela 1503 ou uma única terceira função de janela 1503. Em particular, a Fig. 11a ilustra adicionalmente 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 de janela 1500. Para 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 do frame anterior ilustrado em 1102, sendo a primeira metade do frame atual i indicado por 1103, a segunda metade do frame atual i indicado 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 no 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 no frame atual em vez de no frame que está a chegar i + 1. 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 no frame anterior i - 1. Pelo facto 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 numa 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 transformada de introdução de aliasing ao primeiro bloco de amostras usando a primeira função de janela ilustrada para o frame i - 1. A transformada de introdução de aliasing compreende a operação de dobrar ilustrada em 1120 e a subsequente, por exemplo, transformada DCT-IV indicada em 1122. Com esse fim, a primeira função de janela 1500 é exigida para obter a forma antes da operação de dobrar 1120 para o frame i - 1. Para além disso, o conversor de espectro aplica-se à transformada de introdução de aliasing à primeira parte indicada pelo item 1131 na Fig. 11a. Isto é feito usando a segunda função de janela 1502 e, em particular, a parte direita da segunda função de janela 1502. Esta operação resulta numa primeira parte de amostras espectrais de um segundo frame obtido por transformada 1132, em que a transformada 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 transformada de introdução de distorção.
Para além disso, o conversor de espectro está configurado para aplicar a transformada de introdução de aliasing 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 do segundo frame. Assim sendo, para obter a segunda parte 1135 de amostras espectrais, podem ser aplicadas quatro N/8 transformadas DCT-IV ou uma única N/2 transformada DCT-IV. O número ou as transformadas e os comprimentos dependem do número das terceiras funções da janela.
De um modo geral, o comprimento, a transformada ou o número de amostras espectrais na segunda parte 1135 é igual ao número de amostras espectrais num frame menos o comprimento da transformada 1132 e o resultado é depois dividido pelo número das terceiras funções da janela utilizadas.
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 transformadas usando a primeira, segunda e terceira funções da janela para obter o primeiro frame de valores espectraisll22, a primeira parte 1132 do segundo frame e segunda parte 1135 do segundo frame ou frame i na notação da Fig. 11a.
Na forma de realização preferida, ilustrado relativamente à Fig. 9b, a função auxiliar da janela é determinada 910 fazendo referência à primeira função de 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 de janela. Para 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 de janela curta .
De seguida, o sinal de áudio é gerido em janela 912 com esta função auxiliar da janela na correta relação com o frame anterior ou primeiro i - 1 ilustrado 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 com linhas ponteadas no item e) ou f) na zona interior. Para 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 de 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 o primeiro frame. O núcleo DCT para a sub-imagem e) é N/2 para a segunda função de janela, e N/8 para as terceiras funções da janela. Contrariamente, quando existe apenas uma única terceira função de janela, o núcleo de transformada é igual a N/2 para a segunda função de janela e é igual a N/2 para a única terceira função de janela.
Assim sendo, fica claro que a zona de sobreposição múltipla 1300 é gerida 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 de janela 1503 conforme é ilustrado na sub- imagem e) ou f) da Fig. 11a.
Faz-se novamente referência à Fig. 13. conforme discutido no contexto da Fig. la ou no contexto da Fig. 8a, o controlador da sequência de janelas cria as formas especificas da janela. Numa forma de realização, o controlador da sequência das janelas está configurado para compreender o detetor de localização do transiente 106. Quando é detetado um transiente em partes de deteçã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 de 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 numa 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.
Contrariamente a isto, 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 é detetado um transiente, pode ser mudado um conjunto ainda maior de janelas curtas para o frame atual, de modo a que, preferencialmente dentro de um e do mesmo bloco ou varrimento do 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 é detetado um transiente em qualquer parte do frame atual sem saber exatamente onde dentro do frame é que o transiente se encontra.
No entanto, é preferível, para manter o número de terceiras funções da janela o mais pequeno 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 transformada e do comprimento de transformada sejam realizadas em função da localização especifica do transiente dentro do frame, isto é, num ou preferencialmente em quatro ou até oito diferentes partes de um frame ou de uma parte do tempo correspondente a um 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 inicio 208 (ilustrado na Fig. 2 por um lado e na Fig. 13 por outro lado) da zona de antecipação.
No lado do descodificador é realizado um processamento análogo. Numa forma de realização é exigido um aparelho para descodificar um sinal de áudio codificado 821, que compreende um primeiro frame codificado e um segundo frame codificado, um processador de descodificação 824 da Fig. 8b, para processar o primeiro frame codificado e o segundo frame codificado para obter um primeiro frame de valores espectrais e um segundo frame de valores espectrais, compreendo o primeiro e o segundo frames partes de aliasing. Um conversor de tempo 826 está ligado ao processador descodificado 824 e o conversor de tempo 826 está configurado para aplicar uma transformada a este primeiro frame usando uma primeira função de janela para obter um primeiro bloco de amostras. Para além disso, o conversor de tempo 826 está configurado para aplicar a transformada a uma primeira parte do segundo frame usando uma segunda função de janela, e para aplicar a transformada a uma segunda parte do segundo frame usando uma ou mais terceiras funções da janela para obter o segundo bloco de amostras. Conforme discutido no contexto da Fig. la, a primeira função de janela 1500, a segunda função de janela 1502 e a ou as terceiras funções da janela 1503 têm, em conjunto, uma zona de sobreposição múltipla 1300.
Para 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. Para 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. lc. Assim sendo, basicamente o pós-processador 828 da Fig. 8b pode ter a funcionalidade do controlador de janelas de sintese 172 relativamente á função auxiliar da janela e ao adicionador de sobreposição 174.
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. 0 primeiro frame de valores espectrais 1142 é introduzido numa transformada inversa de tamanho N 1161 e a primeira parte 1152 do segundo frame é introduzida numa transformada inversa N/2 1162 e dependendo do número das terceiras funções da janela, a segunda parte 1155 do segundo frame é introduzida em quatro N/8 transformadas curtas 1163 ou numa única N/2 transformada 1162 idêntico ao processo da primeira parte 1152 do segundo frame.
Este procedimento é realizado pelo conversor de tempo. 0 conversor de tempo adicionalmente usa a primeira função de janela para realizar a gestão de janelas em conjunto com uma operação de desdobrar prévia ilustrada em 1170 na Fig. 11b. Para além disso, a segunda função de 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 de janela e realiza-se a segunda gestão posterior de janelas, enquanto, no lado esquerdo do frame não se procede a nenhuma desdobragem interna. Para além disso, a transformada realiza uma desdobragem especifica e uma posterior gestão de janelas e uma adicional adição de sobreposição não apenas com a primeira parte 1152 do segundo frame, mas também com a segunda parte 1155 do segundo frame conforme ilustrado em 1172 na Fig. 11b. Se houver apenas uma única terceira função de 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 de janela e o lado esquerdo da terceira função de janela e a posterior adição de sobreposição dentro da faixa de sobreposição 1174 .
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 no frame anterior e preferencialmente 1176b que se estende no frame seguinte. De seguida, é realizada a gestão de janelas com a parte desdobrada 1176a, 1176b e claro com a parte dentro do 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. Para além disso, este procedimento adicionalmente resulta numa parte subsequente das amostras de sinal de áudio descodificado 1181 pelo facto de não haver sobreposição e a próxima seção 1182 é obtida pela sobreposição com a correspondente parte de uma função de janela para o frame i + 1, seguindo o frame i no tempo.
Assim sendo, conforme ilustrado na Fig. 10a, o método do lado do descodificador compreende aplicar 1000 uma transformada ao primeiro frame usando a primeira função de janela e aplicar 1010 a transformada à primeira parte do segundo frame usando a segunda função de janela e aplicar 1020 a transformada à segunda parte do segundo 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. Conforme ilustrado na Fig. 10b, as forma de realização preferidas compreendem realizar uma operação DCT inversa para cada parte do segundo frame, isto é, realizar várias operações DCT com comprimentos mais curtos relativamente ao anterior frame i - 1, onde foi usada uma janela longa 1500. No passo 1070 as partes de aliasing internas são desdobradas como a operação ilustrada em 1172 e a desdobragem é preferencialmente uma reflexão 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 aliasing esquerda/direita ou, por outras palavras, anterior/posterior do resultado de adição de sobreposição são desdobradas para obter as partes 117 6a que se estendem no frame anterior e a parte 1176b que se estende no frame seguinte. 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 j anela.
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. 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 é detetado 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 sequnda janela 1402 e uma ou, no modelo da Fig. 14b, duas terceiras janelas 1403.
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 descodif icador na Fig. 11b ocorrem do mesmo modo.
Posteriormente é discutida a Fig. 15. Especificamente, a Fig. 15 ilustra, tal como as caixas pretas, uma antecipação da deteçã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 A AC 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 deteção do transiente tipo AAC de baixo atraso resultante numa 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 deteçã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 facto de quanto mais janelas curtas se usarem menor é a eficiência da taxa de bits. A Fig. 15c e 15d ilustra uma forma de realização da AAC de Alta Eficiência ou um procedimento de baixo atraso AAC com uma antecipação reduzida da deteção de transientes de N/16 amostras e são apenas apresentadas as sequências longas possíveis com uma antecipação reduzida da deteçã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 constantes 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. A Fig. 15e ilustra uma sequência AAC de Alta Eficiência com uma antecipação reduzida da deteçã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 de janela em vez de quatro sequências curtas.
Apesar de a presente invenção ter sido descrita no contexto de diagramas de blocos, 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.
Apesar de alguns aspetos terem sido descritos no contexto de um aparelho, é claro que estes aspetos também representam uma descrição do correspondente método, em que um bloco ou dispositivo corresponde a um passo do método ou a uma característica de um passo do método. De modo análogo, os aspetos descritos no contexto de um passo do 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. Nalgumas versões, um ou mais dos mais importantes passos do método podem ser executados por um aparelho destes. 0 sinal transmitido ou codificado da invenção pode ser guardado num meio de armazenamento digital ou pode ser transmitido num 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.
Dependendo de certos requisitos da implementação, as formas de realização 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.
Algumas formas de realização 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.
De um modo geral, as formas de realização 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 num computador. 0 código de programa pode, por exemplo, ser guardado num suporte de leitura em máquina.
Outras formas de realização compreendem o programa de computador para executar um dos métodos aqui descritos, guardados num suporte de leitura em máquina.
Por outras palavras, uma forma de realização 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 num computador.
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 técnicos versados na arte. 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 das formas de realização aqui constantes.
Referências [1] Organização Internacional da Padronização, ISO/IEC 14496-3 2009, "Tecnologia da Informação - Codificação de objetos de audiovisuais - Parte 3 Áudio," Genebra, Suíça, Ago. 20096.
[2] Grupo de Missão de Engenharia de Internet (IETF), RFC 6716, "Definição do Codec de Áudio Opus," Padrão Proposto, Set. 2012. Disponível online em http://tools.ietf.org/html/rfc6716.
[3] C. R. Helmrich, "Sobre o Uso de Somas de Senos nas Janelas de Sinais," em Proc. Da 13' Conferência Int. Sobre Efeitos de Áudio Digitais (DAFx-10), Graz, Áustria, Set. 2010.
[4] J. Herre e J. D. Johnston, "Melhorar o Desempenho dos Codificadores de Áudio Percetuais Usando Modulação de Ruído Temporal (TNS)," em Proc. 101' Convenção AES, LA, EUA, Nov. 1996 [5] M. Neuendorf et ai., "MPEG Discurso Unificado e Codificação de Áudio - 0 Padrão ISO/MPEG para a Codificação de Áudio de Alta Eficiência de Todos os Tipos de Conteúdos," em Proc 132. a
Convenção de AES, Budapeste, Hungria, Abr. 2012. Também para aparecer no Diário do AES, 2013.
REFERÊNCIAS CITADAS NA DESCRIÇÃO A lista de referências citada pelo proponente é somente para conveniência do leitor. Não é parte do documento europeu de patente. Apesar de todo o cuidado que foi tido na compilação das referências, erros ou omissões não podem ser excluídas e o EPO recusa quaisquer responsabilidades nesse sentido.
Documentos de Patente Citados na Descrição US 20080140428 Al [0005] US 5502789 A [0005] US 5819214 A [0005] US 20100076754 Al [0006] US 5848391 A [0007] US 20060122825 Al [0007] WO 9009063 A [0008] US 6826525 B2 [0066
Literatura, que não patentes, citada na descrição FREQUENZ. Coding of audio signals with overlap block transform and adaptive window functions, September 1989, vol. 43, 2052-2056 E. ALLAMANCHE et al. MPEG-4 Low Delay Audio Coding based on the AAC Codec. AES Convention Paper 4929, 1999, 106 [0008]
Information Technology - Coding of audio-visual objects - Part 3 Audio. International Organization for Standardization, ISO/IEC 14496-3 2009, August 2009
Definition of the Opus Audio Codec. Internet Engineering Task Force (IETF), RFC 6716, September 2012, http://tools.ietf.org/html/rfc6716 C. R. HELMRICH. On the Use of Sums of Sines in the Signal Windows. Proc. of the 13th Int. Conference on Digital Audio Effects (DAFx-10), September 2010 J. HERRE ; J. D. JOHNSTON. Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS). Proc. 101st AES Convention, LA, USA, November 1996 M. NEUENDORF et al. MPEG Unified Speech and Audio Coding - The ISO/MPEG Standard for High-Efficiency Audio Coding of All Content Types. Proc 132nd Convention of the AES, Budapest, Hungary, April 2012 Journal of the AES, 2013
Lisboa, 3 de julho de 2017
Claims (34)
- REIVINDICAÇÕES1. Aparelho para criar um sinal de áudio ou de imagem codificado, caracterizado por compreender: um controlador da sequência de janelas (808) para criar uma informação da sequência de janelas (809) para gerir as janelas de um sinal de áudio ou imagem, em que a informação da sequência de janelas indica uma primeira função de janela (1500) para criar um primeiro frame de valores de espectrais, uma segunda função de janela (1502) e pelo menos uma terceira função de janela (1503) para criar um segundo frame de valores espectrais com uma primeira e uma segunda parte, em que a primeira função de janela (1500), a segunda função de janela (1502) e a ou as terceiras funções da janela se sobrepõem dentro de uma zona de sobreposição múltipla (1300); um pré-processador (802) para gerir as janelas (902) de um segundo bloco de amostras correspondentes à segunda função de janela e à(s) terceira(s) função/funções da janela, usando uma função auxiliar da janela (1100) para obter um segundo bloco de amostras em janela, e para pré-processar (904) o segundo bloco de amostras em janela, usando uma operação de dobrar uma parte do segundo bloco que se sobrepõe com um primeiro bloco na parte de sobreposição múltipla (1300) para obter um segundo bloco pré-processado das amostras em janela com uma parte de sobreposição múltipla modificada; um conversor de espectro (804) para aplicar uma transformada de introdução de aliasing (906) no primeira bloco de amostras usando a primeira função de janela (1500) para obter o primeiro frame de valores espectrais, para aplicar outra transformada de introdução de aliasing numa primeira parte do segundo bloco pré-processado de amostras em janela usando a segunda função de janela (1502) para obter uma primeira parte dos valores espectrais do segundo frame, e para aplicar outra ou outras transformadas de introdução de aliasing numa segunda parte do segundo bloco pré-processado das amostras em janela, usando a uma ou mais terceiras funções da janela (1503) para obter uma segunda parte de valores espectrais do segundo frame; e um processador (806) para processar o primeiro frame e o segundo frame para obter frames codificados do sinal de áudio ou imagem.
- 2. Aparelho de acordo com a reivindicação 1, caracterizado por a segunda função de janela (1502) possuir uma primeira parte (1100a) que se sobrepõe com a primeira função de janela (1500), em que uma ou mais terceiras funções da janela (1503) terem uma segunda parte (1111) que se sobrepõe com uma quarta função de janela a seguir à(s) terceira(s) função/funções da j anela (1503), e em que o pré-processador (802) está configurado para aplicar a função auxiliar da janela (1100), em que a função auxiliar da janela possui uma primeira parte (1100a) idêntica à primeira parte da segunda função de janela e possui uma terceira parte (1100c) idêntica à segunda parte da uma ou mais terceiras funções da janela, em que uma segunda parte da função auxiliar da janela se estende entre a primeira parte e a terceira parte.
- 3. Aparelho de acordo com a reivindicação 2, caracterizado por a função auxiliar da janela possuir a segunda parte (1100b) correspondente a uma segunda parte da uma ou mais terceiras funções da janela (1503), ou em que a segunda parte (1100b) ter coeficientes de janela superiores a 0,9 ou por ser unidade, ou em que o comprimento da segunda parte ser de tal modo que o segundo bloco pré-processado de amostras em janela resulta num número de valores espectrais idêntico ao número de valores espectrais no primeiro frame.
- 4. Aparelho de acordo com qualquer uma das reivindicações de 1 a 3, caracterizado por o controlador da sequência de janelas (808) estar configurado para criar a informação da sequência de janelas (809), de tal modo que a segunda função de janela (1502) ou a ou as terceiras funções da janela (1503) têm um tamanho ou duração inferior ao tamanho ou duração da primeira função de janela (1500) .
- 5. Aparelho de acordo com qualquer uma das reivindicações de 1 a 4, caracterizado por o pré-processador (802) estar configurado para usar, como a função auxiliar da janela, uma função inicial da janela (1100) tal que um número de valores espectrais derivado por transformação do segundo bloco de amostras em janela para obter o segundo frame é igual a um número de valores espectrais do primeiro frame.
- 6. Aparelho de acordo com qualquer uma das reivindicações de 1 a 5, caracterizado por o conversor de espectro (804) estar configurado para gerir as janelas do primeiro bloco de amostras usando a primeira função de janela para obter um primeiro bloco de amostras em janela e para aplicar a transformada de introdução de aliasing no primeiro bloco de amostras em janela.
- 7. Aparelho de acordo com qualquer uma das reivindicações de 1 a 6, caracterizado por o conversor de espectro (804) estar configurado para gerir as janelas da primeira parte do segundo bloco pré-processado usando uma segunda parte da segunda função de janela, em que uma primeira parte da segunda função de janela não é usada para gerir janelas, e para aplicar a transformada de introdução de aliasing a uma primeira parte em janelas do segundo bloco pré-processado.
- 8. Aparelho de acordo com qualquer uma das reivindicações de 1 a 7, caracterizado por o conversor de espectro (804) estar configurado para gerir as janelas da segunda parte do segundo bloco pré-processado usando a ou as terceiras funções da janela, exceto uma segunda parte da terceira função de janela ou uma segunda parte de uma terceira função de janela mais tardia em termos de tempo ou espaço.
- 9. Aparelho de acordo com qualquer uma das reivindicações de 1 a 8, caracterizado por o pré-processador (802) estar configurado para realizar, na operação de dobrar, uma inversão de tempo ou espaço da parte e a adição ponderada de uma parte invertida do tempo ou espaço para uma parte, para a qual a parte do segundo bloco foi dobrada.
- 10. Aparelho de acordo com qualquer uma das reivindicações de 1 a 9, caracterizado por o pré-processador (802) estar configurado para adicionalmente usar uma outra operação de dobrar uma parte do segundo bloco que se sobrepõe com a quarta função de janela a seguir a uma ou várias terceiras funções da janela no tempo ou no espaço para obter o segundo bloco pré-processado das amostras em janela.
- 11. Aparelho de acordo com qualquer uma das reivindicações de 1 a 10, caracterizado por o conversor de espectro (804) estar configurado para realizar uma operação de transformada de cosseno discreto modificado (MDCT) ou uma operação de transformada do seno discreto modificado (MDST).
- 12. Aparelho de acordo com qualquer uma das reivindicações de 1 a 11, caracterizado por o conversor de espectro (804) estar configurado para realizar a operação MDCT ou MDST aplicando uma operação de dobrar para reduzir um número de amostras e uma posterior operação de transformada de cosseno discreto ou de transformada de seno discreto sobre o número reduzido de amostras.
- 13. Aparelho de acordo com qualquer uma das reivindicações de 1 a 12, caracterizado por o controlador da sequência de janelas (808) compreender um detetor de transiente (106) para detetar uma localização do transiente numa zona de antecipação do primeiro frame, e em que o controlador da sequência de janelas (808) está configurado para criar a informação da sequência de janelas (809) em resposta a uma deteção de uma localização de transiente na zona de antecipação ou numa parte especifica da zona de antecipação, e em que o controlador da sequência de janelas (808) estar confiqurado para criar outra informação da sequência indicando uma sequência das primeiras janelas de sobreposição, quando o transiente não é detetado na zona de antecipação ou é detetado numa parte da zona de antecipação diferente da parte especifica.
- 14. Aparelho de acordo com qualquer uma das reivindicações de 1 a 13, caracterizado por a parte especifica ser um quarto de um inicio de um centro do frame atual.
- 15. Aparelho de acordo com qualquer uma das reivindicações 13 ou 14, caracterizado por a parte de sobreposição múltipla se encontrar, no tempo e no espaço, antes do inicio da zona de antecipação, ou numa parte da zona de antecipação, no primeiro frame.
- 16. Aparelho de acordo com qualquer uma das reivindicações 13 ou 14, caracterizado por o controlador da sequência de janelas (808) estar configurado para selecionar uma janela específica de um grupo de pelo menos três janelas dependendo da localização do transiente (107), compreendo o grupo de pelo menos três janelas uma primeira janela (201) com um primeiro comprimento de sobreposição (203), uma segunda janela (225) com um segundo comprimento de sobreposição (218) e uma terceira janela (222) com um terceiro comprimento de sobreposição (229) ou sem sobreposição, em que o primeiro comprimento de sobreposição é maior do que o segundo comprimento de sobreposição e em que o segundo comprimento de sobreposição é maior do que o terceiro comprimento de sobreposição ou maior do que uma sobreposição 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 consecutivas tem uns primeiros coeficientes de janela na localização do transiente e a outra das duas janelas de sobreposição consecutivas tem uns segundos coeficientes de janela 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.
- 17. Aparelho para descodificar um sinal codificado de áudio ou de imagem, que engloba um primeiro frame codificado e um segundo frame codificado, caracterizado por compreender: um processador (824) para processar o primeiro frame codificado e o segundo frame codificado para obter um primeiro frame de valores espectrais e um segundo frame de valores espectrais, em que o primeira e o segundo frames compreendem uma parte de aliasing; um conversor de tempo (826) para aplicar uma transformada no primeiro frame de valores espectrais usando uma primeira função de janela (1500) para obter um primeiro bloco de amostras, para aplicar outra transformada a uma primeira parte do segundo frame de valores espectrais usando uma segunda função de janela (1502), e para aplicar outra ou outras transformadas numa segunda parte do segundo frame de valores espectrais usando uma ou mais terceiras funções da janela (1503) para obter um segundo bloco de amostras, em que a primeira função de janela (1500), a segunda função de janela (1502) e a terceira função de janela formam uma zona de sobreposição múltipla (1630); e 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, para gerir as janelas do segundo bloco pós-processado de amostras usando uma função auxiliar da janela (1100), e para fazer a adição de sobreposição do segundo bloco pós-processado em janela de amostras e do primeiro bloco de amostras para obter um sinal de áudio ou de imagem descodificado (1180).
- 18. Aparelho de acordo com a reivindicação 17, caracterizado por a aplicação da transformada compreender realizar uma adição de sobreposição (1172) de uma primeira parte do segundo bloco de amostras e de uma segunda parte do segundo bloco de amostras para obter o segundo bloco de amostras.
- 19. Aparelho de acordo com a reivindicação 18, caracterizado por a operação de desdobrar compreender a reflexão de amostras relativamente a um limite do segundo bloco de amostras.
- 20. Aparelho de acordo com as reivindicações de 17 a 19, caracterizado por o conversor de tempo (826) estar configurado para usar exatamente uma terceira função de janela (1503) e um comprimento da terceira função de janela é tal que um número de valores espectrais igual a 50% do número de valores espectrais do primeiro frame é transformado e é visualizado em janela um resultado através da terceira função de janela, ou em que o conversor de tempo esta configurado para usar exatamente duas terceiras janelas e um comprimento da terceira janela é tal que um número de valores espectrais igual a 1/8 do número de valores espectrais da primeira é transformado, ou em que o conversor de tempo esta configurado para usar exatamente uma terceira janela e o comprimento da terceira janela é tal que um número de valores espectrais igual a 1/4 do número de valores espectrais do primeiro frame é transformado, ou para usar exatamente quatro terceiras janelas e o comprimento de uma terceira janela é tal que um número de valores espectrais é igual a 1/8 do número de valores espectrais do primeiro frame.
- 21. Aparelho de acordo com qualquer uma das reivindicações de 17 a 2 0, caracterizado por o sinal de áudio ou de imagem codificado compreende uma indicação de janela (603) associada ao primeira e ao segundo frames codificados, em que o aparelho ainda compreende uma interface (820) para extrair e analisar a indicação da janela; e em que o conversor de tempo ou o pós-processador (828) estarem configurados para serem controlados pela indicação da janela para aplicar uma forma de janela ou um comprimento de janela ou comprimento de transformada indicado.
- 22. Aparelho de acordo com qualquer uma das reivindicações de 17 a 21, caracterizado por a segunda função de janela (1502) ter uma primeira parte (1100a) que se sobrepõe com a primeira função de janela (1500), em que a ou as terceiras funções da janela terem uma segunda parte (1111) que se sobrepõe com uma quarta função de janela a seguir à ou às terceiras funções da janela (1503), e em que o pós-processador está configurado para aplicar a função auxiliar da janela (1100), possuindo a função auxiliar da janela uma primeira parte (1100a) idêntica à primeira parte da segunda função de janela, e possuindo uma terceira parte (1100c) idêntica à segunda parte da ou das terceiras funções da janela, em que a segunda parte da função auxiliar da janela se estende entre a primeira parte e a terceira parte.
- 23. Aparelho de acordo com qualquer uma das reivindicações de 17 a 22, caracterizado por a função auxiliar da janela ter a segunda parte (1100b) correspondente a uma segunda parte de uma ou mais terceiras funções da janela (1503), ou em que a segunda parte (1100b) tem coeficientes de janela maiores do que 0.9 ou que são unidade, ou em que o comprimento da sequnda parte ser tal que o sequndo bloco pré-processado de amostras em janela resulte num número de valores espectrais idênticos ao número de valores espectrais no primeiro frame.
- 24. Aparelho de acordo com qualquer uma das reivindicações de 17 a 23, caracterizado por a informação da sequência de janelas (809) ser tal que a sequnda função de janela (1502) ou a ou as terceiras funções da janela (1503) têm um tamanho ou duração inferior ao tamanho ou duração da primeira função de janela (1500) .
- 25. Aparelho de acordo com qualquer uma das reivindicações de 17 a 23, caracterizado por o pós-processador estar confiqurado para usar, como a função auxiliar da janela, uma função inicial da janela (1100) tal que um número de valores espectrais derivado por transformar o sequndo bloco de amostras em janela para obter o sequndo frame é iqual a um número de valores espectrais do primeiro frame.
- 26. Aparelho de acordo com qualquer uma das reivindicações de 17 a 24, caracterizado por o conversor de tempo estar confiqurado para adicionar sobreposições da primeira parte do sequndo bloco de amostras e uma sequnda parte do sequndo bloco de amostras usando uma sequnda parte da sequnda função de janela, quando não é usada uma primeira parte da sequnda função de janela.
- 27. Aparelho de acordo com qualquer uma das reivindicações de 17 a 2 6, caracterizado por o conversor de tempo estar configurado para adicionar sobreposições da primeira parte do segundo bloco de amostras usando a ou as terceiras funções da janela, exceto uma segunda parte da terceira função de janela ou uma segunda parte de uma terceira função de janela mais tardia em termos de tempo ou espaço.
- 28. Aparelho de acordo com qualquer uma das reivindicações de 17 a 27, caracterizado por o pós-processador estar configurado para adicionalmente usar uma outra operação de dobrar uma parte do segundo bloco que se sobrepõe com a quarta função de janela a seguir a uma ou várias terceiras funções da janela no tempo ou no espaço.
- 29. Aparelho de acordo com qualquer uma das reivindicações de 17 a 2 8, caracterizado por o conversor de tempo estar configurado para aplicar a transformada usando uma operação DCT inversa ou DST inversa e uma subsequente operação de desdobrar.
- 30. Aparelho de acordo com qualquer uma das reivindicações de 17 a 2 9, caracterizado por o conversor de tempo estar configurado para aplicar a transformada de modo a que o transiente do sinal de áudio ou imagem descodificado esteja localizado no tempo ou espaço depois da zona de sobreposição múltipla ou esteja localizado numa parte do tempo ou espaço não coberta pela segunda função de janela.
- 31. Aparelho de acordo com qualquer uma das reivindicações de 17 a 30, caracterizado por a primeira parte do segundo frame compreender n/2 valores espectrais e em que a segunda parte do segundo frame compreende quatro blocos com n/8 valores espectrais ou um único bloco com n/2 valores espectrais ou dois blocos para valores espectrais.
- 32. Método para criar um sinal de áudio ou de imagem codificado, caracterizado por compreender: processar (808) uma informação da sequência de janelas (809) para gerir as janelas de um sinal de áudio ou imagem, em que a informação da sequência de janelas indica uma primeira função de janela (1500) para criar um primeiro frame de valores de espectrais, uma segunda função de janela (1502) e pelo menos uma terceira função de janela (1503) para criar um segundo frame de valores espectrais com uma primeira e uma segunda parte, em que a primeira função de janela (1500), a segunda função de janela (1502) e a ou as terceiras funções da janela se sobrepõem dentro de uma zona de sobreposição múltipla (1300); gerir as janelas (902) de um segundo bloco de amostras correspondente à segunda função de janela e à uma ou às terceiras funções da janela usando uma função auxiliar da janela (1100) para obter um segundo bloco de amostras em janela, pré-processar (904) o segundo bloco de amostras de 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 (1300) para obter um segundo bloco pré-processado de amostras em janela com uma parte de sobreposição múltipla modificada; aplicar (804) uma transformada de introdução de aliasing (906) no primeira bloco de amostras usando a primeira função de janela (1500) para obter o primeiro frame de valores espectrais, aplicando outra transformada de introdução de aliasing numa primeira parte do segundo bloco pré-processado de amostras em janela usando a segunda função de janela (1502) para obter uma primeira parte dos valores espectrais do segundo frame, e para aplicar outra ou outras transformadas de introdução de aliasing numa segunda parte do segundo bloco pré-processado das amostras em janela, usando a uma ou mais terceiras funções da janela (1503) para obter uma segunda parte de amostras espectrais do segundo frame; e processar (806) o primeiro frame e o segundo frame para obter frames codificados do sinal de áudio ou imagem.
- 33. Método para descodificar um sinal de áudio ou de imagem codificado, que engloba um primeiro frame codificado e um segundo frame codificado, caracterizado por compreender: processar (824) o primeiro frame codificado e o segundo frame codificado para obter um primeiro frame de valores espectrais e um segundo frame de valores espectrais, em que o primeiro e o segundo frames compreendem uma parte de aliasing; aplicar (826) uma transformada no primeiro frame de valores espectrais usando uma primeira função de janela (1500) para obter um primeiro bloco de amostras, aplicar outra transformada a uma primeira parte do segundo frame de valores espectrais usando uma segunda função de janela (1502), e aplicar outra ou outras transformadas numa segunda parte do segundo frame de valores espectrais usando um ou mais terceiras funções da janela (1503) para obter um segundo bloco de amostras, em que a primeira função de janela (1500), a segunda função de janela (1502) e a terceira função de janela formam uma zona de sobreposição múltipla (1630); e pós-processar (828) 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, gerir as janelas do segundo bloco pós-processado de amostras usando uma função auxiliar da janela (1100), e fazer a adição de sobreposição do segundo bloco pós-processado em janela de amostras e do primeiro bloco de amostras para obter um sinal de áudio ou de imagem descodificado (1180).
- 34. Programa de computador caracterizado por ser para realizar, quando é executado num computador ou num processador, o método tal como definido na reivindicação 32 ou o método tal como definido na reivindicação 33.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361767115P | 2013-02-20 | 2013-02-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
PT2959481T true PT2959481T (pt) | 2017-07-13 |
Family
ID=50179586
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT14706529T PT2959482T (pt) | 2013-02-20 | 2014-02-20 | Aparelho e método para codificar ou descodificar um sinal de áudio usando uma sobreposição dependente da localização de transiente |
PT147065288T PT2959481T (pt) | 2013-02-20 | 2014-02-20 | Aparelho e método para criar um sinal codificado ou para descodificar um sinal de áudio codificado usando uma parte de sobreposição múltipla |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT14706529T PT2959482T (pt) | 2013-02-20 | 2014-02-20 | Aparelho e método para codificar ou descodificar um sinal de áudio usando uma sobreposição dependente da localização de transiente |
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 |
---|---|---|
PT2959481T (pt) | Aparelho e método para criar um sinal codificado ou para descodificar um sinal de áudio codificado usando uma parte de sobreposição múltipla | |
BR112017019179B1 (pt) | Decodificador para decodificar um sinal de áudio codificado e codificador para codificar um sinal de áudio |