PL173287B1 - Sposób i urządzenie do przetwarzania zespołu współczynników transformaty reprezentujących sygnał obrazu ruchomego - Google Patents
Sposób i urządzenie do przetwarzania zespołu współczynników transformaty reprezentujących sygnał obrazu ruchomegoInfo
- Publication number
- PL173287B1 PL173287B1 PL94306007A PL30600794A PL173287B1 PL 173287 B1 PL173287 B1 PL 173287B1 PL 94306007 A PL94306007 A PL 94306007A PL 30600794 A PL30600794 A PL 30600794A PL 173287 B1 PL173287 B1 PL 173287B1
- Authority
- PL
- Poland
- Prior art keywords
- parity
- coefficients
- transform
- block
- dct
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/18—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 a set of transform coefficients
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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
- H04N19/45—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Discrete Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Color Television Systems (AREA)
- Complex Calculations (AREA)
- Television Signal Processing For Recording (AREA)
- Error Detection And Correction (AREA)
- Image Processing (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Detection And Correction Of Errors (AREA)
- Facsimile Image Signal Circuits (AREA)
- Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
- Radar Systems Or Details Thereof (AREA)
- Color Television Image Signal Generators (AREA)
Abstract
1. Sposób przetwarzania zespolu wspól- czynników transformaty reprezentujacych syg- nal obrazu ruchomego, z których kazdy ma parzystosc, dla otrzymania odpornego na bledy zespolu wspólczynników transformaty do wy- konywania odwrotnej transformacji ortogonal- nej, w którym odporny na bledy zespól wspólczynników, jest odporny na bledy za- okraglania podczas poddawania go odwrotnej transformacji ortogonalnej, znamienny tym, ze sumuje sie wspólczynniki zespolu wspól- czynników transformaty, z otrzymaniem parzy- stosci sumy, sprawdza sie parzystosc sumy, a w przypadku kiedy suma jest parzysta, odwraca sie parzystosc jednego ze wspólczynników transformaty z otrzymaniem wspólczynnika transformaty o odwróconej parzystosci, który powoduje nieparzystosc sumy, oraz zestawia sie odporny na bledy zespól wspólczynników transformaty wlacznie ze wspólczynnikiem transformaty o odwróconej parzystosci. FIG. 8 PL PL PL PL PL PL PL PL PL PL
Description
Przedmiotem wynalazku jest sposób i urządzenie do przetwarzania zespołu współczynników transformaty, reprezentujących sygnał obrazu ruchomego, zwłaszcza do wykonywania odwrotnej transformaty ortogonalnej i komprymowania sygnału informacyjnego oraz do jego ekspandowania.
Transformacje ortogonalne wykorzystuje się w różnych zastosowaniach i w różnych sposobach cyfrowych obróbki sygnałów. Transformacje ortogonalne umożliwiają wykonywanie obróbki sygnału w dziedzinie częstotliwości. Spośród transformacji ortogonalnych szeroko znana jest szybka transformacja Furiera (FFT - Fast Fourier Transform) oraz dyskretna transformacja kosinusoidalna (DCT - Discrete Cosine Transform) itp. Transformacja ortogonalna pozwala rozłożyć na przykład fragment sygnału w dziedzinie czasu przez przetworzenie go na składowe częstotliwościowe, zmnieniające się zależnie od funkcji zastosowanej przy transformacji ortogonalnej, i przedstawienie widma, to znaczy rozkładu energii w funkcji częstotliwości, fragmentu sygnału pierwotnego w dziedzinie czasu. Przy przetwarzaniu różnymi sposobami składowych częstotliwościowych, zwanych zwykle współczynnikami transformaty, otrzymanymi przez ortogonalne przetworzenie fragmentu sygnału, można zmniejszyć redundan4
173 287 cję w tym fragmencie sygnału pierwotnego. Tak więc, dzięki transformacji ortogonalnej fragmentu sygnału oryginalnego, i poddaniu obróbce otrzymanych współczynników transformaty, oryginalny fragment sygnału można przedstawić z użyciem mniejszej liczby bitów, niż używana w celu przedstawienia fragmentu sygnału oryginalnego. Ponadto możliwe jest odtworzenie tego pierwotnego fragmentu sygnału w dziedzinie czasu przez zastosowanie transformacji ortogonalnej odwrotnej współczynników transformaty.
Urządzenie do kompresji sygnału obrazu ruchomego i do ekspansji sygnału skomprymowanego stanowią znane przykłady urządzeń cyfrowej obróbki sygnałów wykorzystujących obróbkę za pomocą transformacji ortogonalnej.
Wiadomo, że moc sygnałów o dużym stopniu korelacji skupia się w dolnych zakresach obszaru częstotliwości. W miarę, jak wzrasta koncentracja mocy sygnału wzdłuż danej osi współrzędnych, na przykład wzdłuż osi częstotliwości, możliwe jest stopniowe zmniejszanie redundancji sygnału i bardziej skuteczna jego kompresja.
Ponieważ sygnał obrazu ruchomegojest zwykle wysoce skorelowany, zarówno przestrzennie, jak i czasowo, to do skoncentrowania mocy sygnału wzdłuż konkretnej osi współrzędnych można wykorzystać transformację ortogonalną i osiągnąć skuteczną kompresję sygnału obrazu ruchomego.
Przy zastosowaniu na przykład standardu telewizyjnego NTSC, do reprezentacji obrazu ruchomego potrzebna jest bardzo duża ilość informacji. Z tego względu zapisywanie sygnałów obrazów ruchomych wymaga stosowania nośnika zapisu o bardzo dużej pojemności zapamiętywania, jeżeli nośnik ten ma zapewnić akceptowalnie długi czas zapisu. Ponadto, wielkość strumienia informacji, z którym sygnał obrazu ruchomego jest zapisywany i odczytywany przy użyciu takiego nośnika, jest bardzo duża. Do zapamiętywania sygnału obrazów ruchomych potrzebne są duże fizycznie taśmy magnetyczne lub dyski optyczne.
Jeżeli pożądane jest zapisywanie sygnału obrazu ruchomego na bardziej zwartym nośniku, przy akceptowalnym czasie zapisu, to należy dokonać kompresji sygnału obrazu ruchomego celem zmniejszenia ilości informacji niezbędnej do przechowywania. Poza tym, występuje potrzeba zastosowania urządzenia nadającego się do zastosowania przy ekspandowaniu zagęszczonego sygnału obrazu ruchomego odtwarzanego z zwartego nośnika zapisu.
W celu spełnienia opisanych wymagań proponowano różne sposoby kompresji sygnału wizyjnego, wykorzystujące korelacje wewnątrz i pomiędzy częściami sygnału wizyjnego reprezentującego ruchome obrazy składające się na sygnał obrazowy. Na przykład znany jest szeroko sposób kompresji sygnału obrazowego zaproponowany przez Moving Picture Experts Group MPEG (Grupę specjalistów d/s obrazów ruchomych).
W opisie występuje często powołanie się na termin obraz. Ponieważ opisane techniki obróbki sygnału odnoszą się do obróbki sygnału obrazowego reprezentującego obrazy ruchome, to słowa obraz używa się ogólnie i odnosi się ono do części sygnału wizyjnego reprezentującego jeden z obrazów sekwencji obrazów ruchomych. Ponadto sygnał wizyjny może reprezentować obraz spośród sekwencji obrazów ruchomych, w postaci ramki lub pola. Jeżeli nie stwierdza się inaczej, słowo obraz oznacza pole lub ramkę. W standardzie MPEG na wstępie wyznacza się różnice między obrazami składającymi się na obraz ruchomy, w celu zmniejszenia redundancji sygnału obrazowego w dziedzinie czasu. Następnie w standardzie MPEG odbywa się redukcja redundancji sygnału obrazowego w dziedzinie przestrzennej, przez zastosowanie obróbki z wykorzystaniem transformacji ortogonalnej do bloków różnic międzyobrazowych w dziedzinie czasu. W standardzie MPEG wykorzystuje się obróbkę za pomocą dyskretnej transformacji kosinusoidalnej DCT, w charakterze transformacji ortogonalnej. Dzięki zmniejszeniu redundancji zarówno w dziedzinie czasu, jak i w przestrzeni osiąga się skrajnie skuteczne zagęszczenie sygnału obrazu ruchomego. Skomprymowany sygnał obrazowy otrzymany z opisanego procesu kompresji może być następnie zapisywany na nośniku zapisu lub transmitowany przez odpowiedni środek transmisyjny.
Przy odtwarzaniu skomprymowanego sygnału wizyjnego z nośnika zapisu, lub po otrzymaniu go ze środka transmisyjnego, ze skomprymowanego sygnału wizyjnego wydzielane są bloki współczynników transformaty, otrzymane z transformacji DCT. Współczynniki transformaty przetwarzane są z użyciem odwrotnej transformacji ortogonalnej, to jest odwrotnej dys173 287 kretnej transformacji kosinusoidalnej IDCT, (w standardzie MPEG: - Inverse Discrete Cosine Transform), w celu odtworzenia bloków różnic międzyobrazowych podczas rekonstrukcji obrazów oryginalnego sygnału obrazowego.
Przetwarzanie dla nadawania nieparzystości stosowane w MPEG nie zabezpiecza przed wystąpieniem kumulacyjnego błędu niedopasowania, jeżeli wartości niezerowe mają dwa lub więcej współczynników DCT. Ponadto, proces nadawania nieparzystości w MPEG1 zmniejsza rozdzielczość skwantyzowanych współczynników transformaty z mnożnikiem 2, ponieważ otrzymanie współczynników o wartościach parzystych nie jest możliwe. Obniża to jakość obrazu. Problem powstaje, jeżeli potrzebna jest wyższa jakość obrazu. Wynika, stąd wyraźnie, że pożądane jest opracowanie lepszego sposobu zapobiegania kumulacyjnym błędom niedopasowania, niż sposób proponowany w standardzie MPEG1.
Sposób według wynalazku przeznaczony jest do przetwarzania zespołu współczynników transformaty reprezentujących sygnał obrazu ruchomego, z których każdy ma parzystość, dla otrzymania odpornego na błędy zespołu współczynników transformaty do wykonywania odwrotnej transformacji ortogonalnej, w którym odporny na błędy zespół współczynników, jest odporny na błędy zaokrąglania podczas poddawania go odwrotnej transformacji ortogonalnej. Sposób tego rodzaju charakteryzuje się tym, że sumuje się współczynniki zespołu współczynników transformaty z otrzymaniem parzystości sumy, sprawdza się parzystość sumy, a w przypadku kiedy suma jest parzysta, odwraca się parzystość jednego ze współczynników transformaty z otrzymaniem współczynnika transformaty o odwróconej parzystości, który powoduje nieparzystość sumy. Ponadto zestawia się odporny na błędy zespół współczynników transformaty włącznie ze współczynnikiem transformaty o odwróconej parzystości.
Korzystnym jest, że stosuje się przetwarzanie współczynników transformaty otrzymanych z dwuwymiarowej dyskretnej transformacji kosinusoidalnej, przy czym zespół współczynników transformaty zawiera współczynnik reprezentujący składową stałą, a w etapie odwracania parzystości jednego ze współczynników transformaty, przeprowadza się odwrócenie parzystości jednego tych współczynników, innego niż współczynnik reprezentujący składową stałą. Zespół współczynników transformaty zawiera również współczynnik transformaty reprezentujący składową o najwyższej częstotliwości, a w etapie odwracania parzystości jednego ze współczynników transformaty, przeprowadza się odwrócenie parzystości współczynnika reprezentującego składową o najwyższej częstotliwości. Każdy ze współczynników transformaty w zespole reprezentowany jest liczbą binarną z najmniej znaczącym bitem, a w etapie odwracania parzystości jednego ze współczynników transformaty, przeprowadza się odwrócenie najmniej znaczącego bitu jednego ze współczynników transformaty. Każdy ze współczynników transformaty w zespole ma określoną biegunowość, a podczas etapu odwracania parzystości jednego ze współczynników transformaty wyznacza się biegunowość tego współczynnika transformaty, i jeżeli ta biegunowość jest ujemna, dodaje się określoną wartość nieparzystą do tego współczynnika transformaty, a jeżeli ta biegunowość jest dodatnia, odejmuje się określoną wartość nieparzystą od tego współczynnika transformaty.
Korzystnymjest, że dodatkowo wykonuje się etap pobrania współczynników transformaty zespołu w porządku kolejnym, przy czym zespół współczynników transformaty obejmuje ostatnio pobrany współczynnik transformaty, a w etapie odwracania parzystości jednego ze współczynników transformaty, przeprowadza się odwrócenie parzystości ostatniego pobranego współczynnika transformaty.
Wszystkie współczynniki transformaty w zespole mają wartości różne od zera. Każdy ze współczynników transformaty w zespole reprezentowany jest liczbą binarną z najmniej znaczącym bitem, a w etapie sumowania współczynników transformaty przeprowadza się sumowanie tylko najmniej znaczącego bitu każdego ze współczynników transformaty.
Korzystnym jest, że dodatkowo dokonuje się wyboru współczynników transformaty zespołu z bloku współczynników transformaty.
Urządzenie według wynalazku przystosowane jest do wstępnego przetwarzania zespołu współczynników transformaty reprezentujących sygnał obrazu ruchomego, z których każdy ma parzystość, dla otrzymania odpornego na błędy zespołu współczynników transformaty do wykonywania odwrotnej transformacji ortogonalnej, w którym odporny na błędy zespół
173 287 współczynników jest odporny na błędy zaokrąglania podczas poddawania go odwrotnej transformacji ortogonalnej. Urządzenie to charakteryzuje się tym, że wyposażone jest w akumulator do przejmowania współczynników transformaty zespołu i gromadzenia ich sumy z zachowaniem parzystości, który połączony jest z układem sprawdzania parzystości otrzymanej sumy, który dołączony jest do inwertera parzystości dla odwrócenia parzystości jednego ze współczynników transformaty i zapewnienia nieparzystości sumy w przypadku gdy suma jest parzysta. Inwerter parzystości z kolei, dołączony jest do wyjściowego układu odwrotnej transformacji kosinusoidalnej zapewniającej uodporniony na błędy zespół współczynników transformaty, włącznie ze współczynnikiem transformaty o odwróconej parzystości, który to układ jest układem wyjściowym układu nadawania nieparzystości sumie.
Korzystnym jest, że układ nadawania nieparzystości sumie stanowi układ przetwarzania współczynników transformaty otrzymanych z dwuwymiarowej dyskretnej transformacji kosinusoidalnej, który to zespół współczynników transformaty zawiera współczynnik reprezentujący składową stałą, przy czym inwerter parzystości zawiera elementy do odwracania parzystości jednego ze współczynników transformaty, innego niż współczynnik reprezentujący składową stałą.
W przypadku, gdy zespół współczynników transformaty zawiera również współczynnik transformaty reprezentujący składową o najwyższej częstotliwości, inwerter parzystości zawiera elementy do odwracania parzystości współczynnika reprezentującego składową o najwyższej częstotliwości.
W przypadku, gdy każdy ze współczynników transformaty w zespole reprezentowany jest liczbą binarną z najmniej znaczącym bitem, inwerter parzystości zawiera elementy do odwracania najmniej znaczącego bitu jednego ze współczynników transformaty.
W przypadku, gdy każdy ze współczynników transformaty w zespole reprezentowany jest liczbą binarną z najmniej znaczącym bitem, akumulator zaopatrzony jest w elementy sumowania tylko najmniej znaczącego bitu każdego ze współczynników transformaty.
Układ nadawania nieparzystości sumie, dodatkowo wyposażony jest w selektor pamięci dla wyboru współczynników transformaty zespołu z bloku współczynników transformaty.
Rozwiązanie według wynalazku, efektywnie zapobiega występowaniu kumulacyjnych błędów niedopasowania, przy wykonywaniu odwrotnej transformacji ortogonalnej współczynników transformaty, przy czym nie następuje obniżenie rozdzielczości współczynników transformaty. Ponadto nie występuje problem błędu niedopasowania i zapobiega się błędom zaokrągleń podczas odwrotnej transformacji współczynników transformaty.
Zgodnie z wynalazkiem wystarczy zmiana parzystości tylko jednego ze współczynników dyskretnej transformacji kosinusoidalnej DCT dla nadania nieparzystości ich sumie. Według MPEG1 nadaje się nieparzystość wszystkim współczynnikom dyskretnej transformacji kosinusoidalnej DCT, co zmniejsza z mnożnikiem 2 rozdzielczość współczynników poddawanych odwrotnej transformacji kosinusoidalnej IDCT. Procedura zapobiegania błędom dopasowania, według wynalazku, natomiast przewiduje nadawanie nieparzystości sumie współczynników dyskretnej transformacji kosinusoidalnej DCT w sposób, który nie zmniejsza istotnie dokładności wartości wejściowych i wyjściowych dyskretnej transformacji kosinusoidalnej IDCT. Przy stosowaniu sposobu według wynalazku w kompresorze sygnału obrazu ruchomego, w ekspanderze skomprymowanego sygnału obrazowego lub w urządzeniu do transmisji skomprymowanego sygnału obrazowego, zminimalizowana jest degradacja jakości obrazu.
Poza tym, przy stosowaniu sposobu według wynalazku w standardzie MPEG, minimalnym krokiem kwantyzacji może być 1, w odróżnieniu od znanego sposobu, w którym minimalny krok kwantyzacji wynosił 2.
Przedmiot wynalazku uwidoczniony jest w przykładach wykonania na rysunku, na którym fig. 1 przedstawia konwencjonalne urządzenie według standardu MPEG do kompresji sygnału obrazu ruchomego, w postaci schematu blokowego, fig. 2 - konwencjonalne urządzenie według standardu MPEG do ekspansji skomprymowanego sygnału obrazu ruchomego, w postaci schematu blokowego, fig. 3 - sekwencję kompresji sygnału obrazu ruchomego, w standardzie MPEG, fig. 4 - rzeczywisty przykład współczynników dyskretnej transformacji kosinusoidalnej DCT, fig. 5 - etapy przetwarzania wykorzystywane do odwrotnej kwantyzacji, zarówno we173 287 wnątrzblokowej, jak i niewewnątrzblokowej w konwencjonalnym układzie MPEG1, fig. 6 - konfigurację pierwszej odmiany wykonania urządzenia do kompresji sygnału obrazu ruchomego według wynalazku, w postaci schematu blokowego, fig. 7 - sposób odczytu bloku współczynników dyskretnej transformacji kosinusoidalnej DCT z zastosowaniem przeglądania zygzakowego, fig. 8 - pierwszą praktyczną odmianę wykonania układu 14 nadającego nieparzystość sumie, w urządzeniu przedstawionym na fig. 6, w postaci schematu blokowego, fig. 9 - sieć działań z ukazaniem operacji nadającego nieparzystość sumie, przedstawionego na fig. 8, fig. 10A - drugą odmianę wykonania układu nadającego nieparzystość sumie, przedstawionego na fig. 6, w postaci schematu blokowego, fig. 10B - wersję drugiej odmiany wykonania układu nadającego nieparzystość sumie, przedstawionego na fig. 6, fig. 11 - pierwszą odmianę wykonania inwertera parzystości przedstawionego na fig. 8, w postaci schematu blokowego, fig. 12 - sieć działań objaśniającą działanie drugiej odmiany inwertera parzystości, fig. 13 - drugą odmianę wykonania inwertera parzystości, w postaci schematu blokowego, fig. 14 - sieć działań objaśniającą działanie trzeciej odmiany wykonania inwertera parzystości, fig. 15 - trzecią odmianę wykonania inwertera parzystości, w postaci schematu blokowego, fig. 16 - sieć działań objaśniającą działanie czwartej odmiany wykonania inwertera parzystości, fig. 17 - czwartą odmianę wykonania inwertera parzystości, w postaci schematu blokowego, fig. 18 - trzecią odmianę wykonania układu nadającego nieparzystość sumie, przedstawionego na fig. 6, w postaci schematu blokowego, fig. 19 - konfigurację pierwszej odmiany wykonania urządzenia do ekspansji skomprymowanego sygnału obrazu ruchomego według wynalazku, w postaci schematu, fig. 20 - kwantyzer inwersyjny i układ nadawania nieparzystości sumie w urządzeniu do ekspansji skomprymowanego sygnału obrazu ruchomego przedstawionym na fig. 19, w postaci schematu, fig. 21 - wykres czasowy objaśniający działanie kwantyzera inwersyjnego i układu nadawania nieparzystości sumie, fig. 22 - konfigurację drugiej odmiany wykonania urządzenia do kompresji sygnału obrazu ruchomego według wynalazku, w postaci schematu blokowego, fig. 23 - pierwszą odmianę wykonania układu nadawania nieparzystości sumie, w drugiej odmianie wykonania urządzenia do kompresji sygnału obrazu ruchomego, przedstawionego na fig. 22, w postaci schematu blokowego, fig. 24 - drugą odmianę wykonania układu nadawania nieparzystości sumie, w drugiej odmianie wykonania urządzenia do kompresji sygnału obrazu ruchomego, przedstawionego na fig. 22, w postaci schematu blokowego, fig. 25 - trzecią odmianę wykonania układu nadawania nieparzystości sumie, w drugiej odmianie wykonania urządzenia do kompresji sygnału obrazu ruchomego, przedstawionego na fig. 22, w postaci schematu blokowego, fig. 26 - odmianę wykonania inwertera parzystości w układach nadawania nieparzystości sumie, przedstawionych na fig. 23 - 25, w postaci schematu blokowego, fig. 27 - pierwszy wariant inwertera parzystości przedstawionego na fig. 26, fig. 28 - drugi wariant inwertera parzystości przedstawionego na fig. 26, fig. 29 - trzeci wariant inwertera parzystości przedstawionego na fig. 26, a fig. 30 - konfigurację drugiej odmiany wykonania urządzenia do ekspansji skomprymowanego sygnału obrazu ruchomego, według wynalazku, w postaci schematu.
Przedstawione zostaną korzystne odmiany wykonania sposobu dokonywania odwrotnej dyskretnej transformacji kosinusoidalnej, urządzenie do inwersyjnej transformacji kosinusoidalnej, urządzenie do kompresji sygnału obrazu ruchomego, urządzenie do ekspansji skomprymowanego sygnału obrazu ruchomego, nośnik zapisu oraz urządzenie nadawcze.
Rozwiązanie według wynalazku znajduje zastosowanie do hybrydowego sposobu kodowania, w którym połączone są kodowanie predykcyjne, kompensacja przemieszczenia i dyskretna transformacja kosinusoidalna DCT. Ten hybrydowy standard kodowania jest opisany w z. 261 publikacji ISO-ffiC/JTC1/SC2/WG11 (popularnie zwanej MPEG) Komitetu Doradczego Międzynarodowej Telegrafii i Telefonii (CCITT), który jest komitetem międzynarodowym powołanym do propagowania standardów, dotyczących między innymi kompresji sygnałów obrazów ruchomych i kompresji obrazów ruchomych przed zapisem na nośniku zapisu.
Kodowanie predykcyjne z kompensacją przemieszczenia jest sposobem redundancji sygnału obrazu ruchomego przez wykorzystanie korelacji sygnału obrazu ruchomego w dziedzinie czasu. Predykcja z kompensacją przemieszczenia aktualnego obrazu, to znaczy właśnie kodowanego wykonywana jest z użyciem innego, już zdekodowanego obrazu sekwencji obrazów
173 287 ruchomych w charakterze obrazu odniesienia. Powstające przy tym błędy predykcyjne przemieszczenia zawarte są w skomprymowanym sygnale wraz z wektorem przemieszczenia, trybem predykcji itp. Zmniejsza to znacznie ilość informacji w skomprymowanym sygnale obrazu ruchomego niezbędnej do reprezentacji obrazu aktualnego.
Sygnał błędu predykcyjnego kompensacji przemieszczenia podlega kompresji z użyciem kompresora sygnału wykorzystującego geometryczną korelację każdego obrazu wchodzącego w skład sekwencji obrazów ruchomych. Kompresor sygnału różnicowego zwykle zawiera układ transformacji ortogonalnej, na przykład układ dyskretnej transformacji kosinusoidalnej DCT oraz kwantyzer. Transformacja kosinusoidalna DCT jest rodzajem transformacji ortogonalnej, która skupia moc sygnałów w konkretnych składowych częstotliwościowych w wyniku wewnątrzobrazowej (wewnątrzramkowej lub wewnątrzpolowej) dwuwymiarowej korelacji obrazu. W ten sposób sygnał skomprymowany zawiera tylko współczynniki skupione i współczynniki rozłożone, włączone w sygnał skomprymowany albo bezpośrednio, albo po dodatkowej kompresji. Redukuje to w jeszcze większym stopniu ilość informacji zawartej w skomprymowanym sygnale obrazu ruchomego niezbędnej do reprezentacji obrazu aktualnego.
Kodowanie predykcyjne z międzyobrazową kompensacj ą przemieszczenia może odbywać się między ramkami obrazu sygnału obrazu ruchomego. Również, jeżeli sygnał obrazu ruchomego jest sygnałem z międzyliniowością, to kodowanie predykcyjne z kompensacją przemieszczenia przy kodowaniu predykcyjnym może odbywać się między polami. Poza tym, przy kodowaniu wewnątrzobrazowym z predykcyjną kompensacją przemieszczenia, może odbywać się adaptacyjne przełączanie z kodowania międzyramkowego na międzypolowe, zależnie od właściwości obrazu ruchomego.
Przykład wykonania znanego urządzenia do rekonstrukcji obrazów ruchomych, bazującego na standardzie MPEG przedstawiono na fig. 1. W przedstawionym na fig. 1 kompresorze cyfrowy sygnał wizyjny podawany jest do układu 101 formatowania bloków, gdzie podlega on konwersji ze standardowego formatu wizyjnego, na przykład formatu sygnału wizyjnego NTSC, na format blokowy zapewniający zblokowany sygnał wizyjny. W tym sygnale każdy obraz sygnału obrazu ruchomego dzielony jest na obszary geometryczne, to znaczy w poziomie i w pionie, na makrobloki po na przykład 16x16 punktów obrazowych. Makrobloki są również dzielone wtórnie na bloki po 8 x 8 punktów.
Urządzenie przedstawione na fig. 1 komprymuje każdy obraz sygnału blok po bloku, aż do przetworzenia wszystkich bloków składających się na obraz. Następnie urządzenie przetwarza inny obraz sygnału obrazowego, który może być lub nie być następnym obrazem sekwencji obrazów składających się na obraz ruchomy. W poniższym opisie urządzenia przedstawionego na fig. 1 zostanie opisana kompresjajednego bloku punktów w jednym obrazie. Komprymowany blok punktów stanowi aktualny blok obrazowy, który jest blokiem aktualnego obrazu. Zblokowany sygnał wizyjny przekazywany jest do predyktora 102 przemieszczenia. Predyktor 102 przemieszczenia podaje aktualny obraz, łącznie z aktualnym blokiem obrazowym S1, blok po bloku do układu 103 obliczania bloków różnic.
Kiedy układ 103 obliczania bloków różnic otrzymuje aktualny blok obrazowy 51 z predyktora 102 przemieszczenia, otrzymuje również blok dopasowujący S2, odpowiadający temu aktualnemu blokowi obrazowemu 51 z predyktora 102 przemieszczenia. Blok dopasowujący 52 otrzymywany jest z odtworzonych obrazów, zapisanych w bloku 112 pamięci obrazowej przez predyktor 113. Układ 103 obliczania bloku różnic wyznacza punkt po punkcie różnice między aktualnym blokiem obrazowym S1 i odpowiadającym mu blokiem dopasowującym S2. Otrzymany blok różnic S3, podawany jest do układu 104 transformacji ortogonalnej.
Układ 104 transformacji ortogonalnej, który jest zwykle układem dyskretnej transformacji kosinusoidalnej DCT, dokonuje przetworzenia za pomocą transformacji ortogonalnej na blok różnic S3 i przekazuje otrzymany blok współczynników transformaty do kwantyzera 105. Kwantyzer 105 dokonuje kwantyzacji bloku współczynników transformaty w celu otrzymania bloku skwantyzowanych współczynników transformaty. Koder zmiennodługościowy 106 poddaje blok skwantyzowanych współczynników transformaty z kwantyzera 105 kodowaniu zmiennodługościowemu, na przykład kodowaniu Huffmana lub kodowaniu z długością bieżącą itp.
173 287
Otrzymany blok zakodowanych współczynników transformat następnie podawany jest na przykład do toru transmisji cyfrowej za pośrednictwem bufora wyjściowego 107.
Sygnał sterujący wskazujący liczbę bitów, zapisanych w buforze wyjściowym 107, podawany jest zwrotnie do kwantyzera 105. Kwantyzer 105 dostosowuje wielkość kroku kwantyzacji zależnie od sygnału sterującego, w celu zabezpieczenia bufora wyjściowego 107 przed przepełnieniem lub opróżnieniem. Zwiększenie lub zmniejszenie kroku kwantyzacji odpowiednio zmniejsza lub zwiększa liczbę bitów podawanych do bufora wyjściowego 107.
Blok skwantyzowanych współczynników transformaty dostarczany jest również z kwantyzera 105 do kwantyzera inwersyjnego 108, który stanowi część lokalnego dekodera, wykorzystywanego w kompresorze do otrzymywania ze skwantyzowanych współczynników transformaty odtworzonych obrazów wykorzystywanych przy kodowaniu predykcyjnym. Kwantyzer inwersyjny 108 dokonuje odwrotnej kwantyzacji bloku skwantyzowanych współczynników transformaty, przez wykonanie obróbki komplementarnej do procesu kwantyzacji dokonywanego w kwantyzerze 105. Wynikowy blok współczynników transformaty podawany jest do układu 109 odwrotnej transformacji ortogonalnej, gdzie zostaje przetworzony zgodnie z odwrotną transformacją ortogonalną w procesie obróbki komplementarnym do obróbki podczas transformacji ortogonalnej dokonywanej przez układ 104 transformacji ortogonalnej. Otrzymany odtworzony blok 54 różnic podawany jest do sumatora 110.
Sumator 110 otrzymuje z jednej z pamięci grupy 112 również blok dopasowujący S2, wybrany przez predyktor 113. Sumator 110 dokonuje, punkt po punkcie, sumowania między odtworzonym blokiem S4 różnic z układu 109 odwrotnej transformacji ortogonalnej i blokiem dopasowującym S2 z grupy 112 pamięci obrazowej, w celu otrzymania zrekonstruowanego bloku obrazowego S5. Zrekonstruowany blok obrazowy 55 podawany jest do wybranej przez selektor 111, jednej z pamięci obrazowych 112A -112D, gdzie zostaje zapisany.
Zrekonstruowany blok obrazowy zapisany zostaje w wybranej pamięci obrazowej, gdzie stanowi jeden blok, (odpowiadający blokowi aktualnemu) zrekonstruowanego obrazu otrzymywanego blok po bloku z rekonstruowanych bloków obrazowych w wybranej pamięci obrazowej. Po zakończeniu, zrekonstruowany obraz jest wykorzystywany do otrzymywania bloków dopasowujących do celów kodowania predykcyjnego, w celu skomprymowania innych obrazów sygnału obrazowego.
Predyktor 102 przemieszczenia określa, dla każdego bloku obrazu aktualnego, wektor przemieszczenia między makroblokiem obrazów aktualnych i innymi makroblokami pozostałych obrazów zapisanego w niej sygnału obrazowego. Predyktor 102 przemieszczenia daje również sumę bezwzględnych wartości różnic (suma bezwzględnych wartości różnicowych) między punktami obrazowymi każdego makrobloku obrazu aktualnego i różnymi makroblokami innych obrazów. Każda różnica bezwzględnych wartości sum wskazuje stopień dopasowania między każdym makroblokiem obrazu aktualnego i makroblokami pozostałych obrazów. Predyktor 102 przemieszczenia przekazuje każdy wektor przemieszczenia i odpowiadającą mu różnicę bezwzględnych wartości sum do układu 115 wyznaczania trybu predykcji.
Układ 115 wyznaczania trybu predykcji wykorzystuje dane otrzymane z predyktora 102 przemieszczenia do wyznaczenia trybu predykcji, który należy zastosować przy predykcyjnym kodowaniu obrazu aktualnego względem jednego lub więcej innych zrekonstruowanych obrazów. Aktualny obraz może być kodowany predykcyjnie z wykorzystaniem dowolnego z trybów predykcji, do których należą po pierwsze:
- tryb wewnątrzobrazowy, w którym obraz komprymowany jest sam w sobie, bez odniesienia do innych obrazów, a obraz zakodowany w tym trybie nazywa się obrazem I; po drugie
- tryb predykcji w przód, w którym predykcji dokonuje się predykcji w odniesieniu do zrekonstruowanego obrazu otrzymanego wcześniej, w sekwencji obrazów ruchomych, a obraz zakodowany w tym trybie nazywa się obrazem P; po trzecie
- tryb predykcji obukierunkowej, w którym dokonuje się predykcji blok po bloku w odniesieniu do bloku odniesienia otrzymanego ze zrekonstruowanego obrazu występującego wcześniej w sekwencji obrazów ruchomych, ze zrekonstruowanego obrazu otrzymanego później w sekwencji, lub przez dokonywanie operacji liniowej punkt po punkcie na przykład obliczania
173 287 wartości średniej między wcześniej zrekonstruowanym obrazem i obrazem zrekonstruowanym później, przy czym obraz zakodowany w tym trybie nazywa się obrazem B.
Innymi słowy, obraz I jest to obraz, w którym wykonano kodowanie wewnątrzobrazowe. Obraz P otrzymuje się predykcyjnie ze zrekonstruowanego obrazu I lub obrazu P występujących wcześniej w sekwencji obrazów ruchomych. Obraz B jest predykcyjnie otrzymanym, blok po bloku, obrazem z wykorzystaniem wcześniejszych lub późniejszych zrekonstruowanych obrazów I lub P, lub z użyciem bloku otrzymanego przez wykonanie operacji liniowej z użyciem zrekonstruowanych obrazów I i/lub P, występujących wcześniej w sekwencji obrazów oraz zrekonstruowanych obrazów I i/lub P, występujących później w tej sekwencji.
Układ 115 wyznaczania trybu predykcji przekazuje tryb predykcji i odpowiadający mu wektor przemieszczenia do predyktora 113 i do generatora 114 adresów odczytowych. Generator 114 adresów odczytowych zapewnia otrzymanie adresów odczytu dla bloku 112 pamięci obrazowej, zależnie od wektora przemieszczenia, co powoduje odczyt z każdej z pamięci obrazowych 112A - 112D przechowywanego w niej bloku rekonstruowanego obrazu. Miejsce odczytanego bloku w rekonstruowanym obrazie wyznaczone jest przez wektor przemieszczenia. Predyktor 113 wybiera jeden z bloków odczytowych z pamięci obrazowych 112A - 112D, w zależności od sygnału trybu predykcji otrzymanego z układu 115 wyznaczania trybu predykcji. Wybrany blok odczytowy stanowi blok S2 dopasowania dla bloku aktualnego S1. Kiedy blok aktualny stanowi część obrazu B, to predyktor również wykonuje operacje liniowe na blokach odczytanych z pamięci obrazowych 112A - 112D w celu otrzymania potrzebnego bloku dopasowania. Predyktor przekazuje blok dopasowujący S2 do układu 103 obliczania bloków różnic, oraz do sumatora 110.
Na fig. 2 przedstawiono przykład ekspandera zgęszczonego sygnału obrazowego, pracującego na bazie standardu MPEG. W tym urządzeniu skomprymowany sygnał wizyjny, otrzymany bezpośrednio z kompresora lub przez odtworzenie go z nośnika zapisu, podawany jest bitowo do bufora wyjściowego 121, gdzie zostaje tymczasowo przechowany. Skomprymowany sygnał cyfrowy zawiera bloki zakodowanych współczynników transformaty, łącznie z blokiem zakodowanych współczynników transformaty reprezentujących blok aktualny, oraz informacje o trybie predykcji, o wielkości kroku kwantyzacji oraz o wektorze przemieszczenia dla każdego bloku.
Skomprymowany sygnał obrazowy odczytywany jest z bufora wejściowego 121, po jednym obrazie, i podawany jest do odwrotnego kodera 122 zmiennodługościowego IVLC. Odwrotny koder zmiennodługościowy 122 wykonuje operację kodowania inwersyjnego zmiennodługościowego na skomprymowanym sygnale obrazowym i rozdziela skomprymowany sygnał obrazowy na jego składowe, włącznie z blokami skwantyzowanych współczynników transformaty, informacje o trybie predykcji, informacje o wielkości kroku i wektorze przemieszczenia dla każdego bloku.
Każdy blok zakodowanych współczynników transformaty podawany jest do inwersyjnego kwantyzera 123, który wykorzystuje informacje o wielkości kroku do inwersyjnej kwantyzacji bloku skwantyzowanych współczynników transformaty, dla otrzymania bloku współczynników transformaty. Układ 124 odwrotnej transformacji ortogonalnej wykonuje operacje inwersyjnej transformacji ortogonalnej, zwykle IDCT, na bloku współczynników transformaty, w celu otrzymania odtworzonego bloku różnic. Inwersyjny kwantyzator 123 i układ 124 odwrotnej transformacji ortogonalnej wykonują obróbkę komplementarną do, odpowiednio, stosowanej w kwantyzerze 105 i układzie 104 transformacji ortogonalnej w kompresorze przedstawionym na fig. 1.
Generator 130 adresów odczytowych podaje adresy odczytu do pamięci obrazowych 128A - 128D, w odpowiedzi na wektor przemieszczenia dla aktualnego bloku, odebranego z inwersyjnego kodera zmiennodługościowego 122. W zależności od adresów odczytu, w każdej z pamięci obrazowych 128A - 128D zostaje odczytany blok zrekonstruowanego, przechowywanego w niej obrazu. Predyktor 129 wybiera jeden z bloków odczytanych z pamięci obrazowych 128 A -128D w odpowiedzi na sygnał trybu predykcji, również otrzymany z inwersyjnego kodera zmiennodługościowego 122. Wybrany blok odczytowy stanowi blok dopasowujący do rekonstrukcji bloku aktualnego. Kiedy blok aktualny stanowi część obrazu kodowanego jako obraz B, to predyktor również wykonuje operacje liniowe na blokach odczytanych z pamięci obrazowych
173 287
128A - 128D w celu otrzymania bloku dopasowania. Predyktor 129 przekazuje blok dopasowujący do sumatora 125.
Sumator 125 wykonuje, punkt po punkcie, sumowanie odtworzonego bloku różnic z układu 124 odwrotnej transformacji ortogonalnej i bloku dopasowania z predyktora 129, w celu zrekonstruowania aktualnego bloku obrazowego aktualnego obrazu. Selektor 126 podaje zrekonstruowany obraz aktualny, w celu jego przechowania, do jednej z pamięci obrazowych 128A - 128D, w której rekonstruowany jest obraz aktualny. Rekonstruowany aktualny blok obrazowy przechowywany jest w wybranej pamięci obrazowej na miejscu odpowiadającym aktualnemu blokowi w rekonstruowanym obrazie aktualnym. Kiedy wszystkie rekonstruowane bloki obrazu aktualnego sąjuż zapisane w wybranej pamięci obrazowej 128A - 128D, zrekonstruowany obraz aktualny jest gotów do odczytu, jak również do wykorzystania w charakterze obrazu odniesienia do rekonstrukcji innych obrazów, które pojawiły się wcześniej lub później w sekwencji obrazów ruchomych.
Zrekonstruowane obrazy przechowywane w pamięciach obrazowych 128A - 128D, odczytywane są jako obrazowy sygnał wyjściowy za pośrednictwem selektora 126, zależnie od adresów odczytowych generowanych przez generator 127 adresów wyświetlania. Konwerter przemiatający (nie przedstawiony) przetwarza wejściowy sygnał wizyjny odczytany z pamięci obrazowych 128A - 128D, na format rastra żądanego standardu sygnału, na przykład NTSC. Otrzymany obrazowy sygnał wyjściowy może być następnie wyświetlany na odpowiednim urządzeniu wyświetlającym, na przykład kineskopie itp. W tym przykładzie generator 131 sygnału synchronizacji jest dołączony do zewnętrznego źródła synchronizacji, i okresowo generuje sygnał synchronizacji ramki, podawany do generatora 127 adresów wyświetlania. Generator 127 adresów wyświetlania generuje adresy odczytu synchronicznie z sygnałem synchronizacji ramki.
Opisane przykłady transformacji ortogonalnej, na przykład układy dyskretnej transformacji kosinusoidalnej DCT i odwrotnej transformacji kosinusoidalnej IDCT, wykorzystywane w kompresorze i ekspanderze. wykonują operacje arytmetyczne na wartościach punktów świetlnych i przetwarzają współczynniki reprezentowane liczbami całkowitymi o skończonej liczbie bitów. Tak więc, operacje transformacji ortogonalnej wykonywane przez układy transformacji ortogonalnej mogą powodować obcięcie pewnej liczby bitów. Z tego powodu różnice dokładności operacji transformacji ortogonalnej przy wykorzystaniu liczb rzeczywistych lub różnice w konfiguracji układu wykorzystywanego do wykonywania operacji transformacji ortogonalnej mogą spowodować zmiany wyniku operacji transformacji. Może prowadzić do niedopasowania między kompresorem i ekspanderem i do niedopasowania między ekspanderami dokonującymi ekspansji wspólnego skomprymowanego sygnału.
Na przykład w kompresorze, blok różnic otrzymanych z sygnału obrazowego jest poddawany transformacji ortogonalnej i określonej obróbce celem otrzymanych skwantyzowanych współczynników transformaty podczas generowania skomprymowanego sygnału obrazowego. Następnie w ekspanderze, jeżeli rzeczywista wartość dokładności działań lub konfiguracji odwrotnej transformacji ortogonalnej nie odpowiada transformacji w kompresorze, to możliwe jest, że sygnał wyjściowy ekspandera będzie różnił się od sygnału wejściowego do kompresora. Zatem sygnał wyjściowy w ekspanderze może zależeć od dokładności i konfiguracji urządzenia zastosowanego w ekspanderze.
Dokładność wykonywania operacji lub konfiguracja inwersyjnej transformacji ortogonalnej może zmieniać się, zależnie od wykorzystywanego urządzenia do wykonywania tek transformacji. Na przykład odwrotna transformacja bloku transformaty z użyciem dwóch różnych konstrukcji tego samego typu układu inwersyjnej transformacji ortogonalnej może dawać różne wyniki. Tego rodzaju różnica wyników bywa nazywana błędem dopasowania inwersyjnej transformacji ortogonalnej (błędem dopasowania).
W standardzie MPEG określono dokładność, z którą powinny być wykonywane transformacje DCT i IDCT, lecz nie określa się sposobów obróbki i konfiguracji. Wynika to stąd, że sposoby i układy do wykonywania transformacji DCT i IDCT w okresie ustalania się standardu MPEG były w opracowaniu.
173 287
W standardzie MPEG, jak to opisano powyżej, kompresor wykonuje na sygnale obrazowym, na przykład, kodowanie predykcyjne z wewnątrzobrazową kompensacją przemieszczenia ruchu. Przy tym sygnał obrazu ruchomego dzieli się na bloki, otrzymuje się blok różnic, z bloku obrazu aktualnego i bloku dopasowania uzyskanego przez zastosowanie kompensacji przemieszczenia do obrazu odtworzonego, następuje ortogonalna transformacja bloku różnic z użyciem dyskretnej transformacji kosinusoidalnej DCT, wynikowe współczynniki transformaty poddawane są kwantyzacji, skwantyzowane współczynniki transformaty poddawane są kodowaniu zmiennodługościowemu, i zakodowane współczynniki transformaty są zbierane razem z informacjąo trybie predykcji, informacją o wielkości kroku kwantyzacji i wektorów przemieszczenia, w celu otrzymania skomprymowanego sygnału obrazowego.
Ekspander dokonuje inwersyjnego kodowania zmiennodługościowego na zakodowanych współczynnikach transformaty, kwantyzowania inwersyjnego skwantyzowanych współczynników transformaty otrzymanych przez inwersyjne kodowanie zmiennodługościowe, oraz przetwarzania za pomocą odwrotnej transformacji kosinusoidalnej IDTC na współczynnikach transformaty, otrzymanych z kwantyzowania inwersyjnego. Otrzymany odtworzony blok różnic dodawany jest do bloku dopasowania, otrzymanego przez zastosowanie kompensacji przemieszczenia do zrekonstruowanego obrazu, zgodnie z wektorem przemieszczenia. Wynikowy zrekonstruowany blok obrazowy przechowywany jest w postaci bloku zrekonstruowanego obrazu stanowiącego jeden obraz z obrazowego sygnału wyjściowego, oraz nadającego się do wykorzystania w charakterze obrazu odniesienia.
Kompresor zawiera dekoder lokalny, który otrzymuje z kwantyzowanych współczynników transformaty obrazy zrekonstruowane, do wykorzystania przy kodowaniu predykcyjnym. Dekoder lokalny zawiera kwantyzer inwersyjny i układ odwrotnej transformacji ortogonalnej.
Jeżeli układ odwrotnej transformacji kosinusoidalnej IDCT w dekoderze lokalnym kompresora różni się od konfiguracji odwrotnej transformacji kosinusoidalnej IDCT w ekspanderze, to zdarza się, że zrekonstruowane obrazy wytwarzane przez dekoder lokalny w kompresorze różnią się od zrekonstruowanych obrazów wytwarzanych przez ekspander. Zależność przetwarzania odwrotnej transformacji kosinusoidalnej IDCT od implementacji może powodować kłopoty, kiedy skomprymowany sygnał obrazowany, generowany przez kompresor odpowiadający standardowi MPEG zapisywany jest na nośniku, na przykład dysku optycznym itp. w celu szerokiego rozpowszechniania. Kiedy skomprymowany sygnał obrazowy reprodukowany z dysku optycznego jest ekspandowany za pomocą ekspanderów produkowanych i sprzedawanych przez różnych wytwórców, to odtworzony obraz może różnić się od obrazu oryginalnego. Ponadto różnice mogą zależeć od konkretnego zastosowanego ekspandera. Podobne niezgodności między różnymi ekspanderami mogą wyniknąć, kiedy skomprymowany sygnał obrazowy rozprowadzany jest w systemie nadawczym, na przykład naziemnym lub satelitarnym, przez sieć telefoniczną, system ISDN, sieć kablową lub optyczną itp.
Błędy niedopasowania stanowią szczególny problem, kiedy dokonuje się predykcyjnego kodowania międzyobrazowego. Predykcyjne kodowanie międzyobrazowe może być kodowaniem międzypolowym lub międzyramkowym. Kodowanie predykcyjne międzyobrazowe może powodować kumulowanie się błędów niedopasowania do rozmiarów wpływających w sposób fatalny na rekonstruowane obrazy.
Przy kompresji sygnału obrazowego wykonywanej w standardzie MPEG, każda sekwencja wizyjna dzielona jest na Grupy Obrazów (GOP - Groups of Pictures), złożone na przykład z ośmiu lub dwunastu obrazów. Każdy obraz klasyfikowany jest jako obraz I, obraz P, obraz B, jak to opisano powyżej. Obrazu B nie wykorzystuje się w charakterze obrazu odniesienia przy realizacji predykcji przemieszczenia. Zatem błąd niedopasowania występujący w obrazie B nie powoduje błędów w innych obrazach. Kiedy błąd niedopasowania występuje w obrazie P, to obraz z błędem niedopasowania przechowywany jest w pamięci obrazowej do wykorzystania przy kodowaniu predykcyjnym. Odpowiednio do tego, kiedy dokonuje się predykcyjnego kodowania międzyobrazowego, błąd obrazu P w pamięci obrazowej stopniowo rozprzestrzenia się na obrazy P i obrazy B, otrzymane z niego w wyniku kodowania predykcyjnego. Błąd kumuluje się, aż do zastąpienia obrazu przez inny obraz I lub P, w którym taki błąd nie występuje.
173 287
Podobnie, kiedy błąd niedopasowania pojawia się w obrazie I, to zrekonstruowany obraz z błędem niedopasowania przechowywany jest w pamięci obrazowej do wykorzystania przy kodowaniu predykcyjnym. Odpowiednio do tego, kiedy dokonuje się predykcyjnego kodowania międzyobrazowego, błąd obrazu I przechowywanego w pamięci obrazowej rozprzestrzenia się na obrazy P i obrazy B, otrzymane z niego w wyniku kodowania predykcyjnego.
Błąd kumuluje się, aż do zastąpienia obrazu przez nowy obraz I pozbawiony tego błędu. Kumulowanie się błędów przedstawiono na fig. 3. Na fig. 3, jeżeli błąd niedopasowania przy dekodowaniu obrazu I wynosi El, a błąd niedopasowania przy dekodowaniu obrazu P1, typu P, wynosi EP1, to wartość błędu w zrekonstruowanym obrazie P1, typu P wynosi EI+EP1. Następnie, kiedy błąd niedopasowania, przy dekodowaniu obrazu P2, typu P, wynosi EP2, to wartość błędu w zrekonstruowanym obrazie P2, typu P wynosi EI+EP1+EP2. Nawet, jeśli poszczególne błędy niedopasowania są małe, to stopniowe kumulowanie się tych błędów daje w wyniku błąd duży.
Błędy niedopasowania powstające przy przetwarzaniu IDCT wykorzystywane w dekoderach MPEG, zarówno w kompresorze, jak i w ekspanderze, można podzielić na dwa odmienne typy. Pierwszym typem są: błędy wynikające z niedostatecznej dokładności wykonywania operacji, a drugim - błędy wynikające z systematycznych różnic przy zaokrąglaniu.
Standard MPEG określa wymaganie na dokładność operacji. Jednak wymaganie to nie jest na tyle ostre, aby gwarantowało, że nie wystąpi błąd niedopasowania. Zatem błąd niedopasowania wspomnianego pierwszego typu może występować nawet między urządzeniami odwrotnej transformacji kosinusoidałnej IDCT, których dokładność wykonywania operacji spełnia wymagania MPEG.
Dane wyjściowe odwrotnej transformacji kosinusoidalnej IDCT są liczbami całkowitymi. Zatem po wykonaniu przetwarzania IDCT z użyciem liczb rzeczywistych konieczne jest zaokrąglenie otrzymanych w wyniku liczb. Zwykle wyniki przetwarzania zaokrąglane są do najbliższej liczby całkowitej. Jednak powstaje problem, kiedy wynik przetwarzania wynosi *.5, gdzie * oznacza liczbę całkowitą. Standard MPEG nie określa, jak należy przetworzyć wynik wynoszący *.5. Niektóre urządzenia zaokrąglają *.5 w górę, ainne IDCT w dół. Poza tym w niektórych przypadkach zaokrąglanie w górę lub w dół zależy od znaku wyniku. Błędy niedopasowania wynikające z systematycznych błędów zaokrągleń należą do wspomnianego drugiego typu.
Błędy niedopasowania pierwszego typu różnią się od błędów niedopasowania drugiego typu tym, że błędy pierwszego typu powstają przypadkowo, natomiast błędy drugiego typu mają charakter systematyczny. Ponieważ błędy pierwszego typu są przypadkowe, to błędy dodatnie i ujemne pojawiają się z prawie równym prawdopodobieństwem. Zatem, przy wykonywaniu kodowania predykcyjnego w ciągu dłuższego czasu można założyć, że błędy niedopasowania pierwszego typu będą się kompensować.
Natomiast, ponieważ błędy drugiego typu są systematyczne i nie są współzależne z samym przetwarzaniem IDCT, to takie błędy mają tę samą tendencję. Odpowiednio do tego, przy wykonywaniu kodowania predykcyjnego w ciągu dłuższego czasu błąd niedopasowania będzie się kumulował w jednym kierunku. Chociaż błąd niedopasowania drugiego typu wynosi tylko +1 lub -1, to jeżeli wiele błędów niedopasowania kumuluje się w jednym kierunku, to skumulowany błąd niedopasowania może być duży.
Ponieważ błędy niedopasowania pierwszego typu, mimo iż pojawiają się chwilowo, to w dłuższym czasie się znoszą, a więc błędy pierwszego typu nie są kłopotliwe. Ponieważ jednak błędy niedopasowania drugiego typu kumulują się w jednym kierunku, to te błędy stanowią problem. Z tego powodu pożądane jest zapobieganie występowaniu błędów kumulacyjnych drugiego typu.
W celu zapobieżenia występowaniu błędów niedopasowania drugiego typu, w systemie MPEG1 proponowano dokonywanie przetwarzania wstępnego, przed wykonaniem transformacji IDCT. Przy tym przetwarzaniu współczynniki transformaty dla wszystkich współczynników ustawia się na wartość nieparzystą, z wyjątkiem współczynnika transformaty składowej (0,0) makrobloku obrazu kodowanego wewnątrzobrazowo (intra - macroblock - makroblok wewnątrzobrazowy). W makrobloku wewnątrzobrazowym składowa (0,0) jest składową stałą. Jak to przedstawiono na fig. 4, na przykład, wszystkie współczynniki składowych (0,1), (7,1), (2,3),
173 287 (5,3), (1,5), (6,5), (3,7) i (4,7) wstępnie mają wartość 568. Ponieważ jest to liczba parzysta, to w obróbce wstępnej następuje ustawienie tych wszystkich współczynników na wartość nieparzystą, na przykład 567. Przy stosowaniu transformaty IDCT do wstępnego przetwarzania współczynników transformaty, nigdy nie pojawiają się wyniki ułamkowe.
Ponieważ składowa stała makrobloku wewnątrzobrazowego jest bardzo ważna dla wyglądu obrazu otrzymanego ze skomprymowanego sygnału obrazowego, jego dokładność ograniczona jest tylko do ośmiu bitów. Nie poddaje się jej przetworzeniu w liczbę nieparzystą, ponieważ spowodowałoby to obniżenie dokładności tej ważnej składowej. Z drugiej strony, wszystkie współczynniki transformaty, otrzymane przez przetwarzanie makrobloku obrazu kodowanego wewnątrzobrazowo (non-Bintramacroblock - makroblok niewewnątrzobrazowy) poddawane są procesowi podobnemu do procesu przetwarzania współczynników składowych, innych poza składową stałą, różniącemu się od procesu stosowanego dla składowej stałej, w celu ograniczenia współczynników transformaty wyłącznie do wartości nieparzystych.
Przetwarzanie, w którym wartości współczynników transformaty poddawane są transformacji IDCT, ustawiane są wstępnie na wartości nieparzyste nazywa się przetwarzaniem z nadaniem nieparzystości.
Przez stosowanie przetwarzania z nadaniem nieparzystości, transformacja IDCT, zarówno w kompresorze, jak i w ekspanderze będzie odbywała się z zaokrąglaniem według jednej zasady. Umożliwia to utrzymanie jednakowej jakości obrazu dla różnych ekspanderów.
Jednak pomimo przetwarzania ze wspomnianym powyżej nadawaniem nieparzystości, opisane błędy kumulacyjne drugiego typu powstają jeszcze w procesorze MPEG, ponieważ w procesie transformacji IDCT mogą nadal powstawać wyniki * .5, gdzie * oznacza liczbę całkowitą. Okoliczności prowadzące do otrzymania wyniku * .5 zostaną opisane z użyciem, w charakterze przykładu, dwuwymiarowej transformacji IDCT 8x8 stosowanego w systemie MPEG.
Dwuwymiarowa IDCT 8x8 wyraża się następującym równaniem:
t/foy) = 4 Σ Σ F(«’v) cos cos ((2y+Dvyn) u=0 v=0 (1) u, v, x, y = 0, 1,..., 7
= 1 (u, N* 0)
W powyższym równaniu F(u,v) oznacza współczynniki dyskretnej transformacji kosinusoidalnej DCT poddawane dwuwymiarowej transformacj i IDCT. W równaniu (1) każda wartość wynikowa IDCT jest liczbą rzeczywistą, to znaczy liczbą wymierną lub niewymierną. Ponieważ * .5 jest liczbą wymierną, to zapewnienie wartości wyjściowej z IDCT w postaci liczby niewymiernej zapobiegnie wystąpieniu kumulacyjnego błędu niedopasowania. Jednocześnie kiedy wyjściowa jest liczbą wymierną, możliwe jest wystąpienie jako wyniku wartości * .5.
Współczynniki DCT F(0,0), F(0,4), F(4,0), F(4,4) są specjalnymi współczynnikami DCT. Kiedy jeden z tych współczynników DCT ma wartość niezerową, to wartość wynikowa IDCT jest liczbą wymierną. Wartości wyjściowe z IDCT w tym przypadku wyrażają się równaniami (2).
f(x,y) = ^-F(0,4)cos^-K
ΥΓ3 287 f(M) = ^W)cos^K f(x,y) = F(4,4) cos 71 cos 71 gdzie cos ^p7l = ±^ (2)
Tak więc, kiedy tylko jeden ze współczynników specjalnych DCT F(0,0), F(0,4), F(4,0), F(4,4) ma wartość niezerową, która jest wielokrotnością 4, lecz nie jest wielokrotnością 8, wartość wyjściowa jest równa * .5.
Kiedy te cztery specjalne współczynniki DCT są jedynymi współczynnikami o wartościach niezerowych, to wartość wyjściowa IDCT wyraża się równaniem (3) f(x,y) = | F(0,0) + F(0,4) cos TT + + ^2 F(4,0) cos ~τρΤΤ + + ©(4,4) cos-2” TT cos TT (3)
Przy różnych kombinacjach x i y, F(x,y) w równaniu (3) może mieć następujące wartości:
| [F (0, 0)+ F (0, 4) + F (4,0) + F (4,4)] j[F(0,0)+F(0,4)- F(4,0)- F(4,4)] j[F(O,O)-F(O, 4) + F(4, 0)-F(4,4)] | [F (0,0)- F (0, 4) - F (4, 0) + F (4, 4)] (4)
Tak więc, kiedy wartości tych czterech współczynników specjalnych są takie, że którekolwiek z wyrażeń w równaniu (4) jest wielokrotnością 4, ale nie jest wielokrotnością 8, daje wynik * .5.
Zatem, kiedy cztery współczynniki specjalne mają wartości niezerowe, to jest bardzo prawdopodobne, że wartość wyjściowa DCT będzie równa * .5.
Wartość wyjściową wynoszącą * .5 mogą dawać również różne symetryczne pary współczynników DCT o wartościach niezerowych, inne niż omówione współczynniki specjalne:
(1) kiedy para współczynników X(2n+1, 2m+l), X(2m+1, 2n+l) ma tę samą wartość niezerową, będącą wielokrotnością 4, a nie będącą wielokrotnością 8 lub (2) kiedy para współczynników X(2n+1, 2n+l), X(8-2n-l, 8-2n-l) ma tę samą wartość niezerową, będącą wielokrotnością 4, a nie będącą wielokrotnością 8.
W powyższych wyrażeniach X(i, j) jest współczynnikiem transformaty jednej ze składowych dwuwymiarowej transformaty DCT 8x8.
Kiedy sygnał rzeczywistego obrazu ruchomego komprymowany jest za pomocą kompresora zgodnego ze standardem MPEG, to współczynniki niezerowe DCT występują często w
173 287 omówionych konfiguracjach, co może dawać wartości wyjściowe * .5. Ponadto wartości tych czterech współczynników specjalnych najczęściej są niezerowe.
Ponieważ najczęstszą przyczyną powstawania wyniku * .5 jest konfiguracja współczynników DCT, w której wartości czterech współczynników specjalnych są niezerowe, zapobieganie powstawaniu błędu niedopasowania występującego w odpowiedzi na te cztery współczynniki specjalne zredukuje istotnie prawdopodobieństwo występowania błędu niedopasowania.
Na fig. 5 przedstawiono sposób przetwarzania, w którym makroblok wewnątrzobrazowy i makroblok nie-wewnątrzobrazowy kwantowane są inwersyjnie w MPEG1. Na fig. 5, QAC(i, j) jest współczynnikiem (i,j)-tym transformaty DCT Wi (i j) Wi (i,j) jest (i,j)-tym elementem macierzy ważącej, mqant współczynnikiem kwantyzacji, a rec(i,j) jest (i,j)-tym inwersyjnie kwantowanym współczynnikiem DCT. Sposób przetwarzania zapisano w języku programowania C. Składnia tego języka jest znana.
Skwantyzowane współczynniki DCT są poddawane kwantyzacji odwrotnej, a wynikowe współczynniki DCT poddawane są następnie przetwarzaniu EDCT. W MPEG1, do współczynników DCT o wartościach parzystych dodaje się +1 lub - lw celu upewnienia się, że wszystkie współczynniki DCT poddane transformacji IDCT będą miały wartości nieparzyste. W wyniku tej operacji, kiedy na przykład tylko jeden z czterech współczynników specjalnych F(0,0) ma wartość niezerową, to z tego powodu, że błąd niedopasowania występuje tylko, kiedy F(0,0) jest wielokrotnością 4 lecz nie jest wielokrotnością 8, jeżeli współczynniki DCT przetwarzane są tak, że wszystkie mają wartości nieparzyste, wynik po poddaniu współczynnika DCT transformacji IDCT nie może być równy * .5. Podobnie, kiedy tylko jeden z pozostałych współczynników specjalnych F(0,4), F(4,0), F(4,4) ma wartość niezerową, to błąd niedopasowania nie może wystąpić. Jednakowoż, jeżeli więcej niż jeden z tych czterech współczynników ma wartość niezerową, jak to pokazano na fig. 4, lub kiedy występują pary symetrycznie rozmieszczonych współczynników, to uczynienie wszystkich współczynników DCT nieparzystymi nie zabezpiecza przed wystąpieniem błędu niedopasowania.
Obecnie przedstawiona zostanie zasada, na jakiej wynalazek pozwala zapobiec występowaniu kumulacyjnych błędów niedopasowania.
Analiza równania (4) wykazuje, że błędy niedopasowania występują, kiedy wyrażenia w równaniu dają wynik wynoszący (2n+l)/2, gdzie n jest dowolną liczbą całkowitą.
Równanie (4) można wyrazić jako:
f(x,y) = 1/8 ACC gdzie ACC jest sumą wszystkich współczynników.
Najczęściej występującą konfiguracją niedopasowania jest:
f(x,y) = 1/8 ACC = (2n+1)/2 = 1/8(4*(2n/+1))
Na tej podstawie zauważyć można, że jeżeli ACC uczyni się liczbą nieparzystą, to błąd niedopasowania nigdy nie wystąpi.
Odpowiednio do tego, według wynalazku stosuje się pewien schemat podejścia do inwersyjnej kwantyzacji współczynników DCT oraz następnie, przed przetwarzaniem IDCT, do obliczenia sum współczynników DCT. Jeżeli suma współczynników DCT jest liczbą parzystą (to znaczy jej parzystość jest 0), to parzystość jednego ze współczynników DCT zmienia się w celu uczynienia sumy współczynników DCT nieparzystą, to znaczy nadania jej parzystości 1. W celu nadania nieparzystości sumie współczynników DCT wystarczy zmienić parzystość tylko jednego współczynnika. Ponadto można zmieniać parzystość tego współczynnika, który ma najmniej szy wpływ na wartość wynikową IDCT. T ak więc zgodnie z wynalazkiem, przez zmianę parzystości współczynników DCT przed przetwarzaniem IDCT oraz, jeżeli suma jest parzysta, przez zmianę parzystości jednego z współczynników DCT dla nadania nieparzystości sumie współczynników DCT, skutecznie zapobiega się występowaniu błędów niedopasowania.
Na fig. 6 przedstawiono praktyczną konfigurację urządzenia do kompresji obrazu ruchomego, do którego odnosi się niniejszy wynalazek. W urządzeniu, przedstawionym na fig. 6,
173 287 sygnał obrazu ruchomego dzielony jest na pojedyncze obrazy i poddawany jest kompresji obraz po obrazie. Każdy obraz zostaje podzielony na bloki obrazowe, i podlega kompresji blok po bloku. Blok obrazu poddawany kompresji jest nazywany blokiem aktualnym 51. Aktualny blok obrazowy jest blokiem obrazu zwanego obrazem aktualnym.
Sygnał obrazu ruchomego, zwykle sygnał wizyjny, podawany jest do pierwszej grupy 2 pamięci obrazowej, gdzie tymczasowo przechowywanych jest wiele obrazów sekwencji. Sterownik 3 pamięci steruje odczytem obrazów z pierwszej 2 i drugiej 4 grupy pamięci obrazu. Sterownik 3 pamięci podaje również sygnał startowy SS warstwy i sygnał startowy BS makrobloku do licznika 5 warstw/makrobloków. Sterownik pamięci w odpowiedni sposób podaje te sygnały synchronicznie z odczytem do kompresji każdej warstwy i każdego z makrobloków każdego z obrazów, na przykład obrazu aktualnego z pierwszej grupy 2 pamięci. Warstwa jest poziomym rzędem bloków pokrywających szerokość obrazu.
Predyktor 6 przemieszczenia dokonuje predykcji przemieszczenia przez dokonanie dopasowania bloków aktualnego obrazu i wielu bloków wcześniejszych i późniejszych, przechowywanych w pierwszej grupie 2 pamięci obrazowej. Dopasowywanie bloków odbywa się na blokach na przykład 16 x 16 punktów obrazowych. Sygnał wskaźnikowy obrazu odniesienia do predykcji przemieszczenia wytwarzany przez sterownik 3 pamięci wybiera bloki obrazów poprzednich i następnych przechowywane w pierwszej grupie 2 pamięci obrazowej jako dopasowywane blokowi aktualnemu. Predyktor 6 przemieszczenia następnie podaje do kompensatora 7 przemieszczenia jako wektor MV przemieszczenia pozycję bloku w jednym z poprzednich lub następnych obrazów przechowywanych w pierwszej lub drugiej grupie pamięci obrazowej, dla której różnice między tym blokiem i blokiem obrazu aktualnego, to znaczy błędy predykcji przemieszczenia, osiągają minimum.
W odpowiedzi na wektor MV przemieszczenia, kompensator 7 przemieszczenia powoduje odczyt bloku każdego z rekonstruowanych obrazów przechowywanych w drugiej grupie 4 pamięci obrazowej jako blok potencjalnie dopasowany. Pozycje rekonstruowanych obrazów, z których odczytywane są bloki potencjalnie dopasowane, specyfikowane są za pomocą wektora MV przemieszczenia. Sygnał wskaźnikowy sygnału odniesienia do kompensacji przemieszczenia ze sterownika 3 pamięci następnie wybiera jeden z bloków potencjalnie dopasowanych, odczytanych z drugiej grupy 4 pamięci obrazowej jako blok dopasowany do bloku aktualnego. Rekonstruowane obrazy przechowywane w drugiej grupie 4 pamięci obrazu są obrazami, które zostały zrekonstruowane przez lokalne dekodowanie skwantyzowanych współczynników DCT wytwarzanych przez koder 9 bloków różnic.
Wybór dopasowanego bloku zrekonstruowanego obrazu, za pośrednictwem sygnału wskaźnikowego obrazu odniesienia do kompensacji przemieszczenia zależy od trybu predykcji obrazu aktualnego. W trybie predykcji w przód, blok dopasowany wybierany jest z poprzednio zrekonstruowanego obrazu, z przyszłego rekonstruowanego obrazu, lub może być wytwarzany w operacji liniowej na przykład obliczenia wartości średniej, na blokach wcześniej zrekonstruowanych i rekonstruowanych w przyszłości. Na koniec, kiedy obraz aktualny kodowany jest w wewnątrzobrazowym trybie kodowania, to znaczy obraz jest kodowany bez predykcji, to jako blok dopasowującego używa się bloku zerowego, w którym wszystkie wartości punktów ustawione są na zero. Bloki dopasowujące, odczytywane z drugiej grupy 4 pamięci obrazu są modyfikowane adaptacyjnie, tak że dla każdego bloku sygnału obrazu ruchomego dobierany jest optymalny blok dopasowujący.
Kompensator 7 przemieszczenia dokonuje wyboru trybu predykcji dla każdego obrazu przez wstępne obliczenie dla każdego punktu sum wartości bezwzględnych różnic między blokiem obrazu aktualnego i potencjalnymi blokami dopasowującymi generowanymi w różnych trybach predykcji. Następnie kompensator 7 przemieszczenia wybiera tryb predykcji, dla którego suma osiąga wartość minimalną. Kompensator 7 przemieszczenia podaje sygnał MM trybu predykcji, który przekazuje wybór trybu predykcji do kodera zmiennodługościowego 17. Kompensator 7 przemieszczenia powoduje również, że druga grupa 4 pamięci obrazowej podaje blok S2 dopasowania dla wybranego trybu predykcji do układu 8 generowania różnic.
Układ 8 generowania różnic otrzymuje aktualny blok obrazowy S1 z sygnału obrazu ruchomego odczytanego z pierwszej grupy 2 pamięci obrazu i oblicza punkt po punkcie różnice
173 287 między blokiem S1 obrazu aktualnego i blokiem S2 dopasowania. Układ 8 generowania różnic podaje wynikowy blok różnic S3 do kodera 9 bloków różnicowych. Koder 9 bloku różnicowego dokonuje kompresji bloku różnic S3 z utworzeniem bloku skwantyzowanych współczynników SC transformaty. Blok skwantyzowanych współczynników SC transformaty podany zostaje do dekodera lokalnego 10, gdzie poddany zostaje kwantyzacji w celu otrzymania odtworzonego bloku S4 różnic. Dekoder lokalny 10 w urządzeniu do kompresji sygnału obrazowego ma konfigurację podobną do urządzenia do ekspansji skomprymowanego sygnału obrazu ruchomego.
Opisany zostanie obecnie koder 9 bloku różnic i dekoder lokalny 10. Koder 9 bloku różnic składa się z układu 11 DCT i kwantyzera 12, jak to pokazano na fig. 6. Układ 11 DCT wykorzystuje przetwarzanie DCT do ortogonalnej transformacji bloku S3 różnic z układu 8 generowania bloku różnic. Układ 11 DCT podaje wynikowy blok współczynników dyskretnej transformacji kosinusoidalnej DCT do kwantyzera 12. Kwantyzer 12 dokonuje kwantyzacji bloków współczynników DCT, z otrzymaniem bloków skwantyzowanych współczynników SC DCT.
Dekoder lokalny 10 składa się z kwantyzera inwersyjnego 13, układu 14 nadawania nieparzystości sumie i układu 15 odwrotnej transformacji kosinusoidalnej IDCT, jak to pokazano na fig. 6. Kwantyzer inwersyjny 13 wykorzystuje tablice kwantyzacji do inwersyjnej kwantyzacji bloków skwantyzowanych współczynników SC DCT z kwantyzera 12. Układ nadawania nieparzystości dokonuje operacji inwersji parzystości wynikowego bloku współczynników dyskretnej transformacji kosinusoidalnej DCT, kiedy suma tych współczynników nie jest liczbą nieparzystą. Zapobiega to występowaniu błędu niedopasowania przy odwrotnej transformacji ortogonalnej poddanych nadaniu nieparzystości współczynników DCT. Układ 15 odwrotnej transformacji kosinusoidalnej IDCT na bloku współczynników dyskrecji transformacji kosinusoidalnej DCT o sumie doprowadzonej do nieparzystości, z układu 14 nadawania nieparzystości, w celu otrzymania odtworzonego bloku różnic.
Poniżej opisano kwantyzację wykonywaną przez kwantyzer 12. Kwantyzacji poddawany jest każdy blok 8x8 współczynników DCT. Każdy blok obrazu komprymowanego w wewnątrzobrazowym trybie kodowania (obraz I) nazywany jest makroblokiem wewnątrzobrazowym. Każdy blok komprymowany w trybie kodowania międzyobrazowego nazywany jest makroblokiem niewewnątrzobrazowym. Przy transformacji ortogonalnej makrobloku wewnątrzobrazowego, współczynnik DCT składowej (0,0) jest współczynnikiem składowej stałej. Współczynnik składowej stałej kwantyzowanyjest przez dzielenie, z zaokrągleniem, współczynnika składowej stałej przez 8, jeżeli kwantyzacja odbywa się z dokładnością 8-bitową, przez 4, jeżeli kwantyzacja odbywa się z dokładnością 9-bitową, przez 2, jeżeli kwantyzacja odbywa się z dokładnością 10-bitową i przez 1, jeżeli kwantyzacja odbywa się z dokładnością 11-bitową. Składowa stała makrobloku wewnątrzobrazowego kwantyzowana jest zgodnie z poniższymi równaniami, które napisano w składni języka programowania C:
QDC = dc // 8 (8 bitów)
QDC = dc // 4 (9 bitów)
QDC = dc // 2 (10 bitów)
QDC = dc // 18 (11 bitów) (5) gdzie dc jest współczynnikiem składowej stałej (DC), a QDC jest skwantyzowanym współczynnikiem składowej stałej.
Współczynniki DCT inne, niż współczynnik składowej stałej otrzymywane z transformacji ortogonalnej makrobloku wewnątrzobrazowego (składowe zmienne), kwantowane są przez wyznaczenie współczynników kwantyzacji ac (i,j) przy ważeniu współczynników DCT ac (i,j) z użyciem macierzy ważącej Wi, zgodnie z następującym równaniem:
ac'(ij) = (16 * ac(i,j))//Wi(i,j) (6)
173 287
Współczynniki macierzy ważącej Wi są następujące:
Wi = 8 16 19 22 26 27 29 34 16 16 22 24 27 29 34 37 19 22 26 27 29 34 34 38 22 22 26 27 29 34 37 40 22 26 27 29 32 35 40 48 26 27 29 32 35 40 48 58
27 29 34 38 46 56 69
29 35 38 46 56 69 83 (7)
Następnie, za pomocą poniższego równania kwantyzowane są współczynniki kwantyzacyjne ac’(i,j) w celu wyznaczenia poziomów kwantyzacji QAC(i,j) odpowiednich współczynników składowych zmiennych (AC).
QAC(i,j) = ac (i,j) + sign(ac (i,j) * ((p * mquant/q) (2*mquant) (8)
W powyższym równaniu p i q są dowolnymi liczbami całkowitymi, na przykład p = 3, a q = 4, natomiast mąuant jest współczynnikiem kwantyzacji.
Współczynniki DCT otrzymane z transformacji ortogonalnej makrobloku kodującego wewnątrzobrazowo (makroblok nie-międzyobrazowy) kwantowane są przez wyznaczenie współczynników kwantyzacji ac‘(i,j) przy ważeniu wszystkich otrzymanych współczynników DCT przez transformację makrobloku nie-wewnątrzobrazowego za pomocą macierzy ważącej Wn według następującego równania:
ac(ij) = (16 * ac(i,j))//Wn(i,j) (9)
Współczynniki macierzy ważącej Wn są następujące:
Wn= 16 17 18 19 20 21 22 23
18 19 20 21 22 23 24
19 20 21 22 23 24 25
20 21 22 23 24 26 27
21 22 23 25 26 27 28
22 23 24 26 27 28 30
23 24 26 27 28 30 31
24 25 27 28 30 31 33 (10)
Następnie za pomocą poniższego równania kwantyzowane są współczynniki kwantyzacji ac'(i,j) w celu wyznaczenia poziomów kwantyzacji QAC(i,j) składowych zmiennych (AC)
QAC(i,j) = ac'(i,j) / (2*mquant) if (mquant=odd) = (ac’(i,j)+l) / (2* mquant) if (mquant==even AND ac-<0) = (ac'(i,j)-l) / (2*mquant) if (mquant==even AND ac->0) (11)
Wynikowe poziomy kwantyzacji QAC(i,j) podawane są do kodera zmiennodługościowego 17 i do lokalnego dekodera jako opisany powyżej blok skwantyzowanych współczynników SC DCT.
Koder zmiennodługościowy 17 koduje blok skwantyzowanych współczynników DCT otrzymanych przez kwantyzację bloków współczynników DCT. Koder zmiennodługościowy 17
173 287 wyznacza różnice między skwantyzowanymi współczynnikami transformaty w czterech blokach luminancji składających się na każdy makroblok i współczynnikiem składowej stałej odpowiedniego makrobloku wewnątrzobrazowego. Koder zmiennodługościowy następnie do kodowania otrzymanych wartości różnic wykorzystuje tablice kodowania zmiennodługościowego. W metodzie tej wykorzystuje duży stopień korelacji między sąsiednimi blokami luminancji, co znaczy, że wartości składowych stałych mają w zasadzie tę samą wartość. Koder zmiennodługościowy 17 wyznacza również różnice między współczynnikami skwantyzowanymi dwóch bloków kolorów różnicowych i wykorzystuje tablice kodowania zmiennodługościowego do takiego zakodowania otrzymanych wartości różnic. Tablica kodowania zmiennodługościowego dla współczynników luminancji i dla kolorów różnicowych różnią się od siebie.
Koder zmiennodługościowy 17 wykonuje kodowanie zmiennodługościowe bloku skwantyzowanych współczynników DCT przez odczytanie bloków skwantyzowanych współczynników DCT w porządku zygzakowym, poczynając od współczynnika DCT składowej (0,0), jak to pokazano na fig. 7. Blok skwantyzowanych współczynników DCT odczytywany jest w porządku zygzakowym ponieważ niezerowe współczynniki DCT powstające przy przetwarzaniu DCT zwykle skupiają się w sąsiedztwie składowej (0,0). Zatem odczytywanie współczynników DCT w porządku zygzakowym zwiększa wydajność kodowania zmiennodługościowego przez zwiększenia prędkości przebiegania przez kolejne zerowe współczynniki DCT między współczynnikami niezerowymi.
Zmiennodługościowy koder 17 odczytuje wyniki DCT w porządku zygzakowym i wyznacza wartość (innymi słowy poziom) każdego niezerowego współczynnika DCT, oraz numer serii współczynników zerowych poprzedzających go. Dokonuje on dwuwymiarowego, zmiennodługościowego kodowania bloku współczynników DCT. Po zakodowaniu współczynniki w bloku wyrażone są przez pary złożone z numeru serii i poziom. Koder zmiennodługościowy wprowadza również dwubitowy kod, EOB, który wskazuje ostatni niezerowy współczynnik DCT. Koder zmiennodługościowy 17 podaje do konwertera adresowego (nie przedstawionego) adres ostatniego niezerowego współczynnika w porządku zygzakowym. Konwerter adresowy przetwarza adres w porządku zygzakowym na adres, EOB. adrs, w porządku wybierania rastrowego. Koder zmiennodługościowy podaje adres EOB. adrs do układu 14 nadawania nieparzystości sumie.
Układ 14 nadawania nieparzystości sumie przechowuje adresy EOB- adrs w porządku wybierania rastrowego w opisanym poniżej rejestrze 25, przedstawionym na przykład na fig. 8.
Kwantyzer inwersyjny 13 otrzymuje blok skwantyzowanych współczynników DCT SC z kodera 10 bloku różnicowego, kwantyzuje inwersyjnie ten blok skwantyzowanych współczynników DCT w celu otrzymania bloku współczynników DCT. W praktyce kwantyzer inwersyjny 13 dokonuje odwrotnej kwantyzacji skwantyzowanych współczynników składowej stałej, otrzymanych z transformacji ortogonalnej makrobloku wewnątrzobrazowego z wykorzystaniem przetwarzania określonego równaniem (12), w celu otrzymania odpowiednich współczynników składowej stałej. Kwantyzer 13 inwersyjnie kwantyzuje również współczynniki składowych zmiennych, otrzymane z transformacji ortogonalnej makrobloku wewnątrzobrazowego, z użyciem procedury przetwarzania określanej równaniem (13). Na koniec, kwantyzer 13 inwersyjnie kwantyzuje wszystkie skwantyzowane współczynniki otrzymane z transformacji ortogonalnej makrobloku nie-wewnątrzobrazowego z użyciem procedury przetwarzania określonej równaniem (14).
rec(0,0) = 8 * QDC rec(0,0) = 4* QDC (9 bitów) rec(0,0) = 2 * QDC (10 bitów) rec(0,0) = 1 * QDC (11 bitów) (12) rec(i,j) = (mquant * 2 * QAC(i,j) * Wi(i,j)) /16 if(QAC(i,j) ==0) rec(i,j) = 0 (13)
173 287 if(QAC(i,j) > 0) rec(i,j) = ((2*QAC(i,j) + 1) * mquant * Wn(i,j)) /16 if(QAC(i,j) < 0) rec(i,j) = ((2*QAC(i,j)-l) * mquant * Wn(i,j)) /16 if(QAC(i,j) ==0) rec(i,j,) = 0 (14)
Otrzymany blok współczynników DCT podawany jest z kwantyzera inwersyjnego 13 do układu 14 nadawania nieparzystości sumie, którego praktyczny przykład wykonania przedstawiono na fig. 8.
Układ 14 nadawania nieparzystości sumie zawiera akumulator 23A, układ 21 sprawdzania parzystości, oraz inwerter parzystości 28. Akumulator 23A wyznacza sumę współczynników DCT bloku współczynników DCT otrzymanych z kwantyzera inwersyjnego 13. Układ 21 sprawdzania parzystości dokonuje kontroli, czy suma współczynników DCT wyznaczana przez akumulator 23A jest liczbą parzystą czy nieparzystą ( to znaczy parzystość sumy współczynników DCT jest zerem, czy jednością). Tylko wtedy, kiedy układ sprawdzania parzystości stwierdzi, że suma współczynników DCT jest parzysta, inwerter 28 parzystości zmienia parzystość przynajmniej jednego ze współczynników DCT w bloku celem uczynienia nieparzystą sumy współczynników DCT, to znaczy odbywa się proces nadawania nieparzystości sumie współczynników DCT. Zapobiega to wystąpieniu błędu niedopasowania przy odwrotnej transformacji ortogonalnej bloku współczynników DCT z nadaną nieparzystością ich sumie, z układu 14 nadawania nieparzystości w układzie 15 odwrotnej transformacji kosinusoidalnej IDCT.
Licznik 20 zlicza liczbę współczynników DCT otrzymanych z kwantyzera inwersyjnego 13, i podaje coeff_adrs wyniku zliczania do układu 21 sprawdzania parzystości do selektora 22 pamięci.
Akumulator 23A zaopatrzony jest w sumator 23 i rejestr sumy logicznej 24. Sumator 23 dodaje każdy współczynnik DCT bloku współczynników DCT odebranych z kwantyzera inwersyjnego 13 do sumy już wcześniej odebranych współczynników DCT bloków przechowywanych w rejestrze sumy logicznej 24. Ten rejestr 24 resetowany jest po wyznaczeniu sumy dla każdego z bloków współczynników DCT. Wynikowa suma współczynników DCT podawana jest z sumatora 23 do rejestru sumy logicznej 24 i do układu 21 sprawdzania parzystości. W celu otrzymania wyniku nadającego się do wykorzystania w układzie sprawdzania parzystości sumy współczynników DCT, akumulatorowi potrzebna jest tylko suma najmniej znaczących bitów współczynników DCT.
Układ 21 sprawdzania parzystości sprawdza, czy suma współczynników w bloku współczynników DCT jest parzysta, czy nieparzysta, w odpowiedzi na wartość stanu coeff_adrs otrzymaną z licznika 20. Kiedy wszystkie współczynniki DCT zostaną podane do akumulatora 23A, to wartość coeff_adrs wskazuje, że akumulator wyznaczył sumę wszystkich współczynników DCT w bloku. W odpowiedzi na zliczoną wartość coeff_adrs, układ 21 sprawdzania parzystości sprawdza, czy suma współczynników DCT z akumulatora 23A jest parzysta, czy nieparzysta. Na przykład w przypadku dwuwymiarowej transformacji DCT 8x8 układ 21 sprawdzania parzystości sprawdza, czy suma współczynników DCT z akumulatora 23A jest parzysta, czy nieparzysta, kiedy wartość coeff_adrs wskazuje, że wszystkie 64 współczynniki bloku zostały podane do akumulatora 23A.
W praktyce na przykład, kiedy każdy ze współczynników DCT reprezentowany jest liczbą binarną, układ 21 sprawdzania parzystości dokonuje badania najmniej znaczącego bitu LSB sumy współczynników DCT otrzymanych z akumulatora. Bit LSB o wartości zero wskazuje, że suma jest parzysta. W tym przypadku układ 21 sprawdzania parzystości podaje sygnał REQ1 żądania przetwarzania do inwertera 28 parzystości w celu spowodowania przez inwerter operacji inwersji parzystości. W odpowiedzi na sygnał REQ1 żądania przetwarzania, inwerter 28 parzystości zmienia parzystość przynajmniej jednego (to znaczy parzystej ich liczby) ze współczynników DCT w celu nadawania nieparzystości sumie współczynników DCT, Jednocześnie LSB = 1 wskazuje, że sumajest nieparzysta. W tym przypadku układ 21 sprawdzania parzystości
173 287 nie wytwarza sygnału REQ1 żądania przetwarzania i inwerter 21 parzystości pozostawia bez zmian parzystość wszystkich współczynników DCT w bloku.
W przedstawionym układzie praktycznym, współczynniki DCT z kwantyzera inwersyjnego 13 zapisywane są w pamięci, pierwszej 26 lub drugiej 27, za pośrednictwem selektora 22 pamięci. Selektor 22 pamięci działa w odpowiedzi na odebrany z licznika 20 stan zliczony coeff_adrs. Tak więc na przykład, kiedy selektor 22 pamięci określi, że wszystkie współczynniki DCT w bloku zostały zapisane w pierwszej pamięci 26, to wybiera drugą pamięć, tak że współczynniki DCT następnego bloku przechowywane są w drugiej pamięci <27. Zatem kolejne bloki współczynników DCT zapisywane są naprzemiennie w pamięciach, pierwszej 26 i drugiej 27. Po zapisaniu wszystkich współczynników DCT bloku w pamięciach, pierwszej 26 i drugiej 27, pamięć, w której przechowywane są wszystkie współczynniki DCT bloku, podaje sygnał FULL1 lub FULL2 zapełnienia pamięci, do inwertera parzystości.
Kiedy inwerter 28 parzystości otrzyma sygnał zapełnienia pamięci ,FULL1 lub FULL2 podaje sygnał zezwalający Rd_EN1 lub RD_EN2 do pamięci zawierającej pełny sygnał. Powoduje to podanie bloku współczynników DCT z pamięci, która wygenerowała sygnał zapełnienia do inwertera parzystości. Inwerter parzystości obrabia blok współczynników DCT odczytanych z pamięci na jeden z dwóch sposobów, zależnie od tego, czy układ 21 sprawdzania parzystości wygenerował sygnał REQ1 żądania przetwarzania. Inwerter parzystości identyfikuje współczynnik DCT, którego parzystość może być odwrócona, wykorzystując adres współczynników DCT, których parzystość może być odwrócona, przechowywany w rejestrze 25. Na przykład, fig. 8 przedstawia adres ostatniego współczynnika niezerowego, EOB_adrs podanego do komparatora 62. Zatem w tym przykładzie współczynnik DCT, którego parzystość może być poddana inwersji, jest ostatnim współczynnikiem niezerowym. Po odwróceniu przez inwerter 28 parzystości współczynnika DCT, którego parzystość można odwrócić, parzystość sumy współczynników niezerowych bloku, od pierwszego do ostatniego, uczyniona jest nieparzystą. Inwerter 28 parzystości podaje wszystkie współczynniki DCT, poza współczynnikiem o odwróconym bicie LSB, do układu 15 IDCT w z niezmienionym stanem ich bitów LSB. Inwerter 28 parzystości podaje również współczynnik DCT, którego parzystość może być poddana inwersji, do układu IDCT, ze stanem ich bitów LSB zależnym od tego, czy inwerter parzystości otrzymał sygnał REQ1 żądania przetwarzania.
Inwerter 28 parzystości może być również zrealizowany z użyciem komputera lub procesora cyfrowej obróbki sygnałów, działającego zgodnie na przykład z siecią działań przedstawioną na fig. 9. W tym przykładzie, współczynnik DCT, którego parzystość może być poddana inwersji, jest ostatnim współczynnikiem niezerowym. W kroku S1 inwerter 28 parzystości· na podstawie adresu EOB_adrs, czy przetwarzany współczynnik DCT jest współczynnikiem, którego parzystość może być odwrócona przez zmianę jego bitu LSB, czy nie. Jeżeli wynikiem kroku S1 jest TAK, to następuje przejście do kroku S2. W przeciwnym przypadku następuje przejście do wykonania kroku S5.
W kroku S2 inwerter 28 parzystości określa czy został odebrany sygnał REQ1, żądania przetwarzania. Jeżeli wynikiem kroku S2 jest TAK, co wskazuje, że sygnał REQ1 żądania przetwarzania został odebrany, następuje przejście do wykonywania kroku S3. W przeciwnym przypadku, kiedy nie otrzymano żądania przetwarzania, następuje przejście do wykonywania kroku S5.
W kroku S3 inwerter 28 parzystości odwraca bit LSB współczynnika DCT, którego parzystość może być podana inwersji, w celu odwrócenia jego parzystości, a zatem zmiany parzystości sumy współczynników DCT. Następuje przejście do wykonania kroku S4, w którym współczynnik DCT o odwróconej parzystości podawany jest do układu 15 IDCT (fig. 10A). Następuje powrót do kroku S1, w którym przetwarzaniu podlega następny współczynnik DCT.
Kiedy obrabiany współczynnik DCT nie jest współczynnikiem, którego parzystość może być poddawana inwersji, lub kiedy parzystość współczynnika DCT, przekazanego do inwertera nie ma być odwracana, to znaczy, kiedy nadszedł sygnał REQ1 żądania przetwarzania, następuje przejście do wykonania kroku S5. W kroku S5, współczynnik DCT zostaje podany do układu 15 DDCT bez modyfikacji. Następnie następuje powrót do kroku S1, w którym rozpoczyna się przetwarzanie następnego współczynnika DCT.
173 287
Kiedy współczynniki DCT reprezentowane są w postaci uzupełnienia do dwóch, wspomniany powyżej bit LSB jest bitem LSB uzupełnienia do dwóch. Natomiast, kiedy współczynniki DCT wyrażane są w postaci znaku wartości bezwzględnej, to wspomniany powyżej bit LSB jest bitem LSB wartości bezwzględnej.
Struktura układu 14 nadawania nieparzystości sumie nie ogranicza się do struktury przedstawionej na fig. 8. Na przykład, w układzie przedstawionym na fig. 10, dodano detektor 29 bitu LSB, i bramką 30 Exclusive-OR zastąpiony został sumator 23 układu przedstawionego na fig 8. Elementy w układzie przedstawionym na fig. 10A odpowiadające elementom układu z fig. 8 oznaczono tymi samymi odnośnikami.
Przedstawiony na fig. 10A detektor bitu LSB sprawdza bit LSB każdego współczynnika LSB w bloku współczynników DCT. Bramka 30 Exclusive-OR dokonuje działania Exclusive-OR między każdym ze współczynników DCT w bloku i wyłączną sumą logiczną, przechowywaną w rejestrze 24, bitów LSB współczynników DCT bloku właśnie obrabianego. Tak więc bramka 30 Exclusive-OR dokonuje działania Exclusive-OR, i rejestr 24 generuje sygnał logicznej sumy wyłącznej bitów LSB i współczynników DCT każdego bloku. Kombinacja bramki 30 Exclusive-OR może być uważana za licznik DCT mających bit LSB równy 1. Następnie, kiedy wszystkie współczynniki w bloku zostały odebrane, stan wyjścia bramki 30 Exclusive-OR wskazuje, czy liczba współczynników DCT mających bit LSB równy 1 jest parzysta, czy nieparzysta. Jeżeli liczba współczynników DCT mających bit LSB równy 1 jest parzysta, to układ 21 sprawdzania parzystości następnie generuje sygnał REQ1 żądania przetwarzania.
Na fig. 10B przedstawiono inną strukturę, zastępującą bramkę Exclusive-OR i rejestr 24. W tej konfiguracji najmniej znaczący bit każdego ze współczynników DCT otrzymanych z kwantyzera inwersyjnego 13 podawany jest z detektora 29 LSB do bramki 88 AND. Bramka AND przepuszcza do licznika 89 tylko te bity LSB, które są równe 1. Licznik na początku każdego bloku współczynników DCT jest resetowany i zlicza wszystkie otrzymane bity LSB o wartości 1. Bit LSB stanu COUNT z licznika 82 podawany jest do układu 21 sprawdzania parzystości. Przy końcu każdego bloku układ sprawdzania parzystości określa parzystość bitu LSB stanu COUNT z licznika 89. Jeżeli stan COUNT jest nieparzysty (bit LSB zmiennej COUNT jest równy 1), to wskazuje to, że w bloku wystąpiła nieparzysta liczba współczynników mających bit LSB równy 1, i że suma współczynników DCT w bloku jest nieparzysta. Natomiast, jeżeli stan COUNT jest parzysty (to znaczy bit LSB zmiennej COUNT wynosi zero), to wskazuje to, że wystąpiła parzysta liczba współczynników DCT, z bitem LSB równym 1, i że suma współczynników DCT jest parzysta.
W odniesieniu do fig. 11 opisano praktyczną konfigurację pierwszej odmiany wykonania inwertera 28 parzystości w układach nadawania nieparzystości sumie przedstawionych na fig. 8 i 10A. Inwerter 28 parzystości zawiera licznik odczytów 61, komparator adresowy 62, inwerter 63 bitu LSB, bramki AND 64, 65, 67, 68 i bramki OR 66, 69, oraz inwertery 71, 72.
Inwerter 28 parzystości pracuje w następujący sposób. Kiedy licznik 61 odczytów otrzyma sygnał FULL zapełnienia pamięci, z pamięci pierwszej 26 lub drugiej 27, to podaje sygnał RD_EM zezwalający na odczyt do pamięci, pierwszej 26 i drugiej 27. Sygnał zezwolenia na odczyt powoduje podawanie przez odpowiednią pamięć przechowywanego w niej bloku współczynników DCT do pierwszej bramki 67 AND za pośrednictwem ścieżki oznaczonej RDATA.
Sygnał FULL zapełnienia pamięci powoduje również rozpoczęcie przez licznik 61 odczytów, zliczania odebranych współczynników DCT i podawanie przezeń zliczonej wartości wskazującej liczbę odebranych współczynników DCT. Komparator 62 komparuje zliczoną wartość z adresem otrzymanym z rejestru 25 w celu określenia, czy współczynnik DCT otrzymany za pośrednictwem pierwszej bramki 67 AND jest współczynnikiem dCt, którego parzystość może być poddawana inwersji, to znaczy współczynnikiem, którego bit LSB może być poddany inwersji. W przykładzie, przedstawionym na fig. 11, współczynnik DCT, którego parzystość może być poddawana inwersji, jest ostatnim niezerowym współczynnikiem DCT, wskazywanym przez adres EOB_adrs, przechowywany w rejestrze komparatora 62. Kiedy zliczona wartość równa się adresowi współczynnika DCT, którego parzystość może być poddana inwersji, EOB_adrs, komparator 62 stwierdza, czy współczynnik DCT jest współczynnikiem DCT, którego parzystość można poddać inwersji, i zmienia sygnat na wejściu z zera na jeden.
173 287
Sygnał wyjściowy komparatora 62 podawany jest bezpośrednio do drugiej bramki 68 AND oraz, za pośrednictwem inwertera 72 do pierwszej bramki 67 AND. Tak więc, kiedy wartość zliczona nie jest równa adresowi EOB_adrs, to pierwsza bramka 61 AND jest otwarta, a układ drugiej bramki 68 AND jest zamknięty. Dlatego współczynniki DCT przechodzą niezmienione przez pierwszą bramkę 67 AND i bramkę 69 OR do obwodu 15 odwrotnej transformacji kosinusoidalnej IDCT.
Natomiast, kiedy współczynnik dyskretnej transformacji kosinusoidalnej DCT dostarczony do inwertera 28 parzystości jest współczynnikiem, którego parzystość może być poddana inwersji, i wartość stanu licznika jest równa adresowi współczynnika, którego parzystość może być poddawana inwersji, w tym przykładzie EOB_adrs, wyjście komparatora 62 zmienia stan w sposób już opisany. Powoduje to zamknięcie pierwszej bramki 67 AND i otwarcie drugiej bramki 68 AND. W wyniku tego współczynniki DCT z odwróconym bitem LSB, odebrany za pośrednictwem bramki 66 OR, podawany jest za pośrednictwem drugiej bramki 68 AND i bramki 69 OR do układu 15 odwrotnej transformacji kosinusoidalnej IDCT.
Współczynnik dyskretnej transformacji kosinusoidalnej DCT z odwróconym bitem LSB podawany jest selektywnie do układu 15 odwrotnej transformacji kosinusoidalnej IDCT w odpowiedzi na sygnał REQ1 żądania przetwarzania, podczas podawania współczynników DCT otrzymanych na ścieżce RDATA do trzeciej bramki 64 AND i inwertera 63 bitu LSB. Sygnał REQ1 żądania przetwarzania podawany jest z układu 21 sprawdzania parzystości bezpośrednio do czwartej bramki 65 AND oraz za pośrednictwem inwertera 71 do trzeciego układu 64 bramki AND. Inwerter 63 bitu LSB odwraca bit LSB każdego współczynnika DCT otrzymanego za pośrednictwem ścieżki RDATA i wynikowy współczynnik dyskretnej transformacji kosinusoidalnej DCT podaje z odwróconym bitem LSB na czwartą bramkę 65 AND.
Brak sygnału REQ1 żądania przetwarzania, to znaczy kiedy sygnał żądania przetwarzania ma wartość 0, wskazuje, że współczynnik DCT, którego parzystość może być poddana inwersji, ma być podany do układu 15 IDCT bez odwracaniajego bitu LSB. Sygnał żądania przetwarzania przyjmując stan 0 otwiera trzecią bramkę 64 AND i zamyka czwartą bramkę 65 AND. Powoduje to podanie współczynnika DCT, którego parzystość może być poddawana inwersji, z niezmienionym bitem LSB, ze ścieżki RDATA do układu 15 IDCT za pośrednictwem trzeciej bramki 64 AND, bramki 66 OR, drugiej bramki 68 AND i bramki 69 OR.
Natomiast obecność sygnału REQ1 żądania przetwarzania, to znaczy, kiedy sygnał REQ1 żądania przetwarzania ma stan 1, wskazuje, że współczynnik DCT, którego parzystość może być poddawana inwersji ma być przekazany z odwróconym bitem LSB, w celu zmiany parzystości sumy współczynników DCT. Sygnał REQ1 żądania przetwarzania w stanie 1 zamyka trzecią bramkę 64 AND i otwiera czwarty układ 65 bramki AND. Powoduje to podanie współczynnika DCT, którego parzystość może być poddawana inwersji, z odwróconym jego bitem LSB z inwertera 63 LSB do układu 15 odwrotnej transformacji kosinusoidalnej IDCT za pośrednictwem czwartej bramki 65 AND, bramki 66 OR, drugiej bramki 68 AND i bramki 69 OR.
W odniesieniu do fig. 12, opisano drugi przykład wykonania inwertera 28 parzystości. Kiedy inwerter 28 parzystości w drugiej odmianie wykonania otrzyma sygnał REQ1 żądania przetwarzania, nadaje nieparzystość sumie współczynników DCT przez dodanie 1 do współczynnika DCT, którego parzystość może być poddawana inwersji.
Inwerter 28 parzystości w drugim przykładzie wykonania może być realizowany za pomocą komputera lub procesora cyfrowej obróbki sygnału działającego zgodnie z siecią działań przedstawioną na fig. 12. Sieć działań, przedstawiona na fig. 12, jest podobna do sieci działań przedstawionych na fig. 9, z wyjątkiem operacji wykonywanej w kroku S3. W kroku S3, w drugim przykładzie wykonania, inwerter 28 parzystości nadaje nieparzystość sumie współczynników DCT przez dodanie 1 do współczynnika DCT, którego parzystość może być poddawana inwersji, zamiast odwracania bitu LSB takiego współczynnika DCT. Współczynnik DCT, którego parzystość może być poddawana inwersji, może być na przykład ostatnim niezerowym współczynnikiem w bloku lub współczynnikiem DCT składowej o najwyższej częstotliwości w bloku.
W odniesieniu do fig. 13 opisano praktyczną konfigurację układu inwertera parzystości w drugim przykładzie wykonania, w którym dodaje się 1 do współczynnika DCT, którego
173 287 parzystość może być poddawana inwersji, w celu nadania nieparzystości sumie współczynników DCT w bloku.
Inwerter parzystości w drugim przykładzie wykonania, przedstawionym na fig. 13, jest podobny do inwertera 28 parzystości w pierwszym przykładzie wykonania, przedstawionym na fig. 11. Elementy w układzie przedstawionym na fig. 13 odpowiadające elementom układu z fig. 11 oznaczono tymi samymi odnośnikami.
Inwerter parzystości, przedstawiony na fig. 13, zawiera sumator 73 dodający jedność zamiast inwertera 63 bitu LSB, przedstawionego na fig. 11. Sumator 73 dodający jedność zwiększa o 1 każdy współczynnik DCT odczytany z pamięci, pierwszej 26 lub drugiej 27, i otrzymany za pośrednictwem ścieżki RDATA. W odpowiedzi na sygnał REQ1 żądania przetwarzania zostaje wybrany jeden ze współczynników DCT z dodaną jednością w celu nadania nieparzystości sumie współczynników DCT.
Działanie inwertera parzystości, przedstawionego na fig. 13, jest identyczne jak inwertera z fig. 11 z tym wyjątkiem, że sumator 73 dodawania jedności zwiększa o 1 każdy współczynnik DCT otrzymany za pośrednictwem ścieżki RDATA. Również, kiedy występuje sygnał REQ1 żądania przetwarzania, i wykryty został współczynnik, którego parzystość może być poddawana inwersji, współczynnik DCT z dodaną do niego jednością podawany jest z układu dodawania jedności do układu 15 odwrotnej transformacji kosinusoidalnej IDCT za pośrednictwem czwartej bramki 64 AND, bramki 66 OR, drugiej bramki 68 AND i bramki 69 OR.
W odniesieniu do fig. 14 i 15, opisano trzeci przykład wykonania inwertera 28 parzystości. Kiedy inwerter parzystości w trzecim przykładzie wykonania otrzyma sygnał REQ1 żądania przetwarzania, nadaje nieparzystość sumie współczynników DCT przez wymianę współczynnika DCT, którego parzystość ma zostać odwrócona, na blok z parzystością odwróconą przez odjęcie jedności, jeżeli biegunowość współczynnika DCT jest dodatnia, i przez dodanie jedności, jeżeli biegunowość współczynnika DCT jest ujemna. Ten sposób przetwarzania nie tylko powoduje odwrócenie parzystości współczynnika DCT, którego parzystość ma zostać odwrócona, lecz również zmniejsza jego bezwzględną wartość, to znaczy powoduje, że wartości tego współczynnika DCT zbliżają się bardziej od zera. Przetwarzanie zastosowane do współczynnika, którego parzystość ma zostać odwrócona, można określić następującym równaniem:
if (rec> 0) rec = rec - 1 if (rec < 0) rec = rec+1, (15) gdzie rec jest współczynnikiem DCT, którego parzystość należy odwrócić.
Trzeci przykład wykonania inwertera 28 parzystości jest korzystnie realizowany za pomocą komputera lub procesora cyfrowej obróbki sygnału, działającego zgodnie z siecią działań przedstawioną na fig. 14. W kroku S1, inwerter 28 parzystości sprawdza, na podstawie adresu EOBB_adrs, czy współczynnik DCT jest współczynnikiem DCT, którego parzystość można poddać inwersji, na przykład inwerter 28 parzystości sprawdza, czy współczynnik DCT jest ostatnim współczynnikiem niezerowym. Jeżeli wynik w kroku S1 jest TAK, i współczynnik DCT jest współczynnikiem DCT, którego parzystość można poddać inwersji, to następuje przejście do wykonania kroku S2.
Natomiast, kiedy współczynnik DCT nie jest współczynnikiem, którego parzystość może być poddana inwersji, następuje przejście do wykonania kroku S8.
W kroku S2, inwerter 28 parzystości sprawdza, czy został otrzymany sygnał REQ1 żądania przetwarzania. Jeżeli wynik kroku S2 jest TAK, wskazując, że został otrzymany sygnał REQ1 żądania przetwarzania, to następuje przejście do wykonania kroku S3. W przeciwnym wypadku, jeżeli nie odebrano żądania przetwarzania, to następuje przejście do wykonania kroku S8. Ponieważ wynik TAK w kroku S2 może wystąpić jedynie, jeżeli otrzymano wynik TAK w kroku S1, to wynik TAK w kroku S2 wskazuje, że współczynnik DCT jest współczynnikiem, którego parzystość należy odwrócić.
173 287
W kroku S3 inwerter 28 parzystości określa biegunowość współczynnika DCT, którego parzystość należy odwrócić. Jeżeli w kroku S3 otrzymano wynik TAK, wskazujący, że biegunowość współczynnika DCT jest dodatnia, następuje przejście do wykonania kroku S4. Natomiast, kiedy biegunowość współczynnika DCT jest zerowa lub ujemna, następuje przejście do kroku S6.
W kroku S4, inwerter 28 parzystości odejmuje od współczynnika DCT, którego parzystość ma zostać odwrócona, jedność to znaczy dodaje do niego - 1, po wykonaniu czego przechodzi do kroku S5, gdzie współczynnik DCT z parzystością odwróconą podawany jest do układu odwrotnej transformacji kosinusoidalnej 15 IDCT (fig. 10A). Następuje powrót do kroku S1, w którym następuje przejście do przetwarzania następnego współczynnika DCT.
W przeciwnym przypadku, w kroku S6 inwerter 28 parzystości dodaje jedność do współczynnika DCT, którego parzystość ma zostać odwrócona, po wykonaniu czego przechodzi do kroku S7, gdzie współczynnik DCT z parzystością odwróconą podawany jest do układu 15 odwrotnej transformacji kosinusoidałnej IDCT. Następuje powrót do kroku S1, w którym następuje przejście do przetwarzania następnego współczynnika DCT.
Jeżeli współczynnik DCT nie jest współczynnikiem, którego parzystość można poddać inwersji lub kiedy współczynnik DCT, którego parzystość można poddać inwersji, nie ma być odwracany co do parzystości, to znaczy, kiedy nie otrzymano sygnału REQ1 żądania przetwarzania, to następuje przejście do wykonania kroku S8. W kroku S8 współczynnik DCT zostaje przekazany do układu 15 odwrotnej transformacji kosinusoidałnej IDCT bez modyfikacji. Następuje przejście do wykonania kroku S1, gdzie następuje start do przetwarzania następnego współczynnika DCT.
Na figurze 15 przedstawiono praktyczną konfigurację układu inwertera 28 parzystości w trzecim przykładzie wykonania, w którym inwersja parzystości dokonywana jest ze zmniejszeniem bezwzględnej wartości współczynnika dCt, którego parzystość należy odwrócić, to znaczy z otrzymaniem współczynnika, którego wartość po odwróceniu parzystości jest bliższa zeru.
Inwerter parzystości, przedstawiony na fig. 15, jest podobny do inwertera 28 parzystości przedstawionego na fig. 11. Elementy w układzie, przedstawionym na fig. 15, odpowiadające elementom układu z fig. 11 oznaczono tymi samymi odnośnikami. Inwerter parzystości, przedstawiony na fig. 15, różni się od inwertera parzystości przedstawionego na fig. 11 tym, że zawiera układ 80 zmniejszania wartości bezwzględnej zamiast inwertera 63 bitu LSB.
Układ 80 zmniejszania wartości bezwzględnej określa biegunowość każdego współczynnika DCT, otrzymanego z pamięci, pierwszej 26 lub drugiej 27, za pośrednictwem ścieżki RDATA. Jeżeli biegunowość współczynnika DCT jest dodatnia, to układ redukcji wartości bezwzględnej odejmuje jedność od współczynnika DCT, natomiast jeżeli biegunowość współczynnika DCT jest zerowa lub ujemna, dodaje jedność do współczynnika DCT. Układ odwracania parzystości, przedstawiony na fig. 15, nadaje nieparzystość sumie współczynników DCT bloku przez wybór współczynnika DCT, którego parzystość została odwrócona, z układu 80 zmniejszania wartości bezwzględnej, i wstawienie tego współczynnika DCT z parzystością odwróconą i zmniejszoną wartością bezwzględną zamiast współczynnika DCT, którego parzystość należy odwrócić.
W skład układu 80 zmniejszania wartości bezwzględnej wchodzi układ 81 rozpoznawania biegunowości, który steruje bezpośrednio piątą bramką 84 AND, i szóstą bramką 85 AND, za pośrednictwem inwertera 87. Układ 80 zmniejszania wartości bezwzględnej zawiera również układ 82 odejmujący jedność i układ 83 dodawania jedności, które odpowiednio, odejmują jedność i dodają jedność do każdego ze współczynników DCT otrzymanych ścieżką RDATA. W odpowiedzi na sygnał wyjściowy układu 81 sprawdzania biegunowości następuje wybranie, za pośrednictwem piątej bramki 85 AND lub szóstej bramki 85 AND stanu układu 82 odejmującego jedność lub stanu wyjściowego sumatora dodającego jedność. Stany wyjściowe bramek 84 i 85 AND podawane są na bramkę 86 OR, która przekazuje wybrany współczynnik DCT o zmniejszonej wartości bezwzględnej do czwartej bramki 65 AND. Kiedy parzystość sumy współczynników DCT w bloku wymaga inwersji, czwarta bramka 65 AND wybiera, odwrócony co do parzystości i zmniejszony co do wartości bezwzględnej, stan wyjściowy układu 80
173 287 zmniejszania wartości bezwzględnej w celu podania go do układu 15 odwrotnej transformacji kosinusoidalnej IDCT, zamiast współczynnika DCT, którego parzystość jest poddawana inwersji.
Układ 81 sprawdzania biegunowości dokonuje sprawdzenia biegunowości w bloku współczynników DCT otrzymanych ścieżką RDATA, i ustawia stan na swoim wyjściu na 1 lub na 0, zależnie od tego, czy biegunowość współczynnika DCT jest dodatnia, czy ujemna. Jeżeli układ 81 sprawdzania biegunowości stwierdzi, że biegunowość współczynnika DCTjest dodatnia, stan wyjściowy układu sprawdzania biegunowości powoduje otwarcie piątej bramki 84 AND i zamknięcie układu szóstej bramki 85 AND. Powoduje to podanie stanu wyjściowego układu 82 odejmującego jedność, to znaczy współczynnika DCT, zmniejszonego o jedność, do czwartej bramki 65 AND, za pośrednictwem piątej bramki 84 AND i bramki 86 OR.
Natomiast, kiedy układ 81 rozpoznawania biegunowości stwierdzi, że biegunowość współczynnika DCT jest ujemna lub współczynnik jest równy zeru, to stan wyjściowy układu 81 rozpoznawania biegunowości powoduje zamknięcie piątej bramki AND i otwarcie układu szóstej bramki 85 AND. Powoduje to podanie stanu wyjściowego sumatora 83 dodającego jedność, to znaczy współczynnika DCT, do którego została dodana jedność, do czwartej bramki 65 AND, za pośrednictwem szóstej bramki 85 AND i bramki 86 OR.
Czwarta bramka 65 AND przekazuje odwrócony co do parzystości, zmniejszony co do wartości bezwzględnej współczynnik DCT z układu 80 zmniejszania wartości bezwzględnej do drugiej bramki 68 AND, w odpowiedzi na sygnał REQ1 żądania przetwarzania. Kiedy komparator 62 stwierdzi, że współczynnik DCT otrzymany ścieżką RDATA jest współczynnikiem DCT, którego parzystość można poddać inwersji, to z układu 80 zmniejszania wartości bezwzględnej współczynnik DCT zmniejszony co do amplitudy i odwrócony co do biegunowości podawany jest do układu 15 odwrotnej transformacji kosinusoidalnej IDCT (fig. 10A) w sposób opisany powyżej w odniesieniu do fig. 11. Natomiast, kiedy inwerter, przedstawiony na fig. 15, nie otrzymał sygnału REQ1 żądania przetwarzania, współczynnik DCT, którego parzystość może być poddana inwersji, podany zostaje do układu 15 odwrotnej transformacji kosinusoidalnej IDCT jako niezmieniony.
Kiedy suma współczynników DCT wymaga nadania jej nieparzystości, inwerter 28 parzystości w trzeciej odmianie wykonania, przedstawionej na fig. 15, przekazuje do układu 15 odwrotnej transformacji kosinusoidalnej IDCT współczynnik DCT, którego parzystość została poddana inwersji przez odjęcie jedności, kiedy jego biegunowość jest dodatnia, lub podaje do układu 15 IDCT współczynnik DCT, którego parzystość została odwrócona przez dodatnie do niego jedności, jeżeli jego biegunowość jest ujemna lub jeśli ma on wartość zerową. Obróbka powoduje odwrócenie parzystości i zmniejsza wartość zakresu wartości współczynnika DCT, poddawanego odwróceniu parzystości, i nadaje nieparzystość sumie współczynników DCT.
W odniesienu do fig. 16 i 17 opisano czwarty przykład wykonania inwertera 28 parzystości. Kiedy inwerter parzystości w czwartym przykładzie wykonania otrzyma sygnał REQ1 żądania przetwarzania, nadaje nieparzystość sumie współczynników DCT przez wymianę współczynnika DCT, którego parzystość ma zostać odwrócona, na blok z parzystością odwróconą przez dodanie jedności, jeżeli znak współczynnika DCT jest dodatni, i przez odjęcie jedności, jeżeli znak współczynnika DCT jest ujemny. Ten sposób przetwarzania nie tylko powoduje odwrócenie parzystości współczynnika DCT, którego parzystość ma zostać odwrócona, lecz również zwiększa jego bezwzględną wartość, to znaczy powoduje, że wartości tego współczynnika DCT oddalają się bardziej od zera. Przetwarzanie zastosowane do współczynnika, którego parzystość ma zostać odwrócona, można określić następującym równaniem:
if (rec> 0) rec = rec + 1 if (rec < 0) rec = rec - 1, (16) gdzie rec jest współczynnikiem DCT, którego parzystość należy odwrócić.
Czwarty przykład wykonania inwertera 28 parzystości może być realizowany za pomocą komputera lub procesora cyfrowej obróbki sygnału, działającego zgodnie z siecią działań
173 287 przedstawioną na fig. 16. W kroku S1, inwerter 28 parzystości sprawdza, na podstawie adresu EOBB_adrs, czy współczynnik DCT jest współczynnikiem DCT, którego parzystość można poddać inwersji, czy nie. Na przykład inwerter 28 parzystości sprawdza, czy współczynnik DCT jest ostatnim współczynnikiem niezerowym. Jeżeli wynik w kroku S1 jest TAK, i współczynnik DCT jest współczynnikiem, którego parzystość może być poddana inwersji to następuje przejście do wykonania kroku S2. Natomiast, kiedy współczynnik DCT nie jest współczynnikiem, którego parzystość może być poddana inwersji, następuje przejście do wykonania kroku S8.
W kroku S2, inwerter 28 parzystości sprawdza, czy został otrzymany sygnał REQ1 żądania przetwarzania. Jeżeli wynik kroku S2 jest TAK, wskazując że sygnał REQ1 żądania przetwarzania został otrzymany, to następuje przejście do wykonania kroku S3. W przeciwnym wypadku, jeżeli nie odebrano żądania przetwarzania, to następuje przejście do wykonania kroku S8. Ponieważ wynik TAK w kroku S2 może wystąpić jedynie, jeżeli otrzymano wynik TAK w kroku S1, to wynik TAK w kroku S2 wskazuje, że współczynnik DCT jest współczynnikiem, którego parzystość należy odwrócić.
W kroku S3, inwerter 28 parzystości określa biegunowość współczynnika DCT. Jeżeli w kroku S3 otrzymano wynik TAK, wskazujący, że biegunowość współczynnika DCT jest dodatnia, następuje przejście do wykonania kroku S4. Natomiast, kiedy biegunowość współczynnika DCT jest zerowa lub ujemna, następuje przejście do kroku S6.
W kroku S4, inwerter 28 parzystości dodaje do współczynnika DCT jedność po czym następuje przejście do kroku S5, gdzie współczynnik DCT z parzystością odwróconą zostaje podawany do układu 15 odwrotnej transformacji kosinusoidalnej IDCT (fig. 10A). Następuje powrót do kroku S1, w którym rozpoczyna się przetwarzanie następnego współczynnika DCT.
W przeciwnym przypadku, w kroku S6 inwerter 28 parzystości odejmuje jedność od współczynnika DCT, (to znaczy dodaje do niego -1), po czym następuje przejście do wykonania kroku S7, w którym współczynnik DCT z odwróconą parzystością podany zostaje do układu 15 odwrotnej transformacji kosinusoidalnej IDCT. Następuje powrót do kroku S1, w którym rozpoczyna się przetwarzanie następnego współczynnika DCT.
Jeżeli współczynnik DCT nie jest współczynnikiem, którego parzystość można poddać inwersji lub kiedy współczynnik DCT, którego parzystość można poddać inwersji, nie ma być odwracany co do parzystości, to znaczy, kiedy nie otrzymano sygnału REQ1 żądania przetwarzania, następuje przejście do wykonania kroku S8. W kroku S8 współczynnik DCT zostaje przekazany do układu 15 odwrotnej transformacji kosinusoidalnej IDCT bez modyfikacji. Następuje powrót do kroku S1, gdzie następuje start do przetwarzania następnego współczynnika DCT.
Na figurze 17 przedstawiono praktyczną konfigurację układu inwertera 28 parzystości w czwartym przykładzie wykonania, w którym inwersja parzystości dokonywanajest ze zwiększeniem bezwzględnej wartości współczynnika DCT poddawanego inwersji parzystości, to znaczy z otrzymaniem współczynnika, którego wartości po odwróceniu parzystości są bardziej odległe od zera.
Inwerter parzystości przedstawiony na fig. 17 jest podobny do inwertera 28 parzystości przedstawionego na fig. 11. Elementy w układzie przedstawionym na fig. 17 odpowiadające elementom układu z fig. 11 oznaczono tymi samymi odnośnikami i powtórnie nie będą omawiane. Inwerter parzystości, przedstawiony na fig. 17, różni się od inwertera parzystości przedstawionego na fig. 11 tym, że zawiera układ 90 zwiększania wartości bezwzględnej zamiast inwertera 63 bitu LSB.
Układ 90 zwiększania wartości bezwzględnej określa biegunowość każdego współczynnika DCT, otrzymanego z pamięci, pierwszej 26 lub drugiej 27, za pośrednictwem ścieżki RDATA. Jeżeli biegunowość współczynnika DCT jest dodatnia, to układ zwiększania wartości bezwzględnej dodaje jedność do współczynnika DCT, natomiastjeżeli biegunowość współczynnika DCT jest zerowa lub ujemna, odejmuje jedność od współczynnika DCT. Układ odwracania parzystości, przedstawiony na fig. 17, nadaje nieparzystość sumie współczynników DCT w bloku przez wybór współczynnika DCT, którego parzystość została odwrócona, z układu zwiększania wartości bezwzględnej, i wstawienie tego współczynnika DCT z odwróconą parzystością i zmniejszoną wartością bezwzględną zamiast współczynnika DCT, którego parzystość należy odwrócić.
173 287
W skład układu 90 zwiększania wartości bezwzględnej wchodzi układ 91 rozpoznawania biegunowości, który steruje bezpośrednio piątą bramką 94 AND, i za pośrednictwem inwertera 97 szóstą bramką 95 AND. Układ 90 zwiększania wartości bezwzględnej zawiera również sumator 92 dodający jedność i subtraktor 93 odejmujący jedność, które, odpowiednio dodają jedność i odejmują jedność od każdego ze współczynników DCT. W odpowiedzi na stan wyjścia układu 91 rozpoznawania biegunowości następuje wybranie, za pośrednictwem piątej bramki 94 AND lub szóstej bramki 95 AND albo stanu wyjściowego sumatora 92 dodającego jedność albo stanu subtraktora 93 jedności. Stany wyjściowe bramek 94 i 95 AND podawane są na bramkę 96 OR, która przekazuje wybrany współczynnik DCT o zwiększonej wartości bezwzględnej do czwartej bramki 65 AND. Kiedy parzystość sumy współczynników DCT w bloku wymaga inwersji, czwarta bramka AND wybiera, odwrócony co do parzystości i zmniejszony co do wartości bezwzględnej, stan wyjściowy układu 90 zwiększania wartości bezwzględnej w celu podania go do układu 15 odwrotnej transformacji kosinusoidalnej IDCT, zamiast współczynnika DCT, którego parzystość jest poddawana inwersji.
Układ 91 rozpoznawania biegunowości dokonuje sprawdzenia biegunowości w bloku współczynników DCT otrzymanych ścieżką RDATA, i ustawia stan na swoim wyjściu na 1 lub na 0, zależnie od tego, czy biegunowość współczynnika DCT jest dodatnia, czy ujemna. Jeżeli układ 91 rozpoznawania biegunowości stwierdzi, że biegunowość współczynnika DCT jest dodatnia, to stan wyjściowy układu 91 rozpoznawania biegunowości powoduje otwarcie piątej bramki 94 AND i zamknięcie układu szóstej bramki 95 AND. Powoduje to podanie stanu wyjściowego dodającego 92 jedność, to znaczy współczynnika DCT, zwiększonego o jedność, do czwartej bramki 65 AND, za pośrednictwem piątej bramki 94 AND i bramki 96 OR.
Natomiast, kiedy układ 91 rozpoznawania biegunowości stwierdzi, że biegunowość współczynnika DCT jest ujemna lub współczynnik jest równy zeru, to stan wyjściowy układu 91 rozpoznawania biegunowości powoduje zamknięcie piątej bramki 94 AND i otwarcie szóstej bramki 85 AND. Powoduje to podanie stanu wyjściowego subtraktora 93 odejmującego jedność, to znaczy współczynnika DCT, od którego została odjęta jedność, do czwartej bramki 65 AND, za pośrednictwem szóstej bramki 95 AND i bramki 96 OR.
Czwarta bramka 65 AND przekazuje odwrócony co do parzystości, zwiększony co do wartości bezwzględnej współczynnik DCT z układu 90 zwiększania wartości bezwzględnej do drugiej bramki 68 AND, w odpowiedzi na sygnał REQ1 żądania przetwarzania. Kiedy komparator 62 stwierdzi, że współczynnik DCT otrzymany ścieżką RDATA jest współczynnikiem DCT, którego parzystość można poddać inwersji, to z układu 90 zwiększania wartości bezwzględnej współczynnik DCT zwiększony co do amplitudy i odwrócony co do biegunowości podawany jest do układu 15 odwrotnej transformacji kosinusoidalnej IDCT (fig. 10A) w sposób opisany w odniesieniu do fig. 11.
Natomiast, kiedy przedstawiony na fig. 17 inwerter parzystości w czwartym przykładzie wykonania nie otrzymał sygnału REQ1 żądania przetwarzania, współczynnik DCT, którego parzystość może być poddana inwersji, podany zostaje do układu 15 odwrotnej transformacji kosinusoidalnej IDCT jako niezmieniony.
Kiedy suma współczynników DCT wymaga nadania jej nieparzystości, inwerter 28 parzystości w czwartym przykładzie wykonania, przedstawionym na fig. 17, przekazuje do układu 15 odwrotnej transformacji kosinusoidalnej IDCT współczynnik DCT, którego parzystość została poddana inwersji przez dodanie jedności, kiedy jego biegunowość jest dodatnia, i podaje do układu 15 odwrotnej transformacji kosinusoidalnej IDCT współczynnik DCT, którego parzystość została odwrócona przez odjęcie od niego jedności, jeżeli jego biegunowość jest ujemna lub jeśli ma on wartość zerową. Przetwarzanie powoduje odwrócenie parzystości i zmniejsza zakres wartości współczynnika DCT, poddawanego odwróceniu parzystości, i nadaje nieparzystość sumie współczynników DCT.
Inwertery 28 parzystości, przedstawione na fig. 11,13,15 i 17, oraz działania według sieci działań przedstawionych na fig. 9, 12, 14 i 16 mogą być modyfikowane przez nadawanie nieparzystości sumie współczynników DCT przy zmianie współczynnika DCT innego niż ostatni niezerowy współczynnik odczytany przy przeglądaniu zygzakowym. Na przykład, w dwuwymiarowej transformacie DCT 8x8 można dokonywać zmiany parzystości jednego ze współ30
173 287 czynników DCT składowej stałej, współczynnika DCT składowej (7,7), to znaczy składowej o najwyższej częstotliwości, współczynnika składowej (7, 0), prawego górnego rogu obrazu, lub współczynnika DCT składowej (0,7) lewego dolnego rogu. Ponieważ, w szczególności, współczynnik składowej (7, 7), która jest składową o największej częstotliwości, ma mały wpływ na jakość obrazu, to ta składowa nadaje się szczególnie do wybraniana współczynnik do odwracania parzystości.
W inwerterach parzystości, przedstawionych na fig. 11, 13, 15 i 17, można wybrać inne współczynniki DCT, niż współczynnik DCT, którego parzystość można zmienić przez podstawienie adresu współczynnika DCT za adres EOB_adrs, podawany do komparatora 62. W odróżnieniu od tego, jeżeli ma być zmieniana parzystość współczynnika DCT składowej o najwyższej częstotliwości, to można pominąć licznik 61 odczytów i komparator 62, a do identyfikacji współczynnika DCT składowej o najwyższej częstotliwości, jako współczynnika, którego parzystość może być zmieniana, można wykorzystać sygnał FULL zapełnienia pamięci.
Według innej możliwości, układy 14 nadawania nieparzystości sumie, przedstawione na fig. 6, 8 i 10, mogą wyznaczać sumę specjalnych współczynników DCT, na przykład współczynników DCT składowych (0, 0), (4, 0), (0, 4) oraz (4, 4). Następnie układ nadawania nieparzystości sumie mógłby dokonywać odwrócenia parzystości w celu nadania nieparzystości sumie tych specjalnych współczynników DCT. Na fig. 18 przedstawiono wariant układu 14 nadawania nieparzystości sumie, przedstawionego na fig. 8. W tym układzie wyznaczana jest suma specjalnych współczynników DCT w celu określenia, czy odwrócenie parzystości jest konieczne. Elementy układu, przedstawionego na fig. 18, odpowiadające elementom układu z fig. 6 oznaczone są tymi samymi odnośnikami.
W układzie nadawania nieparzystości sumie, przedstawionym na fig. 18, selektor 51 przerywa połączenie między kwantyzerem inwersyjnym 13 i akumulatorem 23A. Selektor 51 otrzymuje również z licznika 20 wartość stanu zliczania coeff_adrs, która wskazuje liczbę współczynników DCT w bloku odebranym z kwantyzera inwersyjnego 13.
Zależnie od odebranej wartości stanu coeff .adrs licznika 20, selektor 51 określa, czy każdy ze współczynników DCT otrzymanych z kwantyzera inwersyjnego 13 jest jednym z tych specjalnych współczynników DCT, czy nie i w związku z tym, czy ma być włączony do sumy wyznaczanej przez akumulator 23 A. Tak więc, na przykład, selektor określa, czy wartość stanu coeff_adrs jest wartością odpowiadającą składowej (0, 0), (4,0), (0,4) lub (4,4). Jeżeli selektor 51 stwierdzi, że współczynnik DCT jest jednym ze specjalnych współczynników DCT, to dostarcza ten współczynnik DCT do akumulatora 23 A. Odpowiednio do tego, układ nadawania nieparzystości sumie, przedstawionej na fig. 18, wyznacza sumę specjalnych współczynników DCT bloku i jeżeli suma jest parzysta, to zmienia parzystość przynajmniej jednego ze współczynników, celem nadania sumie nieparzystości. Układ nadawania nieparzystości sumie, przedstawiony na fig, 18, następnie podaje blok współczynników o skorygowanej parzystości do układu 15 odwrotnej transformacji kosinusoidalnej IDCT.
Wykonanie przedstawione na fig. 18 może być poddane modyfikacji w sposób podobny do wykonania przedstawionego na fig. 10A, w celu zapewnienia układowi możliwości wyznaczenia wyłącznej sumy logicznej bitów LSB specjalnych współczynników DCT. Układ na fig. 18, jest zmodyfikowany przez zastąpienie układu sumatora 23 detektorem bitu LSB i bramką 30 Exclusive-OR, przedstawioną na fig. 10A.
Współczynniki DCT, zgodnie z fig. 6, w bloku współczynników DCT podawane są z układu 14 nadawania nieparzystości sumie do opisanego powyżej układu 15 odwrotnej transformacji kosinusoidalnej IDCT. Suma współczynników DCT z układu 14 nadawania nieparzystości sumie jest liczbą nieparzystą. Jeżeli suma współczynników DCT z kwantyzera inwersyjnego była liczbą parzystą, to układ 14 nadawania nieparzystości sumie zmienia parzystość przynajmniej jednego ze współczynników DCT w celu nadania nieparzystości sumie współczynników DCT podawanych do układu 15 odwrotnej transformacji kosinusoidalnej IDCT. Układ 15 IDCT na współczynnikach dyskretnej transformacji kosinusoidalnej DCT bloku dokonuje przetwarzania odwrotnej transformacji kosinusoidalnej IDCT, w celu otrzymania odtworzonego bloku S4 różnic. Odtworzony blok S4 różnic podawany jest do sumatora 16.
173 287
Sumator 16 wykonuje sumowanie punkt po punkcie odtworzonego bloku S4 różnic i bloku dopasowującego S2, otrzymanego z drugiej grupy 4 pamięci obrazu. Otrzymany zrekonstruowany blok obrazowy S5 podawany jest do grupy 4 pamięci obrazu, gdzie stanowi blok zrekonstruowanego obrazu przechowywanego w jednej z pamięci obrazu, wyznaczonej przez sterownik 3 pamięci.
Koder zmiennodługościowy 17 wykonuje kodowanie zmiennodługościowe, na przykład kodowanie Huffmana itp. na każdym bloku skwantyzowanych współczynników SC DCT z kodera 9 bloku różnic oraz koduje jego wektor MV przemieszczenia, tryb MM kompensacji przemieszczenia, dane tablicy kwantyzacj i itp. Koder zmiennodługościowy 17 zestawia również zakodowane zmiennodługościowo dane z kodami startowymi i informacją nagłówkową odpowiednich warstw według standardu MPEG, w celu utworzenia skomprymowanego sygnału obrazu ruchomego.
Licznik 5 warstw/makrobloków zlicza sygnały startowe SS warstw i sygnały startowe BS makrobloków przy odczycie obrazów z pierwszej grupy 2 pamięci obrazowej przy przetwarzaniu. Kiedy jego stan osiągnie zadaną wartość, licznik 5 warstw/makrobloków generuje sygnał startowy SO, który podawany jest do kodera zmiennodługościowego 17.
W odpowiedzi na sygnał startowy koder zmiennodługościowy 17 podaje skomprymowany sygnał obrazu ruchomego do bufora wyjściowego 19, gdzie zostaje on przechowany tymczasowo. Następnie skomprymowany sygnał obrazu odczytywany jest z bufora wyjściowego 19 w postaci strumienia danych o założonej przepustowości. Strumień bitowy skomprymowanego sygnału obrazu ruchomego podawany jest do komplementarnego ekspandera za pośrednictwem ścieżki transmisyjnej lub przez nagranie tego strumienia bitowego skomprymowanego sygnału obrazu ruchomego na odpowiednim nośniku zapisowym, na przykład dysku optycznym.
Nośnik zapisowy jest nośnikiem, na którym zapisywany jest sygnał skomprymowany otrzymany z sygnału obrazu ruchomego, przez kodowanie predykcyjne i przetwarzanie za pomocą dyskretnej transformacji kosinusoidalnej. Każdy blok każdego rekonstruowanego obrazu wykorzystywanego jako obraz odniesienia przy kodowaniu predykcyjnym odtwarzany jest przez inwersyjną kwantyzację bloku skwantyzowanych współczynników DCT wchodzących w skład skomprymowanego sygnału obrazu ruchomego, przez nadawanie nieparzystości sumie współczynników DCT w wynikowym bloku współczynników DCT i odwrotną transformację ortogonalną bloku współczynników DCT poddanych procesowi nadawania nieparzystości ich sumie.
Urządzenie transmisyjne korzystnie zawiera opisany kompresor według wynalazku. Może się okazać, że lepsze byłoby wykonywanie operacji nadawania nieparzystości sumie w koderze 9 bloku różnic kompresora. Operacja nadawania nieparzystości sumie mogłaby spowodować, że suma współczynników DCT w każdym bloku skwantyzowanych współczynników DCT wchodzącym w skład skomprymowanego sygnału obrazu ruchowego byłaby liczbą nieparzystą. Może się okazać, że nadawanie nieparzystości sumie współczynników DCT w ekspanderze okaże się niepotrzebne. Przy takim jednak rozwiązaniu, po skwantyzowaniu współczynników DCT w kompresorze i po ich inwersyjnym skwantyzowaniu w ekspanderze, suma współczynników DCT dochodzących do układu IDCT w ekspanderze może już nie być liczbą nieparzystą. Zatem operacja nadawania nieparzystości sumie musi być wykonywana przed przetwarzaniem IDCT w ekspanderze, w celu zapewnienia niewystępowania błędu niedopasowania.
W odniesieniu do fig. 19, opisano ekspander skomprymowanego sygnału obrazu ruchomego. Na fig. 19, skomprymowany sygnał obrazu ruchomego odbierany jest w postaci strumienia bitowego za pośrednictwem linii transmisyjnej, z kompresora, lub przez odtwarzanie skomprymowanego sygnału ruchomego z odpowiedniego nośnika zapisowego, na przykład dysku optycznego. Strumień bitów podawany jest do bufora wejściowego 31, gdzie podlega przechowywaniu tymczasowemu, i skąd odczytywany jest obraz po obrazie do inwersyjnego kodera zmiennodługościowego IVLC 32. Inwersyjny koder zmiennodługościowy 32 wydziela ze skomprymowanego sygnału obrazu ruchomego informację nagłówkową odpowiednich warstw kodowania MPEG i z informacji nagłówkowej wydziela informację PH dotyczącą sterowania dekodowaniem obrazu, która podawana jest do sterownika 33 pamięci.
173 287
Koder IVLC 32 dokonuje inwersyjnego kodowania zmiennodługościowego na blokach współczynników DCT zakodowanych zmiennodługościowo, w celu otrzymania bloków skwantyzowanych współczynników DCT zawierających blok aktualny kwantyzowanych współczynników Cb DCT. Blok skwantyzowanych współczynników Cb DCT dostarczany jest do dekodera 34 bloku różnic. Dekoder 34 bloku różnic dekoduje blok skwantyzowanych współczynników Cb DCT w celu otrzymania odtworzonego bloku Cb różnic, i odtworzony blok różnic przekazuje do sumatora 39.
Koder IVLC 32 wydziela ze skomprymowanego sygnału obrazowego wektor MV przemieszczenia i tryb MM kompensacji przemieszczenia dla bloku skwantyzowanych współczynników Cb DCT, i podaje go do kompensatora 37 przemieszczenia. Kompensator 37 przemieszczenia powoduje odczyt bloku dopasowującego dla odtworzonego bloku BS różnic z grupy 38 pamięci obrazowej.
Blok pamięci obrazowej składa się z kilku pamięci obrazu, z których każda przechowuje jeden z już zrekonstruowanych obrazów. Blok dopasowujący BS jest blokiem obrazu zrekonstruowanego, w jednej z pamięci obrazu pod adresem wyznaczonym przez wektor MV przemieszczenia. Pamięć obrazu w grupie 38 pamięci obrazowej przechowującej zrekonstruowany obraz, z którego odczytywany jest blok dopasowujący, wyznaczana jest przez sterownik 33 pamięci.
Jak już wspomniano, obraz może być kodowany z predykcją, na podstawie obrazu rekonstruowanego wcześniej, przez predykcję na podstawie obrazu rekonstruowanego później, lub przez predykcję na podstawie bloku otrzymanego przez wykonanie, punkt po punkcie, operacji liniowej na obrazie rekonstruowanym wcześniej i na obrazie rekonstruowanym później. Ponadto, obraz może być kodowany w ogóle bez zastosowania predykcji. W tym przypadku blok dopasowujący podawany przez grupę 38 pamięci obrazu jest blokiem zerowym, to znaczy blokiem, w którym wartości wszystkich punktów obrazowych są ustawione na zero. Bloki dopasowujące z kompensacją przemieszczenia dostarczane przez grupę 38 pamięci obrazu są modyfikowane adaptacyjnie, i dla każdego bloku wybierany jest tryb optymalny. Proces ten wykonywany jest z wykorzystaniem bloku o wymiarach 16x16 punktów obrazowych.
Każdy z bloków dopasowujących dostarczanych przez grupę 38 pamięci obrazowej podawany jest do sumatora 39. Sumator 39 dokonuje sumowania, punkt po punkcie, odtworzonego bloku BS różnic, otrzymanego z dekodera 34 bloku różnic i bloku dopasowującego otrzymanego z grupy 38 pamięci obrazowej. Wynikiem tego sumowania jest zrekonstruowany blok obrazowy, przechowywany w jednej z grup pamięci obrazowej, wyznaczonej przez sterownik 33 pamięci. Zrekonstruowane bloki obrazowe wytwarzane przez sumator 39 zapisywane są, jeden po drugim, w wybranej pamięci obrazowej, zastępując kolejno zrekonstruowane obrazy wcześniej zapisane w tej pamięci, tworząc nowy zrekonstruowany obraz. Zrekonstruowane obrazy przechowywane w grupie 38 pamięci obrazowej odczytywane są w sekwencji sterowanej przez sygnał wskazujący obraz wyjściowy, dostarczany przez sterownik 33 pamięci. Odczytane obrazy podawane są w postaci odtworzonego sygnału obrazu ruchomego do odpowiedniego wyświetlacza obrazu, na przykład monitora wizyjnego. Wyświetlacz wytwarza obrazy ruchome zgodnie z odtwarzanym sygnałem obrazu ruchomego.
Na fig. 19 przedstawiono dekoder 34 bloku różnic. Dekoder 34 bloku różnic zawiera kwantyzer inwersyjny 40, układ 35 nadawania nieparzystości sumie oraz układ 36 odwrotnej dyskretnej transformacji kosinusoidalnej. Kwantyzer inwersyjny 40, do inwersyjnej kwantyzacji bloku skwantyzowanych współczynników Cb transformaty otrzymanych z inwersyjnego kodera zmiennodługościowego 32, wykorzystuje tablicę kwantyzacyjną. Układ 35 nadawania nieparzystości sumie otrzymuje wynikowy blok współczynników DCT z kwantyzera inwersyjnego 40 i zapobiega występowaniu błędów niedopasowania przy przetwarzaniu IDCT w układzie 36 IDCT. Układ 36 IDCT wykonuje przetwarzanie IDCT na bloku współczynników z nadaną ich sumie nieparzystością, otrzymywanych z układu 35 nadawania nieparzystości sumie.
Na fig. 2θ przedstawiono przykład budowy kwantyzera inwersyjnego 40. Główne części składowe kwantyzera inwersyjnego stanowią: dekoder 41 warstw/poziomów, licznik adresowy 47, konwerter adresowy 48, selektor 49, pierwszy blok pamięci 42, drugi blok pamięci 43 oraz układ kwantyzacji inwersyjnej (układ IQ) 46.
173 287
Dekoder 41 warstw/poziomów otrzymuje blok skwantyzowanych współczynników Cb DCT z inwersyjnego kodera zmiennodługościowego 32. Dekoder warstw/poziomów dekoduje dane dotyczące rodzaju kodowania warstw/poziomów, które zostało zastosowane w odniesieniu do kwantyzowanych współczynników DCT w zmiennodługościowym koderze kompresora. Otrzymany blok skwantyzowanych współczynników DCT podawany jest do pierwszej 42, lub drugiej 43, pamięci bloku w porządku zygzakowym. Następnie każda z pamięci bloków, 42 i 43, przechowuje blok skwantyzowanych współczynników DCT.
Licznik adresowy 47 i konwerter adresowy 48 generują odpowiednio: adresy zapisu i adresy odczytu, dla pamięci bloków, pierwszej 42 i drugiej 43. Bloki skwantyzowanych współczynników DCT są naprzemiennie wpisywane i odczytywane z pierwszej -pamięci bloku i drugiej pamięci blokowej. Każdy blok skwantyzowanych współczynników DCT wpisywany jest do jednej z pamięci bloków w porządku zygzakowym, zgodnie z adresami podawanymi przez licznik adresowy 47, a odczytywany jest z pamięci blokowej w porządku rastrowym, zgodnie z adresami podawanymi przez konwerter adresowy 48. Różny porządek adresów przy zapisie i przy odczycie daje w wyniku konwersję porządku skwantyzowanych współczynników DCT w bloku z zygzakowego na rastrowy.
Licznik adresowy 47 generuje adresy wpisu w porządku zygzakowym. Konwerter adresowy 48 odbiera adresy porządku zygzakowego z licznika adresowego i wykorzystuje tablicę konwersji adresów, do przetworzenia tych adresów na adresy w rastrowym porządku przeglądania. Adresy wytwarzane przez licznik adresowy 47 i konwerter adresowy 48 wybierane są przez selektor 49 w celu podania do pamięci blokowych, pierwszej 42 i drugiej 43, jako adresy adrsl i adrs2. Kiedy blok skwantyzowanych współczynników DCT z dekodera 41 warstw/poziomów jest już wpisany do pamięci blokowej, pierwszej 42 lub drugiej 43, przez licznik 47 generowane są i przekazywane za pośrednictwem selektora 49 odpowiednie adresy adrs 1 i adrs2, w porządku zygzakowym. Przy odczycie skwantyzowanych współczynników DCT z pamięci bloku, pierwszej 42 lub drugiej 43 do kwantyzera inwersyjnego 46, odpowiednie adresy, adrs1 i adrs2, podawane są pr:^^t^:z 48 za pośrednictwem 49 w rastrowym porządku przeglądania.
Kiedy wszystkie skwantyzowane współczynniki DCT w bloku zostały zapisane w pamięci blokowej, pierwszej 42 lub drugiej 43, blok współczynników DCT zostaje odczytany w porządku rastrowym do kwantyzera inwersyjnego IQ 46. Kwantyzer inwersyjny IQ 46 kwantyzuje inwersyjnie skwantyzowane współczynniki DCT w bloku i podaje blok wynikowy współczynników DCT do układu 35 nadawania nieparzystości sumie. Inwersyjne kwantowanie wykonywane przez kwantyzer inwersyjny IQ 46 jest takie samo, jak inwersyjne kwantowanie wykonywane przez kwantyzer inwersyjny 13 w dekoderze lokalnym kompresora sygnału obrazu ruchomego, przedstawionego na fig. 6.
Kiedy układ 35 nadawania nieparzystości sumie stwierdzi, że suma współczynników DCT w bloku współczynników z kwantyzera inwersyjnego 4 jest parzysta, przetwarza przynajmniej jeden ze współczynników DCT w celu nadania sumie współczynników DCT w bloku nieparzystości . Układ 35 nadawania nieparzystości sumie podaje blok współczynników DCT z nieparzystą sumą do układu 36 IDCT. Operacja nadawania nieparzystości sumie, wykonywana przez układ 35 nadawania nieparzystości sumie jest identyczna, jak operacja wykonywana przez układ 14 nadawania nieparzystości sumie w dekoderze lokalnym, kompresora sygnału obrązu ruchomego, przedstawionego na fig. 6.
Układ 36 odwrotnej transformacji kosinusoidalnej IDCT dokonuje przetwarzania IDCT na bloku współczynników DCT z nadaną nieparzystością sumy, w celu otrzymania odtworzonego bloku Bs różnic, który podawany jest do sumatora 39.
Działanie przedstawionego na fig. 20, zaś praktyczne działanie kwantyzera inwersyjnego 40 zilustrowano siecią działań, przedstawioną na fig. 21A-21I. Inwersyjny koder zmiennodługościowy 32 wydziela blok skwantyzowanych współczynników Cb ze skomprymowanego sygnału obrazu ruchomego. Koder zmiennodługościowy generuje sygnał zezwolenia na wynik EV_EN, przedstawiony na fig. 21 A, który wydaje polecenie do dekodera 41 warstw/poziomów odczytania bloku skwantyzowanych współczynników DCT. Skwantyzowane współczynniki
173 287
DCT w bloku skwantyzowanych współczynników DCT Cb są kodowane warstwami/poziomami.
Inwersyjny koder zmiennodługościowy IVLC 32 generuje również sygnał liczby wyników EVENT_NO do dekodera 41 warstw/poziomów, jak to pokazano na fig. 21B. Sygnał liczby wyników wskazuje liczbę par warstwa/poziom w bloku skwantyzowanych współczynników Cb, to znaczy liczbę par danych wskazujących warstwę i poziom.
Kiedy dekoder 41 warstw/poziomów odbierze sygnał liczby wyników ΕΫΕΝΤ_ΝΟ, to daje sygnał RE_REQ żądania odczytu dla każdej pary warstwa/poziom, z powrotem do inwersyjnego kodera zmiennodługościowego 32, jak to pokazano na fig. 21C. Każdorazowo po otrzymaniu sygnału RE_REQ żądania odczytu, inwersyjny koder zmienoodługościowy 32 podaje do dekodera 41 warstw/poziomów liczbę par warstwa/poziom odpowiadających liczbie otrzymanych sygnałów żądania odczytu.
Dekoder 41 warstw/poziomów dekoduje zakodowane w warstwie/poziomie skwantyzowane współczynniki DCT w celu podania ich bloku w porządku zygzakowym, jako WDATA do pierwszej pamięci blokowej, jak to pokazano na fig. 21G. Równocześnie, jak to pokazano na fig. 21F licznik adresowy 47 zlicza skwantyzowane współczynniki DCT z dekodera warstw/poziomów i podaje sygnał adresowy adrsl w porządku zygzakowym, wskazując adres wpisu każdego ze skwantyzowanych współczynników DCT, za pośrednictwem selektora 49 do pierwszej pamięci blokowej 42.
Kiedy dekoder 41 warstw/poziomów otrzyma kod EOB z inwersyjnego kodera zmiennodługościowego IVLC 32, wskazujący, że przekazano ostatni niezerowy współczynnik DCT, dekoder 41 warstw/poziomów ustawia skwantyzowany współczynnik DCT odpowiadający kodowi EOB, a wszystkie następne skwantyzowane współczynniki DCT ustawia na zero, i podaje te zerowe współczynniki DCT do pierwszej pamięci blokowej 42.
Również, po otrzymaniu kodu EOB, dekoder 41 warstw/poziomów podaje sygnał EOB_EN do rejestru pozycji (POS_REG) 44,45, jak to pokazano na fig. 21H. Sygnał EOBJEN wskazuje rejestrom pozycji, że odebrany został kod EOB. Rejestry pozycji również otrzymują z licznika adresowego 47 za pośrednictwem konwertera adresowego 48 adres każdego skwantyzowanego współczynnika DCT podanego do pamięci blokowych, pierwszej 42 i drugiej 43. Kiedy dekoder warstw/poziomów otrzyma kod EOB, adres generowany przez licznik adresowy 47 jest adresem ostatniego współczynnika niezerowego. Sygnał EOB_EN powoduje wpis adresów, EOPJPOS, ostatniego współczynnika niezerowego, przetworzonego na adres w porządku rastrowym, za pomocą konwertera 48 adresowego, na pozycje rejestru pamięci blokowej, do której wpisywany jest blok skwantyzowanych współczynników DCT. Zatem jeden z rejestrów POS 44 i 45 przechowuje adres ostatniego współczynnika niezerowego bloku skwantyzowanych współczynników DCT.
Po podaniu przez dekoder 41 warstw/poziomów pełnego bloku skwantyzowanych współczynników DCT do pamięci blokowej, pierwszej 42 lub drugiej 43, licznik adresowy 47 podaje sygnał przełączania banku BANK do pamięci blokowych, pierwszej 42 i drugiej 43. Sygnał BANK dokonuje przełączenia trybu pamięci blokowych, tak że pierwsza pamięć blokowa, która pierwotnie pracowała w trybie zapisu, przełączona zostaje na tryb odczytu, a druga pamięć blokowa przełączona zostaje na tryb zapisu. Tak więc, kiedy dekoder 41 warstwy/poziomu zdekoduje następny skwantowany współczynnik DCT, wynikowe skwantyzowane współczynniki DCT zostaną wpisane do drugiej pamięci blokowej 43. Sygnał BANK dokonuje również przełączenia selektora 49, tak że adresy podawane do pamięci blokowej w trybie zapisu są adresami w porządku zygzakowym z licznika adresowego 47, a adresy podawane do pamięci blokowej w trybie odczytu są adresami w porządku rastrowym z konwertera adresowego 48.
Również, kiedy dekoder 41 warstw/poziomów podał do pierwszej pamięci blokowej 42 pełny blok skwantyzowanych współczynników DCT, pierwszy blok pamięci 42 przekazuje sygnał FULL1 zapełnienia pamięci do kwantyzera inwersyjnego 46. Sygnał zapełnienia pamięci wskazuje, że zostały zapisane wszystkie skwantyzowane współczynniki DCT w bloku. Kiedy kwantyzer inwersyjny IQ 46 otrzyma sygnał FULL1 zapełnienia pamięci, przekazuje do pierwszej pamięci blokowej 42 sygnał RD_EN żądania odczytu. Sygnał żądania odczytu powoduje odczyt przez pierwszą pamięć blokową skwantyzowanych współczynników DCT zapamięta173 287 nych w niej, odpowiednio do adresów adrs 1 podawanych w porządku rastrowym przez konwerter rastrowy 48 za pośrednictwem selektora 49. W konsekwencji skwantyzowane współczynniki DCT bloku są odczytywane z pierwszej pamięci. Odczyty współczynników DCT odpowiednio do każdego z adresów podawane są do kwantyzera inwersyjnego 46.
Równocześnie z odczytem skwantyzowanych współczynników DCT bloku z pierwszej pamięci blokowej 42 skwantyzowane współczynniki bloku następnego są zapisywane w porządku zygzakowym w drugiej pamięci blokowej 43, zgodnie z adresami z licznika adresowego 47.
Kwantyzer inwersyjny 46 dokonuje odwrotnej kwantyzacji skwantyzowanych współczynników DCT w bloku, w sposób podobny, jak kwantyzer inwersyjny 13 w opisanym już w odniesieniu do fig. 5 kompresorze sygnału obrazu ruchomego. Wynikowy blok współczynników DCT podany zostaje do układu 35 nadawania nieparzystości sumie.
Jeżeli suma współczynników DCT w bloku jest liczbą parzystą, to układ 35 nadawania nieparzystości sumie oddziałuje na przynajmniej jeden ze współczynników DCT bloku, w celu nadania nieparzystości sumie współczynników bloku, w sposób podobny, jak układ 14 nadawania nieparzystości sumie w opisanym kompresorze sygnału obrazu ruchomego. Wynikowy blok współczynników dających sumę nieparzystą podawany jest do układu 36 odwrotnej transformacji kosinusoidalnej IDCT.
Na przykład układ 35 nadawania nieparzystości sumie, może być zrealizowany w postaci rejestrów pozycji POS 44,45 i określać, czy aktualny współczynnik DCT jest ostatnim niezerowym współczynnikiem w porządku zygzakowym, czy nie, tak aby układ nadawania nieparzystości sumie mógł zmienić parzystość tego współczynnika niezerowego w celu otrzymania nieparzystości sumy współczynników DCT w bloku. W odróżnieniu od tego, układy 35 nadawania nieparzystości sumie mogą tego dokonywać przez oddziaływanie na współczynnik DCT składowej o najwyższej częstotliwości. Korzystnejest odwracanie nieparzystości współczynnika DCT składowej o najwyższej częstotliwości, ponieważ składowa o najwyższej częstotliwości ma niewielki wpływ najakość obrazu, nie ma konieczności określenia, który ze współczynników DCT jest ostatnim współczynnikiem niezerowym. Jest to ważne również w przypadku, kiedy porządek przeglądania jest inny, niż zygzakowy.
Należy podkreślić , że w celu uniknięcia błędów niedopasowania, układ do nadawania nieparzystości sumie w kompresorze i w ekspanderze sygnału muszą być identyczne.
Na fig. 22 przedstawiono konfigurację kompresora sygnału obrazu ruchomego w drugim przykładzie wykonania. Na fig. 23 przedstawiono konfigurację układu 50 nadawania nieparzystości sumie w kompresorze sygnałowym z fig. 22. Elementy drugiego przykładu wykonania kompresora sygnału odpowiadające elementom pierwszego przykładu przedstawionego na fig. 6 oznaczono tymi samymi odnośnikami. Drugi przykład wykonania różni się od pierwszego układu 50 nadawania nieparzystości sumie. Układ 50 nadawania nieparzystości sumie z fig. 23 zawiera licznik 20 zliczający współczynniki otrzymane z kwantyzera inwersyjnego 13 i podający otrzymaną wartość coeff_adrs do układu 21 sprawdzania parzystości.
Akumulator 23A zaopatrzony jest w sumator 23 i rejestr 24. Sumator 23 dodaje każdy współczynnik w bloku współczynników otrzymanych z kwantyzera inwersyjnego 13 do sumy już odebranych współczynników DCT bloku przechowywanego w rejestrze 24. Rejestr 24 jest resetowany po określeniu sumy wszystkich współczynników DCT. Wynikowa suma współczynników DCT podawana jest z sumatora 23 do rejestru 24 i do układu 21 sprawdzania parzystości. Do otrzymania wyniku odpowiedniego dla układu sprawdzania parzystości sumy współczynników akumulator 23 potrzebuje tylko sumy najmniej znaczących bitów współczynników DCT w bloku.
Układ 21 sprawdzania parzystości działa zależnie od zliczonej wartości coeff_adrs, otrzymanej z licznika 20, w sposób następujący. Kiedy zliczona wartość wskazuje, że wszystkie współczynniki bloku zostały już zsumowane w akumulatorze 23A, to układ 21 sprawdzania parzystości określa, czy suma współczynników otrzymanych z akumulatora 23A jest parzysta, czy nieparzysta. Na przykład w przypadku dwuwymiarowej transformaty DCT 8x8, kiedy wartość stanu wskazuje, że została już wyznaczona suma wszystkich 64 współczynników bloku, to układ sprawdzania 21 parzystości określa, czy suma współczynników otrzymana z akumulatora jest parzysta, czy nieparzysta.
173 287
W praktyce, kiedy współczynniki DCT reprezentowane są liczbami binarnymi, układ 21 sprawdzania parzystości sprawdza bit najmniej znaczący LSB sumy współczynników z akumulatora. Bit LSB wynoszący 0 wskazuje, że suma jest parzysta. W tym przypadku układ 21 sprawdzania parzystości wysyła sygnał REQ1 żądania przetwarzania do inwertera parzystości, w celu wykonania przez niego odwrócenia parzystości 53. W odpowiedzi na sygnał REQ1 żądania przetwarzania inwerter parzystości 53 zmienia parzystość przynajmniej jednego (to znaczy nieparzystej ich liczby) z współczynników w bloku, w celu uczynienia nieparzystą ich sumy. Natomiast bit LSB = 1 wskazuje, że suma jest nieparzysta. W tym przypadku układ 21 sprawdzania parzystości nie wysyła sygnału REQ1 żądania przetwarzania, i inwerter 53 parzystości pozostawia wszystkie współczynniki bloku niezmienione, ponieważ ich suma jest już nieparzysta.
Blok współczynników DCT podawany jest z kwantyzera inwersyjnego 13 nie tylko do akumulatora 23A, lecz również do inwertera 53 parzystości za pośrednictwem układu opóźniającego 52. Układ opóźniający 52 opóźnia współczynniki DCT w bloku o czas odpowiadający czasowi przetwarzania akumulatora 23A i układu 21 sprawdzania parzystości, tak że ostatni współczynnik DCT, to znaczy współczynnik najwyższej częstotliwości na przykład współczynnik składowej (7, 7) w transformacie DCT 8x8, dociera do inwertera 53 parzystości równocześnie z sygnałem REQ1 żądania przetwarzania.
Tak więc, inwerter 53 parzystości wszystkie współczynniki, z wyjątkiem współczynnika najwyższej częstotliwości, przekazuje do układu 15 odwrotnej transformacji kosinusoidalnej IDCT w postaci niezmienionej. Jeżeli układ 21 sprawdzania parzystości nie wygenerował sygnału REQ1 żądania przetwarzania, to inwerter 53 parzystości również i współczynnik najwyższej częstotliwości podaje niezmieniony do układu 15 odwrotnej transformacji kosinusoidalnej IDCT. Inwerter 53 parzystości dokonuje odwrócenia bitu LSB współczynnika najwyższej częstotliwości i podaje współczynnik z odwróconą parzystością do układu 15 odwrotnej transformacji kosinusoidalnej IDCT tylko, jeśli układ 21 sprawdzania parzystości wygenerował sygnał REQ1 żądania przetwarzania.
Tak więc, kiedy układ 21 sprawdzania parzystości wskazuje, że suma współczynników DCT w bloku jest parzysta, inwerter 53 parzystości oddziałuje na współczynnik DCT o najwyższej częstotliwości, na przykład współczynnik DCT składowej (7, 7) w transformacie DCT 8x8 w bloku. Inwerter 53 parzystości odwraca parzystość składowej DCT o najwyższej częstotliwości, czyli nadaje nieparzystość sumie współczynników w bloku współczynników podawanych do układu 15 odwrotnej transformacji kosinusoidalnej IDCT. Zatem suma współczynników DCT w bloku jest zawsze nieparzysta. Współczynnik DCT składowej (7, 7) jest współczynnikiem, który ma najmniejszy wpływ na wartości wyjściowe IDCT.
Poniżej opisano praktyczne przykłady korzystnego wykonania układu 50 nadawania nieparzystości sumie. Na fig. 24 przedstawiono przykład, w którym detektor 29 bitu LSB i bramka 30 Exclusive-OR (EXOR) zastępują sumator 23 na fig. 23. Elementy układu, przedstawionego na fig. 24, odpowiadające elementom układu, przedstawionego na fig. 23, oznaczono tymi samymi odnośnikami. Detektor 29 bitu LSB bada każdy bit LSB każdego ze współczynników bloku, a bramka 30 EXOR i rejestr sumy logicznej 24 wspólnie określają wyłączną sumę logiczną bitów LSB współczynników DCT w bloku. Parzystość wyłącznej sumy logicznej określana jest przez układ 21 sprawdzania parzystości w sposób opisany w odniesieniu do fig. 10A i 23.
W odróżnieniu od tego również bramką 30 Exclusive-OR i rejestrem 24, przedstawionymi na fig. 24, mogą być zastąpione bramką 88 AND i licznik 89, przedstawiony na fig. 10B.
Na fig. 25 przedstawiono inny przykład wykonania. W tym przykładzie między kwantyzer inwersyjny 13 i akumulator 23 w układzie 50 nadawania nieparzystości sumie, przedstawionym na fig. 23, wstawiony jest selektor 51. Elementy układu, przedstawionego na fig. 25, odpowiadające elementom układu, przedstawionego na fig. 23, oznaczono tymi samymi odnośnikami. Układ, przedstawiony na fig. 25, wyznacza sumę współczynników DCT na podstawie wyłącznie specjalnych współczynników, na przykład składowej (0,0), (4,0), (0,4) i (4,4) w celu określenia, czy potrzebne jest nadanie nieparzystości sumie. Selektor 51 pobiera zliczoną wartość coeff_adrs z licznika 20 dla określenia, czy każdy zespół współczynników DCT otrzymanych z kwantyzera
173 287 inwersyjnego 13 jest jednym ze współczynników specjalnych, czy nie, a zatem czy ma być sumowany. Kiedy selektor stwierdzi, że współczynnik DCT jest jednym ze współczynników specjalnych i ma być sumowany, to znaczy zliczona wartość coeff_adrs ma wartość odpowiadającą na przykład składowej (0,0), (4,0), (0,4) lub (4,4), selektor 51 podaje współczynnik do akumulatora 23A. Selektor 51 powoduje wyznaczenie przez układ nadawania nieparzystości sumie, z fig. 25, określenie sumy współczynników specjalnych. Następnie inwerter 53 parzystości, w razie potrzeby, zmienia jeden ze specjalnych współczynników DCT w celu uczynienia sumy tych współczynników liczbą nieparzystą. Blok współczynników, których suma została uczyniona nieparzystą, podawany jest następnie do układu 15 odwrotnej transformacji kosinusoidalnej IDCT.
W innym wykonaniu selektor 51, przedstawiony na fig. 25, może być wstawiony w linię między kwantyzerem inwersyjnym 13 i detektorem 29 bitu LSB w układzie przedstawionym na fig. 24. Zmodyfikowany w ten sposób układ, przedstawiony na fig. 24, dokonuje wyznaczenia wyłącznej sumy logicznej bitów LSB specjalnych współczynników DCT, wybranych przez selektor.
W innym przykładzie wykonania układ 50 nadawania nieparzystości sumie, kiedy ostatni współczynnik DCT odebrany z kwantyzera inwersyjnego 53 jest współczynnikiem DCT składowej stałej, to znaczy, kiedy porządek przeglądania rastrowego jest przeciwny do wspomnianego powyżej, współczynnik DCT, na którym dokonywana jest operacja inwersji parzystości, nie odpowiada składowej najwyższej częstotliwości, lecz jest współczynnikiem DCT składowej stałej.
W przykładzie odnoszącym się do fig. 26 omówiono przykład praktycznej konfiguracji inwertera 53 parzystości. Inwerter 53 parzystości jest uproszczoną wersją opisanego inwertera 28 parzystości, przedstawionego na fig. 11. Inwerter 53 parzystości zaopatrzony jest w inwerter 63 bitu LSB, bramki AND, trzecią 64 i czwartą 65, bramkę 66 OR oraz inwerter 71.
W inwerterze 53 parzystości inwerter 63 bitu LSB odwraca bit LSB każdego ze współczynników DCT w bloku współczynników otrzymanych z otrzymanych z kwantyzera inwersyjnego 13. Dokonuje on odwrócenia parzystości każdego ze współczynników DCT. Zwykle sygnał REQ1 żądania przetwarzania nie występuje, tak że inwerter parzystości przekazuje każdy z odebranych współczynników DCT do układu odwrotnej transformacji kosinusoidalnej IDCT (fig. 25) za pośrednictwem trzeciej bramki 64 AND i bramki 69 OR.
Jeśli układ 53 nadawania nieparzystości sumie (fig. 23) odebrał współczynnik DCT najwyższej częstotliwości w bloku, wartość coeff_adrs z licznika 20 wskazuje układowi 21 sprawdzania parzystości, że wartość otrzymana przez ten układjest sumą wszystkich współczynników DCT w bloku. W odpowiedzi na to układ określania parzystości sprawdza, czy suma współczynników jest parzysta, czy nie.
Jeśli układ 21 sprawdzania parzystości stwierdzi, że suma współczynników DCT w bloku jest parzysta, podaje sygnał REQ1 żądania przetwarzania do inwertera 53 przetwarzania parzystości. Sygnał żądania przetwarzania dociera do inwertera 53 parzystości za pośrednictwem opóźniacza 52 równocześnie ze współczynnikiem DCT najwyższej częstotliwości. Sygnał REQ1 żądania przetwarzania zmienia stan bramek AND, trzeciej 64 i czwartej 65. Powoduje to przekazanie współczynnika z odwróconym LSB z inwertera 63 LSB do układu 15 IDCT za pośrednictwem czwartej bramki 65 AND i bramki 69 OR. Współczynnik najwyższej częstotliwości z odwróconym bitem LSB podawany jest do układu IDCT w miejsce normalnego współczynnika najwyższej częstotliwości w celu nadania nieparzystości sumie współczynników podawanych do układu IDCT.
Natomiast, kiedy układ sprawdzania parzystości stwierdzi, że suma współczynników jest nieparzysta, nie wytwarza sygnału żądania przetwarzania. Inwerter 53 parzystości podaje normalny współczynnik DCT najwyższej częstotliwości do układu 15 IDCT za pośrednictwem bramki 64 AND i bramki 69 OR, ponieważ nie jest potrzebne nadawanie nieparzystości sumie współczynników bloku.
Na fig. 27-29 przedstawiono modyfikacje praktyczne inwertera 53 parzystości, przedstawionego na fig. 26. Na fig. 27 przedstawiono układ sumatora +1 podobnego do sumatora +1 z fig. 13 zastępującego inwerter 63 LSB w inwerterze parzystości, przedstawionym na fig. 26.
173 287
Poza tym układ nie jest zmieniony. Inwerter parzystości, zmodyfikowany w sposób przedstawiony na fig. 27 odwraca parzystość każdego ze współczynników DCT w bloku przez dodanie do niego jedności. Tak więc, kiedy układ 21 sprawdzania parzystości podaje. sygnał REQ1 żądania przetwarzania do inwertera parzystości, inwerter parzystości do układu 15 IDCT podaje współczynnik DCT o najwyższej częstotliwości z dodaną jednością zamiast normalnego współczynnika DCT o najwyższej częstotliwości. To podstawienie powoduje, że suma współczynników DCT w bloku jest nieparzysta.
Jak przedstawiono na fig. 28, układem 80 zmniejszania wartości bezwzględnej, przedstawionym na fig. 15, można zastąpić inwerter 63 bitu LSB z układu, przedstawionego na fig. 26. Układ, przedstawiony na fig. 26, poza tym się nie zmienia. Inwerter parzystości, przedstawiony na fig. 26, zmodyfikowany w sposób pokazany na fig. 28, nadaje nieparzystość sumie współczynników DCT zgodnie z podanym równaniem (15). Kiedy układ 21 sprawdzania parzystości spowoduje wygenerowanie sygnału REQ1 żądania przetwarzania, następuje nadanie nieparzystości sumie współczynników DCT bloku przez podanie współczynnika o najwyższej częstotliwości do układu 15 odwrotnej transformacji kosinusoidalnej IDCT z odwróconą parzystością. Parzystość współczynnika DCT o najwyższej częstotliwości zostaje zmieniona jednym z dwóch sposobów: albo następuje odjęcie w subtraktorze 82jedności od współczynnika DCT najwyższej częstotliwości, kiedy współczynnik DCT tej najwyższej częstotliwości jest dodatni, albo następuje dodanie jedności do tego współczynnika w sumatorze 83, kiedy współczynnik DCT o najwyższej częstotliwości jest zerowy lub ujemny.
Jak to pokazano na fig. 29, układ 90 zwiększania wartości bezwzględnej, przedstawiony na fig. 17, zastępuje inwerter 63 bitu LSB w układzie przedstawionym na fig. 26. Układ, przedstawiony na fig. 26, poza tym nie zmienia się. Inwerter parzystości, przedstawiony na fig. 26, zmodyfikowany w sposób pokazany na fig. 29, powoduje nadanie nieparzystości sumie współczynników DCT, zgodnie z podanym równaniem (16). Kiedy układ 21 sprawdzania parzystości spowoduje wygenerowanie sygnału REQ1 żądania przetwarzania, następuje nadanie nieparzystości sumie współczynników DCT bloku przez podanie współczynnika o najwyższej częstotliwości do układu 15 IDCT z odwróconą parzystością. Parzystość współczynnika DCT o najwyższej częstotliwości zostaje zmieniona jednym z dwóch sposobów: albo następuje odjęcie w subtraktorze 93 jedności od współczynnika DCT najwyższej częstotliwości, kiedy współczynnik DCT tej najwyższej częstotliwości jest zerowy lub ujemny, albo następuje dodanie jedności do tego współczynnika w sumatorze 92, kiedy współczynnik DCT o najwyższej częstotliwości jest dodatni.
Obecnie zostanie opisany drugi przykład wykonania ekspandera skomprymowanego sygnału obrazu ruchomego. W tym drugim przykładzie wykonania ekspandera skomprymowanego sygnału obrazu ruchomego, układem 50 nadawania nieparzystości sumie zastąpiono układ 35 nadawania nieparzystości sumie, z pierwszego przykładu dekodera skomprymowanego sygnału obrazu ruchomego, przedstawionego na fig. 19. Układ, przedstawiony na fig. 19, poza tym się nie zmienia. W tym drugim przykładzie wykonania ekspandera skomprymowanego sygnału obrazu ruchomego, nadawanie nieparzystości sumie współczynników bloku odbywa się w sposób podobny do procesu wykonywanego przez układ nadawania nieparzystości sumie w drugim przykładzie wykonania kompresora sygnału obrazu ruchomego, przedstawionego na fig. 22. W tym drugim przykładzie wykonania ekspandera skomprymowanego sygnału obrazu ruchomego podawanie adresu EOB_adrs z inwersyjnego kodera zmiennodługościowego 32 do układu 50 nadawania nieparzystości sumie nie jest konieczne.
Rozwiązanie według wynalazku umożliwia realizację sposobu inwersyjnej dyskretnej transformacji kosinusoidalnej i urządzenia do inwersyjnej dyskretnej transformacji kosinusoidalnej, kompresora sygnału obrazu ruchomego, ekspandera skomprymowanego obrazu ruchomego oraz urządzenia transmisyjnego dla skomprymowanego sygnału obrazu ruchomego, w których zostało niebezpieczeństwo wystąpienia błędu niedopasowania podczas wykonywania dyskretnej transformacji kosinusoidalnej, do tego stopnia, że praktycznie błędy niedopasowania nie występują.
Jeżeli do kompresji sygnału obrazu ruchomego stosuje się dyskretną transformację kosinusoidalną, a do ekspansji wykorzystuje się odwrotną dyskretną transformację kosinusoidalną,
173 287 to wynalazek umożliwia zapobieżenie występowaniu błędów niedopasowania dyskretnej transformacji kosinusoidalnej. Zapobiega to pogorszeniu jakości obrazu. Odpowiednio do tego, w przypadku kompresora sygnału obrazu ruchomego i ekspandera tego sygnału, nie występuje niebezpieczeństwo, że obrazy dekodowane lokalnie w kompresorze i obrazy rekonstruowane przez ekspander będą się różnić. Zatem zapewnia się otrzymanie wysokiej jakości obrazu.
E
ĆT iZ>
> >
CM
Łk
173 287
| 409 (0.0) | 409 (1,0) | 409 (2,0) | 409 (3,0) | 409 (4,0) | 409 (5,0) | 409 (6,0) | 409 (7,0) |
| 568 (0,1) | 481 (1,1) | 321 (2,1) | 113 (3,1) | 113 (4,1) | 321 (5,1) | 481 (6,1) | 568 (7,1) |
| 535 (0,2) | 221 (1,2) | 221 (2,2) | 535 (3,2) | 535 (4,2) | 221 (5,2) | 221 (6,2) | 535 (7,2) |
| 481 (0,3) | 113 (1,3) | 568 (2,3) | 321 (3,3) | 321 (4,3) | 568 (5,3) | 113 (6,3) | 481 (7,3) |
| 409 (0,4) | 409 (1,4) | 409 (2,4) | 409 (3,4) | 409 (4,4) | 409 (5,4) | 409 (6,4) | 409 (7,4) |
| 321 (0,5) | 568 (1,5) | 113 (2,5) | 481 (3,5) | 481 (4,5) | 113 (5,5) | 568 (6,5) | 321 σ,5) |
| 221 (0,6) | 535 (1,6) | 535 (2,6) | 221 (3,6) | 221 (4,6) | 535 (5,6) | 535 (6,6) | 221 J7.6) |
| 113 (0,7) | 321 (1,7) | 481 (2,7) | 568 (3,7) | 568 (4,7) | 481 (5,7) | 321 (6,7) | Ϊ13 (7,7) |
173 287
Mc+k /obłok w€Mr}af>aobrazOwy rec(i,3) = (mquant*2*QAC (i,3)*Wi(i,3)) /16 if(rec(i,3) is an EVEN number && rec(1,3) >0) rec(i,3')=rec(1,3)-1 if(rec(i,j) is an EVEN number && rec(i,]) <0) rec(1,3)=rec(1,3)+1 if(QAC(i,j)==0) rec(i,3)=0
The DC term is special case recd, 1) =8*QDC
Makrobtok rń&-Hinn<sirtibrQMiny if(QAC(i,3)>0) rec(1,3) = ((2*QAC(i,3)+1)*mquant*Wn(i,3))/16 if(QAC(i,j)<0) rec(i,3) = ((2*QAC (i,3)-1)*mquant*Wn(i,3))/16 if(rec(i,3) is an EVEN number && rec(i,3) >0) rec(1,3)=rec(i,3)-1 if(rec(i,j) is an EVEN number && rec(i,3) <0) rec(i,3)=rec(i,3)+1 if(QAC(i,j)==0) rec(i,3) =0
FIG.5
173 287
% +>
<D a
LL
173 287
8x8 WSPÓŁCZYNNIKI DCT
/4 EOBacUs
FSG.8
173 287
FIG.9
173 287
Εθβ_αο05 <3 2 §
ο
V“
LL
173 287
I l·-.
173 287
173 287
EOb.ad®
FIG.13
173 287
FIG.14
173 287
173 287
FIG.16
173 287
EOB
173 287
FIG.18
173 287
VI
Τ)|
X
1* 3 o 3-*
G)
7“ ó
LL
173 287
-J θ
CN ο
ŁL
173 287
IVLO*IZ
FIG.21A ΕΥ_ EN_I I_
FIG.21B ^^1333FIG.21C I I_I I_
FIG.21D warstwa -3 · · ' C 2/> ' ” ’
FIG.21E poziom -ζ IZ—PAMIĘĆ 1 2
FIG.21F mk-i χτγΌσ FIG.21G -GXIXDQ>-CDGJCD—jwarstwa < poziomi HarstisaZ peai©wi2
IZ—P05_RE6
FIG.21H EO&-EN-1 L±
FIG.211 E06-ros-CL—
173 287
SO
FIG.22
173 287
FIG.23
FIG.24
173 287
FIG.25
FIG.26
| Γ 1 | r7J | • π 1 |
| 1 1 | U | 1 |
| 1 | | SUftĄTCt? | 1 |
| 1 L _ | 1 J |
F1G.27
173 287
F1G.28
FIG.29
173 287 c
O co ó
LL
173 287
O /ć?6\j-1 |-1—h strurMien
o*-o 2 o
LL
Departament Wydawnictw UP RP. Nakład 90 egz. Cena 6,00 zł
Claims (15)
- Zastrzeżenia patentowe1. Sposób przetwarzania zespołu współczynników transformaty reprezentujących sygnał obrazu ruchomego, z których każdy ma parzystość, dla otrzymania odpornego na błędy zespołu współczynników transformaty do wykonywania odwrotnej transformacji ortogonalnej, w którym odporny na błędy zespół współczynników, jest odporny na błędy zaokrąglania podczas poddawania go odwrotnej transformacji ortogonalnej, znamienny tym, że sumuje się współczynniki zespołu współczynników transformaty, z otrzymaniem parzystości sumy, sprawdza się parzystość sumy, a w przypadku kiedy suma jest parzysta, odwraca się parzystość jednego ze współczynników transformaty z otrzymaniem współczynnika transformaty o odwróconej parzystości, który powoduje nieparzystość sumy, oraz zestawia się odporny na błędy zespół współczynników transformaty włącznie ze współczynnikiem transformaty o odwróconej parzystości.
- 2. Sposób według zastrz. 1, znamienny tym, że stosuje się przetwarzanie współczynników transformaty otrzymanych z dwuwymiarowej dyskretnej transformacji kosinusoidalnej, przy czym zespół współczynników transformaty zawiera współczynnik reprezentujący składową stałą, a w etapie odwracania parzystości jednego ze współczynników transformaty, przeprowadza się odwrócenie parzystości jednego tych współczynników, innego niż współczynnik reprezentujący składową stałą.
- 3. Sposób według zastrz. 2, znamienny tym, że zespół współczynników transformaty zawiera również współczynnik transformaty reprezentujący składową o najwyższej częstotliwości, a w etapie odwracania parzystości jednego ze współczynników transformaty, przeprowadza się odwrócenie parzystości współczynnika reprezentującego składową o najwyższej częstotliwości.
- 4. Sposób według zastrz. 3, znamienny tym, że każdy ze współczynników transformaty w zespole reprezentowany jest liczbą binarną z najmniej znaczącym bitem, a w etapie odwracania parzystości jednego ze współczynników transformaty, przeprowadza się odwrócenie najmniej znaczącego bitu jednego ze współczynników transformaty.
- 5. Sposób według zastrz. 2, znamienny tym, że każdy ze współczynników transformaty w zespole ma określoną biegunowość, a podczas etapu odwracania parzystości jednego ze współczynników transformaty wyznacza się biegunowość tego współczynnika transformaty, i jeżeli ta biegunowość jest ujemna, dodaje się określoną wartość nieparzystą do tego współczynnika transformaty, a jeżeli ta biegunowość jest dodatnia, odejmuje się określoną wartość nieparzystą od tego współczynnika transformaty.
- 6. Sposób według zastrz. 2, znamienny tym, że wykonuje się etap pobrania współczynników transformaty zespołu w porządku kolejnym, przy czym zespół współczynników transformaty obejmuje ostatnio pobrany współczynnik transformaty, a w etapie odwracania parzystości jednego ze współczynników transformaty, przeprowadza się odwrócenie parzystości ostatniego pobranego współczynnika transformaty.
- 7. Sposób według zastrz. 1, znamienny tym, że wszystkie współczynniki transformaty w zespole mają wartości różne od zera.
- 8. Sposób według zastrz. 1, znamienny tym, że każdy ze współczynników transformaty w zespole reprezentowany jest liczbą binarną z najmniej znaczącym bitem, a w etapie sumowania współczynników transformaty przeprowadza się sumowanie tylko najmniej znaczącego bitu każdego ze współczynników transformaty.
- 9. Sposób według zastrz. 1, znamienny tym, że dokonuje się wyboru współczynników transformaty zespołu z bloku współczynników transformaty.173 287
- 10. Urządzenie do wstępnego przetwarzania zespołu współczynników transformaty reprezentujących sygnał obrazu ruchomego, z których każdy ma parzystość, dla otrzymania odpornego na błędy zespołu współczynników transformaty do wykonywania odwrotnej transformacji ortogonalnej, w którym odporny na błędy zespół współczynników jest odporny na błędy zaokrąglania podczas poddawania go odwrotnej transformacji ortogonalnej, znamienne tym, że wyposażone jest w akumulator (23A) dla przejmowania współczynników transformaty zespołu i gromadzenia ich sumy z zachowaniem parzystości, który połączony jest z układem (21) sprawdzania parzystości otrzymanej sumy, który dołączony jest do inwertera parzystości (28) dla odwrócenia parzystości jednego ze współczynników transformaty i zapewnienie nieparzystości sumy w przypadku gdy suma jest parzysta, który z kolei dołączony jest do wyjściowego układu (15) odwrotnej transformacji kosinusoidalnej zapewniającej uodporniony nabłędy zespół współczynników transformaty, włącznie ze współczynnikiem transformaty o odwróconej parzystości, który to układ (15) jest układem wyjściowym układu (14) nadawania nieparzystości sumie.
- 11. Urządzenie według zastrz. 10, znamienne tym, że układ (14) nadawania nieparzystości sumie stanowi układ przetwarzania współczynników transformaty otrzymanych z dwuwymiarowej dyskretnej transformacji kosinusoidalnej, który to zespół współczynników transformaty zawiera współczynnik reprezentujący składową stałą, przy czym inwerter parzystości (28) zawiera elementy do odwracania parzystości jednego ze współczynników transformaty, innego niż współczynnik reprezentujący składową stałą.
- 12. Urządzenie według zastrz. 11, znamienne tym, że w przypadku gdy zespół współczynników transformaty zawiera również współczynnik transformaty reprezentujący składową o najwyższej częstotliwości, inwerter parzystości (28) zawiera elementy do odwracania parzystości współczynnika reprezentującego składową o najwyższej częstotliwości.
- 13. Urządzenie według zastrz. 12, znamienne tym, że w przypadku gdy każdy ze współczynników transformaty w zespole reprezentowany jest liczbą binarną z najmniej znaczącym bitem, inwerter parzystości (28) zawiera elementy do odwracania najmniej znaczącego bitu jednego ze współczynników transformaty.
- 14. Urządzenie według zastrz. 10, znamienne tym, że w przypadku gdy każdy ze współczynników transformaty w zespole reprezentowany jest liczbą binarną z najmniej znaczącym bitem, akumulator (23A) zaopatrzony jest w elementy sumowania tylko najmniej znaczącego bitu każdego ze współczynników transformaty.
- 15. Urządzenie według zastrz. 10, znamienne tym, że układ (14) nadawania nieparzystości sumie, wyposażony jest w selektor pamięci (22) dla wyboru współczynników transformaty zespołu z bloku współczynników transformaty.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4020393 | 1993-03-01 | ||
| JP5990993 | 1993-03-19 | ||
| PCT/JP1994/000329 WO1994021083A1 (en) | 1993-03-01 | 1994-03-01 | Methods and apparatus for preventing rounding errors when transform coefficients representing a motion picture signal are inversely transformed |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| PL306007A1 PL306007A1 (en) | 1995-02-20 |
| PL173287B1 true PL173287B1 (pl) | 1998-02-27 |
Family
ID=26379647
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PL94306007A PL173287B1 (pl) | 1993-03-01 | 1994-03-01 | Sposób i urządzenie do przetwarzania zespołu współczynników transformaty reprezentujących sygnał obrazu ruchomego |
Country Status (28)
| Country | Link |
|---|---|
| US (2) | US5481553A (pl) |
| EP (5) | EP0638218B1 (pl) |
| JP (2) | JP3610578B2 (pl) |
| KR (1) | KR100287490B1 (pl) |
| CN (1) | CN1076935C (pl) |
| AT (2) | ATE252806T1 (pl) |
| AU (1) | AU673244B2 (pl) |
| BR (1) | BR9404321A (pl) |
| CA (1) | CA2134444C (pl) |
| DE (2) | DE69421135T2 (pl) |
| DK (5) | DK2276259T3 (pl) |
| EG (1) | EG20330A (pl) |
| ES (5) | ES2209032T3 (pl) |
| FI (1) | FI112579B (pl) |
| GR (1) | GR3032133T3 (pl) |
| HU (1) | HU217744B (pl) |
| IL (1) | IL108787A (pl) |
| MY (1) | MY110794A (pl) |
| NO (2) | NO314709B1 (pl) |
| NZ (1) | NZ261907A (pl) |
| OA (1) | OA10108A (pl) |
| PL (1) | PL173287B1 (pl) |
| PT (4) | PT954182E (pl) |
| RO (1) | RO115926B1 (pl) |
| RU (1) | RU2119727C1 (pl) |
| TR (1) | TR28436A (pl) |
| TW (1) | TW224553B (pl) |
| WO (1) | WO1994021083A1 (pl) |
Families Citing this family (162)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5515388A (en) * | 1993-03-19 | 1996-05-07 | Sony Corporation | Apparatus and method for preventing repetitive random errors in transform coefficients representing a motion picture signal |
| EP0671816B1 (en) * | 1993-09-28 | 2000-03-29 | Sony Corporation | Encoding/decoding device with all odd or all even value rounding |
| US5796438A (en) * | 1994-07-05 | 1998-08-18 | Sony Corporation | Methods and apparatus for interpolating picture information |
| JP3794502B2 (ja) | 1994-11-29 | 2006-07-05 | ソニー株式会社 | 画像領域抽出方法及び画像領域抽出装置 |
| US5623423A (en) * | 1994-12-12 | 1997-04-22 | Univ. Of Texas | Apparatus and method for video decoding |
| US5675666A (en) * | 1995-03-02 | 1997-10-07 | Sony Corportion | Image data compression method and apparatus with pre-processing to compensate for the blocky effect |
| JP3855286B2 (ja) * | 1995-10-26 | 2006-12-06 | ソニー株式会社 | 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体 |
| JPH09128529A (ja) * | 1995-10-30 | 1997-05-16 | Sony Corp | ディジタル画像の雑音の投影に基づく除去方法 |
| KR100355375B1 (ko) * | 1995-11-01 | 2002-12-26 | 삼성전자 주식회사 | 영상부호화장치에있어서양자화간격결정방법및회로 |
| JP3994445B2 (ja) * | 1995-12-05 | 2007-10-17 | ソニー株式会社 | 動きベクトル検出装置及び動きベクトル検出方法 |
| US6256349B1 (en) * | 1995-12-28 | 2001-07-03 | Sony Corporation | Picture signal encoding method and apparatus, picture signal transmitting method, picture signal decoding method and apparatus and recording medium |
| US6057893A (en) * | 1995-12-28 | 2000-05-02 | Sony Corporation | Picture encoding method, picture encoding apparatus, picture transmitting method and picture recording medium |
| US5822005A (en) * | 1996-01-11 | 1998-10-13 | Tektronix, Inc. | Pre-oddification |
| US5751617A (en) * | 1996-04-22 | 1998-05-12 | Samsung Electronics Co., Ltd. | Calculating the average of two integer numbers rounded away from zero in a single instruction cycle |
| US5710732A (en) * | 1996-04-22 | 1998-01-20 | Samsung Electronics Co., Ltd. | Calculating the average of four integer numbers rounded away from zero in a single instruction cycle |
| TW357327B (en) * | 1996-08-02 | 1999-05-01 | Sony Corp | Methods, apparatus and program storage device for removing scratch or wire noise, and recording media therefor |
| US5930159A (en) * | 1996-10-17 | 1999-07-27 | Samsung Electronics Co., Ltd | Right-shifting an integer operand and rounding a fractional intermediate result to obtain a rounded integer result |
| US6345121B1 (en) | 1996-11-07 | 2002-02-05 | Matsushita Electric Industrial Co., Ltd. | Image encoding apparatus and an image decoding apparatus |
| US5917739A (en) * | 1996-11-14 | 1999-06-29 | Samsung Electronics Co., Ltd. | Calculating the average of four integer numbers rounded towards zero in a single instruction cycle |
| US6007232A (en) * | 1996-11-14 | 1999-12-28 | Samsung Electronics Co., Ltd. | Calculating the average of two integer numbers rounded towards zero in a single instruction cycle |
| EP0786907A3 (en) * | 1997-01-24 | 2001-06-13 | Texas Instruments Incorporated | Video encoder |
| CN1217852A (zh) * | 1997-02-13 | 1999-05-26 | 三菱电机株式会社 | 动态图象预测方式 |
| WO1998041012A1 (en) * | 1997-03-12 | 1998-09-17 | Matsushita Electric Industrial Co., Ltd. | Mpeg decoder providing multiple standard output signals |
| US6078616A (en) | 1997-03-13 | 2000-06-20 | Sony Corporation | Methods and apparatus for error concealment utilizing temporal domain motion vector estimation |
| US6128340A (en) * | 1997-03-14 | 2000-10-03 | Sony Corporation | Decoder system with 2.53 frame display buffer |
| AU1941797A (en) * | 1997-03-17 | 1998-10-12 | Mitsubishi Denki Kabushiki Kaisha | Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system |
| US5903311A (en) * | 1997-05-30 | 1999-05-11 | Sony Corporation | Run level pair buffering for fast variable length decoder circuit |
| US7801380B2 (en) * | 1997-06-09 | 2010-09-21 | Hitachi, Ltd. | Recording medium having recorded thereon coded information using plus and/or minus rounding of images |
| EP2285119B1 (en) * | 1997-06-09 | 2015-08-05 | Hitachi, Ltd. | Image decoding method |
| US6574371B2 (en) | 1997-06-09 | 2003-06-03 | Hitachi, Ltd. | Image decoding method |
| SE512171C2 (sv) * | 1997-07-02 | 2000-02-07 | Forskarpatent I Linkoeping Ab | Videoöverföring |
| US6351563B1 (en) * | 1997-07-09 | 2002-02-26 | Hyundai Electronics Ind. Co., Ltd. | Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers |
| WO1999010719A1 (en) | 1997-08-29 | 1999-03-04 | The Regents Of The University Of California | Method and apparatus for hybrid coding of speech at 4kbps |
| AU728938B2 (en) * | 1997-09-29 | 2001-01-18 | Canon Kabushiki Kaisha | A method for data compression |
| US6937659B1 (en) | 1997-11-14 | 2005-08-30 | Ac Capital Management, Inc. | Apparatus and method for compressing video information |
| US6222832B1 (en) * | 1998-06-01 | 2001-04-24 | Tantivy Communications, Inc. | Fast Acquisition of traffic channels for a highly variable data rate reverse link of a CDMA wireless communication system |
| US6137844A (en) * | 1998-02-02 | 2000-10-24 | Oki Telecom, Inc. | Digital filter for noise and error removal in transmitted analog signals |
| EP0936743A1 (fr) * | 1998-02-17 | 1999-08-18 | Koninklijke Philips Electronics N.V. | Décodage itératif pour codes binaires en bloc |
| US6058143A (en) * | 1998-02-20 | 2000-05-02 | Thomson Licensing S.A. | Motion vector extrapolation for transcoding video sequences |
| GB2335815B (en) * | 1998-03-25 | 2002-02-27 | Sony Uk Ltd | Data compression |
| US6148317A (en) * | 1998-08-14 | 2000-11-14 | Qualcomm Incorporated | Method and apparatus for compressing signals in a fixed point format without introducing a bias |
| US6256422B1 (en) * | 1998-11-04 | 2001-07-03 | International Business Machines Corporation | Transform-domain correction of real-domain errors |
| US6393155B1 (en) * | 1998-11-04 | 2002-05-21 | International Business Machines Corporation | Error reduction in transformed digital data |
| AU4189700A (en) * | 1999-04-01 | 2000-11-02 | Ravisent Technologies, Inc. | Optimal handling and manipulation of high-speed streaming media in a computing device |
| US6567557B1 (en) | 1999-12-10 | 2003-05-20 | Stmicroelectronics, Inc. | Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences |
| GB2352905B (en) * | 1999-07-30 | 2003-10-29 | Sony Uk Ltd | Data compression |
| US6735249B1 (en) * | 1999-08-11 | 2004-05-11 | Nokia Corporation | Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding |
| US6377627B1 (en) | 1999-08-31 | 2002-04-23 | Sony Corporation | Method and apparatus for decoding MPEG video data |
| RU2158061C1 (ru) * | 1999-09-13 | 2000-10-20 | Зубарев Юрий Борисович | Устройство цифрового декодирования компрессированного цифровыми методами цветового телевизионного сигнала |
| US6529634B1 (en) * | 1999-11-08 | 2003-03-04 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression |
| US6639943B1 (en) * | 1999-11-23 | 2003-10-28 | Koninklijke Philips Electronics N.V. | Hybrid temporal-SNR fine granular scalability video coding |
| US6456663B1 (en) | 2000-03-29 | 2002-09-24 | Matsushita Electric Industrial Co., Ltd. | DCT domain down conversion system that compensates for IDCT mismatch |
| GB2364459B (en) * | 2000-06-30 | 2004-03-31 | Nokia Mobile Phones Ltd | Video error resilience |
| US7168069B1 (en) | 2000-07-12 | 2007-01-23 | Stmicroelectronics, Inc. | Dynamic generation of multimedia code for image processing |
| EP1176833A3 (en) * | 2000-07-25 | 2012-06-27 | Panasonic Corporation | Image decoding method, image decoding apparatus, and data storage medium |
| FR2815748B1 (fr) * | 2000-10-20 | 2003-01-24 | Canon Kk | Procede et dispositif de traitement et de decodage d'un signal numerique code |
| US8374237B2 (en) | 2001-03-02 | 2013-02-12 | Dolby Laboratories Licensing Corporation | High precision encoding and decoding of video images |
| US7782936B2 (en) | 2001-11-06 | 2010-08-24 | Panasonic Corporation | Moving picture coding method and moving picture decoding method |
| KR100434740B1 (ko) * | 2001-11-09 | 2004-06-10 | 주식회사 휴맥스 | 디지털 방송 프로그램에서의 저배속 재생방법 |
| CN1266947C (zh) * | 2001-12-25 | 2006-07-26 | 松下电器产业株式会社 | 活动图象压缩编码装置及运动矢量检测方法 |
| WO2003084076A1 (en) * | 2002-04-02 | 2003-10-09 | Nokia Corporation | Coding transform coefficients in image / video encoder and/or decoders |
| KR100491530B1 (ko) | 2002-05-03 | 2005-05-27 | 엘지전자 주식회사 | 모션 벡터 결정 방법 |
| US7016547B1 (en) * | 2002-06-28 | 2006-03-21 | Microsoft Corporation | Adaptive entropy encoding/decoding for screen capture content |
| DE60330198D1 (de) * | 2002-09-04 | 2009-12-31 | Microsoft Corp | Entropische Kodierung mittels Anpassung des Kodierungsmodus zwischen Niveau- und Lauflängenniveau-Modus |
| US7433824B2 (en) * | 2002-09-04 | 2008-10-07 | Microsoft Corporation | Entropy coding by adapting coding between level and run-length/level modes |
| ES2356085T3 (es) * | 2002-10-04 | 2011-04-04 | Lg Electronics, Inc. | Método de cálculo de vectores de movimiento de modo directo para imágenes b. |
| KR100506864B1 (ko) | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
| RU2321966C2 (ru) * | 2002-10-04 | 2008-04-10 | Эл Джи Электроникс Инк. | Способ определения векторов движения в режиме прямого предсказания для в-кадра |
| RU2264049C2 (ru) * | 2002-10-08 | 2005-11-10 | Эл Джи Электроникс Инк. | Способ определения векторов движения в режиме прямого предсказания для в-кадра |
| ATE354236T1 (de) * | 2002-11-12 | 2007-03-15 | Koninkl Philips Electronics Nv | Entzerrer zur abtastwertweisen entscheidungsrueckmeldung im transformationsbereich |
| US7292867B2 (en) * | 2003-01-16 | 2007-11-06 | Bones In Motion, Inc. | Location-aware fitness training device, methods, and program products that support real-time interactive communication and automated route generation |
| US7403561B2 (en) * | 2003-04-04 | 2008-07-22 | Avid Technology, Inc. | Fixed bit rate, intraframe compression and decompression of video |
| RU2242094C2 (ru) * | 2003-06-06 | 2004-12-10 | Закрытое акционерное общество Научно-технический центр "Модуль" | Способ поиска векторов движения деталей в динамических изображениях на основе двумерного дискретного спектрального преобразования |
| US7602851B2 (en) * | 2003-07-18 | 2009-10-13 | Microsoft Corporation | Intelligent differential quantization of video coding |
| US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
| US7580584B2 (en) * | 2003-07-18 | 2009-08-25 | Microsoft Corporation | Adaptive multiple quantization |
| US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
| US8218624B2 (en) * | 2003-07-18 | 2012-07-10 | Microsoft Corporation | Fractional quantization step sizes for high bit rates |
| US7782954B2 (en) * | 2003-09-07 | 2010-08-24 | Microsoft Corporation | Scan patterns for progressive video content |
| US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
| US7688894B2 (en) * | 2003-09-07 | 2010-03-30 | Microsoft Corporation | Scan patterns for interlaced video content |
| DE10345995B4 (de) | 2003-10-02 | 2005-07-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten |
| US7801383B2 (en) * | 2004-05-15 | 2010-09-21 | Microsoft Corporation | Embedded scalar quantizers with arbitrary dead-zone ratios |
| US8331445B2 (en) * | 2004-06-01 | 2012-12-11 | Qualcomm Incorporated | Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques |
| EP1815687A1 (en) * | 2004-11-16 | 2007-08-08 | Koninklijke Philips Electronics N.V. | Sender side channel adaptive video transmission |
| KR100669634B1 (ko) * | 2004-12-06 | 2007-01-15 | 엘지전자 주식회사 | 동영상 압축 및 복원 방법 |
| US8311119B2 (en) * | 2004-12-31 | 2012-11-13 | Microsoft Corporation | Adaptive coefficient scan order |
| JP4270161B2 (ja) * | 2005-04-15 | 2009-05-27 | ソニー株式会社 | 情報記録再生システム、情報記録再生装置及び情報記録再生方法 |
| US8422546B2 (en) | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
| US7684981B2 (en) * | 2005-07-15 | 2010-03-23 | Microsoft Corporation | Prediction of spectral coefficients in waveform coding and decoding |
| US7693709B2 (en) | 2005-07-15 | 2010-04-06 | Microsoft Corporation | Reordering coefficients for waveform coding or decoding |
| US7599840B2 (en) * | 2005-07-15 | 2009-10-06 | Microsoft Corporation | Selectively using multiple entropy models in adaptive coding and decoding |
| US7933337B2 (en) * | 2005-08-12 | 2011-04-26 | Microsoft Corporation | Prediction of transform coefficients for image compression |
| US7565018B2 (en) * | 2005-08-12 | 2009-07-21 | Microsoft Corporation | Adaptive coding and decoding of wide-range coefficients |
| US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
| US7974340B2 (en) * | 2006-04-07 | 2011-07-05 | Microsoft Corporation | Adaptive B-picture quantization control |
| US8059721B2 (en) | 2006-04-07 | 2011-11-15 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation |
| US8130828B2 (en) | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
| US7995649B2 (en) | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
| US8503536B2 (en) * | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
| JP2007300517A (ja) * | 2006-05-02 | 2007-11-15 | Sony Corp | 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置 |
| US8711925B2 (en) * | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
| US8571340B2 (en) | 2006-06-26 | 2013-10-29 | Qualcomm Incorporated | Efficient fixed-point approximations of forward and inverse discrete cosine transforms |
| RU2419855C2 (ru) * | 2006-06-26 | 2011-05-27 | Квэлкомм Инкорпорейтед | Снижение ошибок в ходе вычисления обратного дискретного косинусного преобразования |
| US8385424B2 (en) | 2006-06-26 | 2013-02-26 | Qualcomm Incorporated | Reduction of errors during computation of inverse discrete cosine transform |
| US8275045B2 (en) | 2006-07-12 | 2012-09-25 | Qualcomm Incorporated | Video compression using adaptive variable length codes |
| US20080036864A1 (en) * | 2006-08-09 | 2008-02-14 | Mccubbrey David | System and method for capturing and transmitting image data streams |
| RU2409003C1 (ru) * | 2006-10-12 | 2011-01-10 | Квэлкомм Инкорпорейтед | Выбор таблицы кодирования с переменной длиной на основании типа видеоблока для совершенствования кодирования коэффициентов |
| US9319700B2 (en) | 2006-10-12 | 2016-04-19 | Qualcomm Incorporated | Refinement coefficient coding based on history of corresponding transform coefficient values |
| US8565314B2 (en) | 2006-10-12 | 2013-10-22 | Qualcomm Incorporated | Variable length coding table selection based on block type statistics for refinement coefficient coding |
| US8599926B2 (en) | 2006-10-12 | 2013-12-03 | Qualcomm Incorporated | Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers |
| US8325819B2 (en) | 2006-10-12 | 2012-12-04 | Qualcomm Incorporated | Variable length coding table selection based on video block type for refinement coefficient coding |
| RU2420910C2 (ru) * | 2006-10-12 | 2011-06-10 | Квэлкомм Инкорпорейтед | Кодирование коэффициентов уточнения, основанное на предыстории соответствующих значений коэффициентов преобразования |
| DE102006049232B4 (de) * | 2006-10-18 | 2010-02-04 | Ods Technology Gmbh | Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation |
| US8300698B2 (en) * | 2006-10-23 | 2012-10-30 | Qualcomm Incorporated | Signalling of maximum dynamic range of inverse discrete cosine transform |
| US8238424B2 (en) * | 2007-02-09 | 2012-08-07 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression |
| US8184710B2 (en) * | 2007-02-21 | 2012-05-22 | Microsoft Corporation | Adaptive truncation of transform coefficient data in a transform-based digital media codec |
| RU2420023C1 (ru) * | 2007-03-13 | 2011-05-27 | Нокиа Корпорейшн | Система и способ кодирования и декодирования видеосигналов |
| US8498335B2 (en) * | 2007-03-26 | 2013-07-30 | Microsoft Corporation | Adaptive deadzone size adjustment in quantization |
| RU2479937C2 (ru) * | 2007-03-30 | 2013-04-20 | Сони Корпорейшн | Устройство и способ обработки информации |
| US8243797B2 (en) | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
| KR101370286B1 (ko) | 2007-04-06 | 2014-03-06 | 삼성전자주식회사 | 레지듀얼 블록의 변형을 이용한 영상 부호화, 복호화 방법및 장치 |
| US8442337B2 (en) * | 2007-04-18 | 2013-05-14 | Microsoft Corporation | Encoding adjustments for animation content |
| US8331438B2 (en) | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
| US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
| US8571104B2 (en) | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
| US8619853B2 (en) | 2007-06-15 | 2013-12-31 | Qualcomm Incorporated | Separable directional transforms |
| KR101401967B1 (ko) * | 2007-12-04 | 2014-06-27 | 삼성전자주식회사 | 암호화된 데이터 스트림의 트릭 플레이 방법 및 장치 |
| US8189933B2 (en) * | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
| US8179974B2 (en) * | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
| US8897359B2 (en) * | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
| RU2471306C2 (ru) * | 2008-06-27 | 2012-12-27 | Сони Корпорейшн | Устройство обработки изображений и способ обработки изображений |
| WO2009157580A1 (ja) * | 2008-06-27 | 2009-12-30 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
| CN101785318B (zh) * | 2008-06-27 | 2012-12-12 | 索尼公司 | 图像处理装置和图像处理方法 |
| US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
| US8798152B2 (en) * | 2008-09-11 | 2014-08-05 | General Instrument Corporation | Method and apparatus for fast motion estimation |
| RU2375838C1 (ru) * | 2008-11-19 | 2009-12-10 | Федеральное государственное унитарное предприятие "Научно-исследовательский институт телевидения" | Способ кодирования и декодирования видеоинформации на основе трехмерного дискретного косинусного преобразования |
| JP2012516626A (ja) | 2009-01-27 | 2012-07-19 | トムソン ライセンシング | ビデオ符号化およびビデオ復号における変換の選択のための方法および装置 |
| EP2222086A1 (de) * | 2009-02-18 | 2010-08-25 | EcoDisc Technology AG | Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation |
| US8457425B2 (en) * | 2009-06-09 | 2013-06-04 | Sony Corporation | Embedded graphics coding for images with sparse histograms |
| KR101456498B1 (ko) * | 2009-08-14 | 2014-10-31 | 삼성전자주식회사 | 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
| JP5530198B2 (ja) * | 2009-11-20 | 2014-06-25 | パナソニック株式会社 | 画像符号化方法、復号化方法、装置 |
| RU2420912C1 (ru) * | 2009-11-24 | 2011-06-10 | Федеральное государственное унитарное предприятие "Научно-исследовательский институт телевидения" | Способ распространения и транскодирования видеоконтента |
| JP5546329B2 (ja) * | 2010-04-14 | 2014-07-09 | キヤノン株式会社 | データ変換装置 |
| KR101690253B1 (ko) * | 2010-05-06 | 2016-12-27 | 삼성전자주식회사 | 영상 처리 장치 및 그 방법 |
| GB2483282B (en) * | 2010-09-03 | 2017-09-13 | Advanced Risc Mach Ltd | Data compression and decompression using relative and absolute delta values |
| US9268723B2 (en) * | 2011-12-21 | 2016-02-23 | Intel Corporation | Dram compression scheme to reduce power consumption in motion compensation and display refresh |
| US9008184B2 (en) | 2012-01-20 | 2015-04-14 | Blackberry Limited | Multiple sign bit hiding within a transform unit |
| EP2675159B1 (en) * | 2012-06-15 | 2018-08-08 | BlackBerry Limited | Multi-bit information hiding using overlapping subsets |
| CN104380740A (zh) * | 2012-06-29 | 2015-02-25 | 索尼公司 | 编码装置、编码方法、解码装置和解码方法 |
| US20140133574A1 (en) * | 2012-11-13 | 2014-05-15 | Mediatek Inc. | Method and Apparatus for Sign Data Hiding of Video and Image Data |
| CN105103226B (zh) * | 2013-01-29 | 2019-04-16 | 弗劳恩霍夫应用研究促进协会 | 低复杂度音调自适应音频信号量化 |
| US10306229B2 (en) | 2015-01-26 | 2019-05-28 | Qualcomm Incorporated | Enhanced multiple transforms for prediction residual |
| US10623777B2 (en) | 2016-02-16 | 2020-04-14 | Samsung Electronics Co., Ltd. | Image encoding method and apparatus, and image decoding method and apparatus |
| US10623774B2 (en) | 2016-03-22 | 2020-04-14 | Qualcomm Incorporated | Constrained block-level optimization and signaling for video coding tools |
| US10225562B1 (en) * | 2017-08-21 | 2019-03-05 | Google Llc | Embedding information about EOB positions |
| US11323748B2 (en) | 2018-12-19 | 2022-05-03 | Qualcomm Incorporated | Tree-based transform unit (TU) partition for video coding |
| US11962757B2 (en) | 2019-03-23 | 2024-04-16 | Lg Electronics Inc. | Residual signal encoding/decoding method and apparatus employing intra sub-partitions (ISP), and method for transmitting bitstream |
| WO2021038625A1 (ja) | 2019-08-23 | 2021-03-04 | 三菱電機株式会社 | 画像送信装置、画像受信装置、画像送信プログラム及び画像受信プログラム |
| KR102771901B1 (ko) | 2020-06-19 | 2025-02-25 | 삼성전자주식회사 | 일 함수 층들을 갖는 반도체 소자들 |
| KR102788873B1 (ko) | 2020-06-24 | 2025-03-31 | 삼성전자주식회사 | 캡핑층을 포함하는 반도체 소자 |
| KR102820462B1 (ko) | 2020-06-24 | 2025-06-16 | 삼성전자주식회사 | 게이트 라인을 포함하는 집적회로 소자 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3138816A1 (de) * | 1981-09-30 | 1983-04-14 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Anordnung zum speichern oder uebertragen und zum rueckgewinnen von bildsignalen |
| EP0232417B1 (de) * | 1985-10-02 | 1991-11-06 | Deutsche Thomson-Brandt GmbH | Verfahren zur korrektur von übertragungsfehlern |
| EP0238254B1 (en) * | 1986-03-20 | 1992-05-27 | AT&T Corp. | Data compression using block list transform |
| US5218650A (en) * | 1991-01-02 | 1993-06-08 | Ricoh Corporation | Quantization method for use in image compression |
| JP2909239B2 (ja) * | 1991-03-27 | 1999-06-23 | 株式会社東芝 | 高能率符号化記録再生装置 |
-
1993
- 1993-08-19 TW TW82106688A patent/TW224553B/zh not_active IP Right Cessation
-
1994
- 1994-02-28 US US08/202,783 patent/US5481553A/en not_active Expired - Lifetime
- 1994-02-28 MY MYPI94000473A patent/MY110794A/en unknown
- 1994-02-28 IL IL10878794A patent/IL108787A/xx not_active IP Right Cessation
- 1994-02-28 EG EG12294A patent/EG20330A/xx active
- 1994-03-01 DK DK11843994T patent/DK2276259T3/da active
- 1994-03-01 RO RO94-01753A patent/RO115926B1/ro unknown
- 1994-03-01 DE DE69421135T patent/DE69421135T2/de not_active Expired - Lifetime
- 1994-03-01 ES ES98119828T patent/ES2209032T3/es not_active Expired - Lifetime
- 1994-03-01 DK DK98119828T patent/DK0903944T3/da active
- 1994-03-01 PT PT99113786T patent/PT954182E/pt unknown
- 1994-03-01 DK DK94907708T patent/DK0638218T3/da active
- 1994-03-01 ES ES99113786T patent/ES2389797T3/es not_active Expired - Lifetime
- 1994-03-01 PT PT10011642T patent/PT2276258E/pt unknown
- 1994-03-01 DE DE1994633272 patent/DE69433272T2/de not_active Expired - Lifetime
- 1994-03-01 BR BR9404321A patent/BR9404321A/pt not_active IP Right Cessation
- 1994-03-01 TR TR17194A patent/TR28436A/xx unknown
- 1994-03-01 ES ES10011843T patent/ES2389766T3/es not_active Expired - Lifetime
- 1994-03-01 AU AU61161/94A patent/AU673244B2/en not_active Expired
- 1994-03-01 AT AT98119828T patent/ATE252806T1/de active
- 1994-03-01 EP EP19940907708 patent/EP0638218B1/en not_active Expired - Lifetime
- 1994-03-01 AT AT94907708T patent/ATE185663T1/de active
- 1994-03-01 DK DK99113786T patent/DK0954182T3/da active
- 1994-03-01 EP EP19980119828 patent/EP0903944B1/en not_active Expired - Lifetime
- 1994-03-01 KR KR1019940703928A patent/KR100287490B1/ko not_active Expired - Lifetime
- 1994-03-01 PT PT10011843T patent/PT2276259E/pt unknown
- 1994-03-01 ES ES94907708T patent/ES2137358T3/es not_active Expired - Lifetime
- 1994-03-01 EP EP20100011843 patent/EP2276259B1/en not_active Expired - Lifetime
- 1994-03-01 ES ES10011642T patent/ES2389718T3/es not_active Expired - Lifetime
- 1994-03-01 EP EP20100011642 patent/EP2276258B1/en not_active Expired - Lifetime
- 1994-03-01 CA CA 2134444 patent/CA2134444C/en not_active Expired - Lifetime
- 1994-03-01 JP JP51980994A patent/JP3610578B2/ja not_active Expired - Lifetime
- 1994-03-01 RU RU94045924A patent/RU2119727C1/ru active
- 1994-03-01 PT PT98119828T patent/PT903944E/pt unknown
- 1994-03-01 WO PCT/JP1994/000329 patent/WO1994021083A1/en not_active Ceased
- 1994-03-01 PL PL94306007A patent/PL173287B1/pl unknown
- 1994-03-01 CN CN94190162A patent/CN1076935C/zh not_active Expired - Lifetime
- 1994-03-01 NZ NZ261907A patent/NZ261907A/en not_active IP Right Cessation
- 1994-03-01 DK DK11642594T patent/DK2276258T3/da active
- 1994-03-01 HU HU9403127A patent/HU217744B/hu unknown
- 1994-03-01 EP EP19990113786 patent/EP0954182B1/en not_active Expired - Lifetime
- 1994-10-31 FI FI945106A patent/FI112579B/fi not_active IP Right Cessation
- 1994-10-31 NO NO19944138A patent/NO314709B1/no not_active IP Right Cessation
- 1994-11-01 OA OA60577A patent/OA10108A/en unknown
-
1995
- 1995-05-30 US US08/453,023 patent/US5590139A/en not_active Expired - Lifetime
-
1999
- 1999-12-15 GR GR990403218T patent/GR3032133T3/el unknown
-
2001
- 2001-02-15 NO NO20010762A patent/NO314710B1/no not_active IP Right Cessation
- 2001-02-28 JP JP2001055933A patent/JP3593988B2/ja not_active Expired - Lifetime
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| PL173287B1 (pl) | Sposób i urządzenie do przetwarzania zespołu współczynników transformaty reprezentujących sygnał obrazu ruchomego | |
| US6359929B1 (en) | Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium | |
| US6643409B1 (en) | Coded image recording medium | |
| EP0585051B1 (en) | Image processing method and apparatus | |
| US20080294962A1 (en) | Efficient Encoding/Decoding of a Sequence of Data Frames | |
| US20090297053A1 (en) | Image encoding device and image encoding method | |
| US6539058B1 (en) | Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders | |
| US10104389B2 (en) | Apparatus, method and non-transitory medium storing program for encoding moving picture | |
| KR20010072420A (ko) | 이미지 프로세싱 동안에 2차원 변환을 실행하기 위한 회로및 방법 | |
| US20060280245A1 (en) | MPEG video storage address generation apparatuses and methods for uniformly fetching and storing video data | |
| US5614953A (en) | Image signal decoding apparatus having an encoding error compensation | |
| US8634466B2 (en) | Video decoder plus a discrete cosine transform unit | |
| JPH05308662A (ja) | 高能率符号化装置 | |
| HK1025448B (en) | Apparatus for preventing rounding errors at inverse transforming of transform coefficients of a motion picture signal | |
| HK1013575B (en) | Methods for preventing rounding errors when transform coefficients representing a motion picture signal are inversely transformed | |
| JPH07264593A (ja) | 画像符号化装置 |