Tytuł pozycji:
On hardware implementation of the Context-based Lossless Audio Codec
A modification of the most efficient version of MPEG4 Lossless Audio with extension of the RLS (Recursive Least Square) and NLMS (Normalized Least-Mean-Square) blocks is described in the paper. Moreover, a segmentation block influencing the selection of proper predictive modelling parameters is introduced. These blocks have been implemented in hardware description language ImpulseC and synthesised into a reprogrammable device from the Xilinx Virtex5 family.
W pracy zaprezentowano rozwinięcie najwydajniejszej wersji MPEG4 Lossless Audio przez rozbudowanie bloków RLS (Recursive Least Square) i NLMS (Normalized Least-Mean-Square), wprowadzając przy tym blok segmentacji wpływający na dobór odpowiednich parametrów modelowania predykcyjnego. Zwiększono nie tylko rząd predykcji w poszczególnych blokach modelowania, ale też rozwinięto metodę NLMS do ES-NLMS i dobrano eksperymentalne wartości współczynników uczących, a także odpowiednie proporcje liczby współczynników predykcji w trybie stereo. Ponadto opracowano własny blok adaptacyjnego kodera arytmetycznego, w którym wykorzystano adaptacyjne kodowanie Golomba-Rice'a. Każdy z tych bloków został przygotowany do potrzeb implementacji sprzętowej. Bloki RLS i NLMS wykorzystują dane pochodzące z modułu segmentacji, co ma pozytywny wpływ na efektywność kompresji. Głównym zadaniem bloku segmentacji jest wydzielenie segmentów różniących się zawartością akustyczną. Wykorzystano na tym etapie dwa podejścia do segmentacji – pierwsze z nich realizuje podejście polegające na porównywaniu sąsiednich ramek sygnału w przestrzeni cech składającej się z 12 współczynników MFCC (Mel-Frequency Cepstral Coefficients) i drugie polegające na ocenie dwóch modeli w przestrzeni cech w użyciem typowego podejścia opartego o Bayesowskie kryterium informacyjne. Wyniki uzyskane z obu technik są następnie łączone w celu kompensacji potencjalnych błędów określających granice segmentów. Dla każdego z uzyskanych segmentów wyznaczany jest uśredniony wektor cech MFCC, który dostarczany jest do bloków RLS i NLMS jako źródło do określania kontekstu. Bloki funkcjonalne zostały zaimplementowane w języku opisu sprzętu ImpulseC oraz dokonano syntezy do układu reprogramowalnego z rodziny Xilinx Virtex5.