PL186340B1 - Sposób i urządzenie do kodowania obrazu wizyjnegooraz urządzenie do odbioru i dekodowania sygnału obrazu wizyjnego - Google Patents
Sposób i urządzenie do kodowania obrazu wizyjnegooraz urządzenie do odbioru i dekodowania sygnału obrazu wizyjnegoInfo
- Publication number
- PL186340B1 PL186340B1 PL96316679A PL31667996A PL186340B1 PL 186340 B1 PL186340 B1 PL 186340B1 PL 96316679 A PL96316679 A PL 96316679A PL 31667996 A PL31667996 A PL 31667996A PL 186340 B1 PL186340 B1 PL 186340B1
- Authority
- PL
- Poland
- Prior art keywords
- color
- series
- predominant
- code
- length
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 239000003086 colorant Substances 0.000 claims abstract description 37
- 230000008859 change Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 5
- 239000000463 material Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
- H04N11/042—Codec means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
- H04N1/644—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor using a reduced set of representative colours, e.g. each representing a particular range in a colour space
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Color Television Systems (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Processing Of Color Television Signals (AREA)
Abstract
1 S p osób k od ow an ia obrazu w iz y jn e g o , w którym koduje sie w artosci k oloru p ik seli d la ramki c y fr o w e g o obrazu w izy jn eg o , a k azd em u roznem u k o lo ro w i w obrazie p rzyp isu je sie w artosc k oloru , z n a m ie n n y ty m , ze w y z n a c z a sie k olor p rze w a za jacy dla ram ki obrazu i szeregi przynajm niej d w ó ch k o lein y c h p ik seli k oloru p rze w a za ja c eg o k odu je s ie jako p ierw - sze s lo w o k o d o w e w sk a zu jace s z e r e g oraz drugie s lo w o k o d o - w e w sk a zu jace d lu g o sc s zere g u , przy cz y m p ik sele m a jace k olory inne n iz k olor p rzew azajacy k odu je sie ja k o k ody z a w ie - rajace p rzyn ajm niej o d p o w ie d n ie w artosci koloru 11 U rzad zen ie do k o d o w a n ia obrazu w iz y jn e g o , d o - sto so w a n e do k o d o w a n ia w a rto sci koloru p ik seli d la ramki c y fr o w e g o obrazu w iz y jn e g o p rzez p rzyp isan ie k azd em u ró z- nem u k olorow i w ob razie o d p o w ie d n iej w artosci k oloru , z n a - m ie n n e tym , z e jest zaop atrzon e w z e sp ó l w y zn a cza n ia k oloru p rzew a za ja ceg o d la ramki ob razu , a urzad zenie zaw iera srodki d o sto so w a n e d o w y zn a czen ia szere g ó w przynajm niej d w óch k o lejn y ch p ik seli k oloru p rzew a za ja c eg o i zak o d o w a n ia k a zd e- g o tak iego szeregu |ak o p ie r w sz e g o s lo w a k o d o w e g o w sk a z u ja- c e g o szere g oraz d ru g ieg o s lo w a k o d o w e g o w sk a z u ja ce g o d lu g o sc szeregu , oraz srodki d o sto so w a n e d o w y z n a c z e n ia p ik seli m ajacych k olory inne n iz k olor p rzew az a jacy i k od ow an ia ich jako k od ó w z a w ie ra jacy ch p rzyn ajm n ie j o d p o w ie d n ie w artosci koloru 12 U rzad zen ie do od b ioru i d ek od ow an ia sy g n a lu o b - razu w iz y jn eg o za w ie ra ja ceg o za k o d o w a n e w artosci p ik seli dla ram ki c y fro w eg o obrazu w iz y jn e g o z n a m ie n n e tym z e z a w ie - ra prz y najm n ie j jed n a tab lice p rzeg la d o w a k oloró w p ik seli w raz z k olorem p rzew a z a ja cy m d la ramek c y fr o w e g o obrazu w iz y jn eg o ad resow an a za p osred n ictw em za k o d o w a n y ch w artosci koloru p ik seli, oraz srodki d o sto so w a n e do g e n e r o w a - nia d la w y sw ietle n ia sz e r e g ó w p rzyn ajm n iej d w ó ch k o lejn y ch p ik seli k oloru p rzew az a ja ce g o jak rów n iez p o je d y ncz o g e n e - row an y ch p ik seli o kolorach in n ych n iz kolor p rze w a za ja cy FIG. 5 PL PL PL PL PL PL
Description
Przedmiotom wynalazku jost sposób i zrządzenie do kodowania obrazu wizyjnego oraz zrządzania do odbioru i dekodowania sygnału obrazu wizyjnego. Wynalazek dotyczy kodowania i dekodowania ramek cyfrowego obrazu wizyjnego, a w szczególności kodowania wartości kolorów pikseli.
Dobrze znanym sposobem kodowania jost kodowanie długością szeregu, stosowano na przykład jako jadez z trybów kodowania w standardzie Compact Disk Int-rachy- (CD-i). Sposób umożliwia kodowanie zbiorów wartości sąsi-dnich pikseli w sposób bardziej zwarty poprzez jednorazowe podazie koloru, a następnie liczby (n) identycznych pikseli zamiast powtarzania (n) razy kodu koloru. Więcej informacji za tomat kodowania długością szeregu można znaleźć na przykład w „Zasadach interakcyjnej grafiki komputerowej” W. M. Newmana i R. F. Sprozla, International Student Edition, 1979, strony 287-289, publikacja McGraw-Hill, ISBN 0-07-066455-2.
W zzazym dokumezcie amerykańskim US 4 843 466 opisano zżycie kodowania wartości kolorów długością szeregu, ale baz eliminacji kodów kolorów domizzjących i unikania kodowania niekorzystnych, krótkich szoregów.
Rozwiązanie ujawnione w amerykańskim zgłeszoniu patentowym US 5 353 132 dotyczy klasyfikacji obrazów odczytywanych przez skaner i wyboru algorytmu kompresji danych za podstawia wyniku klasyfikacji.
W izzym zzanym rozwiązaniu, ujawzionym w US 4 760 459, zastosowano kodowanie długością szoragu jednokolorowych bloków, dla prostych obrazów czarno-białych, przesyłanych faksom.
Kodowanie długością szeregu jest bardzo wydajne pod względem kompresji danych dla długich szeregów; ale wydajność zmniejsza się dla krótszych szeregów i ramki z dużą liczbą krótkich szeregów mogą być kosztowza obliczaziowo przy kodowaniu. Odpowiednio, w rozwiązaniu według wynalazku zastosowano schemat kodowania, w którym osiąga się przynajmniej rozsądny stopień kompresji bez zarażania się za duże koszty z powodu złożoności.
Sposób kodowania obrazu wizyjnogo, w którym koduj- się wartości koloru pikseli dla ramki cyfrowego obrazu wizyjnego, a każdemu różnemu kolorowi w obrazi- przypisuje się wartość koloru, według wynalazku wyróżnia się tym, że wyznacza się kolor przeważający dla ramki obrazu i szeregi przynajmniej dwóch kolejzych pikseli koloru przeważającego koduje się jako pierwszo słowo kodowe wskazująca szereg oraz drugi- słowo kodowe wskazujące długość szeregu, przy czym piksele mająca kolory izne niż kolor przeważający koduje się jako kody zawierające przynajmniej odpowiedzią wartości koloru. Każdy piksel mający kolor izny biż kolor przeważający korzystnie koduj- się oddziolnio jedynie jako odpowiednią wartość koloru. Szeregi przynajmzioj dwóch kolajzych pikseli o kolorze inzym niż kolor przeważający korzystnie koduj- się razem jako piorwsze słowo kodowe wskazujące szerag, drugio słowo kodowe wskazujące długość szeregz i trzecia słowo kodowe wskazujące wartość kolorz.
Pierwszo słowo kodowe korzystni- zawiora podkod wskazujący jeden z pewnej liczby zakresów długości szeregów, a drzgio słowo kodowe korzystnie wskazuje długość szeregu ze wskazanego zakresu. Korzystnie dostarcza się kolejzy kod zawierający okraślezie wartości koloru, przy czym po umieszczeziu kolejzego kodu w strumieziu kodów koloru pikseli, kolor przeważający określony dla zakodowazych szoregów korzystnie zmiezia się na kolor podany w kolejnym kodzia.
186 340
Kolejny kod korzystnie zawiera pierwsze słowo kodowe wskazujące szereg oraz podkod wskazujący zmianę koloru przeważającego, a drugie słowo kodowe zawiera wartość koloru dla nowego koloru przeważającego.
Szeregi jednego łub dwóch pikseli koloru przeważającego korzystnie koduje się odpowiednio jako jedną lub dwie kolejne iteracje wartości koloru dla koloru przeważającego. Sekwencja kodu dla ramki korzystnie zaczyna się kolejnym kodem, określającym wstępny kolor przeważający. Podzbiór kolorów w obrazie korzystnie wyznacza się jako kolory przeważające. Kolorom innym niż kolory przeważające korzystnie przypisuje się odpowiednie kody z pierwszego zakresu kodów wartości koloru pierwszej długości, kolorom przeważającym przypisuje się odpowiednie kody z drugiego zakresu kodów wartości koloru drugiej długości, mniejszej niż pierwsza długość, a szereg przynajmniej dwóch pikseli jednego z kolorów przeważających korzystnie koduje się jako pierwsze słowo kodowe wskazujące szereg koloru przeważającego oraz drugie słowo kodowe wskazujące w oddzielnych podkodach odpowiednio długość szeregu i kod wartości koloru.
Drugie słowo kodowe korzystnie poprzedza pierwsze słowo kodowe w kodzie dla szeregu.
Urządzenie do kodowania obrazu wizyjnego, dostosowane do kodowania wartości koloru pikseli dla ramki cyfrowego obrazu wizyjnego przez przypisanie każdemu różnemu kolorowi w obrazie odpowiedniej wartości koloru, według wynalazku wyróżnia się tym, ze jest zaopatrzone w zespół wyznaczania koloru przeważającego dla ramki obrazu. Urządzenie zawiera środki dostosowane do wyznaczenia szeregów przynajmniej dwóch kolejnych pikseli koloru przeważającego i zakodowania każdego takiego szeregu jako pierwszego słowa kodowego wskazującego szereg oraz drugiego słowa kodowego wskazującego długość szeregu, oraz środki dostosowane do wyznaczenia pikseli mających kolory inne niż kolor przeważający i kodowania ich jako kodów zawierających przynajmniej odpowiednie wartości koloru.
Urządzenie do odbioru i dekodowania sygnału obrazu wizyjnego, zawierającego zakodowane wartości pikseli dla ramki cyfrowego obrazu wizyjnego, według wynalazku wyróżnia się tym, ze zawiera przynajmniej jedną tablicę przeglądową kolorów pikseli, wraz z kolorem przeważającym, dla ramek cyfrowego obrazu wizyjnego, adresowaną za pośrednictwem zakodowanych wartości koloru pikseli, oraz środki dostosowane do generowania dla wyświetlenia szeregów przynajmniej dwóch kolejnych pikseli koloru przeważającego, jak również pojedynczo generowanych pikseli o kolorach innych niż kolor przeważający.
W pierwszym przykładzie wykonania wynalazku, tylko kolor przeważający ramki jest kodowany długością szeregu. Tak więc dla koloru przeważającego nie jest konieczne określanie kodu koloru przy każdym określeniu szeregu. Dla koloru przeważającego poprawia się także wydajność, ponieważ prawdopodobieństwo szeregów jest na ogół największe. W szczególnie częstej sytuacji istnieje wiele szeregów o długości od krótkiej do średniej dla koloru przeważającego, z mniejszą liczbą takich szeregów dla innych kolorów. Aby uzyskać większą wydajność w tej sytuacji, wszystkie szeregi o na przykład dwóch lub więcej pikselach tego samego koloru mogą być kodowane długością szeregów, aby uzyskać wysoką kompresję danych, ale wciąż bez wymagania, aby przynajmniej szeregi o długości od krótkiej do średniej (na przykład 3 do 9 pikseli) zawierały kod koloru, gdzie szereg ma kolor przeważający.
Pierwsze słowo kodowe może korzystnie zawierać podkod wskazujący jeden z pewnej liczby zakresów długości szeregu, z drugim słowem kodowym wskazującym długość szeregu ze wskazanego zakresu. W ten sposób można utrzymać krótsze drugie słowo kodowe niż wtedy, gdyby trzeba było określać długość bezwzględną.
Aby umożliwić sytuacje, w których zmienia się kolor przeważający w ramce (na przykład „ekran podzielony” z innym kolorem tła w każdej części), można zastosować dodatkowy kod, zawierający określenie wartości koloru, przy czym po umieszczeniu kolejnego kodu w strumieniu kodów kolorów pikseli, kolor przeważający określony dla kodowanych szeregów zmienia się na kolor podany w kolejnym kodzie. Ten kolejny kod jest w poniższym opisie określany jako kod ZMIANY TŁA i może zawierać pierwsze słowo kodowe wskazujące szereg i podkod wskazujący zmianę koloru przeważającego oraz drugie słowo kodowe, zawierające wartość koloru dla nowego koloru przeważającego. Ponieważ ten sam podkod w pierwszym słowie kodowym wskazuje zarówno szereg, jak i zmianę koloru przeważające186 340 go, z różnicą wskazywaną przez określony podkod pierwszego słowa kodowego, utrzymuje się minimalną liczbę kodów „sterujących”, przez co umożliwia się przypisanie większej liczby kodów „wolnych” do kolorów'.
Aby uniknąć nieefektywności związanej z kodowaniem długością szeregu krótkich szeregów, szeregi jednego lub dwóch pikseli koloru przeważającego można kodować odpowiednio jako jedną lub dwie kolejne iteracje wartości koloru dla koloru przeważającego, lub można odpowiednio przypisać unikalne kody krótkie.
Aby umożliwić sytuację, w której zmienia się kolor przeważający pomiędzy kolejnymi ramkami, sekwencja kodowa dla ramki może odpowiednio zaczynać się od kolejnego kodu, określającego wstępny kolor przeważający, czyli nakazującego zmianę określonego koloru przeważającego do zastosowania dla wszystkich kolejnych szeregów, nawet jeśli nie jest on zmieniony w poprzedniej ramce.
W przypadku, w którym kolor przeważający może zmienić się pewną liczbę razy podczas czasu trwania ramki, polecenie zmiany może okazać się nieefektywne. Odpowiednio, w jeszcze jednym przykładzie wykonania niniejszego wynalazku, podzbiór kolorów w obrazie można wybrać jako kolory przeważające, z odpowiednimi kodami kolorów pierwszego długości przypisywanymi kolorom (innym niż przeważające), odpowiednimi kodami koloru drugiej długości krótszym niż pierwsze przypisywanymi kolorom przeważającym, oraz szeregami jednego lub więcej kolorów przeważających kodowanymi jako pierwsze słowo kodowe wskazujące szereg koloru przeważającego oraz drugie słowo kodowe wskazujące w osobnych podkodach odpowiednio długość szeregu oraz (krótszy) kod koloru.
Przedmiot wynalazku, w przykładach wykonania, został bliżej objaśniony na rysunku, na którym fig. 1 przedstawia znany kod koloru dla pojedynczego piksela, fig. 2 - znany kod koloru dla szeregu pikseli o długości L, fig. 3 - sekwencję wartości kodu pikseli przekształconą na kody koloru jak na fig. 1 i 2, fig. 4 - tablicę wartości kodu według pierwszego przykładu wykonania wynalazku, fig. 5 - alternatywną wersję tablicy z fig. 4, reprezentującą pierwszy alternatywny przykład wykonania wynalazku, fig. 6 i 7 - tablice wartości kodowych odpowiednio dla pikseli tła i pikseli nie będących tłem, reprezentujące kolejny alternatywny przykład wykonania wynalazku, fig. 8 - schemat blokowy stopnia detektora kodu piksela dla urządzenia dekodującego, natomiast fig. 9 do 13 przedstawiają sieć działań sterownika z fig. 8.
W celu ilustracyjnym, na wstępie będzie użyteczne rozważenie zwykłego, znanego schematu kodowania wartości koloru piksela, z odniesieniem do fig. 1 do 3. W przypadku, gdy każda wartość koloru piksela zajmuje siedem bitów (fig. 1), jak w kodowaniu długością szeregu stosowaną dla CD-i, opis szeregu (fig. 2) zajmuje dwa bajty. Jeden bajt zawiera wartość koloru C na swoich siedmiu bitach, a drugi zawiera wartość licznika L. Dla szeregu o długości większej niż dwa piksele, postać kodowania długością szeregu będzie bardziej zwarta niż przy osobnym kodowaniu każdego piksela szeregu. Jednak w tym przypadku kodowanie pojedynczego piksela jako szeregu o długości jeden byłoby nieefektywne, ponieważ zajmowałoby dwa bajty, podczas gdy pojedynczy kolorowy piksel można pomieścić na jednym bajcie. Schemat kodowania długością szeregu stosowany dla CD-i umożliwia więc, aby dwa sąsiednie piksele były określane zarówno w powtórzonym kodzie jednobąjtowym, jak i sekwencji dwubajtowej długości szeregu. Zaoszczędzony bit w bajcie koloru (bit najbardziej znaczący) jest stosowany do wskazania tej różnicy. Jeśli bajt koloru ma bit najbardziej znaczący ustawiony na zero, jest to jedna wartość koloru, jak na fig. 1, zaś jeśli bit najbardziej znaczący jest ustawiony na jeden, bajt ten jest początkiem opisu szeregu i będzie za nim następować bajt długości, jak na fig. 2. Te kody jedno- i dwubajtowe łączy się w wymagany sposób, tworząc zakodowaną sekwencję, której przykład jest pokazany na fig. 3.
Pierwszy przykład wykonania wynalazku przedstawia kodowanie dla szczególnego przypadku, w którym obraz w zasadzie składa się z jednego koloru tla z małą liczbą wystąpień znaczących szeregów jakiejś innej wartości koloru. W takich okolicznościach jest korzystniejsze, aby szeregi pikseli koloru tła były kodowane długością szeregu, zaś poszczególne piksele innych szeregów były kodowane kolorem. W ten sposób unika się konieczności wskazywania w strumieniu zakodowanych danych, które wartości koloru w zakodowanym strumieniu reprezentują dane kodowane długością szeregu, a które nie: w ten sposób ustawia6
186 340 nie wstępnego bitu na 0 lub 1 (jak na fig. 2 i 3) nie jest konieczne. Metoda ta zapewnia również, że dane kodowane długością szeregu muszą zawierać tylko wartość licznika, ponieważ jeden kolor jest określony jako tło, nie trzeba podawać wartości koloru dla szeregu.
Jak zostanie opisane niżej, sposób wykorzystuje kod o zmiennej długości, który może zawierać słowa kodowe o zmiennej długości, w celu dalszej optymalizacji działania. W szczególnej realizacji, która zostanie opisana, wszystkie kody o zmiennej długości są stanowione przez liczbę całkowitą o słowach długich na cztery bity (półbajty).
Każdą wartość koloru piksela określa się na czterech bitach. Zwykle umożliwia to określenie szesnastu kolorów przez zastosowanie tablicy przeglądowej kolorów; ale w tym przykładzie wykonania liczba różnych kolorów jest zmniejszona do piętnastu, z przyczyn opisanych niżej, aby ulepszyć działanie schematu kodującego.
Kody kolorów od 1 do 15 (wyrażonych jako półbajty 0001 do 1111) nie są kompresowane, ale po prostu dołączane do strumienia kodowanych danych bez dalszej kompresji. Kodowanie stosowane do wskazywania długości szeregów koloru tła jest pokazane na fig. 4, nazwy nadane różnym kodom (KROTKI, ŚREDNI itd.) są wyłącznie ilustracyjne i nie mają wpływu na kody jako takie. Zalety kodowania długością szeregu widać wyraźnie w najdłuższym kodzie pokazanym na fig. 4, tym dla szeregu 303 pikseli o kolorze tła, który, zamiast wymagać półbajtu kodu koloru dla każdego piksela, wymaga tylko czterech półbajtów do określenia szeregu.
Dla szeregów tła o 3 lub więcej pikselach, kod koloru 0 (0000 binarnie) umieszcza się w kodowanym strumieniu w celu wskazania początku sekwencji kodowanej szeregiem koloru 0, który przyjmuje się za kolor tła. Jeśli następny czterobitowy kod znajduje się w zakresie 0011 do 1111, szereg (KRÓTKI) ma długość pomiędzy 3 i 15 pikseli, z zakodowaną binarnie liczbą na drugim półbajcie bezpośrednio reprezentującą długość szeregu. Gdy drugi półbajt również jest kodem 0 (0000), szereg (ŚREDNI) ma długość pomiędzy 17 i 31 pikseli, z trzecim półbajtem określającym wartość od 1 do 15 (0001 do 1111 binarnie), dodawanym do 16, w celu uzyskania długości szeregu.
Jeśli z drugiej strony drugi półbajt to sekwencja 0001, trzeci półbajt w strumieniu danych ma wartości pomiędzy 0000 a 1111, reprezentujące długości szeregu (DŁUGI) pomiędzy 32 a 47 pikseli.
Ostatni przypadek (DŁUŻSZY) dotyczy przypadku, gdy drugi półbajt ma wartość 0010, a dwa następne czterobitowe półbajty łączy się w jedną wartość ośmiobitową. reprezentującą długości szeregów od 48 do 303.
Aby pojedynczy piksel koloru tła mógł być reprezentowany na jednym czterobitowym półbajcie, bez błędnej interpretacji następnego kodu jako długości szeregu, kolor 0001 równiez traktuje się jako reprezentujący kolor tła: jest to powód, dla którego w tym schemacie można reprezentować tylko 15 kolorów. Dodatkowo, jeśli nie następuje bezpośrednio za kodem koloru 0000 (tak jak w kodach dla długości szeregu pikseli równych 17, 32 albo 49), kod 0001 reprezentuje pojedynczy piksel koloru tła. Jak widać z fig. 4, nigdy nie będzie więcej niż dwóch kodów koloru 0 (0000) pod rząd: umożliwia to spełnienie przez schemat wymagań MPEG, w którym sekwencję takich kodów stosuje się do wskazania ponownej synchronizacji.
Ponieważ układ kodowania opisany wyżej zezwala tylko na szeregi koloru tła o 3 lub więcej pikselach, szereg koloru tła o długości 2 (POJEDYNCZY+) jest reprezentowany przez dwie ^kolejne wartości koloru 0001. Ponadto zastosowany jest szereg koloru tła o długości 16 (KRÓTKI+) jako zakodowany szereg o długości 15, za którym następuje pojedynczy piksel zakodowany jako 0001. Przez zastosowanie tego drugiego kodu koloru dla koloru przeważającego albo koloru tła, unika się rozszerzenia, czyli ekran N pikseli zostanie zakodowany na maksymalnie
N kodach, a na ogół znacznie mniej.
W sytuacji, gdy długości kodów nie są ograniczone do wielokrotności czterech bitów, kodowanie Huffmana (przypisywanie najkrótszych kodów najczęściej wyznaczanym długościom szeregu) mogłoby umożliwić jeszcze wydajniejszą kompresję. W potrzebnych miejscach można byłoby stosować kody 8-bitowe lub większe, aby zakres dostępnych kolorów był duży, oraz kody 2-bitowe, gdzie potrzebnych jest bardzo mało kolorów.
186 340
W alternatywnym przykładzie wykonania, sposób opisany powyżej można zmodyfikować, jak opisano niżej w odniesieniu do tablicy z fig. 5, umożliwiając dynamiczną zmianę koloru tła reprezentowanego przez kod koloru 0000. Byłoby to użyteczne, gdy kolor tła zmienia się w pewnym dalszym miejscu obrazu lub gdy istnieje duży obszar jakiegoś innego koloru, w którym zalety kodowania szeregów przewyższyłyby nakład zmiany koloru kodowanego szeregiem.
Porównanie fig. 4 i 5 pokazuje, ze te dwa schematy są właściwie identyczne, z wyjątkiem tego, że kody dla szeregów od 4 pikseli w górę z początkowego przykładu wykonania reprezentują teraz odpowiednio długości szeregów mniejsze o jeden piksel od początkowego przykładu wykonania dla szeregu 3 pikseli (0000 0011) jest teraz stosowany jako kod ZMIANY TLA, który wskazuje, że wartość binarna (cccc) od 1 do 15 następnego półbajtu (0 jest zarezerwowane dla ogólnego określenia tła) jest kodem koloru dla nowego koloru tła. Nowe tło będzie stosowane aż do otrzymania kodu 0000 0011 0001 (zmiana kodu + początkowy kod koloru tła) lub zostanie określona zmiana na trzeci kolor tła. Należy zauważyć, że przy zmianie tła, kod dla szeregu o długości 15 pikseli będzie miał kod koloru dla tego nowego tła na trzecim półbajcie.
Ten alternatywny przykład wykonania umożliwia zmianę ogólnego koloru tła obrazu, wyznaczoną kosztem 12 bitów danych. Tymczasowa zmiana w celu umożliwienia zakodowania długiego szeregu jakiegoś koloru innego niż tło będzie kosztowała 24 bity (12 na zmianę na kolor inny niż tło i 12 na przełączenie z powrotem na kolor tła), co stanowi oszczędność dla szeregów o 9 lub więcej pikselach.
W kolejnym alternatywnym przykładzie wykonania, wszystkie szeregi wartości koloru (przewazającego/tła lub innego) mogą być kodowane długością szeregu, przy czym nadal używa się identyfikacji koloru przeważającego dla zaoszczędzenia dla przypadków występujących najczęściej, czyli względnie krótkich szeregów pikseli w kolorze tła. Schematy kodowania dla szeregów tła i innych niż tło są pokazane odpowiednio na fig. 6 i 7. W tym schemacie dostępne są kody koloru 0 do 15 (wskazane na fig. 7 jako czterobitowy kod cccc), z jedynie kodem 0 zarezerwowanym dla koloru przeważającego. Ponieważ kod 0 stosuje się również do wskazania początku szeregu (dowolnego koloru), kod dla pojedynczego koloru tła (0000 1111) jest nadmiarowy, ale konieczny dla uniknięcia anomalii. Gdyby drugi kod koloru (na przykład 1) został przypisany kolorowi tła, pojedynczy piksel tła można byłoby kodować na jednym półbajcie, tak jak w schematach z fig. 4 i 5, ale przy koszcie zmniejszenia dostępnej liczby kodów koloru. Jak pokazuje fig. 6, szczególna oszczędność w tym schemacie następuje dla szeregów tła od trzech do dziewięciu pikseli, z których każdy jest kodowany kodem złożonych z dwóch półbajtów. Dla szeregów tła o 10 pikselach lub więcej, stosuje się ten sam schemat kodowania długością szeregu, co dla kolorów innych niż tło (pokazany na fig. 7), czyli obejmujący kod szeregu (kod 0), kod zakresu (1100 lub 1101, odpowiedniego dla szeregów ŚREDNIEGO i DŁUGIEGO), długość szeregu (4 bity dla ŚREDNIEGO, 8 bitów dla DŁUGIEGO) i kod koloru.
Jak pokazuje fig. 7, szeregi od 1 do 3 pikseli koloru innego niż tło koduje się po prostu jako oddzielne wystąpienia kodu koloru. Szeregi od 4 do 7 pikseli koduje się jako kod szeregu (kod 0), kod długości szeregu (4 do 7, wskazany przez odpowiednie wartości binarne od 1000 do 1011) oraz kod koloru (cccc). W podobny sposób do kodów KRÓTKICH+ ze schematów na fig. 4 i 5, koduje się szereg ośmiu pikseli innych niż tło jako szereg siedmiu pikseli, za którym następuje powtórzenie kodu koloru (czyli kod dla pojedynczego piksela).
Ponieważ kodowane wartości pikseli na ogół przesyła się lub przechowuje jako bloki wartości, stosuje się kolejny kod (0000 0000) do wskazywania końca bloku. Jeśli chodzi o początek bloku, wyznaczenie będzie obsługiwane na poziomie systemu, tak ze wystąpienie dwóch kolejnych półbajtów 0000 po początku kodu (tak jak w kodzie dla szeregu 25 pikseli tła) nie będzie traktowane jako wskazujące koniec bloku.
W jeszcze jednym przykładzie wykonania, zalety wynikające z wybrania koloru przeważającego albo koloru tła można rozszerzyć, umożliwiając określenie podzbioru kolorów przeważających: w ten sposób można uniknąć powtórzeń w stosowaniu kodu ZMIANY TŁA ze schematu na fig. 5. Określenie podzbioru jest szczególnie korzystne przy stosowaniu dłuż8
186 340 szych kodów, na przykład w schemacie 8-bitowym, w którym dostępnych jest 256 kodów koloru. W takim schemacie, 16 najczęściej stosowanych kolorów koduje się jako wartości 4bitowe (zamiast 8-bitowych).
W ten sposób szeregi pomiędzy 3 i 9 pikseli można kodować na dwóch 8-bitowych słowach jako:
0000 0000 OLLL cccc gdzie pierwsze słowo wskazuje szereg jednego z kolorów przeważających, pierwsza połowa drugiego słowa określa długość szeregu (0001 do 0111), a druga połowa drugiego słowa stanowi 4-bitowy kod koloru. Można zauważyć, że pierwszy bit drugiego słowa w tym układzie wynosi 0: dzięki temu istnieją inne możliwości kodowania, wraz z pełnym zakresem kolorów (wskazanym przez 1 na początku tego słowa).
Jest widoczne, że chociaż zalety są większe dla schematów o większej liczbie bitów, powyższa metoda z podzbiorami może być stosowana dla schematu 4-bitowego, ale zakres dostępnych długości szeregów albo kodów koloru byłby znacznie ograniczony.
Odnosząc się teraz do urządzenia do stosowania opisanych wyżej, schematów, kodowanie będzie na ogół przeprowadzane za pomocą odpowiednio zaprogramowanego mikroprocesora wykonującego funkcje identyfikacji koloru przeważającego, przypisywanie kodów koloru do pikseli, oraz wykrywanie pojedynczych wystąpień i szeregów koloru przeważającego. Zamiast tego można zastosować odpowiedni sprzęt, ale preferuje się elastyczność systemu dającego się przeprogramować.
Rozważając szczegółowo realizację schematu z fig. 4, detektor kodu do zastosowania w urządzeniu dekodującym, może korzystnie mieć postać sprzętu i mieć układ pokazany na fig. 8, gdzie sterownik 20 kontroluje wartość wyjściowego półbajtu (kod koloru dla każdego pojedynczego piksela), jak również wyjściowy sygnał zegarowy, który przenosi zegarowo te wartości pólbajtów. Sterownik żąda wprowadzenia półbajtu na linii 22, wysyłając sygnał wywołujący na linii 24. Wejściowy półbajt dostarcza się do pierwszego wejścia multipleksera 26, jak również do każdego z trzech stopni komparatora 28, 30, 32, których sygnały wyjściowe dostarcza się do sterownika 20. Te trzy komparatory 28, 30, 32 porównują wejściowy półbajt odpowiednio z kodami 0000, 0001 i 0010, jeśli wyjście komparatora 28 jest dodatnie, czyli półbajt wejściowy to kod 0000, wskazuje się początek szeregu, w którym to przypadku sterownik wysyła sygnał po linii wybierania 34 do multipleksera 26, powodując, że zamiast wartości wejściowego półbajtu wybiera on kod koloru dla koloru przeważającego (koloru tła), przechowywany w rejestrze 36.
Po określeniu, że zaczyna się szereg, zostanie przywołany następny półbajt (po linii 24) i jeśli wyjście jednego z komparatorów 28, 30 lub 32 jest dodatnie, będzie to wskazywać, że szereg jest odpowiednio w zakresach określanych jako ŚREDNI, DŁUGI albo DŁUZSZY, tak jak określa to fig. 4. Jeśli żadne z wyjść komparatorów nie jest dodatnie, szereg jest w zakresie KRÓTKIM, czyli pomiędzy trzy a piętnaście pikseli i wartość wejściowego półbajtu stanowi długość szeregu. Wartość półbajtu jest przesyłana zegarowo do 8-bitowego licznika 38 jako półbajt najmniej znaczący, pod kontrolą sygnału zegarowego na linii 40 ze sterownika 20. Podczas gdy licznik 38 odlicza wartość reprezentowaną przez półbajt, wyjściowy sygnał zegarowy na linii 32 przenosi zegarowo wartość koloru tła z rejestru 36 na linii wyjściowej 44, az wartość półbajtu zostanie odliczona i sygnał wykrycia zera z licznika zostanie przekazany do sterownika linią 46.
W przypadku, gdy zostanie wykryty szereg i drugi półbajt spowoduje dodatni sygnał wyjściowy z jednego z komparatorów 28, 30 lub 32, następny półbajt (po przywołaniu) zostanie wpisany zegarowo do licznika 38 jako półbajt najmniej znaczący (w przypadku dodatniego sygnału wyjściowego z komparatorów 28 albo 30) i dwa następne półbajty zostaną wczytane do licznika jako odpowiednio bajty najbardziej znaczący i najmniej znaczący w przypadku dodatniego sygnału wyjściowego z komparatora 32. Gdy dwa półbajty zostaną wpisane zegarowo do 8-bitowego licznika 38, czyli w przypadku szeregu DŁUŻSZEGO, półbajt najbardziej znaczący jest wpisywany zegarowo do licznika pod kontrolą kolejnej linii zegarowej 48 ze sterownika.
186 340
Działanie sterownika 20 z fig. 8 pod względem wyznaczania, czy kod wejściowy opisuje szereg, i jeśli tak, jak długi on jest, zostanie teraz opisane w odniesieniu do algorytmów z fig. od 9 do 13. W punkcie początkowym A (fig. 9) przywołuje się w etapie przywołania 71 nowy półbajt wejściowy, po czym sprawdza się sygnały wyjściowe komparatorów, w etapie sprawdzania półbajtu 72, aby zobaczyć, czy półbajt to kod 0000. Jeśli nie, kod reprezentuje kod koloru (koloru innego niż tło) dla piksela i, w etapie ustawiania multipleksera 73 (fig. 8), multiplekser 26 jest ustawiany na wyprowadzenie wartości wejściowego półbajtu. W etapie wysyłania sygnału zegara 74, wysyłany jest także jeden sygnał zegarowy dla tej wartości półbajtu, po czym procedura wraca do punktu początkowego A dla następnego wejściowego półbajtu.
Jeśli w etapie sprawdzania półbajtu 12, wartość półbajtu wynosi 0000, wskazywany jest szereg przetwarzany na ogół tak, jak pokazuje fig. 10. Przetwarzanie szeregu zaczyna się od etapu startowego 81, z przy wołaniem następnego półbajtu wejściowego, i, w etapie ustawiania 82, przez ustawienie multipleksera 26 (fig. 8) na wyprowadzenie kodu koloru 0000 z rejestru 36. Następnie sprawdza się w etapach sprawdzania 83, 84 i 85 nowy półbajt wejściowy, aby zobaczyć, czy odpowiada jednemu z kodów półbajtu 2 z fig. 4, reprezentującego szereg ŚREDNI, DŁUGI lub DŁUŻSZY, określony tak na tej figurze. Jeśli odpowiedź po wszystkich tych sprawdzeniach brzmi „Nie”, szereg jest w zakresie od trzech do piętnastu pikseli i wartość półbajtu, załadowana do 8-bitowego licznika, stanowi wartość do zegarowego przesłania. Powtarzające się wysyłanie sygnałów zegarowych dla kodu koloru 0000 jest obsługiwane przez pętlę stopni wysyłania, zmniejszania i porównania 87, 88, 89, które ciągle zmniejszają wartość zegara i sprawdzają czy wynosi zero, wysyłając sygnał zegarowy, dotąd, aż licznik osiągnie zero, w którym to momencie proces powraca do początku A (fig. 9) dla następnej wartości półbajtu wejściowego.
Jeśli w którymkolwiek z etapów sprawdzania 83, 84 lub 85 z fig. 10 uzyska się odpowiedź „Tak”, określa się szereg w zakresie od 17 do 303 pikseli. Jeśli odpowiedzią „Tak” jest sygnał wyjściowy z etapu sprawdzania 83 (wartość drugiego półbajtu wynosi 0000), szereg jest w zakresie od 17 do 31 pikseli i jest obsługiwany tak, jak pokazuje fig. 11. Początkowo, w etapie przesłań zegarowych 91, wartość 0000 z rejestru 36 jest przesyłana zegarowo 16 razy, po czym w etapie przywołania 92 przywołuje się następny półbajt wejściowy, który to półbajt przesyła się zegarowo do 8-bitowego licznika w etapie przesłania półbajtu 93. Ta wartość mniej znaczącego półbajtu w liczniku 38 jest następnie sprawdzana zegarowo przez pętlę odliczania/wykrywania zera (kroki sprawdzania, wysyłania i zmniejszania 94, 95, 96), aż licznik osiągnie zero, w którym to momencie proces wraca do początku A (fig. 9) dla następnego półbajtu wejściowego.
Gdy wartość półbajtu 2 zostanie ustalona jako 0001 w etapie sprawdzania 84 na fig. 10, szereg ma pomiędzy 32 a 47 pikseli i jest obsługiwany tak, jak pokazuje fig. 12. Obsługa szeregu DŁUGIEGO na fig. 12 jest w zasadzie identyczna z obsługą szeregu ŚREDNIEGO z fig. 11, z tym wyjątkiem, ze kod koloru 0000 jest przesyłany zegarowo 32 razy w etapie przesłań zegarowych 101 przed przywołaniem i wpisaniem zegarowym do licznika wartości następnego półbajtu w krokach przywołania i wpisu 102 i 103. I znowu, pętla odliczająca w krokach sprawdzania 104, wysyłania 105 i zmniejszania 106 powoduje, ze sygnał wyjściowy dodatkowych wartości zegarowych większych od 32 tworzy łączną długość szeregu.
Gdy sygnał wyjściowy w etapie sprawdzania 85 z fig. 10 jest dodatni, czyli szereg jest DŁUŻSZY, z długością pomiędzy 48 i 303 pikseli, szereg jest obsługiwany tak, jak pokazuje fig. 13. W tym przypadku, proces zaczyna się od zegarowego przesłania wartości 0000 48 razy w etapie przesłań zegarowych 111, po czym przywołuje się następny półbajt wejściowy w kroku przywołania 112. Ponieważ dla szeregu DŁUŻSZEGO długość szeregu ponad 48 pikseli jest podana jako kod 8-bitowy, półbajt przywołany w kroku przywołania 112 reprezentuje najbardziej znaczącą połowę kodu 8-bitowego i jest przesyłany zegarowo do 8-bitowego licznika jako taki, pod kontrolą sygnału ze sterownika na linii 48 (fig. 8) . Następnie w kroku drugiego przywołania 114 przywołuje się następny półbajt, który to półbajt, stanowiący najmniej znaczącą połowę kodu 8-bitowego, przesyła się zegarowo do 8-bitowego licznika 38. Na końcu, pętla odliczająca, utworzona przez kroki sprawdzania, wysyłania
186 340 i zmniejszania 116, 117 i 118 odlicza wartość 8-bitowa reprezentowana przoz licznik aż osiągnie oza zero, w którym to momezcie proces wraca do początku A z fig. 9.
Nia jost to pokazano za fig. 8, ale naloży zauważyć, że gdy dozwolona jest zmiana tła (tak jak w tablicy z fig. 5), zawartość rejestru 36 można zmodyfikować pod kontrolą sterownika 20, umieszczając tam zowo wybrany kolor tła zamiast 0000. W dodatku wstępna liczba zegarowych przesłań taj wartości dla szoragu, odpowiedzio w etapach przesłań zegarowych 91, 101 i 111 z fig. 11, 12 i 13, będzie wynosiła 15, 31 i 47 zamiast 16, 32 i 48, jak opisano poprze0nio.
W calu zraalizowazia schematu kodowania z fig. 6 i 7, modyfikacje urządzema z fig. 8 będą w zasadzi- oczywiste dla znawcy i nie będą szczegółowo opisane. Jest zrozumiała, ze zie trzaba dopasowywać kroków 28, 30, 32 do sprawdzania poszczególnych słów kodowych i za rejestr 36 będzie miał możliwość odbierania, przechowywania i wysyłania (pod kontrolą sterownika 26) wartości kolorów innych niż wartość koloru tła podczas szeregów kolorów izzych niż tło. Podobno rozważania stosują się do przykładu wykonania udostępniającego podzbiory kolorów przeważających.
Na podstawia niniojszega ujawnienia izne modyfikacje będą oczywista dla znawcy. Modyfikacje takia mogą dotyczyć izzych cech, znanych juz w 0ziedzinie systemów kodowania sygnału wizyjnogo oraz ich urządzeniach i częściach składowych, które zostaną zastosowano oprócz lub dodatkowo do opisanych już tutaj cach. Chociaż zastrzeżenia w tym zgłoszeniu zostały sformułowano względem szczególnych kombinacji cech, jest zrozumiałe, że zakres ujawniezia ziziojszogo wynalazku obejmują również każdą nową cochę lub nową kombinację coch, ujawnionych tutaj jawnie lub ziajawzie, lub dowolne ich uogólnianie, bez względu za to, czy dotyczy togo samego wynalazku, zastrzoganogo ob-cgio w którymś z zastrzeżeń, czy taż nie, oraz czy rozwiązuje któryś lub wszystkie z tych samych problemów technicznych, co niziajszy wynalazek, czy tez nio.
Claims (12)
1. Sposób kodowania obrazu wizyjnego, w którym koduje się wartości koloru pikseli dla ramki cyfrowego obrazu wizyjnego, a każdemu różnemu kolorowi w obrazie przypisuje się wartość koloru, znamienny tym, że wyznacza się kolor przeważający dla ramki obrazu i szeregi przynajmniej dwóch kolejnych pikseli koloru przeważającego koduje się jako pierwsze słowo kodowe wskazujące szereg oraz drugie słowo kodowe wskazujące długość szeregu, przy czym piksele mające kolory inne niż kolor przeważający koduje się jako kody zawierające przynajmniej odpowiednie wartości koloru.
2. Sposób według zastrz. 1, znamienny tym, ze każdy piksel mający kolor inny niż kolor przeważający koduje się oddzielnie jedynie jako odpowiednią wartość koloru.
3. Sposób według zastrz. 1, znamienny tym, że szeregi przynajmniej dwóch kolejnych pikseli o kolorze innym niż kolor przeważający koduje się razem jako pierwsze słowo kodowe wskazujące szereg, drugie słowo kodowe wskazujące długość szeregu i trzecie słowo kodowe wskazujące wartość koloru.
4. Sposób według zastrz. 1, znamienny tym, że pierwsze słowo kodowe zawiera podkod wskazujący jeden z pewnej liczby zakresów długości szeregów, a drugie słowo kodowe wskazuje długość szeregu ze wskazanego zakresu.
5. Sposób według zastrz. 1, znamienny tym, że dostarcza się kolejny kod zawierający określenie wartości koloru, przy czym po umieszczeniu kolejnego kodu w strumieniu kodów koloru pikseli, kolor przeważający określony dla zakodowanych szeregów zmienia się na kolor podany w kolejnym kodzie.
6. Sposób według zastrz. 5, znamienny tym, że kolejny kod zawiera pierwsze słowo kodowe wskazujące szereg oraz podkod wskazujący zmianę koloru przeważającego, a drugie słowo kodowe zawiera wartość koloru dla nowego koloru przeważającego.
7. Sposób według zastrz. 1, znamienny tym, że szeregi jednego lub dwóch pikseli koloru przeważającego koduje się odpowiednio jako jedną lub dwie kolejne iteracje wartości koloru dla koloru przeważającego.
8. Sposób według zastrz. 5, znamienny tym, że sekwencja kodu dla ramki zaczyna się kolejnym kodem, określającym wstępny kolor przeważający.
9. Sposób według zastrz. 1, znamienny tym, że podzbiór kolorów w obrazie wyznacza się jako kolory przeważające, kolorom innym niż kolory przeważające przypisuje się odpowiednie kody z pierwszego zakresu kodów wartości koloru pierwszej długości, kolorom przeważającym przypisuje się odpowiednie kody z drugiego zakresu kodów wartości koloru drugiej długości, mniejszej niż pierwsza długość, a szereg przynajmniej dwóch pikseli jednego z kolorów przeważających koduje się jako pierwsze słowo kodowe wskazujące szereg koloru przeważającego oraz drugie słowo kodowe wskazujące w oddzielnych podkodach odpowiednio długość szeregu i kod wartości koloru.
10. Sposób według zastrz. 1, znamienny tym, ze drugie słowo kodowe poprzedza pierwsze słowo kodowe w kodzie dla szeregu.
11. Urządzenie do kodowania obrazu wizyjnego, dostosowane do kodowania wartości koloru pikseli dla ramki cyfrowego obrazu wizyjnego przez przypisanie każdemu różnemu kolorowi w obrazie odpowiedniej wartości koloru, znamienne tym, ze jest zaopatrzone w zespół wyznaczania koloru przeważającego dla ramki obrazu, a urządzenie zawiera środki dostosowane do wyznaczenia szeregów przynajmniej dwóch kolejnych pikseli koloru przeważającego i zakodowania każdego takiego szeregu jako pierwszego słowa kodowego wskazującego szereg oraz drugiego słowa kodowego wskazującego długość szeregu, oraz środki dostosowane do wyznaczenia pikseli mających kolory inne niż kolor przeważający i kodowania ich jako kodów zawierających przynajmniej odpowiednie wartości koloru.
186 340
12. Urządzenie do odbio rui i dekodowania sygnału obrazu wizyj nego, zawierającego zakodowane wrgtości pikseli Olr grmki cyfrowego obrazu wizyjnego, znamienne tym, że zawiera przynajmniej jedną tablicę przeglądową kolorów pikseli, wraz z kolorem przeważającym, dla ramek cyfrowego obrazu wizyjnego, adresowaną za pośrednictwem zakodowanych wartości koloru pikseli, oraz środki dostosowane do oebegawrbia dla wyświetlenia szeregów przynajmniej dwóch kolejnych pikseli kolorz przeważającego, jak również pojedynczo gezegowrbych piksoli o kolorach innych niż kolor przeważający.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9502172.1A GB9502172D0 (en) | 1995-02-03 | 1995-02-03 | Video image encoding |
GBGB9503063.1A GB9503063D0 (en) | 1995-02-03 | 1995-02-16 | Video image colour encoding |
PCT/IB1996/000062 WO1996025010A2 (en) | 1995-02-03 | 1996-01-26 | Video image colour encoding |
Publications (2)
Publication Number | Publication Date |
---|---|
PL316679A1 PL316679A1 (en) | 1997-02-03 |
PL186340B1 true PL186340B1 (pl) | 2003-12-31 |
Family
ID=26306435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PL96316679A PL186340B1 (pl) | 1995-02-03 | 1996-01-26 | Sposób i urządzenie do kodowania obrazu wizyjnegooraz urządzenie do odbioru i dekodowania sygnału obrazu wizyjnego |
Country Status (23)
Country | Link |
---|---|
US (1) | US6301389B1 (pl) |
EP (1) | EP0754393B1 (pl) |
JP (1) | JP3688297B2 (pl) |
CN (1) | CN1181694C (pl) |
AR (1) | AR001077A1 (pl) |
AT (1) | ATE191600T1 (pl) |
AU (1) | AU695626B2 (pl) |
BR (1) | BR9605110A (pl) |
CA (1) | CA2187018C (pl) |
CZ (1) | CZ289508B6 (pl) |
DE (1) | DE69607529T2 (pl) |
EA (1) | EA000082B1 (pl) |
ES (1) | ES2145991T3 (pl) |
GR (1) | GR3033579T3 (pl) |
HK (1) | HK1013385A1 (pl) |
HU (1) | HU228534B1 (pl) |
IL (1) | IL117028A (pl) |
IN (1) | IN187262B (pl) |
MY (1) | MY115792A (pl) |
PL (1) | PL186340B1 (pl) |
PT (1) | PT754393E (pl) |
TR (1) | TR199600787T1 (pl) |
WO (1) | WO1996025010A2 (pl) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9806767D0 (en) | 1998-03-31 | 1998-05-27 | Philips Electronics Nv | Pixel colour valve encoding and decoding |
FR2806227B1 (fr) * | 2000-03-09 | 2003-09-05 | Auteuil Participation Et Conse | Procede pour le codage d'images |
US20030086605A1 (en) * | 2001-11-08 | 2003-05-08 | Doner John R. | Compression method for aviation weather products |
EP1494456A1 (en) * | 2003-07-01 | 2005-01-05 | Deutsche Thomson-Brandt GmbH | Method for run-length encoding of a bitmap data stream |
US7010033B2 (en) * | 2004-02-02 | 2006-03-07 | Adams Platform Pty Ltd. | System and method for compressing and encoding video |
KR100595663B1 (ko) * | 2004-04-13 | 2006-07-03 | 엘지전자 주식회사 | 휴대폰의 이미지 파일 압축/신장 방법 |
EP3023940B1 (en) | 2005-05-27 | 2019-02-27 | Telefonaktiebolaget LM Ericsson (publ) | Weight based image processing |
EP1988703A1 (en) * | 2007-05-02 | 2008-11-05 | TTPCOM Limited | Image transformation |
WO2010018494A1 (en) * | 2008-08-11 | 2010-02-18 | Nxp B.V. | Image compression |
US8582902B2 (en) * | 2008-09-23 | 2013-11-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Pixel block processing |
US20120082395A1 (en) * | 2010-09-30 | 2012-04-05 | Microsoft Corporation | Entropy Coder for Image Compression |
CN103186544B (zh) * | 2011-12-28 | 2017-11-14 | 广东新岸线计算机***芯片有限公司 | 一种色位深度存取方法和*** |
US9772850B2 (en) * | 2014-11-14 | 2017-09-26 | Intel Corporation | Morton coordinate adjustment processors, methods, systems, and instructions |
US9772849B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Four-dimensional morton coordinate conversion processors, methods, systems, and instructions |
US9772848B2 (en) | 2014-11-14 | 2017-09-26 | Intel Corporation | Three-dimensional morton coordinate conversion processors, methods, systems, and instructions |
US20160373735A1 (en) * | 2015-06-18 | 2016-12-22 | Telekom Malaysia Berhad | Method For Encoding Four Bits Color Construct Code |
JP6855722B2 (ja) * | 2016-09-21 | 2021-04-07 | 富士ゼロックス株式会社 | 画像処理装置およびプログラム |
US10341689B1 (en) * | 2017-05-23 | 2019-07-02 | Moddable Tech, Inc. | Weighted runlength encoding |
CN116453455B (zh) * | 2023-06-14 | 2023-11-14 | 长春希达电子技术有限公司 | 像素复用方法、数据传输***以及显示屏控制***和方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4229768A (en) * | 1978-03-30 | 1980-10-21 | Canon Kabushiki Kaisha | Information processing apparatus |
US4301469A (en) * | 1980-04-30 | 1981-11-17 | United Technologies Corporation | Run length encoder for color raster scanner |
US4610027A (en) * | 1983-12-30 | 1986-09-02 | International Business Machines Corporation | Method for converting a bit map of an image to a run length or run end representation |
US4646356A (en) * | 1984-06-29 | 1987-02-24 | International Business Machines Corporation | Method for converting a bit map of an image to a run length or run end representation |
US4673977A (en) * | 1985-06-20 | 1987-06-16 | International Business Machines Corporation | Method of spatially thresholding a discrete color image |
US4760459A (en) * | 1986-07-30 | 1988-07-26 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
US4847677A (en) * | 1988-04-27 | 1989-07-11 | Universal Video Communications Corp. | Video telecommunication system and method for compressing and decompressing digital color video data |
US4843466A (en) * | 1988-04-27 | 1989-06-27 | Universal Video Communications Corp. | Method and system for decompressing color video slope encoded data |
JPH02179071A (ja) * | 1988-12-28 | 1990-07-12 | Fuji Photo Film Co Ltd | 画像圧縮装置 |
US5353132A (en) * | 1989-02-06 | 1994-10-04 | Canon Kabushiki Kaisha | Image processing device |
JP2766302B2 (ja) * | 1989-04-06 | 1998-06-18 | 株式会社東芝 | 可変長符号並列解読方法および装置 |
US5172237A (en) * | 1989-05-17 | 1992-12-15 | Ricoh Corporation | High quality color image compression system |
JP2511158B2 (ja) * | 1989-12-19 | 1996-06-26 | シャープ株式会社 | 画像圧縮装置 |
US5046119A (en) * | 1990-03-16 | 1991-09-03 | Apple Computer, Inc. | Method and apparatus for compressing and decompressing color video data with an anti-aliasing mode |
US5198898A (en) * | 1990-10-10 | 1993-03-30 | Fuji Xerox Co., Ltd. | Data compressing system for compressing serial image data with color information |
JP3095810B2 (ja) * | 1991-05-31 | 2000-10-10 | 株式会社リコー | 画像データ符号化装置 |
JPH05130434A (ja) * | 1991-10-31 | 1993-05-25 | Canon Inc | 画像圧縮装置 |
US5339164A (en) * | 1991-12-24 | 1994-08-16 | Massachusetts Institute Of Technology | Method and apparatus for encoding of data using both vector quantization and runlength encoding and using adaptive runlength encoding |
US5552832A (en) * | 1994-10-26 | 1996-09-03 | Intel Corporation | Run-length encoding sequence for video signals |
-
1996
- 1996-01-26 WO PCT/IB1996/000062 patent/WO1996025010A2/en active IP Right Grant
- 1996-01-26 PL PL96316679A patent/PL186340B1/pl unknown
- 1996-01-26 JP JP52410396A patent/JP3688297B2/ja not_active Expired - Lifetime
- 1996-01-26 CN CNB961902248A patent/CN1181694C/zh not_active Expired - Lifetime
- 1996-01-26 CA CA002187018A patent/CA2187018C/en not_active Expired - Lifetime
- 1996-01-26 PT PT96900402T patent/PT754393E/pt unknown
- 1996-01-26 AT AT96900402T patent/ATE191600T1/de active
- 1996-01-26 CZ CZ19962885A patent/CZ289508B6/cs not_active IP Right Cessation
- 1996-01-26 HU HU9602710A patent/HU228534B1/hu unknown
- 1996-01-26 BR BR9605110A patent/BR9605110A/pt not_active IP Right Cessation
- 1996-01-26 EP EP96900402A patent/EP0754393B1/en not_active Expired - Lifetime
- 1996-01-26 TR TR96/00787T patent/TR199600787T1/xx unknown
- 1996-01-26 AU AU43985/96A patent/AU695626B2/en not_active Expired
- 1996-01-26 ES ES96900402T patent/ES2145991T3/es not_active Expired - Lifetime
- 1996-01-26 DE DE69607529T patent/DE69607529T2/de not_active Expired - Lifetime
- 1996-01-30 US US08/593,963 patent/US6301389B1/en not_active Expired - Lifetime
- 1996-01-31 IN IN159CA1996 patent/IN187262B/en unknown
- 1996-02-02 AR AR33528696A patent/AR001077A1/es unknown
- 1996-02-02 MY MYPI96000392A patent/MY115792A/en unknown
- 1996-02-04 IL IL11702896A patent/IL117028A/xx not_active IP Right Cessation
-
1997
- 1997-01-26 EA EA199700011A patent/EA000082B1/ru not_active IP Right Cessation
-
1998
- 1998-12-22 HK HK98114635A patent/HK1013385A1/xx not_active IP Right Cessation
-
2000
- 2000-05-31 GR GR20000401274T patent/GR3033579T3/el unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PL186340B1 (pl) | Sposób i urządzenie do kodowania obrazu wizyjnegooraz urządzenie do odbioru i dekodowania sygnału obrazu wizyjnego | |
US6219457B1 (en) | Method and system for decoding data encoded in a variable length code word | |
US5675382A (en) | Spatial compression and decompression for video | |
JP4023548B2 (ja) | 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法 | |
US5138316A (en) | Variable length code demodulating apparatus and address control method thereof | |
US4682215A (en) | Coding system for image processing apparatus | |
EP0535571A2 (en) | Modified Huffman encode/decode system with simplified decoding for imaging systems | |
KR890006089A (ko) | 디지탈 화상 신호 엔코딩 장치 및 디코딩 장치 | |
US4809081A (en) | Method and apparatus for decompressing encoded data | |
JP2002026854A (ja) | データストリーム生成装置とその方法、可変長符号化データストリーム生成装置とその方法、カメラシステム | |
JPH03503707A (ja) | 統計的にコード化されたデジタル・データを復号するシステム | |
US5309156A (en) | Variable-length code decoding device | |
JPH0460391B2 (pl) | ||
US6157327A (en) | Encoding/decoding device | |
US4870479A (en) | Video graphics memory storage reduction technique | |
JPH04270564A (ja) | カラー情報を有するシリアル画像データ圧縮方式 | |
US6020835A (en) | Code decoding apparatus | |
EP0703675B1 (en) | Variable length decoding method and apparatus | |
KR100292050B1 (ko) | 가변장복호기의 데이타 가변장치 | |
JP2002091407A (ja) | 画像表示装置 | |
US5991446A (en) | Image conversion device | |
KR890004316B1 (ko) | 복합 코드 부호화 방법 | |
JPH04270569A (ja) | 画像処理装置におけるデータ圧縮方式 | |
KR950005050B1 (ko) | 코드 발생기 | |
JP2838964B2 (ja) | 可変長符号化回路 |