FI110744B - Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite - Google Patents

Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite Download PDF

Info

Publication number
FI110744B
FI110744B FI20011769A FI20011769A FI110744B FI 110744 B FI110744 B FI 110744B FI 20011769 A FI20011769 A FI 20011769A FI 20011769 A FI20011769 A FI 20011769A FI 110744 B FI110744 B FI 110744B
Authority
FI
Finland
Prior art keywords
values
value
data
frame
data values
Prior art date
Application number
FI20011769A
Other languages
English (en)
Swedish (sv)
Other versions
FI20011769A0 (fi
Inventor
Petri Liuha
David Guevorkian
Aki Launiainen
Original Assignee
Nokia Corp
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 Nokia Corp filed Critical Nokia Corp
Priority to FI20011769A priority Critical patent/FI110744B/fi
Publication of FI20011769A0 publication Critical patent/FI20011769A0/fi
Priority to US10/232,924 priority patent/US7236523B2/en
Priority to JP2002258846A priority patent/JP2003153283A/ja
Priority to EP02396133A priority patent/EP1313323B1/en
Priority to AT02396133T priority patent/ATE371339T1/de
Priority to DE60221948T priority patent/DE60221948T2/de
Application granted granted Critical
Publication of FI110744B publication Critical patent/FI110744B/fi
Priority to JP2007208511A priority patent/JP2007336590A/ja
Priority to JP2012004683A priority patent/JP2012070461A/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)

Description

