FI94306B - Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi - Google Patents
Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi Download PDFInfo
- Publication number
- FI94306B FI94306B FI933216A FI933216A FI94306B FI 94306 B FI94306 B FI 94306B FI 933216 A FI933216 A FI 933216A FI 933216 A FI933216 A FI 933216A FI 94306 B FI94306 B FI 94306B
- Authority
- FI
- Finland
- Prior art keywords
- block
- motion vector
- segment
- image
- motion
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Description
. 94306
Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi - Förfarande för fastställandet av rörelsevektorer av smä TV-bildsegment
Keksintö koskee menetelmää, jolla voidaan määrittää liikevektorit televisiokuvassa lohkoja pienemmissä segmenteissä, kun lohkojen liikevektorit ovat tiedossa.
Jotta televisiovastaanottimessa voitaisiin suorittaa vastaanotetun videosignaalin prosessointia jollakin liikekompensoidulla menetelmällä, televisiokuvan juovaluvun kasvattamista (LRU, Line Rate Upconversion) tai kenttätaajuuden kasvattamista (FRU, Field Rate Upconversion), lisätään lähetettävään signaaliin tiedot kuvan liikesisällöstä. Teräväpiirtotelevisiojäijestelmissä (HDTV) kuva jaetaan pieniin lohkoihin, esim. 16* 16 pikseliä, ja lohkoille määritetään jollakin liikkeenilmaisumenetelmällä lohkon liikkeen suunnan ja laajuuden ilmoittava liikevektori. Liikevektorit lähetetään videosignaalista erillisenä datasignaalina. Lähetyspäässä eri liikesisällön omaavat lohkot prosessoidaan eri tavoin, jolloin kuhunkin lähetettyyn lohkoon liittyy aina määrätty liikevektori. Näin vastaanotin pystyy vastaaottamansa liiketiedon perusteella valitsemaan lohkon liikesisällön mukaisesti oikean signaalinkäsittelymenetelmän, kun se muodostaa alkuperäistä kuvaa.
Tunnetaan useita liikkeenilmaisumenetelmiä liikevektoreiden laskemiseksi. Ne pohjautuvat useimmiten kahden kuvan väliltä laskettuihin erosignaaleihin ja niistä tehtyihin päätelmiin siitä, onko kuva liikkuva vai liikkumaton. Liike-estimointime-: netelmät voidaan jakaa kahteen pääluokkaan: menetelmiin, joissa erotetaan liikepa- rametreja, ja menetelmiin, joissa mitataan pikselin nopeutta. Pikselin nopeutta mit-taavat menetelmät voidaan edelleen jakaa menetelmiin, jotka perustuvat spatiaalis-temporaalisiin differentiaaleihin, sovitukseen (matching), jossa tutkitaan lohkojen vastaavuuksia eri ajanhetkenä, sekä Fourier-tekniikkoihin.
Kuvalle asetettavien rajoitusten ja menetelmän vuoksi liikeparametrien erotusmenetelmät eivät sovellu erikoisen hyvin liike-estimointiin televisiossa. Pikselin nopeutta mittaaviin menetelmiin kuuluvat spatiaalis-temporaalisiin differentiaaleihin pohjautuvat tekniikat perustuvat pelkästään etenemismalleihin. Niissä oletetaan, että intensiteettivaihtelu on kauttaaltaan television kuvakentässä siirtymän lineaarinen funktio. Temporaalisessa suunnassa (peräkkäisten kenttien välillä) sekä spatiaalisessa suunnassa (vaaka- ja pystysuunnassa) lasketaan useita differentiaaleja. Nämä differentiaaliset suhteet antavat spatiaalisen siirtymän, yksikkönä pikseli 2 94306 kuvaa kohti. Fourier-tekniikoissa käytetään kahden kuvan korrelointia siten; että ensiksi tehdään kaksidimensionaalinen Fourier-muunnos jokaiselle kuvalle, kerrotaan vastaavat taajuuskomponentit ja suoritetaan käänteismuunnos. Tulokseksi saadaan korrelaatiopinta, jonka huippu on niiden koordinaattien kohdalla, jotka vastaavat siirrosta kahden kuvan välillä. Fourier-menetelmä sopii hyvin globaalisen liikkeen mittaamiseen ja käyttäen jotain lisäprosessointia, kuten korrelaatiopinnan interpoloimista ja jälkiprosessointia, tarkkuutta voidaan edelleen parantaa.
Pikselin nopeutta mittaaviin menetelmiin kuuluva usein käytetty muunnos on loh-kosovitus (block matching), jossa estimoidaan alue alueelta sen sijaan, että estimoitaisiin pikseli pikseliltä. Jäljempänä tekstissä sana "kenttä" tarkoittaa sekä lomitellun kuvan kenttää että progressiivisen kuvan kenttää, joka on tällöin sama kuin kuva. Lohkosovituksessa kentät on jaettu lohkoihin, joiden koko on n*m, ja oletetaan, että jokaisen pikselin siirtymävektori on sama lohkon sisällä. Esimerkki valaisee lohkosovitusta: oletetaan, että yhdessä kentässä t on n*m pikseliä käsittävän lohkon (= tietyn kokoisen kuvan osa-alueen) sisällä objekti, esim. auton kuva. Tätä lohkoa voidaan nimittää vertailulohkoksi. Auto liikkuu ja seuraavassa kentässä t+1 se on siirtynyt johonkin uuteen paikkaan. Tämä uusi paikka on nyt etsittävä. Se tehdään niin, että uudessa kentässä t+1 määritetään etsintäalue, jossa liikutellaan lohkoa, jonka koko on sama kuin vertailulohkolla eli n*m pikseliä. Tämä lohko voidaan ajatella ikkunaksi, jonka läpi näkyy kentän pikselijoukko ikkunan kokoiselta alueelta. Jokaisessa asemassa lohkon (ikkunan) sisältöä verrataan kentän t vertailulohkon sisältöön. Vertailussa verrataan ikkunan pikseleitä vastaaviin kentän t vertailulohkon pikseleihin. Kun lohkoa (ikkunaa) liikutellaan pitkin kenttää : t+1, niin jossain kohdassa kenttä t+1 määrätty vertailukriteeriehto täyttyy, mikä tulkitaan siten, että lohkojen sisällöt ovat samat. Lohkot "sopivat" nyt toisiinsa, koska niiden sisältö on sama. Tällöin tiedetään, että auto on siirtynyt tähän kohtaan kentässä t+1. Näin saadaan selville siirtymän suuruus ja suunta.
Lohkosovitus (block matching) on hyvin usein käytetty liikevektorin määritysmene-• telmä sen selväpiirteisyyden ja havainnollisuuden vuoksi. Siinä samoin kuin muis sakin edellä mainituissa menetelmissä tietylle lohkolle määritetyn liikevektorin oletetaan edustavan lohkon jokaisen pikselin liikkeen suuntaa, ja kuvan prosessointi tapahtuu tämän olettamuksen mukaan. Liikevektorit siten vain estimoivat lohkon pikseleiden enemmistön liikettä tai, joissain tapauksissa, pelkästään minimoivat tietyn virhekriteerm. Todellinen liike lohkon sisällä ei siis useinkaan seuraa lohkon rajoja vaan ylittää ne mielivaltaisesti. Tämä tapa määrätä lohkon liikevektorin 3 94306 suunta samaksi kaikkialla lohkossa aiheuttaa näin ollen tietyissä tapauksissa selvästi havaittavia kuvavirheitä.
Kuvassa 1 on esitetty havainnollisesti syy, minkä takia kuvavirheitä syntyy käytettäessä tekniikan tason mukaista liikevektorin määritystä. Kuvassa on esitetty neljä säännöllistä neliönmuotoista lohkoa A, B, C ja D, joissa kussakin lohkossa on loh-kosovitusmenetelmällä määritetty ao. lohkon liikevektori . Liikevektoreita on esitetty lohkon sisällä olevalla nuolella ja niiden mukaan lohkojen A, B ja C jokaisen pikselin liikesuunta on vasemmalle, kun taas lohkon D pikseleiden liikesuunta on oikealle ylös. Tekniikan tason mukaisestihan lohkon kaikkien pikseleiden liikesuunnaksi otetaan lohkon liikevektorin suunta. Kuten kuvasta voidaan nähdä, porrasviivan liikesuunta on mitä todennäköisimmin oikealle ylös, sillä se on lohkon D pikseleiden enemmistön suunta. Porrasviivan erottamien segmenttien liikesuunta ei siten noudata lohkojen rajoja (ei ole sama kuin lohkon liikevektorin suunta) vaan ylittää ne. Vaaleiden segmenttien liikesuunta lohkoissa A, B ja C on oikea. Samoin lohkon D tummennetun segmentin liikesuunta on oikea. Sen sijaan lohkojen C ja D vinoviivoitettujen segmenttien oikea liikesuunta on oikealle ylös eikä vasemmalle. Lohkon D vinoviivoitetun segmentin oikea liikesuunta on vasemmalle eikä oikealle ylös. Voidaan siis havaita, että tekniikan tason mukaisen ratkaisun liikesuuntapäätös on väärä suuren määrän pikseleitä kohdalla eli pikseleiden kohdalla, jotka kuuluvat vinoviivoitettuihin alueisiin. Tästä johtuu, että prosessoitaessa vastaanottimessa kuvaa lohkopohjaisesti niiden päävektoreiden mukaan syntyy silmin havaittavia virheitä.
: Tämän keksinnön tavoitteena on poistaa tunnettujen liikevektoreiden määritysmene- * telmien puutteet ja siten aikaansaada menetelmä, jolla liikevektorit voidaan määri tellä oikein myös liikkuvien kohteiden reunoihin rajoittuville pienille epäsäännöllisille segmenteille.
Tämä tavoite saavutetaan patenttivaatimuksen 1 tunnusmerkkiosassa kuvatuin toimenpitein.
Menetelmä on esitetty lohkokaaviomuodossa kuvassa 7.
Keksinnön mukaisesti kuva, jolle on jo tunnetulla esim. lohkosovituksella määritetty liikevektorit, aluksi esiprosessoidaan. Tämän tarkoituksena on lisätä kuvan kontrastia ja saada pintojen muodot ja ääriviivat selvästi esiin. Tavoitteena on siten pelkästään spatiaaliseen informaatioon perustuen irrottaa kohteet „ 94306 4 taustastaan ja saada kuvasta eri alueet selkeästi esiin. Alueet erottuvat toisistaan harmaasävyltään.
Sitten kuvan harmaasävyjen lukumäärää vähennetään kynnystämällä kuvan näytteet esim. 8-bittisestä 3-bittiseksi, jolloin harmaatasojen lukumäärä vähenee 256 kpl.sta 8:aan. Kynnystys voi olla tasavälinen ja harmaatasojen lukumäärä voi olla pienempikin, esim. 4-tasoinen (2-bittinen) on hyvin sopiva. Kynnystämisen jälkeen kuva näyttää muodostuvan erikokoisista ja erimuotoisista tasasävyisistä alueista, jotka erottuvat toisistaan harmaatasoltaan. Näitä alueita nimitetään segmenteiksi. Mitä suurempi on tasojen lukumäärä kynnystyksen jälkeen, sitä enemmän kuvassa on pieniä erottuvia alueita, jotka edustavat kuvan yksityiskohtia. Kynnystyksen tarkoitus on toisaalta päästä eroon hyvin pienistä segmenteistä ja näin ollen matala, kuten 4-tasoinen, kynnystys on edullinen. Kynnystyksen jälkeen suoritetaan vielä jälkiprosessointi, jolla kuvaa pehmennetään lisää eliminoimalla siitä muutaman pikselin kokoiset ympäristöstään suuresti eroavat saarekkeet. Tuloksena luetelluista toimenpiteistä kuva on pelkistynyt erikokoisiksi tasasävyisiksi (tasavälisiksi) alueiksi, segmenteiksi ja kuvan harmaatasojen (värien) lukumäärä on mahdollisimman vähäinen. Segmentti on siis yhtenäinen toisiinsa rajoittuvien pikselien joukko, jolla on esiprosessoinnin, kvantisoinnin ja jälkiprosessoinnin jälkeen sama harmaa-sävy arvo.
Sitten määritetään kullekin segmentille siihen liittyvä liikevektori. Taustana on tieto, että sama kuva on lähettimessä tai kooderissa jaettu lohkoihin (samansuuruisiin toisiinsa rajoittuviin kuva-alueisiiin), joille on kullekin määritetty tunnetulla menetelmällä, kuten lohkosovituksella, lohkon liikevektori. Kukin lohko ikäänkuin peittää alleen osan segmentoidusta kuvasta. Jos lohkonraja leikkaa segmentin, ajatellaan segmentin jakautuvan kahtia, jolloin toinen osa kuuluu toiseen lohkoon ja toinen osa toiseen lohkoon. Näin segmentit eivät voi ulottua naapurilohkon alueelle. Kussakin lohkossa haetaan aluksi suurin sen alueella oleva segmentti ja nimetään se pääsegmentiksi. Näin ollen lohkon alueella voi olla neljänlaisia segmenttejä: 1) Yksi pääsegmentti 2) Yksi tai useampi segmentti, joka ei ole pääsegmentti eikä rajoitu naapurilohkon segmenttiin.
3) Yksi tai useampi segmentti, joka ei ole pääsegmentti ja rajoittuu naapurilohkon pääsegmenttiin.
4) Yksi tai useampi segmentti, joka ei ole pääsegmentti ja rajoittuu naapurilohkon segmenttiin, joka ei ole pääsegmentti.
5 94306 Pääsegmentin liikevektoriehdokkaaksi asetetaan sama vektori, joka on saatu ao. "oman" lohkon liikevektoriksi tunnetun tekniikan mukaisella menetelmällä.
Lohkon alueella olevien muiden segmenttien, jotka eivät rajoitu mihinkään naapuri-lohkon alueella olevaan segmenttiin, ts. eivät rajoitu "oman" lohkon rajaan vaan ovat kokonaan oman lohkon sisällä, liikevektoriksi asetetaan liikevektori, joka on tunnetulla tavalla saatu oman lohkon liikevektori.
Lohkon alueella olevien muiden segmenttien, jotka rajoittuvat johonkin naapuriloh-kon segmenttiin, joka ei kuitenkaan ole naapurilohkon pääsegmentti, liikevektoriksi asetetaan myös liikevektori, joka on tunnetulla tavalla saatu oman lohkon liikevektori.
Lohkon alueella olevien muiden segmenttien, jotka rajoittuvat johonkin naapuri-lohkon pääsegmenttiin, liikevektoriksi asetetaan tämän naapurilohkon pääsegmentin liikevektoriarvo. Se on siis sama kuin tunnetun tekniikan mukaisella menetelmällä naapurilohkon liikevektoriksi laskettu arvo.
Pääsegmenttiä lukuun ottamatta segmentti voi saada siten liikevektorikseen oman lohkon tai naapurilohkon liikevektorin.
Jokaisen lohkon pääsegmentillä on nyt liikevektoriehdokas. Lopullinen liikevektori asetetaan siten, että tutkitaan, jatkuuko pääsegmentti vähintään kahden naapurilohkon puolelle ja onko naapurin alueella oleva osa pääsegmentti. Mikäli näin on, muodostavat segmentit saman objektin, joten niiden liikevektorien tulisi olla konsis-tentit. Siksi jos liikevektoriehdokas poikkeaa naapurilohkojen po. segmenttien liike-vektoreista, sitä ei hyväksytä, vaan liikevektoriksi asetetaan naapurilohkojen pää-seggmenttien liikevektorien arvo.
Edullisen suoritusmuodon mukaan esiprosessointi on histogrammiekvalisaatio eli jakauman tasoittaminen. Se tarkoittaa sitä, että käytetyssä ikkunassa näytteet järjestetään harmaasävyarvoltaan suuruusjärjestykseen esim 0—256. Tulos voidaan ajatella histogrammiksi, jonka pylväikkö on hyvin epätasainen. Pylväikköä tasataan sitten siten, että se on mahdollisimman tasainen, jolloin tuloksena on kasvanut kuvan kontrasti ja pintojen ääriviivat ovat tulleet selkeästi esiin.
* Edullisen suoritusmuodon mukaan jälkiprosessointina käytetään mediaani suodatusta.
, 94306
Keksintöä havainnollistetaan oheisten esimerkkikuvien avulla, joissa kuva 1 esittää neljää lohkoa, joiden liikevektorit on saatu jollakin tunnetulla tavalla, kuva 2 esittää alkuperäistä kuvasekvenssiä, kuva 3 on suurennettu kohta kuvan 1 sekvenssistä, kuva 4 on kuva 3 histogrammiekvalisoinnin jälkeen, kuva 5 on kuva 4 kvantisoinnin jälkeen, ja kuva 6 esittää kuvaa 5 jälkiprosessoinnin jälkeen.
kuva 7 esittää lohkokaavion muodossa menetelmän vaiheita,
Kuvan 2 kuvasekvenssi esittää aseman ohi kulkevaa junaa. Valkoisilla reunuksilla on rajattu alue, jonka koko on 48*48 pikseliä. Tämä peittää alleen neljä 16* 16 pik-selin lohkoa, ja kullakin lohkolla on oma liikevektori, joka on määritety jollakin lohkosovitusmenetelmällä. Keksinnön mukaisesti haetaan liikevektorit huomattavasti pienemmille alueille kuin mainituille 16*16-kokoisille lohkoille. Kuvan 2 valkoisilla reunuksilla rajattu alue on esitetty suurennettuna ja mustavalkoisena kuvassa 3. Seuraavien kuvien avulla tarkastellaan, kuinka eri menetelmä-vaiheet vaikuttavat tähän kuvaan.
Ensimmäisen menetelmävaiheen (vaihe 21 kuvassa 7) mukaan koko kuvalle 2 tehdään esiprosessointi. Siinä koko kuvalle suoritetaan ensin histogrammiekvalisointi. Kuvan näytteet järjestetäään harmaasävyarvoltaan suuruusjärjestykseen, esim. 8-bittisillä näytteillä jäijestys on 0—256. Tulos voidaan ajatella histogrammiksi, jonka pylväikön kunkin pylvään korkeus on verrannollinen sen arvoisten näytteiden : lukumäärään kuvassa. Pylväikkö on siten hyvin epätasainen. Pylväikköä tasataan sitten siten, että se on mahdollisimman tasainen, jolloin tiettyjen näytteiden har-maasävyarvoa suurennetaan ja toisien taas pienennetään. Tuloksena on kasvanut kuvan kontrasti ja pintojen ääriviivat ovat tulleet selkeästi esiin.Tulos on esitetty kuvassa 4. Tämä kuva esittää, millaiseksi kuvan 3 alue on muuttunut histogrammiekvalisoinnin jälkeen. Kontrasti on lisääntynyt ja eri alueiden ääriviivat ovat tulleet selkeämmin esiin.
Ekvalisoinnin jälkeen suoritetaan koko kuvalle tasavälinen kvantisointi (vaihe 22 kuvassa 2), jossa 256-harmaatasoinen (8-bittinen) kuva kvantisoidaan 4-tasoiseksi (2-bittiseksi). Tulos tutkittavan neljän lohkon kohdalla on nähtävissä kuvassa 5. Harmaasävyjen vähennys tuo segmentit jo selvästi näkyviin. Eri segmenteissä on kuitenkin selvästi nähtävissä muutamien pikselien muodostamia pieniä alueita, joiden harmaasävy hieman poikkeaa ympäristöstään. Kuvan edelleen pelkistämiseksi i 94306 ja segmenttien tasoittamiseksi suoritetaan vielä jälkiprosessointi (vaihe 23 kuvassa 7) näiden pikseleiden arvon korvaamiseksi ympäristöpikseleiden arvolla. Jälkipro-sessoinniksi sopii hyvin mikä tahansa mediaanioperaatio. Tässä esimerkissä on käytetty 9 pisteen mediaanisuodatinta. 3*3-ikkunassa olevat pikselit johdetaan suodattuneen, jonka ulostuloarvolla (= pikseleiden mediaani) korvataan ikkunan keskimmäisen pikselin arvo. Saatua tulosta esittää kuva 6. Verrattaessa sitä alkuperäiseen käsittelemättömään kuvaan 3 on selvästi nähtävissä, että kuva on muuttunut selvärajaisten toisiinsa rajoittuvien segmenttien joukoksi. Kukin segmentti muodostaa siten toisiinsa rajoittuvien saman harmaasävy arvon omaavien pikselien joukon.
Jokaiselle näistä segmenteistä määritetään oma liikevektori (vaihe 25 kuvassa 7). Kuvaan 6 piirretty ruudukko kuvaa lohkorajoja, joihin kuva alunperin on jaettu, ja kullakin lohkolla on siis sille jollakin lohkosovitusmenetelmällä määritetty liikevektori. Tarkastellaan segmentoitua kuvaa lohkojen läpi. Kun segmentti ulottuu loh-korajan yli toiseen lohkoon, se katkaistaan lohkorajan kohdalta. Esimerkiksi vasemmalla ylhäällä on laaja vaalea segmentti, joka on lohkojen A ja B sisällä. Lohkojen välinen reunaviiva L[ jakaa kyseisen segmentin kahdeksi itsenäiseksi segmentiksi 1 lohkossa A ja 2 lohkossa B.
Lohkon alueella voi olla neljänlaisia segmenttejä: 1) Yksi pääsegmentti, joka on lohkon alueella oleva pikselimäärältään suurin segmentti. Näitä ovat lohkossa A segmentti 1 ja lohkossa B segmentti 2.
2) Yksi tai useampi segmentti, joka ei ole pääsegmentti eikä rajoitu naapurilohkon segmenttiin. Tällainen on lohkossa A segmentti 3.
3) Yksi tai useampi segmentti, joka ei ole pääsegmentti ja rajoittuu naapurilohkon pääsegmenttiin. Tällaisia ovat lohkossa A segmentit 5 ja 6 sekä lohkossa B segmentit 4, 7 ja 8.
4) Yksi tai useampi segmentti, joka ei ole pääsegmentti ja rajoittuu naapurilohkon segmenttiin., joka ei ole pääsegmentti. Lohkon B segmentti 4 on tällainen.
Liikevektorit jokaiselle vektorille asetetaan seuraavan säännön mukaisesti: Pääsegmentin liikevektoriehdokkaaksi asetetaan sama vektori, joka on saatu ao. "oman" lohkon liike vektoriksi tunnetun tekniikan mukaisella menetelmällä. Vektoriehdokkaita on merkitty nuolella pääsegmenteissä 1 ja 2. Jokaisen lohkon : · pääsegmentillä on nyt liikevektoriehdokas. Lohkojen liikevektoriehdokkaiden asettamisen jälkeen suoritetaan niiden oikeellisuuden tarkistus (vaihe 24, kuva 7).
8 94306
Lopullinen liikevektori asetetaan siten, että tutkitaan, jatkuuko pääsegmentti vähintään kahden naapurilohkon puolelle ja onko naapurin alueella oleva osa pääsegmentti. Mikäli näin on, muodostavat segmentit saman objektin, joten niiden liikevektorien tulisi olla konsistentit. Siksi jos liikevektoriehdokas poikkeaa naapurilohkojen po. segmenttien liikevektoreista, sitä ei hyväksytä, vaan liike-vektoriksi asetetaan naapurilohkojen pääsegmenttien liikevektorien arvo.
Esimerkiksi lohkon A pääsegmentti 1 ulottuu sekä lohkoon B että (oletamme niin) lohkoon D ja sen näissä lohkoissa oleva osa on myös lohkon pääsegmentti. Mikäli lohkon B pääsegmentin vektoriehdokkaan suunta olisi vaikkapa "ylös", lopulliseksi vektoriksi koijataan kuitenkin suunnaksi "vasemmalle", jolloin pääsegmenttien vektorit ovat konsistentit ja niiden muodostaman objektin kaikilla pikselellä on sama liikesuunta.
Lohkon alueella olevien muiden segmenttien, jotka eivät rajoitu mihinkään naapuri-lohkon alueella olevaan segmenttiin, ts. eivät rajoitu "oman" lohkon rajaan vaan ovat kokonaan oman lohkon sisällä, liikevektoriksi asetetaan liikevektori, joka on tunnetulla tavalla saatu oman lohkon liikevektori. Segmentin 3 liikevektoriksi asetetaan siten sama kuin segmentin 1 liikevektori.
Lohkon alueella olevien muiden segmenttien, jotka rajoittuvat johonkin naapurilohkon segmenttiin, joka ei kuitenkaan ole naapurilohkon pääsegmentti, liikevektoriksi asetetaan myös liikevektori, joka tunnetulla tavalla saatu oman lohkon liikevektori. Lohkon B segmentin 4 liikevektoriksi tulee siten lohkon B ( ja samalla tämän lohkon pääsegmentin 2) liikevektori.
•
Lohkon alueella olevien muiden segmenttien, jotka rajoittuvat johonkin naapuri-lohkon pääsegmenttiin, liikevektoriksi asetetaan tämän naapurilohkon pääsegmentin liikevektoriarvo. Siten lohkon B segmenttien 7 ja 8 liikevektoriksi tulee naapurilohkon C liikevektoriksi laskettu arvo (esim. oikealle ylös).
Tunnetun tekniikan mukaisesti osoittaisi lohkon B segmenttien 7 ja 8 pikseleiden liikevektori vasemmalle, mutta keksintöä käytettäessä liikevektori osoittaakin 2 "oikealle ylös". Koska segmentit 7 ja 8 selvästi kuuluvat lohkon C pääsegmenttiin ja siten sen liikkeeseen, aiheuttaisi tunnetun tekniikan käyttö kuvaa prosessoitaessa selviä virheitä objektin reunoilla. Koska ne keksinnön menetelmän mukaan prosessoidaan oikein, ei virheitä synny.
• ·
II
9 94306
Edellä esitettyjen periaatteiden mukaisesti asetetaan jokaiselle kuvan segmentille liikevektori.
Menetelmä sopii erityisesti käytettäväksi televisiojärjestelmissä, joissa kuva koodataan lähetysketjun alkupäässä eri tavoin riippuen kuvan liikesisällöstä.Koodatun kuvan ohella lähetetään myös segmenttien liikevektorit, jolloin vastaanotin pystyy prosessoimaan videosignaalia eri tavoin riippuen sen liikesisällöstä.
Keksinnön menetelmä perustuu oivallukseen muokata kuvaa siten, että saadaan selkeästi toisistaan erottuvia segmenttejä, jolloin kohde ja tausta on irrotettu toisistaan ja ne muodostavat tasasävyisen pinnan ilman yksityiskohtia. Tällöin niitä voidaan käsitellä erillisinä ja asettaa niille liikevektorit. Keksintö ei siten mitenkään rajoita menetelmiä, joilla kukin yksittäinen menetelmävaihe toteutetaan. Mainitut histogrammiekvalisointi ja mediaanisuodatus ovat vain eräitä edullisia suoritusmuotoja mutta eivät mitenkään rajoita keksintöä.
• ·
Claims (7)
1. Menetelmä digitaalisen televisiokuvan liikevektoreiden määrittämiseksi, kun kuva on ensin jaettu samankokoisiin ja samanmuotoisiin lohkoillin ja kutakin lohkoa kohti on laskettu lohkoliikevektori, joka edustaa lohkon kaikkien pikseleiden liike-sisällön suuruutta ja suuntaa, tunnettu siitä, että - televisiokuvalle suoritetaan esiprosessointi, joka muuttaa pikseleiden harmaata-soarvoja niiden jakautuman tasoittamiseksi, - kvantisoidaan esiprosessoitu kuva sen harmaatasojen määrän pienentämiseksi, jolloin tuloksena on kuva, joka koostuu erikokoisista ja erimuotoisista tasasävyisistä segmenteistä, - asetetaan kunkin lohkon alueella olevan suurimman segmentin ensimmäisen pääsegmentin liikevektoriehdokkaaksi ko. lohkon lohkoliikevektoriarvo, - jos pääsegmentti jatkuu vähintään kahden naapurilohkon puolelle ja niiden alueella oleva osa on myös ko. naapurilohkon pääsegmentti ja liikevektoriehdokas poikkeaa naapurilohkojen lohkoliikevektoreista, liikevektoriehdokas hylätään ja pääsegmentin liikevektoriksi asetetaan naapurilohkon lohkoliikevektori, muussa tapauksessa liikevektoriehdokas hyväksytään pääsegmentin liikevektoriksi, - lohkon alueella olevien muiden sellaisten segmenttien, jotka rajoittuvan naapuri-lohkon pääsegmenttiin, liikevektoriksi asetetaan tämän naapurilohkon liikevektori-arvo.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että - lohkon alueella olevien muiden segmenttien, jotka eivät rajoitu mihinkään naapurilohkon alueella olevaan segmenttiin, liikevektoriksi asetetaan po. lohkon lohkoliikevektoriarvo, ja - lohkon alueella olevien muiden segmenttien, jotka rajoittuvat johonkin naapurilohkon segmenttiin, joka ei ole naapurilohkon pääsegmentti, liikevektoriksi asetetaan po. lohkon lohkoliikevektoriarvo.
3. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, tunnettu siitä, että esiproses- . sointi on histogrammiekvalisaatio.
4. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, tunnettu siitä, että kvantisointi on tasavälinen ja 8-bittiset pikselit kvantisoidaan 2-bittisiksi.
5. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, tunnettu siitä, kvantisoitu kuva lisäksi suodatetaan. 94306 11
6. Patenttivaatimuksen 5 mukainen menetelmä, tunnettu siitä suodatus on mediaani suodatus.
7. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että käytettävä suodatin on 9 pisteen mediaanisuodatin.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI933216A FI94306C (fi) | 1993-07-15 | 1993-07-15 | Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi |
DE1994613148 DE69413148T2 (de) | 1993-07-15 | 1994-06-28 | Verfahren zur Bestimmung von Bewegungsvektoren in kleinen Bildsegmenten in Fernsehbildern |
EP19940109935 EP0634873B1 (en) | 1993-07-15 | 1994-06-28 | Method to determine the motion vectors in small picture segments of a television picture |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI933216A FI94306C (fi) | 1993-07-15 | 1993-07-15 | Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi |
FI933216 | 1993-07-15 |
Publications (4)
Publication Number | Publication Date |
---|---|
FI933216A0 FI933216A0 (fi) | 1993-07-15 |
FI933216A FI933216A (fi) | 1995-01-16 |
FI94306B true FI94306B (fi) | 1995-04-28 |
FI94306C FI94306C (fi) | 1995-08-10 |
Family
ID=8538319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI933216A FI94306C (fi) | 1993-07-15 | 1993-07-15 | Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0634873B1 (fi) |
DE (1) | DE69413148T2 (fi) |
FI (1) | FI94306C (fi) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5825929A (en) * | 1995-10-05 | 1998-10-20 | Microsoft Corporation | Transformation block optimization method |
US8824553B2 (en) | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
JP2007531444A (ja) * | 2004-03-31 | 2007-11-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオデータのための動き予測及びセグメンテーション |
US8155195B2 (en) | 2006-04-07 | 2012-04-10 | Microsoft Corporation | Switching distortion metrics during motion estimation |
US8494052B2 (en) | 2006-04-07 | 2013-07-23 | Microsoft Corporation | Dynamic selection of motion estimation search ranges and extended motion vector ranges |
US8326075B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video encoding using adaptive loop filter |
US8385404B2 (en) | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
US9532059B2 (en) | 2010-10-05 | 2016-12-27 | Google Technology Holdings LLC | Method and apparatus for spatial scalability for video coding |
US8953688B2 (en) | 2010-11-08 | 2015-02-10 | Sony Corporation | In loop contrast enhancement for improved motion estimation |
US8611415B1 (en) | 2010-11-15 | 2013-12-17 | Google Inc. | System and method for coding using improved motion estimation |
US8891626B1 (en) | 2011-04-05 | 2014-11-18 | Google Inc. | Center of motion for encoding motion fields |
US8693547B2 (en) | 2011-04-06 | 2014-04-08 | Google Inc. | Apparatus and method for coding using motion vector segmentation |
US8638854B1 (en) | 2011-04-07 | 2014-01-28 | Google Inc. | Apparatus and method for creating an alternate reference frame for video compression using maximal differences |
US8780971B1 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method of encoding using selectable loop filters |
US8780996B2 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method for encoding and decoding video data |
US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
US8781004B1 (en) | 2011-04-07 | 2014-07-15 | Google Inc. | System and method for encoding video using variable loop filter |
US8804819B1 (en) | 2011-04-19 | 2014-08-12 | Google Inc. | Method and apparatus for encoding video using data frequency |
US8705620B1 (en) | 2011-04-28 | 2014-04-22 | Google Inc. | Method and apparatus for encoding anchor frame by encoding features using layers |
US8989256B2 (en) | 2011-05-25 | 2015-03-24 | Google Inc. | Method and apparatus for using segmentation-based coding of prediction information |
KR20140034292A (ko) | 2011-07-01 | 2014-03-19 | 모토로라 모빌리티 엘엘씨 | 움직임 벡터 예측 설계 간소화 |
US8885706B2 (en) | 2011-09-16 | 2014-11-11 | Google Inc. | Apparatus and methodology for a video codec system with noise reduction capability |
KR101616010B1 (ko) | 2011-11-04 | 2016-05-17 | 구글 테크놀로지 홀딩스 엘엘씨 | 비균일 움직임 벡터 그리드에 대한 움직임 벡터 스케일링 |
US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
US9014265B1 (en) | 2011-12-29 | 2015-04-21 | Google Inc. | Video coding using edge detection and block partitioning for intra prediction |
US8908767B1 (en) | 2012-02-09 | 2014-12-09 | Google Inc. | Temporal motion vector prediction |
US9094681B1 (en) | 2012-02-28 | 2015-07-28 | Google Inc. | Adaptive segmentation |
US9131073B1 (en) | 2012-03-02 | 2015-09-08 | Google Inc. | Motion estimation aided noise reduction |
EP2842337B1 (en) | 2012-04-23 | 2019-03-13 | Google LLC | Managing multi-reference picture buffers for video data coding |
US9609341B1 (en) | 2012-04-23 | 2017-03-28 | Google Inc. | Video data encoding and decoding using reference picture lists |
US9172970B1 (en) | 2012-05-29 | 2015-10-27 | Google Inc. | Inter frame candidate selection for a video encoder |
US9014266B1 (en) | 2012-06-05 | 2015-04-21 | Google Inc. | Decimated sliding windows for multi-reference prediction in video coding |
US11317101B2 (en) | 2012-06-12 | 2022-04-26 | Google Inc. | Inter frame candidate selection for a video encoder |
US9344729B1 (en) | 2012-07-11 | 2016-05-17 | Google Inc. | Selective prediction signal filtering |
US9332276B1 (en) | 2012-08-09 | 2016-05-03 | Google Inc. | Variable-sized super block based direct prediction mode |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US9288484B1 (en) | 2012-08-30 | 2016-03-15 | Google Inc. | Sparse coding dictionary priming |
US9210432B2 (en) | 2012-10-08 | 2015-12-08 | Google Inc. | Lossless inter-frame video coding |
US9369732B2 (en) | 2012-10-08 | 2016-06-14 | Google Inc. | Lossless intra-prediction video coding |
US9503746B2 (en) | 2012-10-08 | 2016-11-22 | Google Inc. | Determine reference motion vectors |
US9485515B2 (en) | 2013-08-23 | 2016-11-01 | Google Inc. | Video coding using reference motion vectors |
US9407915B2 (en) | 2012-10-08 | 2016-08-02 | Google Inc. | Lossless video coding with sub-frame level optimal quantization values |
US9756346B2 (en) | 2012-10-08 | 2017-09-05 | Google Inc. | Edge-selective intra coding |
US9225979B1 (en) | 2013-01-30 | 2015-12-29 | Google Inc. | Remote access encoding |
US9210424B1 (en) | 2013-02-28 | 2015-12-08 | Google Inc. | Adaptive prediction block size in video coding |
US9300906B2 (en) | 2013-03-29 | 2016-03-29 | Google Inc. | Pull frame interpolation |
US9756331B1 (en) | 2013-06-17 | 2017-09-05 | Google Inc. | Advance coded reference prediction |
US9313493B1 (en) | 2013-06-27 | 2016-04-12 | Google Inc. | Advanced motion estimation |
US9286653B2 (en) | 2014-08-06 | 2016-03-15 | Google Inc. | System and method for increasing the bit depth of images |
US9153017B1 (en) | 2014-08-15 | 2015-10-06 | Google Inc. | System and method for optimized chroma subsampling |
US10554965B2 (en) | 2014-08-18 | 2020-02-04 | Google Llc | Motion-compensated partitioning |
US10102613B2 (en) | 2014-09-25 | 2018-10-16 | Google Llc | Frequency-domain denoising |
US9807416B2 (en) | 2015-09-21 | 2017-10-31 | Google Inc. | Low-latency two-pass video coding |
US10462457B2 (en) | 2016-01-29 | 2019-10-29 | Google Llc | Dynamic reference motion vector coding mode |
US10397600B1 (en) | 2016-01-29 | 2019-08-27 | Google Llc | Dynamic reference motion vector coding mode |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3983320A (en) * | 1975-08-25 | 1976-09-28 | Hughes Aircraft Company | Raster display histogram equalization |
JPS5757088A (en) * | 1980-08-13 | 1982-04-06 | Nec Corp | Adaptive quantization circuit |
FR2599577B1 (fr) * | 1986-05-29 | 1988-08-05 | Guichard Jacques | Procede de codage par transformation pour la transmission de signaux d'image. |
FR2648979B1 (fr) * | 1989-06-27 | 1996-09-06 | Thomson Consumer Electronics | Procede de segmentation du champ de mouvement d'une image et son application au codage d'images video |
US5351083A (en) * | 1991-10-17 | 1994-09-27 | Sony Corporation | Picture encoding and/or decoding system |
-
1993
- 1993-07-15 FI FI933216A patent/FI94306C/fi active
-
1994
- 1994-06-28 DE DE1994613148 patent/DE69413148T2/de not_active Expired - Lifetime
- 1994-06-28 EP EP19940109935 patent/EP0634873B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FI94306C (fi) | 1995-08-10 |
DE69413148D1 (de) | 1998-10-15 |
EP0634873A3 (en) | 1995-05-17 |
FI933216A (fi) | 1995-01-16 |
DE69413148T2 (de) | 1999-04-15 |
EP0634873B1 (en) | 1998-09-09 |
FI933216A0 (fi) | 1993-07-15 |
EP0634873A2 (en) | 1995-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI94306B (fi) | Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi | |
EP0614318B1 (en) | Video encoder and decoder | |
US8014596B2 (en) | Methods and systems for background color extrapolation | |
CN108197582B (zh) | 基于深度学习的海事雷达图像处理方法 | |
US9183617B2 (en) | Methods, devices, and computer readable mediums for processing a digital picture | |
US5974192A (en) | System and method for matching blocks in a sequence of images | |
CA2279797A1 (en) | A method for temporal interpolation of an image sequence using object-based image analysis | |
US5805221A (en) | Video signal coding system employing segmentation technique | |
CN101120594B (zh) | 全局运动估计 | |
CN103037217B (zh) | 检测内插图像中的图像损坏 | |
CN117094914B (zh) | 基于计算机视觉的智慧城市道路监控*** | |
CN112036254A (zh) | 基于视频图像的运动车辆前景检测方法 | |
US20170041632A1 (en) | Method and apparatus for hierarchical motion estimation using dfd-based image segmentation | |
CN110324617A (zh) | 图像处理方法及装置 | |
US20060104535A1 (en) | Method and apparatus for removing false edges from a segmented image | |
US11909999B2 (en) | Coding management method and apparatus based on high efficiency video coding | |
CN115131229A (zh) | 图像降噪、滤波数据处理方法、装置和计算机设备 | |
CN106686383A (zh) | 一种保留深度图边缘的深度图帧内编码方法 | |
US6904173B2 (en) | Processing of motion vector histograms for recognizing the interleaved or progressive character of pictures | |
KR100209413B1 (ko) | 블럭-기반 비디오 신호 부호화 시스템에 이용하기 위한그리드 결정방법 | |
US9414067B2 (en) | Methods and systems for detection of block based video dropouts | |
Grassi et al. | New object-oriented segmentation algorithm based on the CNN paradigm | |
US7940996B2 (en) | Image noise detection | |
CN110519597B (zh) | 一种基于hevc的编码方法、装置、计算设备和介质 | |
JP4763241B2 (ja) | 動き予測情報検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
BB | Publication of examined application |