PL208346B1 - Sposób przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu kraty w systemach transformacji i kodowania fonii - Google Patents

Sposób przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu kraty w systemach transformacji i kodowania fonii

Info

Publication number
PL208346B1
PL208346B1 PL377709A PL37770903A PL208346B1 PL 208346 B1 PL208346 B1 PL 208346B1 PL 377709 A PL377709 A PL 377709A PL 37770903 A PL37770903 A PL 37770903A PL 208346 B1 PL208346 B1 PL 208346B1
Authority
PL
Poland
Prior art keywords
scaling
factors
band
scaling factors
scale factor
Prior art date
Application number
PL377709A
Other languages
English (en)
Other versions
PL377709A1 (pl
Inventor
Mark Stuart Vinton
Original Assignee
Dolby Lab Licensing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dolby Lab Licensing Corp filed Critical Dolby Lab Licensing Corp
Publication of PL377709A1 publication Critical patent/PL377709A1/pl
Publication of PL208346B1 publication Critical patent/PL208346B1/pl

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech 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/032Quantisation or dequantisation of spectral components
    • G10L19/035Scalar quantisation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Enzymes And Modification Thereof (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Peptides Or Proteins (AREA)

Description

Przedmiotem wynalazku jest sposób przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu karty w systemach transformacji i kodowania fonii, z zastosowaniem techniki dodatkowego kodowania kratowego.
Znane są techniki transformacji i kodowania fonii za pomocą zestawu filtrów, na przykład przy użyciu systemu MPEG-1, warstw 1-3, systemu Dolby AC-3, nazywanego również systemem Dolby Digital oraz udoskonalonego systemu kodowania fonii MPEG-2 AAC, które zmniejszają szybkości przesyłania danych przez dynamiczne przydzielanie bitów zarówno w dziedzinie czasu jak i w dziedzinie częstotliwości w celu usuwania niesłyszalnych redundancji w sygnale akustycznym. Dynamiczne przydzielanie bitów jest zwykle oparte na zasadach psychoakustycznych zależnych od sygnału. Szczegóły dotyczące systemu Dolby AC-3 zostały podane w normie Digital Audio Compression (AC-3) odnośnie cyfrowej kompresji sygnałów akustycznych, zatwierdzonej 10 listopada 1994, aneks A dodany 12 kwietnia 1995 i skorygowany 24 maja 1995 oraz aneksy B i C dodane 20 grudnia 1995. Dalsze szczegóły odnoś nie systemu AAC zostały podane w publikacji pod tytułem ISO/IEC MPEG-2 Audio Coding, autorstwa Bosi i inni, przedstawionej na 101. Konwencji, 8-11 listopad 1996, Los Angeles, Audio Engineering Society Preprint 4382.
W systemie AAC przydzielanie bitów uzyskuje się przy użyciu współczynników skalowania i ogólnych parametrów wzmocnienia zawartych w strumieniu bitów. Widmo akustyczne przetworzone przy użyciu znanej zmodyfikowanej dyskretnej transformacji cosinusoidalnej MDCT, nazywanej również kasowaniem aliasu w dziedzinie czasu TDAC, opisanej w publikacji pod tytułem Analysis/synthesis filter bank design based on time domain aliasing cancellation (Projekt zestawu filtrów analizy/syntezy oparty na kasowaniu aliasowania w dziedzinie czasu), IEEE Trans. Acoust., Speech, Signal Processing, tom ASSP-34, strony 1153-1161, październik 1986, jest dzielone na pasma o szerokości w przybliżeniu równej połowie krytycznej szerokości pasma, a współczynniki skalowania są dostarczane iloczynowo. Współczynniki skalowania i całkowite wzmocnienie łącznie reprezentują przydział bitu w etapach 1,5 dB lub w przybliżeniu w ćwiartkowych przyrostach bitów, a dokładny osiągnięty przydział bitów jest zależny od stochastycznych właściwości sygnału akustycznego i jest dodatkowo skomplikowany przez nieliniowe urządzenie kwantujące, zawarte w systemie AAC. Zwiększenie współczynnika skalowania w paśmie skutecznie zmniejsza szum kwantowania w tym paśmie przez przydzielenie większej liczby bitów pasmu. Odwrotnie, zmniejszenie współczynnika skalowania zwiększa szum kwantowania w paśmie przez zmniejszenie przydzielonych mu bitów.
Ponieważ system AAC jest progresywnie adaptacyjnym systemem kodowania fonii, współczynniki skalowania są przenoszone do dekodera. Uzyskuje się to przez różnicowe kodowanie współczynników skalowania, a następnie kodowanie różnic metodą Huffmana. Kody Huffmana określone w standardzie AAC są takie, że duże zmiany w parametrach współczynników skalowania pomiędzy pasmami prowadzą do nadmiernego zużycia dostępnych bitów w postaci informacji ubocznych, które komplikują wyznaczanie współczynników skalowania, co zostanie wyjaśnione w następnym paragrafie.
Obliczanie współczynników skalowania w koderze AAC jest bardzo trudnym problemem ze względu na niepewność alokacji szumu, uzyskanej przez zmienianie współczynników skalowania i zastosowanie stopnia nieliniowego urządzenia kwantującego. W systemie AAC stosuje się zwykle dwie metody obliczania współczynników skalowania, mianowicie analizę przez syntezę i ocenę bezpośrednio z modelu maskowania, co opisano poniżej. Chociaż wybór współczynników skalowania jest dowolny w ramach ograniczeń nałożonych przez standard, te dwie metody są najlepiej znane.
Obliczanie współczynników skalowania przy użyciu analizy przez syntezę uzyskuje się, stosując dwie pętle zagnieżdżone, przy czym pętla wewnętrzna jest odpowiedzialna za kwantowanie i zliczanie bitów, a pętla zewnętrzna analizuje wynik pętli wewnętrznej i zgodnie z tym zmienia współczynniki skalowania.
Pętla wewnętrzna zmienia parametr całkowitego wzmocnienia, zawarty w strumieniu bitów w systemie AAC w celu zapewnienia, ż e liczba bitów stosowanych do kodowania widma akustycznego jest nie większa niż liczba dostępnych bitów. Całkowite wzmocnienie jest ustawiane na wartość początkową i przeprowadzane jest kwantowanie widma. Następnie zlicza się użyte bity. Jeżeli liczba użytych bitów jest większa niż liczba dostępnych bitów, wówczas całkowite wzmocnienie zwiększa się, a widmo poddaje się ponownemu kwantowaniu i ponownie oblicza się liczbę uż ytych bitów. Proces ten powtarza się, aż liczba użytych bitów stanie się mniejsza niż liczba dostępnych bitów. Pętla wewnętrzna jest często nazywana pętlą szybkości, ponieważ steruje szybkością przesyłania danych kodowania.
PL 208 346 B1
Pętla zewnętrzna analizuje wynik uzyskany przez pętlę wewnętrzną i zmienia współczynniki skalowania tak, że szum kwantowania w każdym paśmie spełnia możliwie dokładnie wymagania psychoakustyczne. Pętla zewnętrzna rozpoczyna się przy wszystkich współczynnikach skalowania ustawionych na zero, a pętla wewnętrzna jest wzywana do kwantowania widma. Zakłócenia czy szum kwantowania w każdym paśmie są następnie obliczane i porównywane z wymaganiami dotyczącymi szumu dla każdego pasma, obliczonymi za pomocą modelu psychoakustycznego. Jeżeli zakłócenia w paśmie są większe niż dozwolone zakłócenia obliczone za pomocą modelu psychoakustycznego, wówczas współczynnik skalowania dla tego pasma jest zwiększany przyrostowo. Pętla wewnętrzna jest ponownie wzywana przez ustawione współczynniki skalowania i proces powtarza się, aż zakłócenia we wszystkich pasmach staną się mniejsze niż poziom maskowania obliczony za pomocą modelu psychoakustycznego lub aż wszystkie współczynniki skalowania zostaną zwiększone.
Technika analizy przez syntezę jest bardzo złożona i w konsekwencji nie jest właściwa do zastosowań o ograniczonym stopniu złożoności. Ponadto opisany powyżej proces z podwójną pętlą nie zapewnia zbieżności w optymalnym rozwiązaniu, jednakże przy większych szybkościach przesyłania danych daje doskonałe wyniki.
Przy ocenie współczynników skalowania na podstawie poziomu maskowania zakłada się, że zwiększenie współczynnika skalowania o jedną jednostkę w paśmie prowadzi do 1,5 dB zmniejszenia zakłóceń kwantowania w tym paśmie czyli zwiększenia stosunku sygnału do szumu. Zarówno całkowite wzmocnienie jak i współczynniki skalowania są kwantowane w etapach co 1,5 dB, a współczynniki skalowania mogą być wyznaczane bezpośrednio z modelu maskowania, jak to opisano w publikacji pod tytułem Increased efficiency MPEG-2 AAC Encoding (Kodowanie MPEG-2 AAC o zwiększonej skuteczności), autorstwa Smithers i inni. Audio Engineering Society Convention Paper, przedstawionej na 111. Konwencji, 21-24 września 2001, Nowy Jork. W tej metodzie współczynniki skalowania są najpierw obliczane bezpośrednio z modelu maskowania, na przykład przez zastosowanie zbioru wyrażeń, przedstawionego poniżej w równaniu 1, gdzie si jest współczynnikiem skalowania dla i-tego pasma, a mi jest poziomem maskowania w i-tym paśmie, obliczonym za pomocą modelu psychoakustycznego:
Si = - Si = log10(2) log10(mi) (1)
Widmo jest następnie kwantowane przy użyciu pętli wewnętrznej czyli pętli szybkości, opisanej w poprzednim paragrafie, przez co eliminuje się konieczność stosowania bardzo złożonej pętli zewnętrznej. Chociaż metoda ta jest znacznie prostsza niż metoda polegająca na stosowaniu analizy przez syntezę, a zatem jest właściwa dla systemów o ograniczonej złożoności, obliczanie współczynników skalowania z modelu maskowania daje współczynniki skalowania, które wykazują większą zmianę pomiędzy pasmami niż współczynniki skalowania wytwarzane za pomocą metody analizy przez syntezę przy użyciu dwóch pętli. Ponieważ współczynniki skalowania są kodowane różnicowo, a następnie podlegają kodowaniu Huffmana, przy czym większe różnice oznaczają dłuższe słowa kodu Huffmana, silna zmiana współczynników skalowania oznacza, że koszt bitu do przesyłania współczynników skalowania jest bardzo duży, co pogarsza ocenę współczynników skalowania techniką wykorzystującą poziom maskowania.
Sposób według wynalazku polega na tym, określa się wstępny współczynnik skalowania dla każdego z pasm częstotliwości i optymalizuje się współczynniki skalowania dla każdego z pasm częstotliwości przez zwiększanie współczynnika skalowania do wartości większej niż wstępna wartość współczynnika skalowania dla jednego lub więcej pasm częstotliwości, jeżeli zwiększenie kosztu bitu przy tym wzroście jest takie samo lub mniejsze niż zmniejszenie kosztu bitu, wynikające ze zmniejszenia międzypasmowych zmian wartości współczynników skalowania na skutek zwiększenia współczynnika skalowania dla jednego lub więcej pasm częstotliwości, przy czym dla każdego z pasm częstotliwości zezwala się jedynie na przyjmowanie przez optymalizowane współczynniki skalowania wartości większych lub równych wstępnym wartościom współczynników skalowania.
Korzystnie optymalizuje się współczynniki skalowania przez to, że minimalizuje się funkcję kosztu bitu.
Korzystnie minimalizuje się funkcję kosztu bitu na drodze poprzez kratę, w której węzłach określa się możliwe wartości współczynników skalowania w każdym kolejnym paśmie współczynników skalowania.
Korzystnie minimalizację przeprowadza się poprzez algorytm wyszukiwania Viterbiego.
PL 208 346 B1
Korzystnie koduje się za pomocą kodowania Huffmana, przy użyciu percepcyjnego kodera akustycznego, różnice pomiędzy wartościami współczynników skalowania sąsiednich pasm częstotliwości, przy czym zwiększenie międzypasmowych zmian wartości współczynników skalowania zwiększa liczbę bitów wymaganych do kodowania Huffmana.
Korzystnie wyznacza się wstępny współczynnik skalowania dla każdego z pasm częstotliwości przy użyciu co najmniej jednej pętli iteracyjnej.
Korzystnie za pomocą percepcyjnego kodera akustycznego generuje się model maskowania, wyznacza się wstępny współczynnik skalowania przy użyciu jednej pętli iteracyjnej i oblicza się współczynniki skalowania na podstawie modelu maskowania.
Zaletą wynalazku jest poprawa sposobu przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu kraty poprzez udoskonalenie percepcyjnego kodera fonii przy użyciu adaptacyjnego przydzielania bitów. Wynalazek zapewnia metodę obliczania współczynników skalowania w systemie AAC z uwzględnieniem kosztu przesyłania współ czynników skalowania do dekodera. Znane metody bezpośredniego wyznaczania powodują, że koszt przesyłania współczynników skalowania jest większy o 10%, przy 128 kilobitach na sekundę w przypadku materiału stereofonicznego, całkowitej szybkości przesyłania danych, dostępnej dla przesyłania sygnałów akustycznych, co pogarsza wynik dekodowania. Wynalazek pokonuje ten problem, wykorzystując technikę optymalizacji dynamicznego programowania, obejmującą na przykład kratę i algorytm wyszukiwania Viterbiego w celu zmniejszenia kosztu przesyłania informacji o współczynnikach skalowania w systemie AAC udoskonalonego kodowania fonii w systemie MPEG-2/4. Wynalazek minimalizuje funkcję kosztu przez to, że koszt przesyłania współczynników skalowania jest zastępowany kosztem przesuwania współczynników skalowania z wartości wstępnych, wyznaczonych metodą obliczania wstępnego współczynnika skalowania. W szczególności współczynniki skalowania o wartościach mniejszych niż inne mogą być przesuwane do wartości większych w celu zmniejszenia rozpiętości zmian wartości współczynników skalowania pomiędzy pasmami współczynników skalowania. Chociaż zwiększenie wartości współczynnika skalowania powoduje przydzielenie większej liczby bitów do pasma współczynnika skalowania, następuje ogólna oszczędność bitów na skutek zmniejszenia stopnia zmian międzypasmowych w wartościach współczynników skalowania, ponieważ różnice pomiędzy pasmami są poddawane kodowaniu Huffmana tak, że długość kodu zwiększa się wraz ze wzrostem zmian międzypasmowych. Ogólne oszczędności bitów powodują, że urządzenie kwantujące ma większą liczbę bitów dostępnych do przydzielenia pasmom współczynników skalowania poza tymi, w których wartość współczynnika skalowania jest zwiększona w celu zmniejszenia różnic międzypasmowych, przez co uzyskuje się poprawę odbieranej jakości fonii.
Chociaż wynalazek nadaje się do stosowania w tych postaciach systemu AAC, które wykorzystują dwie zagnieżdżone pętle w urządzeniu kwantującym dla wyznaczenia wstępnych współczynników skalowania, zarówno wewnętrzną pętlę iteracyjną jak i zewnętrzną pętlę iteracyjną, wynalazek jest szczególnie korzystny dla postaci systemu AAC, w której pętla zewnętrzna, obliczająca błąd urządzenia kwantującego i wyznaczająca współczynniki skalowania, stosując analizę przez syntezę, jest pominięta, a wstępne współczynniki skalowania są oceniane przy użyciu progu maskowania, wyznaczonego przez percepcyjną część modelu kodera AAC. Metoda dynamicznego programowania według wynalazku jest znacznie mniej złożona obliczeniowo niż pominięta pętla zewnętrzna, ale daje sygnał kodowany o przynajmniej takiej samej jakości, jak sygnał wytworzony przez koder AAC, wykorzystujący dwie pętle zagnieżdżone.
Przedmiot wynalazku jest pokazany w przykładach wykonania na rysunku, na którym:
fig. 1 przedstawia schemat blokowy funkcjonalny dla procesu kodowania stosującego optymalizację współczynników skalowania programowania dynamicznego według wynalazku, fig. 2 - uproszczoną sieć działań, pokazującą zastosowanie algorytmu wyszukiwania Viterbiego do równania kosztu bitu typu korzystnie stosowanego według wynalazku, fig. 3 - wykres przykładowych wartości współczynników skalowania w funkcji pasm współczynników skalowania w przypadku wstępnych współczynników skalowania, wynikających z techniki bezpośredniej oceny współczynników skalowania i dla regulowanych współczynników skalowania, wynikających z optymalizacji kosztu bitu według wynalazku, fig. 4 - wykresy przykładowych przebiegów pokazujących koszt bitu współczynników skalowania na ramkę, wynikających z techniki bezpośredniej oceny współczynników skalowania i dla regulowanych współczynników skalowania, wynikających z optymalizacji kosztu bitu według wynalazku.
PL 208 346 B1
Figura 1 przedstawia w uproszczeniu schemat procesu kodowania AAC, obejmujący dynamiczną optymalizację współczynników skalowania programowania według wynalazku, gdzie przedstawiono optymalizację współczynników skalowania w połączeniu z bezpośrednią oceną współczynników skalowania z informacji modelowej opisanej powyżej. Stosując zasady wynalazku można poprawić inne techniki wyznaczania współczynników skalowania, jednak wynalazek nadaje się szczególnie do stosowania z techniką bezpośredniej oceny.
Na fig. 1 wejściowy sygnał akustyczny jest przekształcany przy zastosowaniu zmodyfikowanej dyskretnej transformacji kosinusowej MDCT 2, po której następuje przetwarzanie wstępne 4, na przykład czasowe kształtowanie szumu TNS, prognozowanie i kodowanie środkowo - boczne MS do zastosowań stereofonicznych. Sygnał wejściowy jest również przesyłany do modelu psychoakustycznego 6, który oblicza poziom maskowania. Model maskowania jest stosowany bezpośrednio do określania 8 współczynników skalowania dla każdego pasma. Chociaż wstępne współczynniki skalowania otrzymane tą metodą przybliżają dość dokładnie wymagania psychoakustyczne, znaczna zmiana wartości współczynników skalowania różnych pasm powoduje duży koszt transmisji. Aby zmniejszyć ten koszt, zostaje zastosowana optymalizacja 10 współczynników skalowania według wynalazku poprzez przetwarzanie wstępnych współczynników skalowania przed ich wprowadzeniem do widma MDCT w pętli 12 szybkości i kodowaniem bezszumowym 14, korzystnie różnicowym kodowaniem Huffmana.
Zakłada się, że zwiększenie wartości współczynnika skalowania o jedną jednostkę w paśmie zwiększa liczbę bitów stosowanych w tym paśmie o bit czwórkowy dla każdego współczynnika MDCT. Chociaż nie zawsze jest to dokładne ze względu na nieznane własności stochastyczne sygnału i niejednolite urządzenie kwantujące stosowane w systemie AAC, zwykle to założenie jest uzasadnione. Ponadto zakłada się, że wstępne współczynniki skalowania zostały już określone dla danego działania psychoakustycznego przez analizę poprzez syntezę albo przez techniki bezpośredniej oceny maskowania. Następujący wzór na koszt zastępuje koszt transmisji współczynnika skalowania kosztem stosowania większej liczby bitów w poszczególnym paśmie. Funkcja kosztu jest podana poniżej w równaniu 2.
C=Σ α1 (~ - Si)
Bi + D(~si -~si-1)-D(si -si-1) (2) gdzie C oznacza całkowity koszt przesunięcia współczynników skalowania, który powinien być możliwie jak najbardziej ujemny w celu zmniejszenia względnego kosztu przesyłania współczynników skalowania, ~si , oznacza wstępne współczynniki skalowania otrzymane, na przykład dla rozważań psychoakustycznych, przez dowolną z omówionych powyżej metod, ponadto ~si oznacza nowy zbiór współczynników skalowania, a B1 , oznacza liczbę współczynników w i-tym paśmie współczynników skalowania, funkcja D() jest przeglądem Huffmana różnicowych kodowanych współczynników skalowania, skala α1 , dla każdego pasma jest wartością pomiędzy 0 oraz 1, która ocenia liczbę współczynników MDCT, które będą kwantowane do wartości niezerowych. Parametr α1 , który jest funkcją wartości współczynnika skalowania, jest opcjonalny, a w razie pominięcia jest zastępowany wartością stałą równą 1, przy czym znacznie polepsza działanie algorytmu, jeżeli jest oceniony dokładnie. W tym równaniu a., przyjmuje się jako wartość stałą, jeżeli współczynniki skalowania są tylko nieznacznie zmodyfikowane względem ich wartości wstępnej. Dla uproszczenia można to osiągnąć przez zliczenie w paśmie liczby współczynników MDCT, która ma wartość bezwzględną większą niż wstępnie określona wartość progowa.
W równaniu 2 określającym koszt przesyłania bitu współczynników skalowania, nowe współczynniki skalowania mogą przyjmować tylko wartości większe lub równe wartościom wstępnym, zatem system ten nie może zmniejszyć liczby bitów przydzielonych pasmu, a jedynie może zwiększyć liczbę bitów, jeżeli dodatkowe bity wynikające ze zwiększonego współczynnika skalowania są tańsze niż różnicowo kodowany koszt współczynników skalowania. Funkcja D(si - si-1) czyli przegląd Huffmana różnicowo kodowanych współczynników skalowania, odniesiony do pierwotnego zbioru współczynników skalowania, jest stałą w równaniu 2 i w praktyce można ją usunąć.
Pożądane jest zoptymalizowanie wartości współczynnika skalowania w każdym paśmie współczynników skalowania tak, aby zmniejszyć całkowitą wymaganą liczbę bitów. Optymalizację można uzyskać przez wprowadzenie kraty tak, że jej węzły na każdym kolejnym poziomie lub stopniu pasm i współczynników skalowania są możliwymi stanami - wartościami k współczynników skalowania dla tego stopnia oraz przez zastosowanie właściwego algorytmu wyszukiwania, takiego jak algorytm wy6
PL 208 346 B1 szukiwania Viterbiego, który określa metodę wyszukiwania przy minimalnym koszcie, szczególnie dostosowaną do kraty. W tym kontekście algorytm Viterbiego określa minimalną drogę bitu poprzez kratę, optymalizując przez to wartość współczynnika skalowania w każdym paśmie współczynników skalowania. Za pomocą algorytmu Viterbiego oblicza się najlepszą pod względem kosztu drogę do każdego węzła czy wartości współczynnika skalowania w każdym stopniu czy paśmie współczynników skalowania przez wyszukanie najlepszego połączenia o najmniejszej szybkości przesyłania danych z poprzednich wę z łów o danych wartoś ciach współ czynników skalowania. Takie obliczenia przeprowadza się dla każdego stopnia czy pasma współczynników skalowania, aż do ostatniego. W każdym stopniu czy paśmie współczynników skalowania za pomocą algorytmu śledzi się najlepszą drogę do każdego węzła czy wartości współczynnika skalowania oraz łączny koszt, aż do tego węzła czy wartość współczynnika skalowania. Poznanie najlepszej drogi do węzła jest równoważne znajomości, przy wartości każdego węzła czy współczynnika skalowania, wartości najlepszego poprzedniego węzła czy współczynnika skalowania, przez co określa się najlepszą drogę poprzez kratę i zmniejsza się do minimum całkowitą wymaganą liczbę bitów. Wartość współczynnika skalowania w każdym paśmie współczynników skalowania jest optymalizowana dla każdej kolejnej ramki czy bloku cyfrowych sygnałów akustycznych.
W szczególności w celu minimalizacji funkcji kosztu w równaniu 2, technikę optymalizacji dynamicznego programowania, taką jak algorytm wyszukiwania Viterbiego, można stosować jak następuje. Kratę konstruuje się z k-tym stanem w i-tym stopniu oznaczonym przez Ski, a łączny koszt w dowolnym stanie k i stopniu i oznacza się przez Ck,i. Każdy stan w kracie reprezentuje możliwe wartości nowego zbioru współczynników skalowania po optymalizacji. Algorytm jest następnie obliczany przy użyciu następujących stopni:
1. inicjalizacja i = 0 i Ck,i = 0,
2. dla wszystkich k takich, że Sk,i>Si, (si oznacza zbiór wstępnych współczynników skalowania) znajduje się:
(3)
3. jeżeli i < liczba pasm współczynników skalowania i = i + 1, powrót do stopnia 2.
Nowy zbiór współczynników skalowania Si wyznacza drogę poprzez kratę taką, że Ck,i jest zmniejszane do minimum w ostatnim stopniu. Stosowany jest algorytm wyszukiwania Viterbiego szeroko dostępny w postaci skutecznych technik realizacji. Oprócz algorytmu wyszukiwania Viterbiego stosuje się także na przykład inne kratowe techniki optymalizacji.
Figura 2 przedstawia przykład zastosowania algorytmu wyszukiwania Viterbiego do równania 3, w połączeniu z siecią dział a ń procesu, który wykorzystuje ten algorytm do minimalizacji funkcji kosztu według równania 3 dla każdej ramki cyfrowego sygnału akustycznego. Jak zaznaczono w bloku oceny 102, najpierw jest oceniany współczynnik skalowania dla każdego pasma współczynników skalowania z uwzględnieniem wymagań psychoakustycznych.
Współczynniki skalowania dla każdego pasma współczynników skalowania są reprezentowane przez tablicę SF[i], gdzie zmienna i może mieć wartość od zera do N-1, gdzie N oznacza liczbę pasm współczynników skalowania w ramce akustycznej. Druga tablica Cost[k] przedstawia łączny koszt drogi poprzez kratę. Macierz History [i][k] przechowuje najtańszą drogę do każdego węzła czyli wartość współczynnika skalowania w stopniu czy paśmie współczynnika skalowania w kracie. Zmienna czyli wartość k współczynnika skalowania jest zawarta w zakresie od zera do MAX-1, gdzie MAX oznacza liczbę wartości współczynnika skalowania.
Licznik stopni czy pasm i współczynników skalowania jest początkowo zerowany w bloku inicjowania 104. który oprócz początkowego ustawienia pasma i współczynnika skalowania na zero, ustawia początkowo również History [i][k] na zero i Cost[k] na zero. Wartość zliczana przez licznik stopni jest zwiększana przyrostowo w bloku wzrostu 116, aż wszystkie pasma i współczynników skalowania zostaną przetworzone, co oznaczono w bloku decyzyjnym 114.
Dla każdego stopnia czy pasma i współczynników skalowania w kracie jest określana najtańsza trasa do każdego węzła czyli wartość k współczynnika skalowania w tym stopniu. Przeprowadza się to, stosując dwie pętle zagnieżdżone 108 i 110.
PL 208 346 B1
Zmienna k w bloku decyzyjnym 118 jest początkowo ustawiana na zero przez blok wzrostu 116 i jest zwiększana przyrostowo w bloku wzrostu 128 pierwszej pętli zagnieżdżonej 108, pętli k, aż wszystkie możliwe wartości współczynników skalowania, reprezentowane przez węzły w i-tym stopniu czy i-tym paśmie współczynników skalowania, zostaną sprawdzone co do kosztu przy użyciu drugiej pętli zagnieżdżonej 110, pętli m. W bloku obliczania 130 druga pętla zagnieżdżona 110 oblicza łączny koszt drogi od stopnia i-1 czy pasma i-1 współczynników skalowania do i-tego stopnia czy i-tego pasma współczynników skalowania dla kraty zgodnie z równaniem 3, jeżeli wartość współczynnika skalowania dla i-tego pasma współczynników skalowania jest większa lub równa wstępnej ocenie współczynników skalowania w bloku oceny 102. Jeżeli współczynnik skalowania jest nie większy lub równy wstępnemu współczynnikowi skalowania dla tego pasma współczynników skalowania, wówczas łączny koszt dla tego pasma współczynników skalowania jest ustalony przykładowo na dowolnie dużą wartość dla zapewnienia, że ta droga poprzez kratę nie jest możliwa. Zmienna m w bloku decyzyjnym 124 jest ustawiona początkowo na zero przez blok 122 i jest zwiększana przyrostowo przez blok wzrostu 132 drugiej pętli zagnieżdżonej 110. Zmienna m czy liczba przeszłych węzłów drogi może być w zakresie od zera do MAX-1, gdzie MAX oznacza liczbę przeszłych węzłów drogi.
Łączny koszt dla każdego zbioru przeszłych węzłów drogi jest zapisany w tymczasowej tablicy TempCost[m], której wartość jest dana przez:
TempCost[m] = Cost[m] + Alfa[i]*(k-SF[i])*B[i]/4 + D(k - m) gdzie Alfa[i] oznacza skalowanie dla pasma współczynników skalowania do kompensacji zerowych kwantowanych współczynników MDCT dla ai w równaniu 3), B[i] oznacza szerokość pasma współczynników skalowania dla Bi, w równaniu 3, a D() jest przeglądem tablicy Huffmana kosztu przesyłania współczynników skalowania z równania 3. Tymczasowy łączny koszt jest w bloku obliczania 130 obliczany i zapisywany dla wszystkich możliwych wartości przeszłych węzłów m mapy dróg. Po obliczeniu łącznych kosztów przesyłania z każdego z możliwych przeszłych węzłów m do aktualnego węzła k, jak to określa blok decyzyjny 124, znajdowany jest minimalny koszt i zapisywany jest w tablicy Cost2[k] w bloku zapisu 126. Ponadto, najtańsza droga do i-tego stopnia i k-tego węzła jest zapisywana w macierzy History[i][k] w bloku zapisu 126.
Po przetworzeniu wszystkich aktualnych węzłów k w i-tym stopniu, jak to określa blok decyzyjny 118, tablica Cost2[k] jest kopiowana do tablicy Cost[k] w bloku 120 w i-tej pętli zagnieżdżonej 106 i przetwarzanie jest powtarzane, aż zostaną przetworzone wszystkie pasma współczynników skalowania.
Po przetworzeniu wszystkich pasm, jak to określono w bloku decyzyjnym 114, tablica Cost[k] zawiera łączny koszt każdej drogi poprzez kratę. Minimalna wartość w tablicy Cost[k] jest określona przez blok 134, a indeks tej wartości L identyfikuje nową, ustawioną wartość współczynnika skalowania dla ostatniego pasma współczynników skalowania i=N-1. Zliczana wartość i jest następnie powtarzalnie zmniejszana przyrostowo przez niezagnieżdżoną pętlę 112, rozpoczynając od i=N-1 w bloku 140. Macierz History[i][k] jest stosowana do wyznaczania trasy powrotnej poprzez kratę, aby znaleźć każdy poprzedni węzeł wzdłuż najtańszej trasy, gdy pasmo i współczynników skalowania powraca od N-1 do zera, przez co identyfikuje się wartość współczynnika skalowania optymalną pod względem kosztu bitu, dla każdego pasma współczynników skalowania, która jest podawana na wyjście 146. To jest realizowane w pętli 112 przez powtarzalne zmniejszanie przyrostowe i w bloku 140 i określanie historycznej optymalnej wartości k współczynnika skalowania dla każdego pasma i współczynników skalowania w bloku 142. Blok 144 identyfikuje nową, ustawioną wartość współczynnika skalowania dla każdego kolejnego wstecznie pasma i współczynników skalowania, gdy i jest zmniejszane przyrostowo od N-1 do zera.
Figura 3 przedstawia wyniki stosowania optymalizacji współczynników skalowania według wynalazku wobec wstępnych współczynników skalowania otrzymanych za pomocą metody bezpośredniej oceny dla pojedynczej ramki sygnału akustycznego w systemie AAC. Kółka na wykresie z fig. 3 oznaczają nieustawione współczynniki skalowania, natomiast punkty zaznaczone krzyżykami oznaczają ustawione współczynniki skalowania według wynalazku. Technika optymalizacji współczynników skalowania według wynalazku znacznie zmniejsza zmiany współczynników skalowania. Ponadto ustawione współczynniki skalowania są zawsze zwiększone, bez zwykłej całkowitej oszczędności bitów, lecz ze zmniejszeniem szumu kwantowania nie tylko w pasmach, w których współczynniki skalowania są zwiększone, ale również w innych pasmach w wyniku całkowitych oszczędności bitów, dzięki czemu więcej bitów może być przydzielonych innym pasmom.
Figura 4 przedstawia oszczędności bitów uzyskane według wynalazku zgodnie z wykresem, na którym naniesiono koszt przesyłania współczynników skalowania na ramkę pojedynczego segmentu sygnału akustycznego, zarówno z zastosowaniem, jak i bez stosowania optymalizacji według wyna8
PL 208 346 B1 lazku. Górna linia przedstawia koszt przesyłania bez stosowania wynalazku, natomiast dolna linia przedstawia koszt przesyłania bitu przy zastosowaniu wynalazku. Z fig. 4 widać, że koszt przesyłania bitu na ramkę przy transmisji współczynników skalowania jest znacznie zmniejszony dzięki wynalazkowi.

Claims (7)

1. Sposób przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu karty w systemach transformacji i kodowania fonii, w którym za pomocą kodera przydziela się adaptacyjnie bity, a reprezentację sygnału akustycznego w dziedzinie czasu dzieli się na kolejne bloki czasowe, z których każdy dzieli się na pasma częstotliwości, a każdemu pasmu częstotliwości przydziela się współczynnik skalowania, oraz za pomocą kodera optymalizuje się współczynniki skalowania względem kosztu bitu kodowania przy użyciu procedury optymalizacji na podstawie kraty z wyszukiwaniem Viterbiego, znamienny tym, że określa się (8) wstępny współczynnik skalowania dla każdego z pasm częstotliwości i optymalizuje się (10) współczynniki skalowania dla każdego z pasm częstotliwości przez zwiększanie współczynnika skalowania do wartości większej niż wstępna wartość współczynnika skalowania dla jednego lub więcej pasm częstotliwości, jeżeli zwiększenie kosztu bitu przy tym wzroście jest takie samo lub mniejsze niż zmniejszenie kosztu bitu, wynikające ze zmniejszenia międzypasmowych zmian wartości współczynników skalowania na skutek zwiększenia współczynnika skalowania dla jednego lub więcej pasm częstotliwości, przy czym dla każdego z pasm częstotliwości zezwala się jedynie na przyjmowanie przez optymalizowane współczynniki skalowania wartości większych lub równych wstępnym wartościom współczynników skalowania.
2. Sposób według zastrz. 1, znamienny tym, że optymalizuje się (10) współczynniki skalowania przez to, że minimalizuje się funkcję kosztu bitu.
3. Sposób według zastrz. 2, znamienny tym, że minimalizuje się funkcję kosztu bitu na drodze poprzez kratę, w której węzłach określa się możliwe wartości współczynników skalowania w każdym kolejnym paśmie współczynników skalowania.
4. Sposób według zastrz. 3, znamienny tym, że minimalizację przeprowadza się poprzez algorytm wyszukiwania Viterbiego.
5. Sposób według zastrz. 1 albo 2, albo 3, albo 4, znamienny tym, że koduje się za pomocą kodowania Huffmana, przy użyciu percepcyjnego kodera akustycznego, różnice pomiędzy wartościami współczynników skalowania sąsiednich pasm częstotliwości, przy czym zwiększenie międzypasmowych zmian wartości współczynników skalowania zwiększa liczbę bitów wymaganych do kodowania Huffmana.
6. Sposób według zastrz. 1 albo 2, albo 3, albo 4, znamienny tym, że wyznacza się wstępny współczynnik skalowania dla każdego z pasm częstotliwości przy użyciu co najmniej jednej pętli iteracyjnej.
7. Sposób według zastrz. 6, znamienny tym, że za pomocą percepcyjnego kodera akustycznego generuje się model maskowania, wyznacza się wstępny współczynnik skalowania przy użyciu jednej pętli iteracyjnej i oblicza się współczynniki skalowania na podstawie modelu maskowania.
PL377709A 2003-01-02 2003-12-16 Sposób przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu kraty w systemach transformacji i kodowania fonii PL208346B1 (pl)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/336,637 US7272566B2 (en) 2003-01-02 2003-01-02 Reducing scale factor transmission cost for MPEG-2 advanced audio coding (AAC) using a lattice based post processing technique

Publications (2)

Publication Number Publication Date
PL377709A1 PL377709A1 (pl) 2006-02-06
PL208346B1 true PL208346B1 (pl) 2011-04-29

Family

ID=32681060

Family Applications (1)

Application Number Title Priority Date Filing Date
PL377709A PL208346B1 (pl) 2003-01-02 2003-12-16 Sposób przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu kraty w systemach transformacji i kodowania fonii

Country Status (18)

Country Link
US (1) US7272566B2 (pl)
EP (1) EP1581928B1 (pl)
JP (1) JP4425148B2 (pl)
KR (1) KR101045520B1 (pl)
CN (1) CN1735925B (pl)
AT (1) ATE412960T1 (pl)
AU (1) AU2003303495B2 (pl)
CA (1) CA2507535C (pl)
DE (1) DE60324465D1 (pl)
DK (1) DK1581928T3 (pl)
ES (1) ES2312852T3 (pl)
HK (1) HK1079327A1 (pl)
IL (1) IL168636A (pl)
MX (1) MXPA05007183A (pl)
MY (1) MY138588A (pl)
PL (1) PL208346B1 (pl)
TW (1) TWI335145B (pl)
WO (1) WO2004061823A1 (pl)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005292702A (ja) * 2004-04-05 2005-10-20 Kddi Corp オーディオフレームに対するフェードイン/フェードアウト処理装置及びプログラム
US8543390B2 (en) 2004-10-26 2013-09-24 Qnx Software Systems Limited Multi-channel periodic signal enhancement system
US8306821B2 (en) 2004-10-26 2012-11-06 Qnx Software Systems Limited Sub-band periodic signal enhancement system
US7610196B2 (en) * 2004-10-26 2009-10-27 Qnx Software Systems (Wavemakers), Inc. Periodic signal enhancement system
US8170879B2 (en) * 2004-10-26 2012-05-01 Qnx Software Systems Limited Periodic signal enhancement system
US7680652B2 (en) * 2004-10-26 2010-03-16 Qnx Software Systems (Wavemakers), Inc. Periodic signal enhancement system
US7716046B2 (en) * 2004-10-26 2010-05-11 Qnx Software Systems (Wavemakers), Inc. Advanced periodic signal enhancement
US7949520B2 (en) * 2004-10-26 2011-05-24 QNX Software Sytems Co. Adaptive filter pitch extraction
KR100707173B1 (ko) * 2004-12-21 2007-04-13 삼성전자주식회사 저비트율 부호화/복호화방법 및 장치
US7590523B2 (en) * 2006-03-20 2009-09-15 Mindspeed Technologies, Inc. Speech post-processing using MDCT coefficients
AR061807A1 (es) * 2006-07-04 2008-09-24 Coding Tech Ab Compresor de filtro y metodo para fabricar respuestas al impulso de filtro de subbanda comprimida
US8010370B2 (en) * 2006-07-28 2011-08-30 Apple Inc. Bitrate control for perceptual coding
US8032371B2 (en) * 2006-07-28 2011-10-04 Apple Inc. Determining scale factor values in encoding audio data with AAC
CN101308659B (zh) * 2007-05-16 2011-11-30 中兴通讯股份有限公司 一种基于先进音频编码器的心理声学模型的处理方法
US8788264B2 (en) * 2007-06-27 2014-07-22 Nec Corporation Audio encoding method, audio decoding method, audio encoding device, audio decoding device, program, and audio encoding/decoding system
CN101790757B (zh) * 2007-08-27 2012-05-30 爱立信电话股份有限公司 语音与音频信号的改进的变换编码
US8904400B2 (en) 2007-09-11 2014-12-02 2236008 Ontario Inc. Processing system having a partitioning component for resource partitioning
US8850154B2 (en) 2007-09-11 2014-09-30 2236008 Ontario Inc. Processing system having memory partitioning
US8694310B2 (en) 2007-09-17 2014-04-08 Qnx Software Systems Limited Remote control server protocol system
CN101854175B (zh) * 2007-10-12 2013-04-17 联咏科技股份有限公司 可降低信号功率频谱密度的编码方法
GB2454190A (en) * 2007-10-30 2009-05-06 Cambridge Silicon Radio Ltd Minimising a cost function in encoding data using spectral partitioning
US8209514B2 (en) 2008-02-04 2012-06-26 Qnx Software Systems Limited Media processing system having resource partitioning
EP2274833B1 (en) * 2008-04-16 2016-08-10 Huawei Technologies Co., Ltd. Vector quantisation method
US8290782B2 (en) * 2008-07-24 2012-10-16 Dts, Inc. Compression of audio scale-factors by two-dimensional transformation
JP5304504B2 (ja) * 2009-07-17 2013-10-02 ソニー株式会社 信号符号化装置、信号復号装置、信号処理システム、これらにおける処理方法およびプログラム
US8380524B2 (en) * 2009-11-26 2013-02-19 Research In Motion Limited Rate-distortion optimization for advanced audio coding
EP2346031B1 (en) * 2009-11-26 2015-09-30 BlackBerry Limited Rate-distortion optimization for advanced audio coding
AU2012256550B2 (en) 2011-05-13 2016-08-25 Samsung Electronics Co., Ltd. Bit allocating, audio encoding and decoding
US9293146B2 (en) * 2012-09-04 2016-03-22 Apple Inc. Intensity stereo coding in advanced audio coding
US20140344159A1 (en) * 2013-05-20 2014-11-20 Dell Products, Lp License Key Generation
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
TWI557726B (zh) * 2013-08-29 2016-11-11 杜比國際公司 用於決定音頻信號的高頻帶信號的主比例因子頻帶表之系統和方法
US10354667B2 (en) * 2017-03-22 2019-07-16 Immersion Networks, Inc. System and method for processing audio data
CN110426569B (zh) * 2019-07-12 2021-09-21 国网上海市电力公司 一种变压器声信号降噪处理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581653A (en) 1993-08-31 1996-12-03 Dolby Laboratories Licensing Corporation Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5845249A (en) * 1996-05-03 1998-12-01 Lsi Logic Corporation Microarchitecture of audio core for an MPEG-2 and AC-3 decoder
US6430533B1 (en) * 1996-05-03 2002-08-06 Lsi Logic Corporation Audio decoder core MPEG-1/MPEG-2/AC-3 functional algorithm partitioning and implementation
US6226616B1 (en) * 1999-06-21 2001-05-01 Digital Theater Systems, Inc. Sound quality of established low bit-rate audio coding systems without loss of decoder compatibility
FR2822122B1 (fr) * 2001-03-14 2003-05-23 Nacam Assemblage d'un etrier de colonne de direction avec un pignon de direction d'un vehicule automobile
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US6934677B2 (en) * 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands

Also Published As

Publication number Publication date
JP2006512617A (ja) 2006-04-13
AU2003303495A1 (en) 2004-07-29
PL377709A1 (pl) 2006-02-06
US7272566B2 (en) 2007-09-18
MY138588A (en) 2009-07-31
US20040131204A1 (en) 2004-07-08
MXPA05007183A (es) 2005-09-12
DK1581928T3 (da) 2009-01-19
IL168636A (en) 2011-01-31
CA2507535C (en) 2013-02-12
EP1581928A1 (en) 2005-10-05
HK1079327A1 (en) 2006-03-31
CA2507535A1 (en) 2004-07-22
KR101045520B1 (ko) 2011-06-30
TWI335145B (en) 2010-12-21
ATE412960T1 (de) 2008-11-15
AU2003303495B2 (en) 2009-02-19
KR20050089870A (ko) 2005-09-08
WO2004061823A1 (en) 2004-07-22
EP1581928B1 (en) 2008-10-29
JP4425148B2 (ja) 2010-03-03
TW200419929A (en) 2004-10-01
DE60324465D1 (de) 2008-12-11
ES2312852T3 (es) 2009-03-01
CN1735925A (zh) 2006-02-15
CN1735925B (zh) 2010-04-28

Similar Documents

Publication Publication Date Title
PL208346B1 (pl) Sposób przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu kraty w systemach transformacji i kodowania fonii
US7383180B2 (en) Constant bitrate media encoding techniques
KR101339857B1 (ko) 계층적 코더 내에 잡음 성형을 구비한 코딩
CA2327405C (en) Perceptual audio coder bit allocation scheme providing improved perceptual quality consistency
KR101395250B1 (ko) 스펙트럼 포락선의 수를 산출하기 위한 장치 및 그 방법
US8706507B2 (en) Arbitrary shaping of temporal noise envelope without side-information utilizing unchanged quantization
US8032371B2 (en) Determining scale factor values in encoding audio data with AAC
CN109313908B (zh) 用于对音频信号进行编码的音频编码器以及方法
EP1706866A1 (en) Audio coding based on block grouping
US7650277B2 (en) System, method, and apparatus for fast quantization in perceptual audio coders
KR102486258B1 (ko) 스테레오 신호 인코딩 방법 및 인코딩 장치
Aggarwal et al. Near-optimal selection of encoding parameters for audio coding
JP2003345398A (ja) オーディオ信号符号化方法
JP4635400B2 (ja) オーディオ信号符号化方法
EP2192577B1 (en) Optimization of MP3 encoding with complete decoder compatibility
Melkote et al. Trellis-based approaches to rate-distortion optimized audio encoding