FI96260C - Suodatusmenetelmä ja suodatin - Google Patents

Suodatusmenetelmä ja suodatin Download PDF

Info

Publication number
FI96260C
FI96260C FI934807A FI934807A FI96260C FI 96260 C FI96260 C FI 96260C FI 934807 A FI934807 A FI 934807A FI 934807 A FI934807 A FI 934807A FI 96260 C FI96260 C FI 96260C
Authority
FI
Finland
Prior art keywords
memory
data
filtering
filter
column
Prior art date
Application number
FI934807A
Other languages
English (en)
Swedish (sv)
Other versions
FI934807A (fi
FI934807A0 (fi
FI96260B (fi
Inventor
Timo Sarkkinen
Kari Tiensyrjae
Pertti Alapuranen
Original Assignee
Rautaruukki Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rautaruukki Oy filed Critical Rautaruukki Oy
Priority to FI934807A priority Critical patent/FI96260C/fi
Publication of FI934807A0 publication Critical patent/FI934807A0/fi
Priority to US08/326,294 priority patent/US5485412A/en
Priority to JP6260637A priority patent/JPH07193466A/ja
Priority to EP94117118A priority patent/EP0651351A1/en
Publication of FI934807A publication Critical patent/FI934807A/fi
Publication of FI96260B publication Critical patent/FI96260B/fi
Application granted granted Critical
Publication of FI96260C publication Critical patent/FI96260C/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators

Description

96260
Suodatusmenetelmä ja suodatin Tämän keksinnön kohteena on menetelmä diskreetin m*n datan jatkuvaa 2-dimensionaalista suodatusta varten, 5 kun käsiteltävä data käsittää n kappaletta m datanäytettä sisältäviä rivejä, jossa menetelmässä suodatus suoritetaan peräkkäisinä horisontaalisina ja vertikaalisina suoda-tusoperaatioina, jolloin horisontaali- ja vertikaalisuoda-tuksen yhteydessä dataa talletetaan vastaavasti ensimmäi-10 seen ja toiseen muistiin, ja jossa data jaetaan käsittelyä varten y riviä sisältäviin lohkoihin. Keksintö koskee myös menetelmän toteuttavaa suodatinta.
2-dimensionaalinen diskreetti m*n-data on moniar-voisesti, esimerkiksi 8 databitillä, esitettyjen datanäyt-15 teiden joukko järjestettynä kokonaislukujen m ja n järjestetyiksi pareiksi siten, että m datanäytettä (l<m<M, jossa M on sovellutustarpeiden ja teknologisten rajojen määrittämä luku) sisältäviä rivejä on n kappaletta (l<n<co) . Käytännön menettelyinä m*n-datan 2-dimensionaaliseksi suodat-20 tamiseksi jatkuvana on julkisessa signaalinkäsittelykir-jallisuudessa (esimerkiksi D.E. Dudgeon, R.M. Mersereau: Multidimensional Digital Signal Processing. Prentice-Hall, Inc., Englewood Cliffs, New Jersey 07632, 1984, pp. 5-12, 116-118, ja J.S. Lim, A.V. Oppenheim: Advanced Topics in • 25 Signal Processing. Prentice-Hall, Inc., Englewood Cliffs,
New Jersey 07632, 1988, pp. 385-389) esitetty esimerkiksi diskreettiin Fourier-muunnokseen ja sen johdannaisiin, esimerkiksi lohkokonvoluutioon perustuvia overlap-add- ja overlap-save-menetelmiä, jotka hyödyntävät erotettavissa 30 olevien järjestelmien (engl. separable systems) ominaisuuksia. Nämä menetelmät käsittelevät m*n-dataa lohkoina aiheuttaen useissa reaaliaikasovellutuksissa haitallisia katkoksia jatkuvuuteen ja vaativat runsaasti muistia da-tanäytteiden ja välitulosten tallettamiseen sekä vaativat 35 välitulosten kääntämisen (engl. transposition). Konferens- 96260 2 seissa ja julkaisuissa on esitetty runsaasti HDTV-tele-visiojärjestelmissä käytettäväksi ehdotettuja 2-dimen-sionaalisen diskreetin kosinimuunnoksen (engl. discrete cosine transform) toteuttavia ratkaisuja, jotka pohjautu-5 vat edellä mainittuihin periaatteisiin.
Esillä olevan keksinnön tavoitteena on tuoda esiin menetelmä ja suodatin diskreetin m*n datan jatkuvaa 2-di-mensionaalista suodatusta varten, johon ei liity yllämainittujen tunnettujen menetelmien ongelmia erityisesti suu-10 ren muistikapasiteetin tai tulosten epäjatkuvuden muodossa . Tähän tulokseen päästään keksinnön mukaisen menetelmän avulla, joka käsittää vaiheet, joissa suodatetaan y riviä käsittävä datalohko horisontaali suunnassa, 15 horisontaalisuodatuksen tulokset talletetaan ensim mäiseen muistiin riveittäin, jolloin muistissa on kulloinkin talletettuna y riviä horisontaalisuodatuksen tuloksia, luetaan horisontaalisuodatuksen tulokset ensimmäisestä muistista sarakkeittain lohkon pituudelta, 20 suodatetaan sarakkeittain ensimmäisestä muistista luetut tulokset vertikaalisuunnassa, jolloin vertikaa-lisuodatuksen tulokset muodostavat suodatetun datan, talletetaan toiseen muistiin vertikaalisuodatuksen välitilat joka sarakkeen rivin y käsittelyn jälkeen, 25 luetaan toisesta muistista ennen seuraavan lohkon vertikaalisuodatusta vertikaalisuodatuksen lähtöarvoksi vastaavan sarakkeen y riviä aikaisempi tila ja jatketaan lohkoittaista käsittelyä, kunnes n riviä dataa on suodatettu.
30 Keksinnön mukaista menetelmää sovellettaessa on edullista, että aluksi horisontaalisuodatuksen tulokset kirjoitetaan peräkkäisiin muistipaikkoihin, kunnes muisti on täynnä ja tämän jälkeen tulokset kirjoitetaan juuri vertikaalisuodatukseen luetun muistipaikan sisällön tilal-35 le. Käytännössä on edullista menetellä myös siten, että 96260 3 vertikaalisuodatuksen tulosten tallettaminen muistiin ja arvojen lataaminen muistista vertikaalisuodatuksen lähtöarvoiksi yhdistetään vaihtamalla luettavien muistipaikkojen sisällöt talletettavien kanssa.
5 Edellä mainitun menetelmän toteuttamiseen voidaan käyttää suodatinta diskreetin m*n datan jatkuvaa 2-dimensionaalista suodatusta varten, kun käsiteltävä data käsittää n kappaletta m datanäytettä sisältäviä rivejä, joka suodatin käsittää 10 horisontaalisuodattimen ja vertikaalisuodattimen suodatuksen suorittamiseksi peräkkäisinä horisontaalisina ja vertikaalisina suodatusoperaatioina datalle, joka on jaettu käsittelyä varten y rivin pituisiin lohkoihin, ensimmäisen muistin horisontaalisuodattimelta saa-15 tavan horisontaalisuodatetun datan tallettamiseksi ja toisen muistin vertikaalisuodattimen sisäisten välitilojen tallettamiseksi. Tälle suodattimelle on tunnusomaista, että se edelleen käsittää ajoitus- ja synkronointilohkon osoitesignaalien ja 20 ohjaussignaalien kehittämiseksi ensimmäiseen muistiin riveittäin suoritettavaa talletusta ja ensimmäisestä muistista sarakkeittain suoritettavaa lukua varten ja toiseen muistiin suoritettavaa vertikaalisuodatuksen välitilojen talletusta ja toisesta muistista suoritettavaa välitilojen 25 lukua varten.
Edullisesti ensimmäisen muistin koko on 2*m*y muis- tiyksikköä jakautuneena kahteen m*y suuruiseen osaan, joista kulloinkin toinen toimii kirjoitusmuistina, johon kirjoitetaan riveittäin, ja toinen lukumuistina, josta 30 luetaan sarakkeittain.
Seuraavassa keksinnön mukaista menetelmää ja suodatinta kuvataan yksityiskohtaisemmin viitaten oheiseen piirustukseen, jossa kuvio 1 esittää keksinnön mukaisen menetelmän to-35 teuttavan suodattimen esimerkinomaisen lohkokaavion, 4 96260 kuvio 2 esittää periaatekuvan jatkuvan datan pilkkomisesta y:n rivinkorkuisiin lohkoihin, kuvio 3 esittää datan prosessointijärjestystä loh-kottaisessa vertikaalisuodatuksessa, 5 kuvio 4 esittää ensimmäisen datalohkon tallennus- järjestystä muistiin horisontaalisuodatuksen jälkeen, kuvio 5 esittää periaatekuvan horisontaalisuodatuksen tulosten tallentamiseen soveltuvan muistin ensimmäisestä toteutusvaihtoehdosta ja 10 kuvio 6 esittää osoitelaskurin esimerkinomaisen suoritusmuodon lohkokaavion.
Kuviossa 1 on havainnollistettu keksinnön mukaisen menetelmän esimerkinomaisesti toteuttavan suodattimen rakennetta. Se perustuu erotettavissa olevien järjestelmien 15 ominaisuuksien hyödyntämiseen ja horisontaalisuodattimena HF ja vertikaalisuodattimena VF voidaan käyttää tavanomaisia tunnettuja horisontaali- ja vertikaalisuodattimia kuten esimerkiksi WO-hakemusjulkaisusta 92/21093 tunnettuja suodatinrakenteita. Kuviossa 1 kuvatussa suodattimessa 20 tulevat datanäytteet DS syötetään suoraan horisontaalisuo-dattimelle HF. Horisontaalisuodatuksen jälkeen välitulokset tallennetaan ajoitus- ja synkronointilohkon TSC muodostamien osoitesignaalin AI ja ohjaussignaalin Cl ohjaamana muistin Ml, minkä jälkeen alkuperäinen datanäyte 25 poistetaan käsittelystä sekä toistetaan käsittely uusille datanäytteille DS. Horisontaalisuodatuksen välituloksia on kulloinkin tallessa y*m kappaletta. Seuraavaksi välitulos luetaan muistista Ml ajoitus- ja synkronointilohkon TSC muodostamien osoitesignaalien AI ja ohjaussignaalien Cl 30 ohjaamana muistista Ml vertikaalisuodattimeen VF, jolloin samalla vapautetaan kyseisen välituloksen varaama muistipaikka seuraavalle horisontaalisuodattimen välitulokselle. Vertikaalisuodattimen VF välituloksia tallennetaan muistiin M2. Tästä muistista M2 palautetaan vertikaalisuodat-35 timen VF sisäisiä välitiloja jatkuvuuden aikaansaamiseksi
II
96260 5 peräkkäisten y rivinpituisten lohkojen välille. Muistissa M2 on kerrallaan y*m välitilaa. Kuvion 2 esimerkinomaisessa lohkokaaviossa käytetyt merkinnät ovat seuraavat: AI = Ml:n osoitesignaalit 5 A2 = M2:n osoitesignaalit CLK = HF:n ja VF:n kellosignaalit Cl = Ml:n ohjaussignaalit C2 = M2:n ohjaussignaalit C3 = VF:n ohjaussignaalit 10 DS = Tulevat datanäytteet FD = Lähtevät suodatetut datat HD = HF:n dimensio HF = Horisontaalisuodatin HS = Horisontaalisynkronointi 15 INIT = Alkuasetussignaali LL = Rivinpituus M = HF:n ja VF:n toimintatilan asetus
Ml = Muisti 1 M2 = Muisti 2 20 SCLK = Kellosignaali TSC = Ajoitus- ja synkronointilohko VD = VF:n dimensio VF = Vertikaalisuodatin VS = Vertikaalisynkronointi 25 Kuviossa 2 kuvatun suodattimen esimerkinomaisen suoritusmuodon ja itse suodatusmenetelmän toimintaperiaatteita kuvataan seuraavassa jolloin käytetään seuraavia merkintöj ä: w = suodattimen horisontaalinen dimensio 30 h = suodattimen vertikaalinen dimensio m = kuvan leveys, kuvarivin pituus n = kuvan korkeus, kuvasarakkeen pituus y = kuvalohkon korkeus x = kuvalohkon leveys.
35 Menetelmässä jaetaan 2-dimensionaalinen suodatus- 6
n6?6 O
operaatio erotettavissa olevien järjestelmien ominaisuuksia hyödyntäen peräkkäin suoritettaviin horisontaali- ja vertikaalisuodatusvaiheisiin. Tulevat datanäytteet suodatetaan aluksi riveittäin horisontaalisuunnassa ja saadut 5 välitulokset talletetaan muistiin Ml. Välitulokset luetaan sarakkeittain muistista Ml, ja niille tehdään vertikaali-suodatusoperaatiot. Operaatioiden välitulokset talletetaan sarakkeittain muistin M2.
Oletetaan datan kooksi m*n, minkä vuoksi yhteen 10 aikaisemmin julkaistuun kääntöperiaatteeseen (engl. transposition) perustuvaan operaatioon tarvittavan muistin koko on m*n muistiyksikköä, missä muistiyksikkö on yhden data-näytteen vaatima tila muistissa. Jos esimerkiksi käsitellään 8-bittistä näytedataan, jonka leveys on 4096 pikseliä 15 ja korkeus 4096 pikseliä, on yhteen käännökseen tarvittavan muistin koko 8*4096*4096 bittiä = 128 Mb. Menetelmää ei voida suoraan käyttää jatkuvan datan suodatukseen, koska rivien lukumäärä n -> oo, ja tämän vuoksi myös tarvittavan muistin koko lähenee ääretöntä.
20 Tarvittavan muistin kokoa voidaan pienentää pilkko malla data y riviä sisältäviin lohkoihin, ja tekemällä vertikaalisuodatusoperaatiot lohko kerrallaan. Horisontaa-lisuodatetun datan y ensimmäistä riviä talletetaan lohkoon 1, y seuraavaa lohkoon 2 jne.
25 Kuviossa 2 on havainnollistettu tätä datan pilkko mista y riviä sisältäviin lohkoihin esittämällä kuviossa 2 lohkojen p-1, p, p+1 sisällöt asian ymmärtämisen edellyttämässä laajuudessa.
Oletetaan seuraavassa, että muistin Ml on talletet-30 tu lohkon p näytteet ja muistiin M2 lohkon p-1 viimeisen rivin aikaiset vertikaalisuodattimen sisäiset tilat f(y,p-1),f(2y,p-l),f(3y,p-1),...,f(my,p-l).
Ennen lohkon p ensimmäisen sarakkeen käsittelyn aloittamista ladataan muistista M2 vertikaalisuodattimen 35 f(l,p) tilaksi lohkon p-1 vastaavan sarakkeen viimeisen 7 96260 (y:nnen) rivin tila f(y,p-l). Tämän jälkeen käsitellään sarake riville y saakka. Suodattimen tila f(y,p) talletetaan muistin m2, minkä jälkeen suodattimen tilaksi ladataan f(2y,p-l) ja siirrytään sarakkeen 2 käsittelyyn. Vii-5 meisen sarakkeen m viimeisen rivin y käsittelyn jälkeen talletetaan suodattimen tila f(my,p) muistiin M2, suodat-timeen ladataan tila f(l,p), minkä jälkeen aletaan prosessoida lohkon p+1 ensimmäistä saraketta. Lohkon p+1 prosessointi (samoin kuin minkä tahansa muun lohkon prosessoin-10 ti) on täysin identtinen lohkon p käsittelyn kanssa.
Datanäytteiden käsittelyjärjestys on eräänlainen välimuoto riveittäin tai sarakkeittain tapahtuvan datan prosessoinnista. Dataa prosessoidaan sarakkeittain, mutta vain y näytettä kerrallaan, minkä jälkeen siirrytään seu-15 raavan sarakkeen käsittelyyn. Näytteiden käsittelyjärjestystä (lukujärjestystä muistista M2) on havainnollistettu kuviossa 3.
Edellä esitetyn menetelmän toteuttamiseksi siten, että 2-dimensionaalinen suodatus säilyy käytännössäkin 20 jatkuvana tarvitaan muistin Ml ohjausmenetelmä, joka tehokkaasti mahdollistaa horisontaalisuodattimen tulosten tallentamisen riveittäin ja näiden tulosten lukemisen ver-tikaalisuodattimeen sarakkeittain. Menettelyllä sekä vältetään erillisten, jatkuvuuden katkaisevien datan kääntö-25 algoritmien käyttö (esimerkiksi J.O. Eklundh: A Fast Computer Method for Matrix Transposing. IEEE Trans. Computers, C-21 (July 1972), 801-3) että optimoidaan tarvittavan muistin koko. Tähän liittyviä ratkaisuvaihtoehtoja on käsitelty seuraavassa.
30 Muistiin Ml, (muistin koko on y*m, jossa muistipai kat [0 ,m*y-l] ) kirjoitetaan y datariviä kuvion 4 osoittamalla tavalla indeksien 0...m*y-l osoittamassa järjestyksessä. Ensimmäinen rivi talletetaan muistipaikkoihin [0,m-l], toinen rivi muistipaikkoihin [m,2*m-l],..., ja 35 viimeinen rivi y muistipaikkoihin [(y-1)*m,y*m-l].
8 96260
Dataa luetaan muistista Ml sarakkeittain. Ensimmäinen sarake luetaan muistipaikoista 0,m,2m,3m,...,(y-2)m ja (y-l)m. Toinen sarake luetaan vastaavasti muistipaikoista 1,m+1,2m+l,3m+l,...,(y-2)mm+1 ja (y-l)m+l. Vastaavalla 5 tavalla voidaan lukea mikä tahansa sarake muistiin tallennetusta lohkosta p. Sarakkeittain askeltava osoitelaskuri voidaan toteuttaa helposti kaavan (1) perusteella 10 nextadd(c) = (nextadd(c-1) + 1) mod u, (1) nextadd(O) = 0, nextadd(m*7-1) = u; 0 < c s u, u = m*y-l 15 Muistin ml toteuttamiseksi esitetään seuraavassa kaksi toisistaan poikkeavaa vaihtoehtoa.
Toteutusvaihtoehdossa I, joka on havainnollistettu kuviossa 5, muistin Ml koko on 2*m*y muistiyksikköä, jossa muistiyksikkö tarkoittaa yhden datan tallentamiseen tar-20 vittavaa muistialkioiden määrää. Kirjoitus- ja lukuoperaa-tiot tehdään samanaikaisesti kahteen muistilohkoon 1 ja 2. Kirjoitettaessa muistilohkoon 1 luetaan lohkosta 2 tai päinvastoin. Kirjoitus tehdään riveittäin (kuvio 5, muis-tilohko 2) ja lukeminen sarakkeittain (kuvio 5, muistiloh-1 25 ko 1) . Muistilohkon 2 alin osoite on 0 ja ylin osoite m*y-l. Vastaavasti muistilohkon 1 alin osoite on m*y ja ylin 2*m*y-l. Kirjoitusosoitteen m*y-l jälkeen kirjoitus-osoite hyppää osoitteeseen m*y, ja vastaavasti lukuosoite hyppää 2*m*y-l:stä 0:aan. Tällöin lukuvaiheessa ollut 30 muistilohko muutetaan kirjoitusvaiheeseen, ja kirjoitusvaiheessa ollut muistilohko muutetaan lukuvaiheeseen. Edellisen perusteella uudet y riviä kirjoitetaan jo aiemmin luettujen rivien tilalle, ja lukeminen suoritetaan y:lle aiemmin talletetulle riville. Toteutusvaihtoehdon I 35 suurin ongelma on tarvittavan muistin suurehko koko. Koska li 96260 9 tarvitaan kaksi erillistä muistialuetta, muistikapasiteetin kooksi tulee 2*m*y muistiyksikköä. Lisäksi luku- ja kirjoitusosoitteiden generointiin tarvitaan kaksi erillistä osoitelaskuria.
5 Toteutusvaihtoehtoa I voidaan havainnollistaa seu- raavalla esimerkillä:
Datarivin pituus m = 4096 pikseliä Lohkon korkeus y = 16 datanäytettä.
Datanäyte = 8 bittiä = 1 tavu.
10
Muistin koko = 2*m*y*8 bittiä = 1 Mb = 128 kB Osoitelaskureissa bittejä = 2*(log2(m*y)) bittiä = 2*16 bittiä.
15 Toteutusvaihtoehdossa II muistin Ml koko on y*m muistiyksikköä. Seuraavassa toteutusvaihtoehto II:n toimintaa on kuvattu toteutusvaihtoehtoon I verrattuna. Oletetaan, että toteutusvaihtoehdossa I luetaan datanäyte muistipaikasta a. Tämän jälkeen muistipaikan sisältöä ei 20 enää tarvita. Kun toteutusvaihtoehto I:ssä luetaan esimerkiksi muistipaikasta 2*m*y-l, sisältää ainoastaan alue [0,m*y-l] käyttökelpoista dataa. Osoitteiden [m*y,2*m*y-1] sisältämä data on tällöin jo kertaalleen käytetty, eikä sitä enää tarvita. Tämän perusteella vain puolet muistin 25 sisällöstä on käyttökelpoista dataa.
Edellisen nojalla lohkottaisen datan kääntämiseen tarvittavan muistin kokoa voidaan pienentää 2*m*y:stä m*y:hyn. Tämä puolestaan vaatii sen, että jokainen kirjoitusoperaatio tehdään samaan osoitteeseen, josta edellinen 30 datanäyte on luettu.
Oletetaan, että muistiin [0,m*y-l] on tallennettu y datariviä (rivit 0...y-l) kuvion 4 osoittamalla tavalla. Luetaan aluksi sarake 0, ja tallennetaan samanaikaisesti vapaaksi jääviin muistipaikkoihin rivin y ensimmäiset y 35 datanäytettä. Sarakkeeseen 1 tallennetaan rivin seuraavat 10 96260 y datanäytettä. Rivin y+1 tallennus voidaan aloittaa kun m/y saraketta on luettu. Rivin y-1 viimeisen datanäytteen lukemisen jälkeen voidaan tämän tilalle tallentaa rivin 2*y-l viimeinen datanäyte.
5 Seuraavassa vaiheessa luetaan muistista rivien y,y+1,y+2,...,2*y-l ensimmäiset datanäytteet (sarake 0), ja tallennetaan alkuosa rivistä 2*y haettujen näytteiden tilalle. Tämän jälkeen luetaan rivien y,y+l,y+2,...,2*y-l toiset datanäytteet (sarake 1) ja tallennetaan rivin 2*y 10 seuraavat y datanäytettä näiden tilalle. Prosessia jatketaan tällä tavoin ja menettely mahdollistaa äärettömän monirivisen datan käsittelyn jatkuvana.
Edellä kuvattu menettely vaatii tarkoitukseen kehitetyn osoitteengenerointialgoritmin, jota on kuvattu seu-15 raavassa. Ensimmäisen datalohkon käsittelyn aikana osoitetta inkrementoidaan jatkuvasti yhdellä. Datalohkon päätyttyä inkrementti on m (datarivin pituus), jolloin osoitteen laskennassa voidaan käyttää kaavasta 1 modifioitua kaavaa 2.
20 nextadd(c) = (nextadd(c-1) + increment) mod (u-1), (2) nextadd(m*y) = 0, nextadd(2*m*y-l) = u-1, U < C s 2u-l, u = m*y, ' 25 increment = m
Toisella kierroksella inkrementti on m, mikä osoittaa ensimmäisen datalohkon toisen datarivin ensimmäisen sarakkeen paikan muistissa Ml. Kolmannella kierroksella 30 voidaan edelleen soveltaa kaavaa 2 sillä erotuksella, että inkrementin increment-arvoksi asetetaan toisen datalohkon toisen datarivin ensimmäisen sarakkeen paikka muistissa Ml. Yleistettynä lohkon p inkrementtinä increment (kaavassa 2) käytetään lohkon p-1 toisen datarivin ensimmäisen 35 sarakkeen sisältämän osoitteen arvoa muistissa Ml. Lohkon li 96260 11 p inkrementin arvo voitaisiin laskea aritmeettisesti lohkon p-1 inkrementistä, mutta käytännössä toimenpide vaatii melko paljon laskentaa. Huomattavasti helpompi tapa on tallentaa lohkon p-1 käsittelyn aikana lohkon p-1 toisen 5 datarivin ensimmäisen sarakkeen osoite kuvion 6 osoittamalla tavalla rekisteriin REGA. Lohkon p käsittelyn alkaessa ladataan uudeksi inkrementin arvoksi rekisterin REGA sisältö. Toimenpiteen ansiosta vältytään raskaalta laskennalta. Osoitteenlaskenta voidaan toteuttaa esimerkiksi ku-10 vion 6 kaltaisen toteutusratkaisun avulla.
Kuviossa 6 esitetty osoitelaskurin esimerkinomainen rakenne koostuu neljästä eri osasta: REGA: Rekisteri, joka sisältää datalohkon toisen rivin ensimmäisen sarakkeen osoitteen.
15 REGB: Rekisteri, joka sisältää datalohkossa käytet tävän inkrementin REGC: Rekisteri, joka sisältää lähtöosoitteen Adder: Modifioitu modulo(ma)summain (ma = LL*y-l). Osa laskee summan sum = (A+B) mod (ma) paitsi tilanteessa, 20 jossa (A+B) = ma, jolloin summa sum = A+B, kun A on rekisterin REGA sisältö, B on rekisterin REGB sisältö ja ma on lohkon muistiyksiköiden lukumäärä vähennettynä yhdellä.
Toimintasekvenssin alussa aktivoidaan Initialize-signaali. Uuden datalohkon alussa (ja tässä tapauksessa 25 myös koko datan alussa) ladataan NewDataBlock-signaalin avulla inkrementin Increment arvoksi 1 ja asetetaan lähtö-osoitteen NextAddress arvoksi 0. Tämän jälkeen initiali-sointisignaali Initialize asetetaan ei-aktiiviseen tilaan.
Jokaisen datalohkon alussa aktivoitava NewData-30 Block-signaali nollaa lähtöosoitteen (Next-Address = 0) ja lataa uuden inkrementin (Increment = NextIncrement). Tämän jälkeen lasketaan osoitteita osoitekellon AddressClock tahdissa. Datalohkon toisen rivin ensimmäisen sarakkeen osoite talletetaan signaalin LoadNextIncrement avulla re-35 kisteriin REGA.

Claims (8)

96260 12
1. Menetelmä diskreetin m*n datan jatkuvaa 2-dimensionaalista suodatusta varten, kun käsiteltävä data käsit- 5 tää n kappaletta m datanäytettä sisältäviä rivejä, jossa menetelmässä suodatus suoritetaan peräkkäisinä horisontaalisina ja vertikaalisina suodatusoperaatioina, jolloin horisontaali- ja vertikaalisuodatuksen yhteydessä dataa talletetaan vastaavasti ensimmäiseen (Ml) ja toiseen muis-10 tiin (M2), ja jossa data jaetaan käsittelyä varten y riviä sisältäviin lohkoihin, tunnettu siitä, että menetelmä käsittää vaiheet, joissa suodatetaan y riviä käsittävä datalohko horisontaa-lisuunnassa, 15 horisontaalisuodatuksen tulokset talletetaan ensim mäiseen muistiin (Ml) riveittäin, jolloin muistissa on kulloinkin talletettuna y riviä horisontaalisuodatuksen tuloksia, luetaan horisontaalisuodatuksen tulokset ensimmäi-20 sestä muistista sarakkeittain lohkon pituudelta, suodatetaan sarakkeittain ensimmäisestä muistista luetut tulokset vertikaalisuunnassa, jolloin vertikaalisuodatuksen tulokset muodostavat suodatetun datan, talletetaan toiseen muistiin (M2) vertikaalisuoda-25 tuksen välitilat joka sarakkeen rivin y käsittelyn jälkeen, luetaan toisesta muistista (M2) ennen seuraavan lohkon vertikaalisuodatusta vertikaalisuodatuksen lähtöarvoksi vastaavan sarakkeen y riviä aikaisempi tila ja 30 jatketaan lohkoittaista käsittelyä, kunnes n riviä dataa on suodatettu.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että aluksi horisontaalisuodatuksen tulokset kirjoitetaan peräkkäisiin muistipaikkoihin, 35 kunnes muisti on täynnä ja tämän jälkeen tulokset kirjoi- 96260 13 tetaan juuri vertikaalisuodatukseen luetun muistipaikan sisällön tilalle.
3. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että vertikaalisuodatuksen väliti- 5 lojen tallettaminen muistiin ja arvojen lukeminen muistista vertikaalisuodatuksen lähtöarvoiksi yhdistetään vaihtamalla luettavien muistipaikkojen sisällöt talletettavien kanssa.
4. Suodatin diskreetin m*n datan jatkuvaa 2-dimen-10 sionaalista suodatusta varten, kun käsiteltävä data käsittää n kappaletta m datanäytettä sisältäviä rivejä, joka suodatin käsittää horisontaalisuodattimen (HF) ja vertikaalisuodatti-men (VF) suodatuksen suorittamiseksi peräkkäisinä horison-15 taalisina ja vertikaalisina suodatusoperaatioina datalle, joka on jaettu käsittelyä varten y rivin pituisiin lohkoihin, ensimmäisen muistin (Ml) horisontaalisuodattimelta (HF) saatavan horisontaalisuodatetun datan tallettamiseksi 20 ja toisen muistin (M2) vertikaalisuodattimen (VF) sisäisten välitilojen tallettamiseksi, tunnettu siitä, että se edelleen käsittää ajoitus- ja synkronointilohkon (TSC) osoitesignaa-25 lien (AI, A2) ja ohjaussignaalien (Cl, C2) kehittämiseksi ensimmäiseen muistiin (Ml) riveittäin suoritettavaa talletusta ja ensimmäisestä muistista (Ml) sarakkeittain suoritettavaa lukua varten ja toiseen muistiin (M2) suoritettavaa vertikaalisuodatuksen välitilojen talletusta ja toi-30 sesta muistista (M2) suoritettavaa välitilojen lukua var ten .
5. Patenttivaatimuksen 4 mukainen suodatin, tunnettu siitä, että ensimmäisen muistin (Ml) koko on 2*m*y muistiyksikköä jakautuneena kahteen m*y suuruiseen 35 osaan, joista kulloinkin toinen toimii kirjoitusmuistina, 14 96260 johon kirjoitetaan riveittäin, ja toinen lukumuistina, josta luetaan sarakkeittain.
6. Patenttivaatimuksen 4 mukainen suodatin, tunnettu siitä, että toisen muistin (M2) koko on m*y 5 muistiyksikköä.
7. Patenttivaatimuksen 4 mukainen suodatin, tun nettu siitä, että ensimmäisen muistin (Ml) koko on m*y muistiyksikköä, jolloin kulloinkin luetun muistipaikan sisällön paikalle kirjoitetaan välittömästi uusi muisti- 10 paikan sisältö.
8. Patenttivaatimuksen 7 mukainen suodatin, tunnettu siitä, että ajoitus- ja synkronointilohko (TSC) ensimmäisen muistin (Ml) osoitteiden (AI) kehittämistä varten käsittää osoitelaskurin, joka käsittää 15 ensimmäisen rekisterin (REGA), joka sisältää data- lohkon toisen rivin ensimmäisen sarakkeen osoitteen, toisen rekisterin (REGB) , joka sisältää datalohkos-sa käytetyn inkrementin, modifioidun modulo(ma) summaimen, joka laskee sum-20 man (A+B)mod(ma), missä A on ensimmäisen rekisterin (RE GA) , B toisen rekisterin (REGB) sisältö ja ma on lohkon muistiyksiköiden lukumäärä vähennettynä yhdellä, paitsi tilanteessa, jossa (A+B)= ma, jolloin summa on A+B, ja kolmannen rekisterin (REGC), joka sisältää lähtö-25 osoitteen. Il ls 96260 15
FI934807A 1993-10-29 1993-10-29 Suodatusmenetelmä ja suodatin FI96260C (fi)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FI934807A FI96260C (fi) 1993-10-29 1993-10-29 Suodatusmenetelmä ja suodatin
US08/326,294 US5485412A (en) 1993-10-29 1994-10-20 Method and apparatus for successive horizontal and vertical data filtering
JP6260637A JPH07193466A (ja) 1993-10-29 1994-10-25 フィルタリング方法およびフィルタ
EP94117118A EP0651351A1 (en) 1993-10-29 1994-10-28 Filtering method and filter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI934807 1993-10-29
FI934807A FI96260C (fi) 1993-10-29 1993-10-29 Suodatusmenetelmä ja suodatin

Publications (4)

Publication Number Publication Date
FI934807A0 FI934807A0 (fi) 1993-10-29
FI934807A FI934807A (fi) 1995-04-30
FI96260B FI96260B (fi) 1996-02-15
FI96260C true FI96260C (fi) 1996-05-27

Family

ID=8538877

Family Applications (1)

Application Number Title Priority Date Filing Date
FI934807A FI96260C (fi) 1993-10-29 1993-10-29 Suodatusmenetelmä ja suodatin

Country Status (4)

Country Link
US (1) US5485412A (fi)
EP (1) EP0651351A1 (fi)
JP (1) JPH07193466A (fi)
FI (1) FI96260C (fi)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056295B1 (en) * 1998-12-10 2006-11-02 Matsushita Electric Industrial Co., Ltd. Filter arithmetic device
US6604029B2 (en) 2001-05-08 2003-08-05 Rosemount Aerospace Inc. Multi-function air data probes using neural network for sideslip compensation
US6594559B2 (en) 2001-05-08 2003-07-15 Rosemount Aerospace Inc. Iterative method of aircraft sideslip compensation for multi-function probe air data systems
US6561020B2 (en) 2001-05-08 2003-05-13 Rosemount Aerospace Inc. Method to calculate sideslip angle and correct static pressure for sideslip effects using inertial information
ATE381745T1 (de) 2001-06-11 2008-01-15 Silicon Optix Inc Verfahren und vorrichtung zur verarbeitung von zweidimensionalen bilddaten
US6543298B2 (en) 2001-07-13 2003-04-08 Rosemount Aerospace Inc. Method of reducing total temperature errors and multi-function probe implementing same
US6761057B2 (en) 2001-09-13 2004-07-13 Rosemount Aerospace Inc. Error detection and fault isolation for multi-function air data probes and systems
US6668640B1 (en) 2002-08-12 2003-12-30 Rosemount Aerospace Inc. Dual-channel electronic multi-function probes and methods for realizing dissimilar and independent air data outputs
US7379839B2 (en) * 2002-12-23 2008-05-27 Rosemount Aerospace, Inc. Multi-function air data probes employing neural networks for determining local air data parameters
US7356197B2 (en) * 2003-06-30 2008-04-08 Intel Corporation Variable tap filter architecture for image processing
US7257470B2 (en) * 2004-10-29 2007-08-14 Rosemount Aerospace Inc. Fault isolation method and apparatus in artificial intelligence based air data systems
US7213454B2 (en) * 2005-04-06 2007-05-08 Rosemount Aerospace Inc. Method and apparatus for obtaining improved accuracy and range for air data parameters inferred from independent measurements of interdependent pressures
US20070130096A1 (en) * 2005-12-01 2007-06-07 Rosemount Aerospace, Inc. Fault detection in artificial intelligence based air data systems
US7828477B2 (en) * 2007-05-14 2010-11-09 Rosemount Aerospace Inc. Aspirated enhanced total air temperature probe
US9077313B2 (en) * 2011-10-14 2015-07-07 Vivante Corporation Low power and low memory single-pass multi-dimensional digital filtering

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4328426A (en) * 1980-08-04 1982-05-04 Xerox Corporation Filter for image pixels
JPS57171884A (en) * 1981-03-12 1982-10-22 Victor Co Of Japan Ltd Conversion system for number of scanning lines
US4709394A (en) * 1985-08-23 1987-11-24 Rca Corporation Multiplexed real-time pyramid signal processing system
GB2181318B (en) * 1985-10-04 1989-12-28 Sony Corp Two-dimensional finite impulse response filters
GB8622611D0 (en) * 1986-09-19 1986-10-22 Questech Ltd Processing of video image signals
US4941191A (en) * 1988-01-04 1990-07-10 O-I Neg Tv Products, Inc. Formerly Known As Owens-Illinois Television Products, Inc.) Image analysis system employing filter look-up tables
US4984286A (en) * 1989-12-12 1991-01-08 Analogic Corporation Spatial filter system
US5117289A (en) * 1990-04-26 1992-05-26 Lyon-Lamb Video Animation Real-time video image converter
FR2680292B1 (fr) * 1991-08-09 1993-11-12 Sgs Thomson Microelectronics Sa Filtre bidimensionnel a reponse impulsionnelle finie.
FI89850C (fi) * 1991-12-30 1993-11-25 Salon Televisiotehdas Oy Foerfarande och filter foer avlaegsning av brus fraon en bildsekvens

Also Published As

Publication number Publication date
FI934807A (fi) 1995-04-30
EP0651351A1 (en) 1995-05-03
JPH07193466A (ja) 1995-07-28
US5485412A (en) 1996-01-16
FI934807A0 (fi) 1993-10-29
FI96260B (fi) 1996-02-15

Similar Documents

Publication Publication Date Title
FI96260C (fi) Suodatusmenetelmä ja suodatin
EP0013069B1 (en) A data processor and method of processing video information
US4712140A (en) Image reduction method
US8482573B2 (en) Apparatus and method for processing data
US6353910B1 (en) Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage
US5774386A (en) Method and apparatus for performing function evaluation using a cache
JPH0810462B2 (ja) 画像処理装置
WO1998032080A1 (en) Method and apparatus for fft computation
EP0177640A2 (en) Image reduction method
EP0569218A2 (en) Circuit for rotating a ditigal image
US6408319B1 (en) Electronic device for computing a fourier transform and corresponding control process
EP0440301B1 (fr) Procédé de stockage en mémoire pour le traitement d&#39;images, et dispositif pour la mise en oeuvre du procédé
US6950843B2 (en) Multi-dimensional Fourier transform parallel processing method for shared memory type scalar parallel computer
EP0773512B1 (en) A method and apparatus for scaling images
CN109727206A (zh) 一种二值图像中值滤波的快速计算方法以及其实现方法
US4757469A (en) Method of addressing a random access memory as a delay line, and signal processing device including such a delay line
DE19810784B4 (de) Rechnersystem
CN101800874B (zh) 压缩视频存取方法及存取系统
EP0549309B1 (en) Address reduction scheme implementing rotation algorithm
CN113722623A (zh) 数据处理方法、装置、电子设备及存储介质
US6134349A (en) Device and method for processing run-length encoded signals by using an address generator
JP2001188675A (ja) データ転送装置
CN111882482A (zh) 图形分块数据读写方法、装置、设备及存储介质
US6631164B1 (en) Addressing process for the storage of image blocks
JP2000251065A (ja) 画像処理装置

Legal Events

Date Code Title Description
BB Publication of examined application