! 110744
Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, video-koodausjärjestelmä sekä videokoodauslaite 5 Nyt esillä oleva keksintö koskee menetelmää videokuvan liike-estimoinnin suorittamiseksi videokoodauksessa, jossa videosignaali koostuu kehyksistä, jotka käsittävät lohkoja, muodostetaan yhdistetty vertailuarvo käyttämällä koodattavan kehyksen käsiteltävänä olevaa kuvalohkoa ja toisen kehyksen ainakin yhtä muuta kuvalohkoa, jolloin 10 koodattavan kehyksen mainittu käsiteltävänä oleva kuvalohko käsittää joukon ensimmäisiä data-arvoja, toisen kehyksen mainittu ainakin yksi muu kuvalohko käsittää joukon toisia data-arvoja, muodostetaan data-arvopareja mainitun ensimmäisten data-arvojen joukon data-arvoista ja sama määrä vastaavia data-arvoja mainitun toisten data-arvojen jou-15 kon data-arvoista, ja mainittu yhdistetty vertailuarvo muodostetaan määrittelemällä vertailuarvoja, joista kukin määritellään käyttämällä mainittujen data-arvoparien yhden data-arvoparin data-arvoja, määritellään ainakin yksi kynnysarvo, ja määritellään, voidaanko prosessi mainitun yhdistetyn vertailuarvon määrittämiseksi lopettaa. Keksintö 20 koskee myös videokoodausjärjestelmää videokuvan liike-estimoinnin ... suorittamiseksi videokoodauksessa, jossa videosignaali koostuu kehyksistä, jotka käsittävät lohkoja, jolloin järjestelmä käsittää välineen yhdistetyn vertailuarvon muodostamiseksi käyttämällä koodattavan • ’·· kehyksen käsiteltävänä olevaa kuvalohkoa ja toisen kehyksen ainakin T’25 yhtä muuta kuvalohkoa, jolloin koodattavan kehyksen mainittu ·:··: käsiteltävänä oleva kuvalohko käsittää joukon ensimmäisiä data- arvoja, toisen kehyksen mainittu ainakin yksi muu kuvalohko käsittää joukon toisia data-arvoja, jolloin mainittu väline yhdistetyn vertailuarvon .·. : muodostamiseksi käsittää syöttövälineen ainakin kahden osajoukon .•\30 sarjan syöttämiseksi, joista kukin osajoukko käsittää saman määrän *·' data-arvopareja mainittujen ensimmäisten data-arvojen joukon data- !.! i arvoista ja saman määrän vastaavia data-arvoja mainittujen toisten data-arvojen joukosta, välineen vertailuarvojen määrittelemiseksi, joista :·!·. kukin on määritelty käyttämällä mainittujen data-arvoparien ainakin ,·,'β5 yhden data-arvoparin data-arvoja, ja välineet sen määrittelemiseksi, voidaanko prosessi mainitun yhdistetyn vertailuarvon määrittämiseksi lopettaa. Keksintö koskee vielä videokoodauslaitetta, joka käsittää 2 110744 välineet videosignaalin koodaamiseksi, joka videosignaali koostuu kehyksistä, jotka käsittävät lohkoja; välineet videokuvan liike-estimoinnin suorittamiseksi, välineet yhdistetyn vertailuarvon laskemiseksi koodattavan kehyksen esillä olevan kuvalohkon ja toisen kehyksen ainakin 5 yhden muun kuvalohkon välillä, jolloin koodattavan kehyksen mainittu esillä oleva kuvalohko käsittää joukon ensimmäisiä data-arvoja, toisen kehyksen mainittu ainakin yksi muu kuvalohko käsittää joukon toisia data-arvoja, ja mainittu yhdistetty vertailuarvo muodostetaan määrittämällä vertailuarvoja mainitun ensimmäisten data-arvojen joukon ja 10 mainitun toisten data-arvojen joukon arvoparien välillä; välineet ainakin yhden kynnysarvon määrittelemiseksi; ja välineet sen määrittelemiseksi, voidaanko prosessi mainitun yhdistetyn vertailuarvon määrittämiseksi lopettaa.
15 Tunnetaan videokoodausjärjestelmiä, joissa koodattava kuva käsittää kuvalohkoja. Nämä lohkot koodataan, jonka jälkeen ne lähetetään koodauksen purkulaitteeseen tai tallennetaan tallennusvälineeseen. Lähetettävän informaation määrän vähentämiseksi on kehitetty erilaisia pakkausmenetelmiä, kuten MPEG-2 (Motion Picture Experts Group).
20 Videokuvien lähetyksessä suoritetaan kuvien pakkaamista joko kehysten välisenä (interframe) pakkaamisena, kehysten sisäisenä (intra- • · frame) pakkaamisena tai näiden yhdistelmänä. Kehysten välisessä ”’·** pakkaamisessa tarkoituksena on vähentää peräkkäisten kuvakehysten • ’·· sisältämän informaation toistoa. Kuvat sisältävät tyypillisesti suuren :''25 määrän tällaista muuttumatonta informaatiota, esimerkiksi liikkumatto-·:·: man taustan, tai hitaasti muuttuvaa informaatiota, esimerkiksi silloin kun kohde liikkuu hitaasti. Kehysten välisessä pakkaamisessa on myös mahdollista hyödyntää liikekompensointia, jolloin tarkoituksena on .·. : havaita kuvasta tällaisia suurehkoja liikkuvia elementtejä, jolloin tästä . · · ·]30 kokonaisuudesta lähetetään liikevektori ja jonkinlaista erotusinformaa- "* tiota sen sijaan, että lähetettäisiin koko kokonaisuutta vastaavat kuva- i.i i alkiot. Liikevektorin muodostamiseksi määritellään kyseisen kohteen liikesuunta ja nopeus. Pakkaamisesta johtuen on lähettävällä ja vas-:·!·. taanottavalla videopäätelaitteella oltava niin suuri käsittelynopeus, että ' 35 pakkaaminen ja sen purku on mahdollista suorittaa reaaliajassa.
3 1 TO744
Kuvapikselit ryhmitellään tyypillisesti yhteen lohkojen muodostamiseksi. Lohko käsittää yleensä 16 riviä x 16 kuva-alkiota luminanssi-näytteitä, toimintotietoja ja mahdollisia liikevektoreita. Lohko jaetaan neljään 8x8 luminanssilohkoon ja kahteen 8x8 krominanssilohkoon. 5 Kuvan lukeminen Ga koodaus/koodauksen purku) etenee lohkoittain, tavanomaisesti ylhäältä vasemmalta kehyksen oikeaan alakulmaan. Yhden lohkon sisällä kuvan lukeminen Oa koodaus/koodauksen purku) etenee ylhäältä vasemmalta lohkon oikeaan alakulmaan.
10 MPEG-2-pakkauksessa kuva koodataan diskreetillä kosinimuunnok-sella (DCT) lohkoittain siten, että lohkon koko on 8x8 kuva-alkiota. Muunnettavalla luminanssitasolla on täysi resoluutio. Molemmat kromi-nanssisignaalit alinäytteistetään; esimerkiksi kenttä, jossa on 16x16 kuva-alkiota, muunnetaan 8x8 kuva-alkion kentäksi. Lohkojen koko-15 erot johtuvat pääasiassa siitä, että silmä ei erota krominanssimuutoksia yhtä hyvin kuin luminanssimuutoksia, joten 2x2 kuva-alkion kenttä koodataan samalla krominanssiarvolla.
MPEG-2-pakkausmenetelmässä on määritelty kolme kehystyyppiä: 20 l-kehys (Intra), P-kehys (Predicted) ja B-kehys (Bi-directional). l-kehys muodostetaan pelkästään kuvan itsensä sisältämän tiedon perusteella, ’ . jolloin tätä l-kehystä voidaan käyttää vastaanottopäässä koko kuvan ’;:·’ muodostamiseen. P-kehys muodostetaan edeltävän l-kehyksen tai ’ *' P-kehyksen perusteella, jolloin vastaanottopäässä käytetään vastaa-T‘25 vasti edeltävää l-kehystä tai P-kehystä yhdessä vastaanotetun P-kehyksen kanssa. P-kehysten muodostamisessa käytetään esimer-kiksi liikekompensointia informaatiomäärän tiivistämiseksi. B-kehykset muodostetaan edeltävän l-kehyksen ja seuraavan P- tai l-kehyksen perusteella. Näin ollen vastaanottovaiheessa ei ole mahdollista muo-.•••30 dostaa B-kehystä ennen kuin vastaava l-kehys ja P- tai l-kehys on vastaanotettu. Lisäksi näiden P- ja B-kehysten järjestystä yleensä : muutetaan lähetysvaiheessa, jolloin B-kehystä seuraava P-kehys vas- taanotetaan ensin, mikä nopeuttaa kuvan muodostamista vastaanotti-:·.·. messa.
//35 Näistä kolmesta kuvatyypistä suurin tehokkuus saavutetaan B-kehysten pakkaamisella. On mainittava, että l-kehysten, P-kehysten 110744 4 ja B-kehysten lukumäärä voi vaihdella kulloinkin käytetyn sovelluksen mukaan. Tässä yhteydessä on kuitenkin huomattava, että vastaanottopäässä on vastaanotettava ainakin yksi l-kehys ennen kuin on mahdollista muodostaa kunnollinen kuva vastaanottimen näyttölaitteeseen.
5
Liike-estimoinnin tarkoituksena on löytää videokuvasarjasta jonkin vertailukehyksen hakualueelta sellainen lohko (vertailulohko), joka on mahdollisimman samanlainen kuin annettu lohko käsiteltävänä olevassa kehyksessä (tutkittavana oleva lohko). Useiden eri liike-esti-10 mointialgoritmien joukossa suosituimpia ovat ne, jotka perustuvat sel-laisteen lohkojen vertailuun, jossa kehyksen lohkojen välisenä vastaa- vuuskriteerinä käytetään erotusten itseisarvojen summaa (SAD). Kun on annettu kaksi järjestettyä tietosarjaa X = jc^jja / = (^,...,)^), erotusten itseisarvojen summa SAD määritellään 15 seuraavasti: SAD{X,Y)= Sh "4 (1) i = 1
Joissakin julkaisuissa SAD on määritelty summaksi SAD(X,Y) jaettuna •“20 sen yhteenlaskettavien lukumäärällä K. Tällöin siitä voidaan myös . .·. käyttää nimitystä keskimääräinen virheen itseisarvo (MAE). Useimmis- ··.” sa tapauksissa K on kahden potenssi, jolloin nämä kaksi määritelmää . ovat soveltamisen kannalta oleellisesti yhtäpitävät, koska jälkimmäinen : 1 voidaan saada yksinkertaisesti siirtämällä edellisen arvoa tietyllä bitti- ‘ 25 määrällä.
Videokoodauksen yhteydessä SAD lasketaan jokaiselle käsiteltävänä V·: olevan inter-kehyksen (16x16) lohkolle (käytännössä melkein jokaiselle videosekvenssin kehykselle) ja useille (16x16) lohkoille ; ..β0 Y^, Yc'nyhden tai useamman vertailukehyksen muodostamalla haku- '.'.V alueella S^(ks. kuva 5). Lohkoa Yc-R\ joka vastaa pienintä SAD-arvoa lohkon Xc) ja lohkojen Ϋ°·ή, Yc<n joukossa hakualueella Sfc), käytetään fv sitten liikeinformaation muodostamiseen. Näin ollen erotusten itseis- arvojen summaa SAD sovelletaan useita kertoja, ja pienikin parannus 35 yhden SAD-operaation suoritusaikaan johtaa merkittäviin säästöihin 110744 5 videokuvan kokonaiskäsittelyajassa. Toisaalta on selvää, että erotusten itseisarvojen summan SAD laskemiseen käytettävä laitteisto ei saisi olla liian suuri tai kuluttaa liikaa tehoa, etenkään kannettavissa/ langattomissa videokuvan käsittelysovelluksissa.
5
On olemassa useita eri liike-estimointialgoritmeja, joissa SAD-operaa-tioiden lukumäärän ja/tai mittakaavan pienentämiseksi hyödynnetään eri hakustrategioita, jotka eivät merkittävästi heikennä koodatun videokuvan laatua. Nämä voidaan ryhmitellä karkeasti kahteen luokkaan: 10 datariippumattomaan hakuun, jossa Xja Y -lohkojen seuraavan parin valinta ei riipu edellisessä vaiheessa saadusta SAD-arvosta, ja data-riippuvaan hakuun. Datariippuvat hakustrategiat vaativat yleensä vähemmän suoritettavia SAD-operaatioita. Useimmat laitteistosovel-lukset perustuvat kuitenkin datariippumattomiin liike-estimointialgorit-15 meihin, koska näiden algoritmien avulla voidaan tyypillisesti järjestää säännöllisiä datan kulkuja yksinkertaisella tavalla. Datariippuville strategioille on yhteistä se, että on useita vaihtoehtoja valita X ja Y -lohkojen seuraava pari ja että valittava pari riippuu käsiteltävänä olevasta SAD-arvosta.
20 ... Viime aikoina tehtyjen tutkimusten mukaan eri liike-estimointialgoritmit kuluttavat noin 40-80 % videokoodaukseen kuluvasta kokonaisajasta, ’;·*· kun käytetään yleiskäyttöistä suoritinta (GPP). Lohkojen sovituksen liike-estimointialgoritmeissa perusoperaatio on SAD, jota sovelletaan '•"25 useita kertoja videokoodausprosessin aikana. Tyypillisissä nopeissa *"*: liike-estimointialgoritmeissa SAD-laskentaa toistetaan videosekvenssin aikana noin 30 kertaa melkein jokaista lohkoa kohti (joiden koko on yleensä (16x16)). Vaikka videosekvensseissä käytettäisiin QCIF-: resoluutiota (Quarter Common Intermediate Format) ja 15 kehystä L.30 sekunnissa, olisi tehtävä ainakin 44 500 kpl 256 pisteen (i6xi6)SAD- laskutoimitusta sekunnissa. Puhtaassa ohjelmistosovelluksessa esim.
: ARM9E-mikroprosessorilla, joka on tyypillinen sulautetuissa järjestel- missä käytettävä mikroprosessori, yhden 256 pisteen erotusten itseis-:·.·. arvojen summan laskeminen vaatii useita tuhansia kellojaksoja. Tämä '.’. 35 merkitsee sitä, että pelkästään liike-estimointiin kuluu videokoodauksen ohjelmistosovelluksessa jopa satoja miljoonia kellojaksoja sekunnissa.
110744 6
Koska ongelma on merkittävä, on viime aikoina julkaistu raportteja useista liike-estimointilaitteista. Yhden tällaisiin laitteisiin liittyvän SAD-laskennan rakennetyypin muodostavat peräkkäin kytketyt rakenteet. Esimerkki tällaisesta rakenteesta on esitetty patentissa US 6 154 492.
5
Toisen rakennetyypin muodostavat rakenteet, joita voidaan yleisesti havainnollistaa kuvan 6 mukaisesti ja joita voidaan nimittää "rinnakkai-siksi/iteroiviksi summaaviksi SAD-rakenteiksi". Esimerkkejä tällaisista rakenteista on esitetty esim. US-patenteissa US 5 864 372 ja US 10 5 652 625 sekä artikkelissa S. Vassiliadis, E.A. Hakkennes, J.S.S.M. Wong ja G.G. Pechanek, "The sum-absolute-difference motion estimation accelerator", julkaisussa Proceedings of Euromicro Conference, vol. 2, 1998 (s. 559-566). Näissä rakenteissa lasketaan laskentayksikön(-yksiköiden) lohkon jokaisessa vaiheessa vertailu-15 arvoja, jotka edustavat kunkin data-arvojen parin (toinen käsiteltävänä olevasta lohkosta ja toinen vertailulohkosta) erotuksen itseisarvoa. Näitä arvoja kerätään sitten yksi kerrallaan tai joukko kerrallaan (toistuvasti) tai kaikki kerrallaan (rinnakkain) summauslohkoon, jossa voi olla sisäinen takaisinsyöttö. Kun annettujen kahden lohkon kaikkien parien 20 vertailuarvot on koottu, saadaan näiden lohkojen välinen erotusten itseisarvojen summa (SAD). Tämän jälkeen saadut tietyn lohkon X(c) ja hakualueen S(c) useiden lohkojen Y(c,r) väliset SAD-arvot analysoidaan minimivertailulohkossa, ja lohko, joka antaa pienimmän SAD-arvon, valitaan liike-estimointi-informaation muodostamiseen.
... 25
Videokoodauksen liikekompensoinnin käytännön sovelluksissa SAD-arvolla ei ole merkitystä, jos se on liian suuri. Näin ollen SAD-raken-teen summainvälineet voidaan toteuttaa pienemmällä tarkkuudella (bittileveydellä) kuin pahimman tapauksen oikean SAD-arvon tarkkuu-. . 30 della. Vaikka suurehkot SAD-arvot laskettaisiin siis väärin, tämä ei ‘;t' normaalisti vaikuta liike-estimoinnin tulokseen.
Esimerkiksi patentissa US 6 154 492 on esitetty joitakin keskeytys-·;··; mekanismeja käytettäväksi SAD-laskentavälineiden yhteydessä.
35 Patenttijulkaisu esittää liikevektorin ilmaisulaitteen, joka käsittää peräkkäin kytkettyjä prosessorielementtejä. Prosessorielementit laskevat kuvan muodostavien kuva-alkioiden joukon jokaisen kuva-alkion ja loh- 7 110744 koon kuuluvien yhtä monen vastaavan kuva-alkion välisen erotuksen itseisarvon sekä suorittavat myös lohkon erotusten itseisarvojen summausta. Nämä operaatiot suoritetaan kullekin lohkolle ennalta määrätyllä hakualueella. Loppuvaiheessa vertailulaite vertaa toistuvasti pro-5 sessorielementtiin peräkkäin saatujen kahden lohkon kertyviä sum-mausarvoja ja valitsee näistä pienemmän kertyvän summausarvon. Vähentäjä vertaa pienempää kertyvää summausarvoa asetusarvoon. Kun pienempi kertyvä summausarvo on pienempi kuin asetusarvo, ohjauspiiri pysäyttää kellosignaalien syötön prosessorielementeille ja 10 vertailulaitteelle laitteiston kaikkien toimintojen pysäyttämiseksi. Koska vain pienehköt SAD-arvot ovat merkitseviä liikevektorien määrittämiseksi, voidaan suurehkot SAD-arvot laskea väärin. Tämä merkitsee sitä, että laitteiston toiminnallisten yksiköiden tarkkuus voi olla pienempi kuin mitä vaaditaan oikean SAD-arvon laskemiseksi pahim-15 massa tapauksessa. Tämä johtaa selvästi lisäsäästöihin piipinta-alassa ja tehonkulutuksessa. Tässä ratkaisussa pysäytetään kuitenkin vain osa rakenteesta, jolloin säästetään osittain tehoa, mutta ei suoritusaikaa. Itse asiassa julkaisun US 6 154 492 mukainen rakenne muodostuu K= 256 käsittelyelementistä, jotka kukin koostuvat kolmesta 20 summaimesta. Tällainen rakenne ei vaikuta mahdolliselta nykyteknolo-... gialla, tai ainakin se vaikuttaa liian suurelta sisällytettäväksi liikuteltaviin videokoodausjärjestelmiin. Lisäksi tämä rakenne tukee vain tavan- • t · i;·'·' omaisia, datariippuvia liike-estimoinnin hakustrategioita, koska se on raskaasti kerrostunut (256 liukuhihnakerrosta) ja koko rakenteen ‘:"£5 pysäyttäminen merkitsisi kaikkien liukuhihnan kerrosten uudelleen-lataamista.
• · I
• ·
Liike-estimoinnin SAD-laskennassa on useita tilanteita, joissa SAD-arvon laskenta kahden lohkon X(c) ja Y(c,r) välillä voidaan pysäyttää .’••30 ennen kuin laskennat on saatettu loppuun ja uusi erotusten itseisarvo-/·’ jen summan laskenta lohkon X(c) ja toisen lohkon Y(c,r) välillä haku-:·: : alueella S(c) voidaan aloittaa oleellisesti välittömästi aikaisen pysäytyk- :...: sen jälkeen. Esimerkkejä tällaisista tilanteista ovat tapaukset, joissa SAD-arvon laskennassa lohkojen X(c) ja Y(c,r) välillä saadaan tilapäinen /. 35 SAD-arvo, joka jo ylittää ennalta määrätyn kynnysarvon tai aikaisemmin saadun lohkojen X(c) ja Y(c,n välisen SAD-arvon hakualueella S(c). Joissakin muissa tilanteissa vertailulohkon haku tietyllä haku- 110744 8 alueella S(c) voidaan keskeyttää ja X(c):n liikekompensointi-informaatio voidaan muodostaa ennen prosessin saattamista loppuun normaalilla tavalla. Esimerkki tällaisesta tilanteesta on tapaus, jossa kahden lohkon X(c) and Y(C,R) (ei esitetty) välinen SAD-arvo on pienempi kuin jokin 5 toinen ennalta määrätty kynnysarvo. Näin ollen olisi melko edullista integroida joitakin keskeytysmekanismeja liike-estimointilaitteisiin, joissa voidaan ennalta keskeyttää SAD-laskenta ja/tai vertailulohkon etsiminen.
10 Nyt esillä olevan keksinnön tarkoituksena on saada aikaan parannettu menetelmä, järjestelmä ja laitteisto liike-estimoinnin suorittamiseksi videokoodauksessa. Keksintö perustuu siihen ajatukseen, että keskeytysmekanismeja sisällytetään iteroiviin/rinnakkaisiin SAD-sum-mausrakenteisiin, joissa on mahdollista keskeyttää erotusten itseis-15 arvojen summan laskenta ja/tai vertailulohkon haku joissakin olosuhteissa, joissa lisälaskutoimituksista ei ole hyötyä tai niitä ei haluta. Joissakin tilanteissa erotusten itseisarvojen summan uusi laskenta tietyn lohkon X(c) ja hakualueelta S(c) saadun uuden lohkon Y{c/) välillä aloitetaan välittömästi aikaisen keskeytyksen jälkeen. Joissakin toisissa 20 tilanteissa viitelohkon haku tietyllä hakualueella S(c) lopetetaan ja .... muodostetaan liikekompensointi-informaatio annetulle lohkolle X(c).
Tämä saadaan aikaan tutkimalla välituloksena saatuja SAD-arvoja sen
t I I
määrittämiseksi, ovatko ne jo riittävän korkeita SAD-laskennan kes- * ’*' keyttämiseksi mainitun esillä olevan lohkon X(c) ja mainitun toisen loh-‘Γ‘25 kon Y(c,r) välillä, samoin kuin tutkimalla lopullisia SAD-arvoja sen mää- rittämiseksi, ovatko ne jo riittävän matalia annetun lohkon X(c) haun lopettamiseksi annetulla hakualueella S(c). Nyt esillä olevan keksinnön mukaiselle menetelmälle on pääasiassa tunnusomaista se, että : menetelmä käsittää ainakin: • I » ,:··*30 - laskentavaiheen ainakin yhden vertailuarvojen osajoukon muo- ‘: ’ dostamiseksi, joka koostuu ainakin yhdestä vertailuarvosta, : - summausvaiheen senhetkistä kumulatiivista vertailuarvoa osoittavan signaalin muodostamiseksi, jota päivitetään toistu-vasti käyttämällä mainittua laskentavaiheessa saatua ainakin . ·. * 95 yhtä vertailuarvojen osajoukkoa, 110744 päätösvaiheen, jossa määritellään, voidaanko prosessi lopettaa vertaamalla ainakin yhtä signaalia ainakin yhteen kynnysarvoon, ja lopetuksen ja uuden prosessin aloituksen mainitun yhdistetyn 5 vertailuarvon määrittämiseksi päätösvaiheessa tehdyn päätök sen mukaisesti.
Nyt esillä olevan keksinnön mukaiselle videokoodausjärjestelmälle on pääasiassa tunnusomaista se, että järjestelmä käsittää ainakin: 10 - laskentavälineet ainakin yhden vertailuarvojen osajoukon muo dostamiseksi, joka koostuu ainakin yhdestä vertailuarvosta, summausvälineet senhetkistä kumulatiivista vertailuarvoa osoittavan signaalin muodostamiseksi, jota päivitetään toistuvasti käyttämällä mainittua laskentavälineissä saatua ainakin 15 yhtä vertailuarvojen osajoukkoa, päätösvälineet sen määrittelemiseksi, voidaanko laskenta-prosessi lopettaa, käsittäen välineet ainakin yhden signaalin vertaamiseksi ainakin yhteen kynnysarvoon, ja välineet nykyisen prosessin lopettamiseksi ja uuden prosessin 20 aloittamiseksi mainitun yhdistetyn vertailuarvon määrittämiseksi ·:·. päätösvälineissä tehdyn päätöksen mukaisesti.
« * ·
Nyt esillä olevan keksinnön mukaiselle videokoodauslaitteistolle on ’ " pääasiassa tunnusomaista se, että laitteisto käsittää ainakin: i"25 - laskentavälineet ainakin yhden vertailuarvojen osajoukon muo- ':; dostamiseksi, joka koostuu ainakin yhdestä vertailuarvosta, C!: - summausvälineet senhetkistä kumulatiivista vertailuarvoa osoittavan signaalin muodostamiseksi, jota päivitetään toistu* :*·.· vasti käyttämällä mainittua laskentavälineessä saatua ainakin • · . · 30 yhtä vertailuarvojen osajoukkoa, , ·, - päätösvälineet sen määrittelemiseksi, voidaanko laskenta- : prosessi lopettaa, käsittäen välineet ainakin yhden signaalin :: vertaamiseksi ainakin yhteen kynnysarvoon, ja :*·*: - välineet nykyisen prosessin lopettamiseksi ja uuden prosessin .·. 85 aloittamiseksi mainitun yhdistetyn vertailuarvon määrittämiseksi päätösvälineissä tehdyn päätöksen mukaisesti.
110744 10
Nyt esillä oleva keksintö tarjoaa merkittäviä etuja verrattuna tekniikan tason mukaisiin laitteistoratkaisuihin, joissa ei ole varhaisen keskeytyksen mekanismeja ja/tai alemman bittileveyden omaavia iteratiivisia summausvälineitä kuin on välittämätöntä suurinta mahdollista SAD-5 arvoa varten. Hakualueella olevien lohkojen tutkiminen voidaan suorittaa nopeammin, koska SAD-arvojen laskenta käsiteltävänä olevan lohkon ja yhden vertailulohkon välillä voidaan keskeyttää ennalta ja seu-raavan lohkon laskenta voidaan aloittaa lähes välittömästi, kun on havaittu, että vertailulohko ei sovellu liike-estimointiin. Lisäksi SAD-10 arvon laskutoimituksen tietyn esillä olevan lohkon, esim. X(c), ja useiden vertailulohkojen, esim. Y(C,R), välillä voidaan keskeyttää ennalta, jos käsiteltävänä olevan lohkon X(c) ja annetun vertailulohkon Y(C,R0) välinen SAD-arvo todettiin riittävän pieneksi. Näin ollen voidaan välttyä tarpeettomilta laskentaprosesseilta. Nämä muunnokset johtavat huo-15 mättäviin parannuksiin säästettäessä suoritusaikaa ja tehonkulutusta, koska tapauksia, joissa laskenta määritellään tarpeettomaksi, sattuu hyvin usein useimmissa liike-estimointialgoritmeissa. Mahdollisuus käyttää epätarkempaa summainvälinettä vähentää merkittävästi tässä keksinnössä esitettyjen rakenteiden kokoa ja suoritusaikaa. Summain-20 välineen koon pieneneminen merkitsee myös sitä, että käytännössä ·:·. tulee mahdolliseksi käyttää nopeampia rakenteita, joissa on useampia ' . rinnakkaisia laskentayksiköltä.
" Esitetyllä keskeytysmekanismilla on julkaisun US-6 154 492 mukaisiin : 25 ratkaisuihin nähden esim. seuraavat edut SAD-laskentavälineen parantamiseksi: • · ·
Nyt esillä olevan keksinnön edullisessa suoritusmuodossa seuraavan :*·,· lohkoparin SAD-arvon laskenta käynnistyy, kun havaitaan laskenta tar-• » • •30 peettomaksi, jolloin säästetään sekä suoritusaikaa että virrankulutusta. Julkaisun US-6 154 492 mukainen keskeytysmekanismi pysäyttää vain : osan rakenteesta ja vasta sen jälkeen, kun tarpeettomien SAD-arvojen :: laskennat olisi jo voitu suorittaa.
> * 35 Nyt esillä oleva keksintö voi tukea sekä säännöllistä että epäsäännöllistä datariippuvaa liike-estimoinnin hakustrategiaa, koska käytetään vain rajoitettua liukuhihnaa. Edullisen suoritusmuodon mukaan oleelli- 11 Ή0744 sesti kaksi liukuhihnavaihetta (neljästä) on ladattava uudelleen keskeytyksen jälkeen. Julkaisun US-6 154 492 mukainen rakenne kohdistuu vain säännöllisiin, datariippumattomiin liike-estimointialgoritmeihin.
5 Keksintöä selostetaan seuraavassa tarkemmin viitaten samalla oheisiin piirustuksiin, joissa
Fig. 1 esittää keksinnön edullisen suoritusmuodon mukaista liike-estimointilohkoa pelkistettynä lohkokaaviona, 10
Fig. 2 esittää keksinnön edullisen suoritusmuodon mukaisen liike-estimointilohkon SAD-laskentaelintä pelkistettynä lohko-kaaviona, 15 Fig. 3 esittää keksinnön edullisen suoritusmuodon mukaista videokuvan siirtojärjestelmää pelkistettynä lohkokaaviona,
Fig. 4 esittää keksinnön edullisen suoritusmuodon mukaista tiedonsiirtolaitetta pelkistettynä lohkokaaviona, 20 ·:·. Fig. 5 esittää menetelmää videokuvan liike-estimoinnin suorittami- • · seksi videokoodauksessa, 9 9 · ” Fig. 6 esittää yleisesti tekniikan tason mukaisia iteratiivisia/ rinnak- :" 25 kaisia kerääviä SAD-rakenteita, ja
Fig. 7 esittää yleisesti iteratiivisia/rinnakkaisia kerääviä SAD- rakenteita, joissa on nyt esillä olevan keksinnön edullisen suoritusmuodon mukaiset integroidut keskeytysmekanismit.
•: ‘ 30
Keksintöä selostetaan seuraavassa yleistapauksena, jossa oletetaan • · · olevan K paria n-bittistä syöttötietoa, vaikka yleisimmässä tapauksessa videokoodauksen yhteydessä K= 256 ja n= 8. On huomattava, että ;*· erotusten itseisarvojen summaa voidaan käyttää videokoodauksen .•.35 lisäksi muissakin sovelluksissa, kuten lääketieteellisessä kuvantamisessa, tutkakuvantamisessa ja muissa signaalinkäsittelytehtävissä, joissa suoritetaan kuvion tunnistamista reaaliajassa (EKG-laitteissa, 110744 12 sydämen toimintaa rekisteröivissä ICD-laitteissa (implantable cardioverter defibrillator), äänenkäsittelyssä, jne).
Kuvassa 5 on esitetty menetelmä videokuvan liike-estimoinnin suorit-5 tamiseksi videokoodauksessa. Kuvassa 5 on selvyyden vuoksi esitetty vain kaksi kehystä FR1, FR2. Koodattava kehys FR1 käsittää yhden tai useampia lohkoja Yfc), jotka sisältävät kuva-alkioarvoja Xjj, joista on esitetty vain muutamia. Vertailukehyksestä FR2 on määritelty hakualue S^c;. Hakualue määrittelee alueen, jossa suoritetaan vertailua 10 koodattavan kehyksen FR1 esillä olevan lohkon X(c) ja vertailukehyk-sen FR2 vertailulohkon Y(c,r) välillä. On kuitenkin selvää, että joissakin suoritusmuodoissa on mahdollista käyttää hakualueena S(c) vertailu-kehyksen FR2 koko aluetta. Menetelmässä valitaan vertailulohko Y(c,r), Y(c r) verrattavaksi yksitellen käsiteltävänä olevaan lohkoon X(c). Haku-15 prosessia jatketaan, kunnes koko hakualue S(c) on tutkittu tai jos jokin muu haun päättämiseen määritelty ehto täyttyy. Hakua selostetaan seuraavassa tarkemmin.
Kuva 7 esittää yleisesti kuvan 6 mukaisia iteroivia/rinnakkaisia kerääviä 20 SAD-rakenteita, joissa on nyt esillä olevan keksinnön edullisen suoritusmuodon mukaiset integroidut keskeytysmekanismit. Se käsittää • · esim. muistivälineen 25 kuvatietojen tallentamiseksi, SAD-laskentaväli-neen 1, ja ohjauspiirin. SAD-laskentaväline 1 käsittää välineen P ver-" tailuarvojen muodostamiseksi, välineet P2, P3 kumulatiivisten ja : 25 yhdistettyjen vertailuarvojen muodostamiseksi vertailuarvojen avulla, ja välineen P4 pienimmän SAD-arvon arvioimiseksi ja liike-estimointi- * f * tiedon MEI muodostamiseksi.
Tarkempaa kuvausta varten keksintöä selostetaan kuitenkin kuvan 1
• I
* ‘*?0 avulla, joka on tarkempi esimerkki kuvan 7 mukaisen iteratiivisen/ rin nakkaisen keräävän SAD-rakenteen yleisrakenteesta. Tämä esimerkki I * · ;; t: havainnollistaa nyt esillä olevan keksinnön mukaista menetelmää siten, että varhaisen keskeytyksen mekanismit on sisällytetty saman hakijan rinnakkaisessa hakemuksessa esittämään rakenteeseen. Kuvassa 1 » · :\?5 on esitetty pelkistettynä lohkokaaviona keksinnön edullisen suoritus- * · muodon mukainen liike-estimointilohko 16, ja kuvassa 2 on esitetty pelkistettynä lohkokaaviona kuvan 1 mukaisen liike-estimointilohkon 16 110744 13 SAD-laskentavälineen 1 edullinen suoritusmuoto. SAD-las-kentaväline 1 käsittää neljä liukuhihna-astetta P1, P2, P3, P4 sekä puskurin 7 ensimmäisen liukuhihna-asteen P1 sisäänmenossa ja puskurit 8, 11, 15 vastaavien peräkkäisten liukuhihna-asteiden P1, P2; P2, P3 5 ja P3, P4 välillä. Nyt esillä olevan keksinnön tässä edullisessa suoritusmuodossa on kolme eri keskeytyssignaalia, jotka voidaan muodostaa SAD-laskennan lopettamiseksi. Ensimmäinen keskeytyssignaali 17 muodostuu toisessa liukuhihna-asteessa P2, ja se käsittää yksinkertaisesti toisen liukuhihna-asteen P2 summainpiirin muistitulosteen. Toi-10 nen keskeytyssignaali 18 ja kolmas keskeytyssignaali 19 muodostetaan neljännessä liukuhihna-asteessa P4. Toinen keskeytyssignaali 18 on minimiarviointivälineissä 13 olevan vertailuvälineen tuloste, joka asetetaan korkeaksi, kun SAD-väliarvo ylittää käsiteltävänä olevan minimiarvon. Kolmas keskeytyssignaali 19 on minimiarviointi-15 välineissä 13 olevan toisen vertailuvälineen tuloste, joka asetetaan korkeaksi, kun koko SAD-väliarvo alittaa ennalta määritellyn kynnysarvon. On kuitenkin huomattava, että keksintö ei rajoitu pelkästään sovelluksiin, joissa kaikki kolme keskeytystä ovat käytössä, vaan keksintöä voidaan myös soveltaa käyttäen vain yhtä tai kahta keskeytystä. 20 On myös mahdollista, että käytetään useampia kuin kolmea keskey- ·:·. tystä laitteissa, joissa nyt esillä olevaa keksintöä sovelletaan.
• 1 • · ·
Ohjauspiiri käsittää esim. TAI-portit 20, 21, 22, X-dataosoitegeneraat-" torin 23, Y-dataosoitegeneraattorin 24 ja kellopiirin liike-estimointi- • 25 lohkon 16 toimintojen ohjaamiseksi. Ensimmäinen keskeytyssignaali 17 on kytketty ensimmäisen TAI-portin 20 kautta Y-dataosoitegeneraatto-rin 24 ensimmäiseen ohjaustuloon. Ensimmäinen keskeytyssignaali 17 on myös kytketty toiseen 21 ja kolmanteen 22 TAI-porttiin nollaus-signaalin muodostamiseksi SAD-laskentavälineeseen 1. Toinen kes-<"'30 keytyssignaali 18 on kytketty ensimmäisen TAI-portin 20 kautta ,·, Y-dataosoitegeneraattorin 24 ensimmäiseen ohjausvientiin. Toinen
• i I
keskeytyssignaali 18 on myös kytketty toiseen 21 ja kolmanteen 22 :···: TAI-porttiin nollaussignaalin muodostamiseksi SAD-laskentavälinee- seenl. Kolmas keskeytyssignaali on kytketty toisen TAI-portin 21 /.,35 kautta X-dataosoitegeneraattorin 23 ohjausvientiin ja Y-dataosoitegeneraattorin 24 toiseen ohjausvientiin.
14 110744
Seuraavassa selostetaan tarkemmin kuvan 1 mukaisen liike-estimointi- lohkon 16 toimintaa. Ensinnäkin esim. muistista 25 viedään lohkotieto-sarjoja X = {xlv..,x^} ja Y = {yi>—>yjc} osa kerrallaan ensimmäiseen liukuhihna-asteeseen P1. Keksinnön tässä edullisessa suoritus-5 muodossa ensimmäinen liukuhihna-aste käsittää neljä ryhmää 3 laskentayksiköltä 2, ja kukin ryhmä käsittää neljä laskentayksikköä 2. Yleisemmässä tapauksessa ensimmäinen liukuhihna-aste P1 käsittää s kpl ryhmiä 3, ja kukin ryhmä käsittää p kpl laskentayksiköltä 2. Parametrit s ja p valitaan siten, että m = sp ja kummatkin parametrit s, p ovat 10 positiivisia kokonaislukuja eli s, p>1. Ryhmän 3 kukin laskentayksikkö 2 käyttää samoja syötteitä ΧΊ,Υι; X2, Y2; X3, Y3; X4, Y4 mutta eri kellojaksoissa. SAD-laskentavälineen 1 sisäänmenopari (XlfYi), jossa /= 1,...,4, kytketään sisäänmenorekisterien 7 kautta /':nnen ryhmän kunkin laskentayksikön DSy, sisäänmenopariin (X„Yj), jossa j= 1,...,4. 15 Kukin näistä ensimmäisen liukuhihna-asteen sisäänmenorekiste-reistä 7 on avoinna vain SAD-laskentayksikön 1 joka neljännen toimintajakson aikana. Tällä tavoin kussakin toimintavaiheessa SAD-laskentavälineen 1 kukin sisäänmenopari (X„Yf), jossa /'= 1,...,4, kytketään itse asiassa vain yhden laskentayksikön sisäänmenopariin 20 (Xij,Yij), kun muut kytkennät ovat inaktiivisia, koska ensimmäisen liu- ·:·. kuhihna-asteen vastaavat sisäänmenorekisterit 7 on suljettu kirjoituk-• · seita. Ensimmäisen liukuhihna-asteen sisäänmenorekisterit 7 ovat • · · kunkin ryhmän i = 1,...,4 ensimmäisen laskentayksikön DS/7 syötteen kohdalla avoinna ensimmäisen joka 4. toimintavaiheen aikana, ensim-j’25 mäisen liukuhihna-asteen sisäänmenorekisterit ovat kunkin ryhmän toisen laskentayksikön DS/2 kohdalla avoinna toisen joka 4. toiminta-vaiheen aikana, jne. Ryhmien 3 laskentayksiköiden 2 ulostulot kytketään kahden multiplekserin 4, 5 sisäänmenoihin siten, että laskenta-yksikön 2 n-bittinen sisäänmeno kytketään ensimmäisen multiplekse-• ••*30 rin 4 yhteen n-bittiseen sisäänmenoon ja laskentayksikön 2 1-bittinen sisäänmeno kytketään toisen multiplekserin 5 yhteen 1-bittiseen ‘ sisäänmenoon. Ensimmäiset multiplekserit 4 käsittävät p kpl n-bittisiä sisäänmenoja ja yhden n-bittisen ulostulon. Vastaavasti toiset multi-plekseritö käsittävät p kpl 1-bittisiä sisäänmenoja ja yhden 1-bittisen .-. 35 ulostulon. Yhden ryhmän 3 laskentayksiköt2 toimivat noin yhden toimintavaiheen aikapoikkeamalla, jolla on kesto Tp, joka on nyt suunnilleen yhtäsuuri kuin pakkausmatriisin 6 viive. Vastaavasti laskenta- 15 110744 yksiköiden 2 ulostuloihin muodostetaan merkki- ja erotustiedot, joiden aikapoikkeama on myös suunnilleen yhden toimintavaiheen kesto. Yhden ryhmän 3 kaikkien laskentayksiköiden 2 ulostuloparit kytketään pakkausmatriisin 6 yhteen sisäänmenopariin multiplekserien 4, 5 avulla 5 siten, että laskentayksikön 2, joka on juuri laskenut merkki- ja erotus-tiedot, jokainen toimintavaihe kytketään pakkausmatriisiin 6 multiplekserien 4, 5 ja ulostulopuskurien 8 välityksellä. Näin ollen pakkaus-matriisi 6 vastaanottaa ja kerää kussakin toimintavaiheessa uuden merkki- ja erotustieto-osuuden, vaihdellen kunkin ryhmän 3 eri 10 laskentayksiköiden 2 välillä.
Toinen liukuhihna-aste P2 on pakkausmatriisi 6, jossa on s kpl sisään-menoja ensimmäisestä liukuhihna-asteesta P1 ja kaksi takaisinkytken-tää sen summain-9 ja muistiulostulosta 10. Pakkausmatriisi 6 vas-15 taanottaa kaikki erotustiedot ja etumerkkitiedot, jotka lasketaan yhteen ja joista muodostetaan kaksi (summa ja muistitermi) riviä pakattuja erotus- ja etumerkkitietoja. Pakkausmatriisi 6 päivittää summain- ja muistitermiensä arvot jokaisessa toimintavaiheessa kokoamalla merkki- ja erotustiedot puskurien 8 ulostuloista. Kun merkki- ja erotus-20 tiedot on koottu kaikista arvopareista, pakkausmatriisin 6 ulostulo ·:·. käsittää lopulliset pakatut erotus- ja merkkitiedot, jotka kootaan sum-' . maimeen 12, joka muodostaa kolmannen liukuhihna-asteen P3.
Toisen liukuhihna-asteen P2 pakkausmatriisi 6 on edullisesti tallennus-: 25 summainpuu, joka muodostuu joko kokosummaimista (FA) tai : 4/2-suhdepakkaimista, jotka ovat sinänsä tunnettuja. Puulla voi olla eri
4 « I
rakenteita. Oikean SAD-laskennan muodostamiseksi puun bittilevey- den (tarkkuuden) on pahimmassa tapauksessa oltava {n+log2K-1)-b\ti.\- nen, jossa n on sisäänmenodatan bittien lukumäärä ja K on lohkon “·β0 sisäänmenodatanäytteiden lukumäärä. Esimerkiksi jos käytetään «* · . . 8-bittisiä sisäänmenoarvoja ja lohkon koko on 256, pakkausmatriisin 6 • 4 * bittileveyden tulisi olla 15 bittiä, jotta saataisiin suurimman mahdollisen ' ·; ·: SAD-arvon summa- ja muistitermit oikein.
4 · I
: -,35 Toisessa liukuhihna-asteessa P2 on myös ulostulorekisterejä 11, jotka tallentavat väliaikaisesti pakkausmatriisin 6 laskemat summain- ja muistitermiarvot. Tämä on välttämätöntä synkronoidun liukuhihnan 16 110744 kelloajastuksen ohjaamiseksi asianmukaisella tavalla. Ulostulorekiste-reitä 11 käytetään myös summain- ja muistitermien tallennukseen ja näiden termien syöttämiseen takaisin pakkausmatriisiin 6, jossa ne summataan seuraavassa toimintavaiheessa.
5
Kuten edellä on mainittu, kolmas liukuhihna-aste P3 käsittää summai-men 12, joka summaa lasketut summa- ja muistitermit ja muodostaa tarkasteltavana olevan lohkon ja esillä olevan vertailulohkon välisten erotusten itseisarvojen summan. On myös mahdollista, että sum-10 main 12 laskee esim. keskimääräisen virheen itseisarvon (MAE) jakamalla virheiden itseisarvojen summan SAD(X,Y) sen yhteenlaskettavien lukumäärällä K, kuten tässä selityksessä on edellä kuvattu.
Neljäs liukuhihna-aste on miniminvertailuyksikkö 13, joka käsittää ver-15 tailuvälineen (ei esitetty) ja välineen 14 minimi-SAD-arvon tallentamiseksi. Aloitettaessa tietyn esillä olevan lohkon X(c) liike-estimointia minimi-SAD-arvo asetetaan alkuarvoon (joka on yleensä suuri arvo, esimerkiksi minimi-SAD-arvon suurin mahdollinen arvo). Tämän jälkeen miniminvertailuyksikön 13 vertailuelin vertaa kolmannen liuku-20 hihna-asteen summaimessa 12 muodostettua viimeisintä SAD-arvoa ·:·. tallennettuun minimi-SAD-arvoon, ja jos viimeisin SAD-arvo on pie-• · ’ . nempi, niin tähän mennessä löydetty minimi-SAD-arvo korvataan tällä .;:·’ arvolla. Kun tietyn esillä olevan lohkon X(c) kaikki SAD-laskennat on " suoritettu, minimi-SAD-arvoa käytetään liike-estimointitiedon MEI muo- : 25 dostamiseksi X(c):lle.
• · Tässä yhteydessä viitataan kokonaan saman hakijan rinnakkaiseen hakemukseen, jossa SAD-laskentayksikön 1 edellä kuvattua suoritus-:' ·.: muotoa on selostettu tarkemmin.
••30
Keksinnön seuraavat kaksi suoritusmuotoa perustuvat siihen havain-:;;s: toon, että liike-estimointiprosessissa ainoastaan riittävän pienet SAD- arvot ovat tärkeitä. Videokoodauksen liikekompensoinnin käytännön sovelluksissa SAD-arvolla ei ole merkitystä, jos se on liian suuri. Näin • · 35 ollen ei ole tarpeen laskea oikein SAD-arvoja, jotka ovat suurempia kuin ennalta määritelty kynnysarvo. Tätä voidaan käyttää kahdella tavalla: summaus- ja vertailuvälineiden bittileveyden pienentämiseen 17 110744 sekä SAD-arvon laskennan lopettamiseen, kun siitä tulee suurempi kuin ennalta määritelty kynnysarvo.
Nyt esillä olevan keksinnön edullisessa suoritusmuodossa SAD-las-5 kentavälineiden 1 toisen liukuhihna-asteen P2 pakkausmatriisi 6, kolmannen liukuhihna-asteen P3 summain 12 ja neljännen liukuhihna-asteen P4 miniminvertailuyksikkö voidaan toteuttaa pienemmällä tarkkuudella kuin on välttämätöntä suurimman mahdollisen SAD-arvon saamiseksi oikein. Toisin sanoen pakkausmatriisi 6 voidaan toteuttaa 10 pienemmällä tarkkuudella kuin (n+log2K-1) bittiä, ja miniminvertailu-yksikön 13 vertailuvälineet voidaan toteuttaa pienemmällä tarkkuudella kuin (n+log2K) bittiä, jotka pahimmassa tapauksessa vaaditaan oikean SAD-laskennan suorittamiseksi. Tässä yhteydessä n on sisäänmeno-datan bittien lukumäärä ja k on lohkon sisäänmenodatanäytteiden luku-15 määrä kuten edellä. Esimerkiksi jos käytetään 8-bittisiä sisäänmeno-arvoja ja lohkon koko on 256, pakkausmatriisin 6 bittileveys voi olla vähemmän kuin 15 bittiä, esimerkiksi 7 bittiä, ja summaimen 12 ja vertailuvälineen bittileveys miniminvertailuyksikössä 13 voi olla vähemmän kuin 16 bittiä, esimerkiksi 8 bittiä. Vaikka suurehkot SAD-arvot 20 laskettaisiin siis väärin, tämä ei normaalisti vaikuta liike-estimoinnin ·:·. tulokseen. Tämä suoritusmuoto voi johtaa SAD-laskentayksikön 1 koon • · ’ . ja virrankulutuksen huomattavaan pienenemiseen. Koon pieneneminen voi myös merkitä sitä, että käytännössä tulee mahdolliseksi käyttää ensimmäisessä liukuhihna-asteessa nopeampia välineitä, joissa on : 25 useampia laskentayksiköltä.
Nyt esillä olevan keksinnön toisessa edullisessa suoritusmuodossa tutkitaan pakkausmatriisin 6 jo muodostamien tietojen erojen välisumman muistitermiä sen määrittämiseksi, onko se ylittänyt ennalta määrätyn • "•30 ensimmäisen kynnysarvon. Tässä edullisessa suoritusmuodossa tämä voidaan suorittaa tutkimalla toisen liukuhihna-asteen P2 muistiulos-: tulon 10 tilaa. Tällöin jos muistiulostulon 10 merkitsevin bitti on loogi- • sessa 1-tilassa, muodostetaan ensimmäinen keskeytyssignaali 17 ilmoittamaan SAD-laskentavälineille 1, että väli-SAD-arvo ylittää ;\β5 ennalta määrätyn ensimmäisen kynnysarvon, jolloin ei ole tarpeen jatkaa käsiteltävänä olevan lohkon ja vertailulohkon välisen SAD-arvon laskentaa. Ensimmäisen keskeytyssignaalin aktiivinen tila (esim. loogi- 110744 18 nen 1 -tila) asettaa ensimmäisen TAI-portin20 ulostulon aktiiviseen tilaan. Tämä kytketään Y-dataosoitegeneraattorin 24 ensimmäiseen ohjaussisäänmenoon ja toisen TAI-portin 21 sisäänmenoon, kuten tässä selityksessä on aikaisemmin mainittu. Tällöin Y-dataosoite-5 generaattori 24 havaitsee Y-dataosoitegeneraattorin ensimmäisen ohjaussisäänmenon loogisen tilan muuttumisen aktiiviseen tilaan ja muuttaa Y-tieto-osoitteen osoittamaan vertailukehyksen toista, vielä tutkimatonta lohkoa. Myös SAD-laskentavälineen 1 liukuhihna-asteet P1, P2, P3, P4 asetetaan alkuarvoihinsa. Tämän jälkeen liike-10 estimointilohko 16 alkaa laskea käsiteltävänä olevan lohkon ja vertailu-kuvan seuraavan vertailulohkon välistä SAD-arvoa.
Edellä esitetyssä suoritusmuodossa ensimmäinen kynnysarvo määritellään pakkausmatriisin bittileveyden avulla (laskentatarkkuus). Jos 15 pakkausmatriisin 6 erotusten itseisarvojen välisumma ylittää jossakin summausvaiheessa ennalta määrätyn ensimmäisen kynnysarvon, kyseisten lohkojen X^c) ja Ϋ°'ή parin SAD-laskentaprosessi lopetetaan. Esimerkiksi jos käytetään 8-bittisiä sisäänmenoarvoja ja lohkon koko on 256, pakkausmatriisin 6 bittileveyden tulisi olla 15 bittiä, jotta saatai- 20 siin suurin mahdollinen SAD-arvo oikein. Sopivimmassa suoritusmuodossa käytetään kuitenkin leveyttä [iog2mi], jossa TH1 on ensim- • » mäinen kynnysarvo. Tämä merkitsee sitä, että jos erotusarvo on suu- ·"' rempi tai yhtäsuuri kuin 2^log2 TH[\ muistiulostulon merkitsevin bitti • · · . nostetaan. Tässä suoritusmuodossa on se etu, että ei tarvita erityisiä : £5 vertailuvälineitä. Joissakin muissa edullisissa suoritusmuodoissa voi-[ ’ daan käyttää vertailuvälineitä, esimerkiksi komparaattoria (ei esitetty), erotusten itseisarvojen välisumman vertaamiseksi ensimmäiseen kynnysarvoon ja ensimmäisen keskeytyssignaalin 17 muodostamiseksi, jos erotustietojen itseisarvo on suurempi kuin ensimmäinen kynnys- "30 arvo.
»* * Tässä yhteydessä on huomattava, että kuvassa 1 esitetyt muisti 25 sekä X- ja Y-dataosoitegeneraattorit 23, 24 voivat olla yhtä hyvin liike-estimointilohkon 16 sisä- kuin ulkopuolellakin. Tässä selityksessä esi-:\35 tetyt keskeytysmekanismit voivat toimia kummassakin näistä tapauksista.
19 110744
Kuvan 2 mukainen SAD-laskentaväline 1 on SAD-laskentavälineen yksi suoritusmuoto keksinnön rajoittumatta tähän, ja keksinnön yhteydessä voidaan käyttää myös muunlaisia SAD-laskentavälineitä 1, esimerkiksi sellaisia, joita on yleisesti esitetty kuvassa 6. Erityisesti 5 ensimmäisen liukuhihna-asteen P1 rakenne voi vaihdella eri suoritusmuodoissa.
Keksinnön vielä eräs edullinen suoritusmuoto perustuu siihen havaintoon, että jos käsiteltävän SAD-arvon ajallinen arvo jo ylittää käsiteltä-10 vän Xtiedon siihen asti löytyneen minimi-SAD-arvon, ei kyseisen SAD-arvon laskentaa tarvitse suorittaa loppuun. Tällöin käytetään toista keskeytyssignaalia 18, joka toimii samalla tavoin kuin ensimmäinen keskeytyssignaali 17.
15 Toisen keskeytyssignaalin muodostamiseksi kolmas P3 ja neljäs P4 liukuhihna-aste toimivat rinnakkain ensimmäisen P1 ja toisen P2 liukuhihna-asteen kanssa mutta mahdollisesti eri kellotaajuuksilla C1, C2, koska viimeiset kaksi liukuhihna-astetta P3, P4 voivat olla hitaampia eikä niiden tarvitse toimia kaikissa toimintavaiheissa. Näillä muutoksilla 20 muodostetaan osittaisia SAD-arvoja kolmannen liukuhihna-asteen P3 summaimen 12 ulostuloon ensimmäisten kahden liukuhihna-asteen P1, • # ’ . P2 joka Tinnellä perustoimintajaksolla (kellotaajuutta C1 vastaavasti), jolloin Ton kahden ensimmäisen liukuhihna-asteen P1, P2 kellotaajuuden C1 ja kahden viimeisen liukuhihna-asteen P3, P4 kellotaajuu-: 25 den C2 välinen suhde. Miniminvertailuyksikkö 13 vertaa osittaisia SAD-arvoja esillä olevaan minimi-SAD-arvoon joka T:nnessä perustoiminta- <«» vaiheessa. Siinä perustoimintavaiheessa, jossa tiedetään, että esillä oleva osittainen SAD-arvo on itse asiassa lopullinen SAD-arvo, minimi-:*·.· SAD-arvo korvataan, jos se on suurempi kuin esillä oleva SAD-arvo. • •30 Ennen tätä kellojaksoa minimi-SAD-arvoa ei vaihdeta, vaikka osittainen SAD-arvo olisikin pienempi kuin minimiarvo. Kuitenkin jos osittainen SAD-arvo on suurempi kuin esillä oleva minimi-SAD-arvo, aktivoidaan toinen keskeytyssignaali 18. Samoin kuin ensimmäinen keskeytys- signaali 17 toinenkin keskeytyssignaali 18 nollaa SAD-laskenta-;\β5 välineen 1 ja aktivoi /-dataosoitegeneraattorin 24 esillä olevan X-datan laskemisen aloittamiseksi seuraavalle /-datalle.
110744 20 Tässä yhteydessä on huomattava, että käytettäessä edellä kuvattua suoritusmuotoa saadaan paitsi selvä parannus suoritusaikaan myös säästöä virran/energian kulutuksessa, koska kaksi viimeistä liukuhihna-astetta asetetaan toimimaan hitaammalla kellotaajuudella.
5
Nyt esillä olevan keksinnön vielä yhdessä edullisessa suoritusmuodossa voidaan käyttää kolmatta keskeytyssignaalia 19 SAD-laskenta-prosessin keskeyttämiseen esillä olevalla hakualueella. Tämä suoritusmuoto perustuu siihen havaintoon, että esillä olevan X-lohkon ja 10 muiden /-lohkojen välisten SAD-arvojen laskentoja ei tarvita, jos esillä olevien X- ja /-lohkojen välinen SAD-arvo on riittävän pieni (pienempi kuin ennalta määrätty toinen kynnysarvo TH2). Tällaisen tilanteen hoitamiseksi muodostetaan vielä yksi keskeytyssignaali (kolmas keskeytyssignaali) neljännessä liukuhihna-asteessa P4. Kolmannen keskey-15 tyssignaalin 19 muodostamiseksi neljäs liukuhihna-aste P4 käsittää edullisesti rekisterin (ei esitetty) toista kynnysarvoa TH2 varten sekä komparaattorin (ei esitetty) esillä olevan (lopullisen) SAD-arvon vertaamiseksi toiseen kynnysarvoon. Jos (lopullinen) SAD-arvo on pienempi kuin toinen kynnysarvo, kolmas keskeytyssignaali 19 aktivoi-20 daan. Tämä kolmas keskeytyssignaali 19 kytketään toisen TAI-portin 21 ensimmäiseen keskeytyssignaaliin 17, ensimmäisen TAI-portin 20 toiseen keskeytyssignaaliin 18 ja kolmannen TAI-portin 22 alkuperäiseen nollaussignaaliin 41 uuden nollaussignaa-" Iin muodostamiseksi. Kolmas keskeytyssignaali 19 kytketään myös ’•"25 sekä X- että /-dataosoitegeneraattoriin 22, 23, jotta nämä lähettäisivät : uutta dataa. Uusi data voi käsittää esim. mainitun koodattavan kehyk- : sen FR1 uuden (tutkimattoman) lohkon X^c\ joka valitaan käsiteltä väksi kuvalohkoksi, joka käsittää data-arvoja {jq(ei esitetty), ja toisen videokehyksen lohkon l^c,r\ joka käsittää data-arvoja • •30 ({yi.....Xä:}) (ei esitetty). Esimerkki näistä lohkoista X^c\ on . I ; esitetty myös kuvassa 5.
Nyt esillä oleva keksintö johtaa selvästi merkittäviin parannuksiin port-\ \ tien lukumäärässä, virrankulutuksessa ja suoritusajassa. Säästöjä on ’* ‘55 kuitenkin vaikea arvioida määrällisesti, koska ne riippuvat video- sekvenssistä, liike-estimointialgoritmista ja keksinnön toteutuksesta.
21 110744
Vertailun jälkeen, jos keskeytyssignaaleja ei ole muodostettu, tutkitaan, onko kaikkia vertailulohkoja käytetty esillä olevan lohkon X(c) SAD-arvojen laskemiseksi. Jos on vielä olemassa ainakin yksi vertailulohko, 5 jota ei ole vielä käytetty nyt esillä olevan lohkon SAD-arvon laskemiseen, edellä kuvatut menettelyt toistetaan. Muussa tapauksessa löydettyä pienintä SAD-arvoa käytetään videokoodausprosessin myöhemmissä vaiheissa sen määrittämiseksi, koodataanko esillä oleva lohko sellaisenaan vai liikekompensoituna. Miniminvertailuyksikkö 13 10 määrittelee sen lohkon koordinaatit, joka tuotti esillä olevalle lohkolle pienimmän SAD-arvon, ja siirtää koordinaattitiedon ja pienimmän SAD-arvon päätöksentekovälineisiin eli ohjausyksikköön 26. Päätöksenteko-välineissä pienintä SAD-arvoa tutkitaan sen määrittämiseksi, koodataanko nyt esillä oleva lohko sellaisenaan vai liikekompensoituna.
15 Päätöksentekovälineet voivat esimerkiksi arvioida, minkä verran tietoja tarvitaan lohkon siirtämiseksi ja minkä verran tietoja tarvitaan liike-kompensoidun tiedon siirtämiseksi. Tämän jälkeen päätöksenteko-välineet edullisesti valitsevat sen vaihtoehdon, joka vaatii vähemmän tiedonsiirtokapasiteettia.
20 ·:·. Tilanteessa, jossa siirrettäväksi valitaan liikekompensoitu tieto itse loh-
« I
kon asemesta, siirrettävät tiedot käsittävät edullisesti ainakin koordi-naattitietoa ja erotusdataa. Koordinaattitietoa käytetään ilmoittamaan dekooderille, mitä aikaisemmin vastaanotettua ja dekoodattua vertai- : 25 lulohkoa käytettiin liikevektorin muodostamiseen. Erotusdata on esillä olevan lohkon ja vertailulohkon vastaavien kuva-alkioarvojen välinen • · · erotus. Dekooderi voi tällöin muodostaa esillä olevan lohkon kuvatiedot käyttämällä mainittua vertailulohkoa, joka on korjattu erotusdatalla.
•"•?0 Seuraavaksi selostetaan edullisen suoritusmuodon mukaista videokuvan siirtojärjestelmää viittaamalla kuvan 3 lohkokaavioon. Siirrettävä • · · videosignaali otetaan esim. videokameralla 27, tai se voidaan saada videotallennusvälineistä (ei esitetty), kuten videonauhurista, DVD-levyltä tms. Videosignaali siirretään kooderiin 28, joka suorittaa video-;·.(β5 signaalin koodauksen, mukaanlukien nyt esillä olevan keksinnön mukaisen liike-estimoinnin. Tämän jälkeen koodattu videosignaali tarvittaessa kanavakoodataan kanavakoodaimessa 29. Kanava- 22 110744 koodauksen tarkoituksena on siirtää koodattu videosignaali sopivaan muotoon siirrettäväksi siirtokanavan 30 välityksellä. Kanavakoodauksen yksityiskohdat voivat vaihdella videokoodausjärjestelmän eri toteutuksissa, ja ne ovat alan asiantuntijan tuntemia.
5
Kanavakoodatun videosignaalin kanavakoodaus puretaan vastaanottimen kanavadekooderissa 31. Tämän jälkeen dekooderi 32 purkaa videosignaalin koodauksen muodostaakseen videosignaalin, jonka pitäisi oleellisesti vastata alkuperäistä signaalia. Käytännössä on kui-10 tenkin joitakin mahdollisia virhelähteitä, jotka voivat vaikuttaa siirrettyyn videosignaaliin, jolloin videosignaali, jonka koodaus on purettu, voi erota alkuperäisestä videosignaalista. Tällaisten siirtovirheiden vaikutusten minimoimiseksi on kehitetty virheenkorjausmekanismeja.
15 Videosignaali, jonka koodaus on purettu, voidaan tämän jälkeen näyttää videomonitorissa 33 ja/tai se voidaan tallentaa tallennusvälineisiin 34.
Kuvassa 4 on esitetty pelkistettynä keksinnön edullisen suoritus-20 muodon mukainen videokoodauslaitteisto 35. Kyseinen päätelaite ·:·. soveltuu sekä lähetykseen että vastaanottoon, mutta keksintöä voidaan t · t\.' myös soveltaa yksisuuntaisten päätelaitteiden yhteydessä. Video-koodauslaitteistoissa 35 eivät kaikki kuvan 4 lohkokaaviossa esitetyt ” toiminnalliset ominaisuudet ole välttämättömiä, vaan keksinnön puit-• 25 teissä on myös mahdollista soveltaa yksinkertaisempia videokoodaus-laitteistoja 35, esimerkiksi ilman näppäimistöä 36 ja audiovälineitä 37. Mainittujen näppäimistön 36 ja audiovälineiden 37 lisäksi videopääte-laite käsittää myös videovälineet, kuten videomonitorin 33, videokame-ran 27 tai vastaavan.
, ·, Videokoodauslaitteistossa 35 on sen toimintojen ohjaamiseksi ohjaus-:;;t: yksikkö 26, joka käsittää esimerkiksi mikro-ohjainyksikön (MCU), mikro- prosessorin (MPU), digitaalisen signaaliprosessorin ja/tai vastaavan. Lisäksi ohjausyksikkö 26 käsittää muistivälineet 25 esim. sovellus-;\35 ohjelmien ja tietojen tallennusta varten ja väyläsovitinvälineet I/O signaalien lähettämiseksi ohjausyksikön 26 ja muiden toimintalohkojen välillä. Videokoodauslaitteisto 35 käsittää myös videokoodekin 38, joka 110744 23 suorittaa videoinformaation koodausta/koodauksen purkua sekä pak-kaamista/pakkauksen purkua. Pakkaaminen perustuu esim. DCT-muunnokseen ja kvantisointiin, jolloin pakkauksen purkuvaiheessa vastaanotetun informaation kvantisointi puretaan ja sille tehdään 5 käänteinen DCT-muunnos, mikä on sinänsä tunnettua. Kanava-koodekki 39 suorittaa siirrettävän informaation kanavakoodauksen ja vastaanotetun informaation kanavakoodauksen purkamisen. Kanava-koodatun videosignaalin siirto voidaan suorittaa esim. matkaviestin-välineillä 40.
10
Kutakin edellä kuvatuista suoritusmuodoista voidaan soveltaa itsenäisesti SAD-laskentayksikköön 1 sen suorituskyvyn parantamiseksi siten, että mitä tahansa suoritusmuotoja voidaan yhdistää parannuksen tehostamiseksi. Alan asiantuntijalle tulisi olla selvää, että esitettyjä 15 menetelmiä varhaisen keskeytyksen mekanismien yhdistämiseksi voidaan soveltaa myös muihin toistaviin summaus-SAD-rakenteisiin, esimerkiksi niihin, jotka on esitetty yleisesti kuvassa 6.
On myös huomattava, että kynnysarvot, joita käytetään vertailuissa 20 keskeytyssignaalin muodostamiseksi, eivät välttämättä ole ennalta ·,*. määrättyjä vaan ne voivat olla myös dynaamisia eli niitä voidaan muuttaa SAD-laskentayksikön 1 toiminnan aikana. Esimerkiksi toinen keskeytyssignaali muodostetaan, jos esillä olevan SAD-arvon väliaikai-" nen arvo jo ylittää käsiteltävien X-tietojen siihen mennessä löytyneen : 25 minimi-SAD-arvon. Näin ollen siihen mennessä löytynyt minimi-SAD- arvo, jota käytetään toisen keskeytyksen kynnysarvona, voi muuttua
I I
laitteen 1 toiminnan aikana.
: On selvää, että nyt esillä oleva keksintö ei rajoitu pelkästään edellä *"‘30 esitettyihin suoritusmuotoihin vaan sitä voidaan muunnella oheisten * < · . \ patenttivaatimusten puitteissa.
* t » * f t s I f » » tl » t I f • »
• I
I t t
• I

Claims (15)

24 110744
1. Menetelmä videokuvan liike-estimoinnin suorittamiseksi video-koodauksessa, jossa videosignaali koostuu kehyksistä (FR1, FR2), 5 jotka käsittävät lohkoja (X(c), Y(c'r), Y(c,r)), muodostetaan yhdistetty vertailuarvo käyttämällä koodattavan kehyksen (FR1) esillä olevaa kuva-lohkoa (X(c)) ja toisen kehyksen (FR2) ainakin yhtä muuta kuvalohkoa (Y(c’r), Y(cr)), jolloin koodattavan kehyksen (FR1) mainittu esillä oleva kuvalohko (X(c)) käsittää sarjan ensimmäisiä data-arvoja ({jq,...,*^}), 10 toisen kehyksen (FR2) mainittu ainakin yksi muu kuvalohko (Y(c,r), Y(c/)) käsittää sarjan toisia data-arvoja ({^,...,)^)), muodostetaan data- arvopareja mainitusta sarjasta ensimmäisiä data-arvoja ({^,...,^}) ja yhtä suuresta määrästä vastaavia data-arvoja mainitusta sarjasta toisia data-arvoja ({yi.....yj*:)). ja mainittu yhdistetty vertailuarvo 15 muodostetaan määrittelemällä vertailuarvot, joista kukin määritellään käyttämällä mainittujen data-arvoparien yhden data-arvoparin data-arvoja, määritellään ainakin yksi kynnysarvo (TH1, TH2), ja määritellään, voidaanko prosessi mainitun yhdistetyn vertailuarvon määrittämiseksi keskeyttää, tunnettu siitä, että menetelmä käsittää 20 ainakin: laskentavaiheen ainakin yhden vertailuarvojen osajoukon muodostamiseksi, joka koostuu ainakin yhdestä vertailuarvosta, : '· - summausvaiheen senhetkistä kumulatiivista vertailuarvoa osoittavan signaalin muodostamiseksi, jota päivitetään toistu-25 vasti käyttämällä mainittua laskentavaiheessa saatua ainakin yhtä vertailuarvojen osajoukkoa, ratkaisuvaiheen, jossa määritellään, voidaanko prosessi lopettaa vertaamalla ainakin yhtä signaalia ainakin yhteen kynnysarvoon (TH1, TS2), ja 30. lopetuksen ja uuden prosessin aloituksen mainitun yhdistetyn vertailuarvon määrittämiseksi ratkaisuvaiheessa tehdyn päätök-*; . sen mukaisesti.
2. Patenttivaatimukseni mukainen menetelmä, tunnettu siitä, että 35 määritellään ensimmäinen kynnysarvo (TH1), ja että kunkin summausvaiheen jälkeen suoritetaan ratkaisuvaihe sen määrittelemiseksi, ylittääkö signaali ensimmäisen kynnysarvon (TH1), jolloin laskenta- 110744 25 prosessi lopetetaan ja käynnistetään uusi SAD-laskentaprosessi, jos signaali ylittää ensimmäisen kynnysarvon (TH1).
3. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, tunnettu siitä, 5 että vertailuarvo määritellään laskemalla data-arvoparin ensimmäisen arvon ja toisen arvon välinen erotus.
4. Patenttivaatimuksen 1, 2 tai 3 mukainen menetelmä, tunnettu siitä, että kumulatiivinen vertailuarvo koostuu summa- ja muistitermistä, jol- 10 loin mainittu signaali osoittaa muistiarvon.
5. Jonkin patenttivaatimuksista 1-4 mukainen menetelmä, tunnettu siitä, että mainittu kumulatiivinen vertailuarvo muodostetaan laskemalla yhteen ainakin kaksi vertailuarvoa, ja että kumulatiivista vertailuarvoa 15 verrataan aiemmin saatuun esillä olevan lohkon ja toisen lohkon (Yc'r’">) väliseen yhdistettyyn vertailuarvoon tai ennalta määrättyyn lukuun sen määrittelemiseksi, voidaanko laskentaprosessi lopettaa.
6. Patenttivaatimuksen 5 mukainen menetelmä, tunnettu siitä, että 20 jos mainittu kumulatiivinen vertailuarvo on suurempi kuin mainittu aiemmin saatu yhdistetty vertailuarvo tai mainittu ennalta määrätty : luku, laskentaprosessi lopetetaan.
7. Jonkin patenttivaatimuksista 1-6 mukainen menetelmä, tunnettu *:··25 siitä, että jos määritellään, että laskentaprosessi voidaan lopettaa, valitaan mainitusta toisesta kehyksestä (FR2) uusi lohko (Y(c,r)) .···. vertailuarvojen laskemista varten käyttäen mainitun esillä olevan kuvalohkon (X{c)) data-arvoja ja mainitun uuden kuva- lohkon (Y(c,r)) data-arvoja ja että käynnistetään vertailu- • · · :.!*30 arvojen laskenta käyttäen mainitun esillä olevan kuvalohkon (X(c)) data-arvoja ja mainitun uuden kuvalohkon (Y(c,r)) data-arvoja ({yi.....>#:})-
8. Jonkin patenttivaatimuksista 1-7 mukainen menetelmä, tunnettu ’35 siitä, että määritellään toinen kynnysarvo (TH2), että muodostetaan yksi signaali käyttäen mainitun ensimmäisten data-arvojen (¾ ,...,**}) sarjan ja mainitun toisten data-arvojen ({yi,...,y^}) sarjan kaikkien 110744 26 arvoparien kaikkien vertailuarvojen yhdistettyä vertailuarvoa, ja että mainittua yhtä signaalia verrataan mainittuun kolmanteen kynnysarvoon sen määrittelemiseksi, voidaanko laskentaprosessi lopettaa.
9. Patenttivaatimuksen 8 mukainen menetelmä, tunnettu siitä, että jos yhdistetty vertailuarvo on pienempi kuin mainittu toinen kynnysarvo, laskentaprosessi lopetetaan.
10. Patenttivaatimusten 7, 8 tai 9 mukainen menetelmä, tunnettu 10 siitä, että jos määritellään, että laskentaprosessi voidaan lopettaa, toisen kehyksen mainittu lohko (Ϋ°’Γ) valitaan käytettäväksi mainitun esillä olevan lohkon (X^) liike-estimointitiedon muodostamisessa, jolloin esillä olevan kuvalohkon vertailuarvojen laskenta lopetetaan.
11. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että jos määritellään, että laskentaprosessi voidaan lopettaa, valitaan mainitusta koodattavasta kehyksestä uusi lohko (X^) esillä olevaksi kuvalohkoksi, ja että käynnistetään mainitun esillä olevan kuvalohkon data-arvojen ja toisen videokehyksen lohkon (Y^c^) data- 20 arvojen ({yi,välisen erotuksen laskenta. • · • ·
12. Järjestelmä videokuvan liike-estimoinnin suorittamiseksi video- • · · koodauksessa, jossa videosignaali koostuu kehyksistä (FR1, FR2), jotka käsittävät lohkoja (X(c), Y(cr), Y(cr)), jolloin järjestelmä käsittää : 25 välineet (1) yhdistetyn vertailuarvon muodostamiseksi käyttämällä koo-dattavan kehyksen (FR1) esillä olevaa kuvalohkoa (X(c)) ja toisen kehyksen (FR2) ainakin yhtä muuta kuvalohkoa (Y(cr), Y(cr)), jolloin koodattavan kehyksen (FR1) mainittu esillä oleva kuvalohko (X(c)) käsittää sarjan ensimmäisiä data-arvoja toisen kehyksen ·' 30 (FR2) mainittu ainakin yksi muu kuvalohko (Y(cr), Y(c,r)) käsittää sarjan toisia data-arvoja ({yi,mainitut välineet (1) yhdistetyn vertailu- arvon muodostamiseksi käsittävät syöttöelimet ainakin kahden osa-joukon y(i-i)5+i»-»yrs) sarjan muodostamiseksi, joista i kukin käsittää saman määrän data-arvopareja mainitusta sarjasta :\35 ensimmäisiä data-arvoja ({^,...,^}) ja yhtä suuren määrän vastaavia • · data-arvoja mainitusta sarjasta toisia data-arvoja ({yi,-,y^}). välineet 27 110744 (2) vertailuarvojen määrittelemiseksi, joista kukin määritellään käyttämällä mainittujen data-arvoparien yhden data-arvoparin data-arvoja, välineet (9) ainakin yhden kynnysarvon (TH1, TH2) määrittelemiseksi, ja välineet (17, 20) sen määritelemiseksi, voidaanko prosessi mainitun 5 yhdistetyn vertailuarvon määrittämiseksi keskeyttää, tunnettu siitä, että järjestelmä käsittää ainakin: laskentavälineet (2) ainakin yhden vertailuarvojen osajoukon muodostamiseksi, joka koostuu ainakin yhdestä vertailuarvosta, summausvälineet (6) senhetkistä kumulatiivista vertailuarvoa 10 osoittavan signaalin muodostamiseksi, jota päivitetään toistu vasti käyttämällä mainittua laskentavaiheessa saatua ainakin yhtä vertailuarvojen osajoukkoa, ratkaisuvälineet (17, 20) sen määrittelemiseksi, voidaanko laskentaprosessi lopettaa, käsittäen välineet (17) ainakin yhden 15 signaalin vertaamiseksi ainakin yhteen kynnysarvoon (TH1, TH2), ja välineet nykyisen prosessin lopettamiseksi ja uuden prosessin aloittamiseksi mainitun yhdistetyn vertailuarvon määrittämiseksi ratkaisuvaiheessa tehdyn päätöksen mukaisesti. 20
13. Patenttivaatimuksen 12 mukainen järjestelmä, tunnettu siitä, että : mainittujen summausvälineiden (6) ja mainittujen ratkaisuvälineiden (17, 20) laskentatarkkuus on pienempi kuin on tarpeen suurimman mahdollisen SAD-arvon saamiseksi oikein. :-25
14. Videokoodauslaite, joka käsittää välineet (38) lohkoja (X(c), Y(cr), ... y(c,i·’)) käsittävistä kehyksistä (FR1, FR2) koostuvan videosignaalin koodaamiseksi, välineet (38) videokuvan liike-estimoinnin suorittami-. . seksi, välineet (1) koodattavan kehyksen (FR1) esillä olevan kuva-:30 lohkon X(c)) ja toisen kehyksen (FR2) ainakin yhden muun kuvalohkon (Y(cr), Y(c,r)) välisen yhdistetyn vertailuarvon laskemiseksi, jolloin koo- dattavan kehyksen (FR1) mainittu esillä oleva kuvalohko (X(c)) käsittää .···. sarjan ensimmäisiä data-arvoja ({^,...,¾}). toisen kehyksen (FR2) mainittu ainakin yksi muu kuvalohko (Y(cr), Y(c,r)) käsittää sarjan toisia : -35 data-arvoja ({yi,-, )>#})’ ja mainittu yhdistetty vertailuarvo muodoste- taan määrittelemällä mainitun ensimmäisten data-arvojen sarjan ({jq,...,:^}) ja mainitun toisten data-arvojen sarjan ({>ί,.„,}) arvo- 28 110744 parien välisiä vertailuarvoja, välineet (9) ainakin yhden kynnysarvon (TH1, TH2) määrittelemiseksi, ja välineet (17, 20) sen määrittelemiseksi, voidaanko prosessi mainitun yhdistetyn vertailuarvon määrittelemiseksi lopettaa, tunnettu siitä, että laite käsittää ainakin: 5. laskentavälineet (2) ainakin yhden vertailuarvojen osajoukon muodostamiseksi, joka koostuu ainakin yhdestä vertailuarvosta, summausvälineet (6) senhetkistä kumulatiivista vertailuarvoa osoittavan signaalin muodostamiseksi, jota päivitetään toistuvasti käyttämällä mainittua laskentavaiheessa saatua ainakin 10 yhtä vertailuarvojen osajoukkoa, ratkaisuvälineet (17, 20) sen määrittelemiseksi, voidaanko laskentaprosessi lopettaa, käsittäen välineet (17) ainakin yhden signaalin vertaamiseksi ainakin yhteen kynnysarvoon (TH1, TH2), ja 15. välineet nykyisen prosessin lopettamiseksi ja uuden prosessin aloittamiseksi mainitun yhdistetyn vertailuarvon määrittämiseksi ratkaisuvaiheessa tehdyn päätöksen mukaisesti.
15. Patenttivaatimuksen 14 mukainen laite, tunnettu siitä, että se 20 käsittää välineet (40) matkaviestinnän suorittamiseksi. • • · 29 110744
FI20011769A 2001-09-06 2001-09-06 Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite FI110744B (fi)

Priority Applications (8)

Application Number Priority Date Filing Date Title
FI20011769A FI110744B (fi) 2001-09-06 2001-09-06 Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
US10/232,924 US7236523B2 (en) 2001-09-06 2002-08-30 Method for performing motion estimation in video encoding, a video encoding system and a video encoding device
JP2002258846A JP2003153283A (ja) 2001-09-06 2002-09-04 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
EP02396133A EP1313323B1 (en) 2001-09-06 2002-09-06 A method for performing motion estimation in video encoding, a video encoding system and a video encoding device
AT02396133T ATE371339T1 (de) 2001-09-06 2002-09-06 Verfahren, systeme, und vorrichtung zur bewegungsschätzung für die videokodierung
DE60221948T DE60221948T2 (de) 2001-09-06 2002-09-06 Verfahren, Systeme, und Vorrichtung zur Bewegungsschätzung für die Videocodierung
JP2007208511A JP2007336590A (ja) 2001-09-06 2007-08-09 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
JP2012004683A JP2012070461A (ja) 2001-09-06 2012-01-13 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20011769A FI110744B (fi) 2001-09-06 2001-09-06 Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
FI20011769 2001-09-06

Publications (2)

Publication Number Publication Date
FI20011769A0 FI20011769A0 (fi) 2001-09-06
FI110744B true FI110744B (fi) 2003-03-14

Family

ID=8561853

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20011769A FI110744B (fi) 2001-09-06 2001-09-06 Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite

Country Status (6)

Country Link
US (1) US7236523B2 (fi)
EP (1) EP1313323B1 (fi)
JP (3) JP2003153283A (fi)
AT (1) ATE371339T1 (fi)
DE (1) DE60221948T2 (fi)
FI (1) FI110744B (fi)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI110909B (fi) * 2001-09-06 2003-04-15 Nokia Corp Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
US7039246B2 (en) 2002-05-03 2006-05-02 Qualcomm Incorporated Video encoding techniques
US7940844B2 (en) 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques
TWI239474B (en) * 2004-07-28 2005-09-11 Novatek Microelectronics Corp Circuit for counting sum of absolute difference
FI117956B (fi) * 2005-04-15 2007-04-30 Timo D Haemaelaeinen Piiri ja menetelmä erojen itseisarvojen summan laskemiseksi nopeasti ja tehokkaasti
GB2436656A (en) * 2006-03-31 2007-10-03 Tandberg Television Asa Computing a sliding sum of absolute differences for video signal compression
US9510018B2 (en) * 2011-11-23 2016-11-29 Luca Rossato Signal analysis and generation of transient information
US9927862B2 (en) * 2015-05-21 2018-03-27 Microsoft Technology Licensing, Llc Variable precision in hardware pipelines for power conservation
JPWO2016194828A1 (ja) * 2015-06-03 2018-04-12 オリンパス株式会社 演算装置、演算方法、及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02145079A (ja) 1988-11-26 1990-06-04 Mitsubishi Electric Corp 動き補償演算方法
JPH0686272A (ja) 1992-08-31 1994-03-25 Sony Corp 動きベクトル検出装置
JPH06189291A (ja) 1992-12-21 1994-07-08 Sharp Corp 画像の動き検出装置
JPH07162864A (ja) 1993-12-08 1995-06-23 Ricoh Co Ltd 動きベクトル検出方法
JPH0918882A (ja) 1995-07-03 1997-01-17 Matsushita Electric Ind Co Ltd 動きベクトル検索方法及びその装置
US5652625A (en) * 1996-06-19 1997-07-29 United Microelectronics Corp. Multi-stage pipeline architecture for motion estimation block matching
US5864372A (en) * 1996-12-10 1999-01-26 United Microelectronics Corporation Apparatus for implementing a block matching algorithm for motion estimation in video image processing
JP3631868B2 (ja) * 1996-12-20 2005-03-23 株式会社東芝 動きベクトル検出装置および方法
JP2954120B2 (ja) * 1997-01-09 1999-09-27 松下電器産業株式会社 動きベクトル検出装置
TW361051B (en) * 1997-01-09 1999-06-11 Matsushita Electric Ind Co Ltd Motion vector detection apparatus
US6011870A (en) * 1997-07-18 2000-01-04 Jeng; Fure-Ching Multiple stage and low-complexity motion estimation for interframe video coding
US5838392A (en) * 1998-03-19 1998-11-17 United Microelectronics Corp. Adaptive block-matching motion estimator with a compression array for use in a video coding system
JP2001145109A (ja) 1999-11-11 2001-05-25 Nec Corp 動きベクトル検出装置
US6654502B1 (en) 2000-06-07 2003-11-25 Intel Corporation Adaptive early exit techniques in image correlation
US20040008779A1 (en) * 2002-06-18 2004-01-15 Lai King Chung Techniques for video encoding and decoding
US7940844B2 (en) * 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques

Also Published As

Publication number Publication date
DE60221948D1 (de) 2007-10-04
JP2007336590A (ja) 2007-12-27
EP1313323A1 (en) 2003-05-21
FI20011769A0 (fi) 2001-09-06
ATE371339T1 (de) 2007-09-15
US20030043911A1 (en) 2003-03-06
JP2012070461A (ja) 2012-04-05
JP2003153283A (ja) 2003-05-23
DE60221948T2 (de) 2007-12-20
EP1313323B1 (en) 2007-08-22
US7236523B2 (en) 2007-06-26

Similar Documents

Publication Publication Date Title
US7940844B2 (en) Video encoding and decoding techniques
JP3801886B2 (ja) ハイブリッド型高速動き推定方法
KR100937616B1 (ko) 계산적으로 제약된 비디오 인코딩
KR100910327B1 (ko) 디지털 비디오 모션 추정을 위한 조기 종료 기술
WO2006063191A2 (en) Motion estimation techniques for video encoding
WO2006111179A1 (en) Method and apparatus for digital image coding
JP2012070461A (ja) ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
JP4188647B2 (ja) ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
KR20050012815A (ko) 신속한 모션 추정을 갖는 비디오 인코더
GB2375673A (en) Image compression method using a table of hash values corresponding to motion vectors
Urhan Constrained one-bit transform based fast block motion estimation using adaptive search range
US8165209B2 (en) Method and apparatus for providing a fast motion estimation process
WO2003056838A1 (en) Moving picture compression/coding apparatus and motion vector detection method
CN110557642B (zh) 一种视频帧编码运动搜索方法及图像编码器
WO2018205781A1 (zh) 一种实现运动估计的方法及电子设备
KR101349111B1 (ko) 다중 참조 영상 검색 방법
KR101356821B1 (ko) 움직임 추정 방법
Zheng et al. A new compressed sensing based terminal-to-cloud video transmission system
KR20100097387A (ko) 고속 움직임 추정을 위한 부분 블록정합 방법
Ruiz-Hernandez et al. Pel Decimation Architecture for Motion Detection on Predictive Video Coding
JP4238408B2 (ja) 画像圧縮装置
CN115834906A (zh) 视频编解码方法、装置、电子设备及介质
Duanmu A Fast Scheme for the Three-Step Search Algorithm by the Utilization of Eight-Bit Partial Sums
JP2006261950A (ja) 周波数領域中のブロックマッチングの動き推定方法
WO2005088974A1 (en) Efficient block-matching architecture

Legal Events

Date Code Title Description
MM Patent lapsed