FI96260C - Suodatusmenetelmä ja suodatin - Google Patents
Suodatusmenetelmä ja suodatin Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image 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)
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
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)
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)
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 |
-
1993
- 1993-10-29 FI FI934807A patent/FI96260C/fi active
-
1994
- 1994-10-20 US US08/326,294 patent/US5485412A/en not_active Expired - Fee Related
- 1994-10-25 JP JP6260637A patent/JPH07193466A/ja not_active Withdrawn
- 1994-10-28 EP EP94117118A patent/EP0651351A1/en not_active Ceased
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'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 |