FI110909B - 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
FI110909B
FI110909B FI20011768A FI20011768A FI110909B FI 110909 B FI110909 B FI 110909B FI 20011768 A FI20011768 A FI 20011768A FI 20011768 A FI20011768 A FI 20011768A FI 110909 B FI110909 B FI 110909B
Authority
FI
Finland
Prior art keywords
data
values
frame
pairs
subset
Prior art date
Application number
FI20011768A
Other languages
English (en)
Swedish (sv)
Other versions
FI20011768A0 (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 FI20011768A priority Critical patent/FI110909B/fi
Publication of FI20011768A0 publication Critical patent/FI20011768A0/fi
Priority to US10/231,228 priority patent/US7031389B2/en
Priority to JP2002260042A priority patent/JP4188647B2/ja
Priority to EP02396134A priority patent/EP1315381A1/en
Application granted granted Critical
Publication of FI110909B publication Critical patent/FI110909B/fi
Priority to US11/317,802 priority patent/US7486733B2/en

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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

110909
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ä, videokehykset käsittävät lohkoja, ja muodostetaan yhdistetty vertailuarvo käyttämällä koodattavan kehyksen käsiteltävänä olevaa kuvalohkoa ja toisen kehyksen ainakin yhtä muuta kuvalohkoa, 10 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, muodostetaan data-arvopareja mainitun ensimmäisten data-arvojen joukosta ja sama määrä vastaavia data-arvoja mainitusta toisten data-15 arvojen joukosta, jolloin mainittu yhdistetty vertailuarvo muodostetaan määrittämällä vertailuarvoja, joista kukin määräytyy käyttämällä mainittujen data-arvoparien yhden data-arvoparin data-arvoja, ja mainitut data-arvoparit jaetaan ainakin kahteen data-arvoparien osajoukkoon, joista kukin osajoukko käsittää saman määrän data-arvopareja. Kek-20 sintö 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 25 ainakin 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 mainituista ensimmäisten data-arvojen joukosta 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 yhden data-35 arvoparin data-arvoja. Keksintö koskee lisäksi videokoodauslaitetta, joka käsittää välineet videosignaalin koodaamiseksi, joka videosignaali koostuu kehyksistä, jotka käsittävät lohkoja; välineet videokuvan liike- 2 110909 estimoinnin suorittamiseksi; välineen yhdistetyn vertailuarvon laskemiseksi koodattavan kehyksen käsiteltävänä olevan kuvalohkon ja toisen kehyksen ainakin yhden muun kuvalohkon välillä, jolloin koodattavan kehyksen mainittu käsiteltävänä oleva kuvalohko käsittää joukon 5 ensimmäisiä data-arvoja, toisen kehyksen mainittu ainakin yksi kuva-lohko käsittää joukon toisia data-arvoja, mainittu väline yhdistetyn vertailuarvon muodostamiseksi käsittää syöttövälineet ainakin kahden osajoukon sarjan syöttämiseksi, joista kukin osajoukko käsittää saman määrän data-arvopareja mainitusta ensimmäisten data-arvojen jou-10 kosta ja saman määrän vastaavia data-arvoja mainitusta toisten data-arvojen joukosta, käsittää välineen vertailuarvojen määrittelemiseksi, joista kukin määritellään käyttämällä mainittujen data-arvoparien yhden data-arvoparin data-arvoja.
15 Tunnetaan videokoodausjärjestelmiä, joissa koodattava kuva on jaettu lohkoihin. Nämä lohkot sitten koodataan ja 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). Video-20 kuvien lähetyksessä suoritetaan kuvien pakkaamista joko kehysten välisenä (interframe) pakkaamisena, kehysten sisäisenä (intraframe) X: pakkaamisena tai näiden yhdistelmänä. Kehysten välisessä pakkaami- : sessa tarkoituksena on vähentää peräkkäisten kuvakehysten sisältä- män informaation toistoa. Kuvat sisältävät tyypillisesti suuren määrän ...25 tällaista muuttumatonta informaatiota, esimerkiksi liikkumattoman taustan, tai hitaasti muuttuvaa informaatiota, esimerkiksi silloin kun ...t 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-: ;·: alkiot. Tämän liikevektorin muodostamiseksi määritellään kyseisen .···. kohteen liikesuunta ja nopeus . Pakkaamisesta johtuen on lähettävällä X ja vastaanottavalla videopäätelaitteella oltava niin suuri käsittely- •••35 nopeus, että pakkaaminen ja sen purku on mahdollista suorittaa reaali- ajassa.
3 110909
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 (ja koodaus/koodauksen purku) etenee lohkoittain, tavanomaisesti ylhäältä vasemmalta kehyksen oikeaan alakulmaan. Yhden lohkon sisällä kuvan lukeminen (ja 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. Molemmista kro-minanssisignaaleista otetaan aliotanta; esimerkiksi kenttä, jossa on 16x16 kuva-alkiota, muunnetaan 8x8 kuva-alkion kentäksi. Lohkojen 15 kokoerot johtuvat pääasiassa siitä, että silmä ei erota krominanssi-muutoksia 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, X: 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-....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 4 110909 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-estimointi-10 algoritmien joukossa suosituimpia ovat ne, jotka perustuvat sellaiseen lohkojen vertailuun, jossa kehyksen lohkojen välisenä vastaavuus-kriteerinä käytetään erotusten itseisarvojen summaa (SAD). Kun on annettu kaksi järjestettyä tietosarjaa X = (^,...,¾} ja Y = {yi erotusten itseisarvojen summa SAD määritellään seuraavasti: 15 SAD(X,Y)= ΣΚ-4 (1) i = 1
Joissakin julkaisuissa SAD on määritelty summaksi SAD(X,Y) jaettuna sen yhteenlaskettavien lukumäärällä K. Tällöin siitä voidaan myös . 20 käyttää nimitystä keskimääräinen virheen itseisarvo (MAE). Useimmis- • V sa tapauksissa K on kahden potenssi, jolloin nämä kaksi määritelmää ovat soveltamisen kannalta oleellisesti yhtäpitävät, koska jälkimmäinen • ’*· voidaan saada yksinkertaisesti muuttamalla edellisen arvoa tietyllä bittimäärällä.
•:"$5
Videokoodauksen yhteydessä SAD lasketaan jokaiselle käsiteltävänä olevan inter-kehyksen (16x16) lohkolle X (käytännössä melkein jokai-: selle videosekvenssin kehykselle) ja useille (16x16) lohkoille Y, Y’ ,···. yhden tai useamman vertailukehyksen muodostamalla hakualueella "30 (ks. kuva 9). Näin ollen erotusten itseisarvojen summaa SAD sovelle- i taan useita kertoja, ja pienikin parannus yhden SAD-operaation suori- tusaikaan johtaa merkittäviin säästöihin videokuvan kokonaiskäsittely-ajassa. Toisaalta on selvää, että erotusten itseisarvojen summan SAD laskemiseen käytettävä laitteisto ei saisi olla liian suuri tai kuluttaa 5 110909 liikaa tehoa, etenkään kannettavissa/langattomissa videokuvan käsit-telysovelluksissa.
On olemassa useita eri liike-estimointialgoritmeja, joissa SAD-operaa-5 tioiden lukumäärän ja/tai mittakaavan pienentämiseksi hyödynnetään eri hakustrategioita, jotka eivät mahdollisesti heikennä niin paljon koodatun videokuvan laatua. Nämä voidaan ryhmitellä karkeasti kahteen luokkaan: datariippumattomaan hakuun, jossa X ja Y -lohkojen seuraa-van parin valinta ei riipu edellisessä vaiheessa saadusta SAD-arvosta, 10 ja datariippuvaan hakuun. Datariippuvat hakustrategiat vaativat yleensä vähemmän suoritettavia SAD-operaatioita. Useimmat laitteis-tosovellukset perustuvat kuitenkin datariippumattomiin liike-estimointi-algoritmeihin, koska näiden algoritmien avulla voidaan tyypillisesti järjestää säännöllisiä datan kulkuja yksinkertaisella tavalla. Datariippuville 15 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.
Viime aikoina tehtyjen tutkimusten mukaan eri liike-estimointialgoritmit 20 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 useita kertoja videokoodausprosessin aikana. Tyypillisissä nopeissa liike-estimointialgoritmeissa SAD-laskentaa toistetaan videosekvenssin :··25 aikana noin 30 kertaa melkein jokaista lohkoa kohti (joiden koko on yleensä (i6xi6)). Vaikka videosekvensseissä käytettäisiin QCIF- • · ..... resoluutiota (Quarter Common Intermediate Format) ja 15 kehystä sekunnissa, olisi tehtävä ainakin 44 500 kpl 256 pisteen (i6xi6) SAD- . . laskutoimitusta sekunnissa. Puhtaassa ohjelmistosovelluksessa esim.
' ‘30 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ä ;··; merkitsee sitä, että pelkästään liike-estimointiin kuluu videokoodauksen ohjelmistosovelluksessa jopa satoja miljoonia kellojaksoja sekunnissa.
Koska ongelma on merkittävä, on viime aikoina julkaistu raportteja useista liike-estimointilaitteista. Nämä voidaan luokitella kahteen ryh- 6 110909 mään: niihin, jotka tukevat jotakin hakustrategiaa liike-estimointia varten mutta eivät ota huomioon SAD-sovelluksen yksityiskohtia, ja niihin, jotka nimenomaan esittävät tiettyjä rakenteita SAD-laskentaa varten riippumatta liike-estimointistrategiasta. Esimerkiksi patentissa US 5 5 864 372 on esitetty laitteisto lohkovertailualgoritmin toteuttamiseksi liike-estimointia varten videokuvan käsittelyssä. Laitteisto vastaanottaa alkuperäisen kuvalohkon kuva-alkiodatan sekä useista vertailukuva-lohkoista videokuvan käsittelyn aikana valitun vertailukuvalohkon kuva-datan. Valittuja kuvalohkoja verrataan liikevektorin määrittämiseksi. 10 Laitteistossa on moniasteinen liukuhihnapuurakenne, joka käsittää neljä kerrosta. Ensimmäinen liukuhihna-aste (laskentakerros) muodostaa vastaavia pareja erotustiedoista ja etumerkkitiedoista. Toinen liukuhihna-aste (pakkauskerros) käsittää pakkausmatriisin, joka vastaanottaa kaikki erotustiedot ja etumerkkitiedot, jotka lasketaan yhteen 15 ja joista muodostetaan kaksi (summa ja muistitermi) riviä pakattuja summa- ja etumerkkitietoja. Kolmas liukuhihna-aste (summauskerros) vastaanottaa pakatut summa- ja etumerkkitiedot ja muodostaa verratun kuvalohkon kullekin kuva-alkiolle keskimääräisen virheen itseisarvon. Viimeinen liukuhihna-aste (minimointikerros) vastaanottaa kullekin ver-20 ratulle kuvalohkolle lasketun keskimääräisen virheen itseisarvon ja määrittelee niistä pienimmän keskimääräisen virheen itseisarvon. Pak-Λ: kausmatriisi sisältää joukon koko- tai puolisummaimia tai joukon 4/2-pakkaimia, jotka on järjestetty monitasorakenteeksi, jossa mitään ! * ·.. summainmuuttujan syötettä ja muistisyötettä ei ole jätetty kytkemättä.
·:··25 ....: Patenttivaatimuksen US 5 864 372 mukainen laitteisto on esitetty .···. kuvassa 1. Ensimmäinen liukuhihna-aste koostuu useista (m) lasken tayksiköistä (DS, Difference-Sign). Kuva 1 vastaa tapausta, jossa m = 4. Laskentayksikön rakenne on esitetty kuvassa 2. Järjestyksessä '30 r.s laskentayksikkö, jossa i - käsittää kaksi /7-bittistä syötettä Xj ...: ja Yj, yhden n-bittisen tulosteen a, sekä yhden yksibittisen tulos- ; teen Tuloste b{ (etumerkkitieto) on erotuksen *,· -y,· merkkibitti, ja !···. tuloste (erotustieto) muodostetaan erotuksen vähiten merkitsevistä n bitistä, jotka joko ovat käänteislukuja, jos β, = ι (erotus on negatiivi- • :’35 nen), tai eivät, jos s, = o (erotus ei ole negatiivinen). Tällöin laskenta- • : yksikön syötteen ja tulosteen välinen suhde on sellainen, että 7 110909 a + b = \x- y\, (2) missä x ja y ovat laskentayksikön syötteen arvot, a on sen n-bittisen tulosteen (erotustiedon) arvo, ja b on sen 1 -bittisen tulosteen (merkki-5 tiedon) arvo.
Toinen liukuhihna-aste on pakkausmatriisi, joka on oleellisesti muisti-summainpuu (carry save adder tree), jossa on 2m syötettä a, ja s,, ί=i,...,m, jotka tulevat ensimmäisestä liukuhihna-asteesta, ja kaksi 10 takaisinkytkentäsyötettä itse matriisin summa- ja muistitulosteista. Pakkausmatriisi voidaan muodostaa joko kokosummaimista (FA) tai 4/2-suhdepakkaimista. Sen leveys ja syvyys (tasojen lukumäärä) ja näin ollen viive riippuvat oleellisesti ensimmäisen kerroksen rinnakkaisten kanavien (laskentayksiköiden) lukumäärästä m. Tämä riippuvuussuhde 15 on esitetty taulukossa 1. Tässä taulukossa NFA ja N4/2 edustavat pak-kausmatriisin tasojen lukumäärää vastaavissa kokosummaimeen ja 4/2-suhdepakkaimeen perustuvissa kokoonpanoissa. DFA ja D4/2 edustavat vastaavien pakkausmatriisikokoonpanojen arvioituja aikaviiveitä ilmaistuna perusaikaviiveyksikköinä τ yhtä kaksisyötteistä EI-JA-20 logiikkaporttia kohti. On huomattava, että tässä yhteydessä oletetaan, että yhdellä kokosummaimella on kahden sarjaan kytketyn EI-JA-portin ·:·: viive, ja yhdellä 4/2-suhdepakkainelementillä on kolmen sarjaan- kytketyn EI-JA-portin viive.
•:*35 Kolmas liukuhihna-aste on oleellisesti summain pakkausmatriisin ·;··: summa- ja muistitulosteiden lopullisten arvojen yhteenlaskemiseksi.
Itse asiassa SAD saadaan kolmannen asteen tulosteesta. On huomattava, että virheettömän SAD-arvon laskemiseksi kolmannen ker-. . roksen summaimessa olisi tarkkuuden oltava n + log2 K bittiä (käytän- • i i • · · :,.30 nössä 16 bittiä videokoodauksen yhteydessä).
»· · » * »
» I
> · I
* » · • a 8 110909 m_Nfa_Dpa_N4/2_D4/2_ 4 3 6r 2 6r 8 5 10r 3 9t 16 6 12 r 4 I2r 32 8 i6r 5 i5r 64 10 20r 6 i8r 128 11_22t_7_2ir_
Taulukko 1
Laitteiston neljäs aste on minimiarviointikerros. Joka kerta, kun kol-5 mannessa liukuhihna-asteessa saadaan uusi SAD-arvo, sitä verrataan minimiarvon arviointiyksikössä M esillä olevaan minimi-SAD-arvoon. Pienempi arvo valitaan ja tallennetaan minimiarviointiyksikköön uudeksi minimiarvoksi. Kun SAD-laskelmat käsiteltävänä olevan kehyksen tietyn lohkon X(c) ja vertailukuvan hakualueella olevien kaikkien 10 vastaavien lohkojen välillä on tehty, suhteellinen siirtymä lohkon X(c) ja sellaisen lohkon välillä, jossa on saavutettu minimi, tunnistetaan lohkon X(c) liikevektoriksi.
Laitteiston toiminnan aikana syötteet ja } viedään /.‘.15 osa osalta ensimmäiseen liukuhihna-asteeseen, fcnnessä toiminta- ;·'·’ vaiheessa, jossa t = tieto-osiot ja \ / {y(i_1)m+i,...,yim) viedään vastaaviin syötteisiin X{,...,Xm ja t. Seuraavassa toimintavaiheessa muodostetaan laskentayksikköjen ulostuloihin vastaavat erotus- ja merkkitiedot, jotka viedään pakkaus- ‘•••’20 matriisiin lisättäväksi matriisin summa- ja muistitulosteiden käsiteltävänä oleviin arvoihin. Kun \K/m~\+3 toimintavaihetta on suoritettu, • · muodostetaan lopulliset summa- ja muistitermit pakkausmatriisin
« < I
ulostuloon, ja vielä yhden toimintavaiheen jälkeen lasketaan SAD-arvo : !·. kolmannen liukuhihna-asteen summaimen ulostuloon. Minimivertailu- !:’/25 yksikkö vaatii vielä yhden toimintavaiheen käsiteltävänä olevan liike- * » vektorin koordinaattien valitsemiseksi.
Toimintavaiheen kesto määräytyy hitaimman liukuhihna-asteen suorituskapasiteetin mukaan. Julkaisun US 5 864 372 mukaisessa 9 110909 laitteessa hitaimpana osana pidetään minimivertailuyksikköä. Kuitenkin tämä yksikkö samoin kuin kolmannen asteen summain käsittelee tiettyä syöttötietojen paria vain kahden kellojakson ajan, kun taas ensimmäiset kaksi astetta toimivat \Klni\+3 jakson ajan. Jos K on riittävän 5 suuri m:ään verrattuna (mikä käytännössä toteutuu), niin on edullisempaa pysäyttää kaksi ensimmäistä astetta \κΐηΐ\+3 jakson jälkeen, kun kaksi viimeistä alkavat toimia, sen sijaan että alettaisiin välittömästi käsitellä seuraavaa syöttödataparia. Tällä tavalla kellojakson kesto määräytyy kahdesta ensimmäisestä asteesta hitaamman asteen suo-10 rituskapasiteetin mukaan.
Ensimmäisen liukuhihna-asteen suorituskapasiteetti on oleellisesti n-bittisen (8-bittisen) summaimen/vähentäjän suorituskapasiteetti. Voidaan käyttää erilaisia summaimia/vähentäjiä, jolloin saadaan eri suori-15 tuskapasiteetteja. Selityksen helpottamiseksi tässä oletetaan, että käytetään standardinmukaisia 8-bittisiä muistibitin ketjutussummaimia (carry-ripple adder). Julkaisussa US 5 864 372 oletetaan, että koko-summaimen viive on oleellisesti yhtä suuri kuin kahden sarjaankytketyn EI-JA-portin viive. Näin ollen laskentayksikköjen kahden peräkkäisen 20 tulosteen välinen viive on oleellisesti yhtä suuri kuin 16τ, missä τ on peruskellojakson kesto (EI-JA-portin viive). Verrattaessa taulukon 1 .v pakkausmatriisin viiveeseen voidaan havaita, että ensimmäinen liuku- :..0 hihna-aste on hitaampi kuin toinen niissä tapauksissa, joissa on enin- tään 32 laskentayksikköä ensimmäisessä liukuhihna-asteessa. Tapa-·:··25 uksissa, joissa on useampia laskentayksiköltä (jotka ovat itse asiassa epäkäytännöllisiä, koska ne vaativat suuren piipinta-alan ja syöttö-.···.' väylän leveyden), pakkausmatriisi jaetaan kahteen liukuhihna-asteeseen siten, että ensimmäinen liukuhihna-aste pysyy hitaimpana. Näin . . ollen laitteiston toimintavaiheen kesto on 16τ riippumatta siitä, kuinka • · · ‘;.*30 monta laskentayksikköä ensimmäisessä liukuhihna-asteessa on. Pak-• · ·;·' kausmatriisi tulisi myös kellottaa samaan toimintavaiheeseen, vaikka I Λ se voitaisiin useimmissa käytännön tapauksissa kellottaa nopeam-maksi, koska pakkausmatriisin viive on alle 16x, kun pakkausmatriisin syötteiden lukumäärä on alle 32, kuten taulukosta 1 käy ilmi.
Tunnetun tekniikan mukaisessa laitteessa on useita epäkohtia. Laitteiston liukuhihna-asteet, erityisesti kaksi ensimmäistä kerrosta, on ;'*35 10 110909 tasapainotettu heikosti, koska niissä on oleellisesti eri viiveet. Niissä tapauksissa, joissa ensimmäisessä asteessa on kohtuullinen määrä rinnakkaisia laskentayksiköltä, esimerkiksi m = 4, 8, 16, toisen asteen pakkausmatriisi on vastaavasti 2,7, 1,6 ja 1,3 kertaa nopeampi kuin 5 ensimmäisessä asteessa, jos laskentayksiköissä käytetään standardinmukaisia muistibitin ketjutussummaimia, kuten taulukosta 1 käy ilmi. Näin ollen laitteiston pakkausmatriisia hyödynnetään vain noin 37 %, 62,5 % ja 77 % sen kapasiteetista.
10 Laitteiston (kahden ensimmäisen) liukuhihna-asteen viiveiden säätäminen niiden saattamiseksi parempaan tasapainoon on mahdollista vain joko käyttämällä laskentayksiköissä nopeampia summaimia/vähentäjiä tai lisäämällä liukuhihna-asteiden lukumäärää. Kummassakin tapauksessa piipinta-ala ja virrankulutus kasvavat merkittävästi.
15
Pakkausmatriisin leveys ja syvyys kasvavat ensimmäisen asteen las-kentayksiköiden lukumäärän mukaan (ks. taulukko 1). Koska pakkausmatriisi on nopeampi kuin laskentayksikkö, pakkausmatriisia ei tunnetuissa järjestelmissä hyödynnetä tehokkaasti. Pakkausmatriisin 20 koon pienentäminen pienentäisi porttien lukumäärän lisäksi sen tasojen pienemmän lukumäärän ansiosta myös viivettä. Pakkausmatriisin koon .v pienentämismahdollisuus lisäisi myös joustavuutta kahden ensimmäi- ‘,0 sen liukuhihna-asteen säätämiseen.
: · ·25 Tekniikan tason mukaisissa laitteissa syöttöväylän leveys kasvaa suo- raan verrannollisesti ensimmäisen asteen rinnakkaisten laskentayksik- .···. köjen mukaan, mikä rajoittaa käytännön sovellusta, koska useimmissa * · yleiskäyttöisissä prosessoreissa tai digitaalisissa signaaliprosesso-. . reissä (DSP) on suhteellisen kapeat väylät kiihdyttimen kytkentää var-'.,'$0 ten. Vaikka ongelma voitaisiin ratkaista järjestämällä laitteeseen syöt-·;·' töpuskurit, tämä johtaisi porttien lukumäärän merkittävään lisäykseen.
• t »
Nyt esillä olevan keksinnön tarkoituksena on saada aikaan parannettu menetelmä, järjestelmä ja laitteisto liike-estimoinnin suorittamiseksi •; :95 videokoodauksessa. Keksintö perustuu siihen ajatukseen, että syöttö-• dataparit ryhmitellään ja uuden datapariryhmän erotus- ja merkkitietojen laskentaprosessi aloitetaan ennen kuin saman kuvalohkoparin 11 110909 aikaisempien datapariryhmien erotus- ja merkkitiedot on kokonaan laskettu. Tämä saadaan aikaan jakamalla SAD-laskentavälineen ensimmäisen liukuhihna-asteen laskentayksiköiden joukko kahteen tai useampaan oleellisesti samanlaiseen osajoukkoon ja hajauttamalla erotus-5 ja merkkitietojen laskentaprosessi näiden osajoukkojen kesken. Kunkin osajoukon laskentayksiköt käyttävät samoja syöttö-/tulostuslinjoja ja toimivat ajallisesti limittäin yhden toimintavaiheen aikapoikkeamalla. Nyt esillä olevan keksinnön mukaiselle menetelmälle on tunnusomaista se, että mainittujen vertailuarvojen laskenta on limitetty siten, että data-10 arvoparien yhden osajoukon vertailuarvojen laskenta aloitetaan sen jälkeen, kun data-arvoparien toisen osajoukon vertailuarvojen laskenta on käynnistetty mutta ei vielä saatettu loppuun. Nyt esillä olevan keksinnön mukaiselle videokoodausjärjestelmälle on pääasiassa tunnusomaista se, että järjestelmä käsittää lisäksi välineet mainittujen vertai-15 luarvojen laskemiseksi limittäin, käsittäen välineet data-arvoparien yhden osajoukon vertailuarvojen laskennan aloittamiseksi sen jälkeen, kun data-arvoparien toisen osajoukon vertailuarvojen laskenta on käynnistetty mutta ei saatettu loppuun. Nyt esillä olevan keksinnön mukaiselle videokoodauslaitteelle on pääasiassa tunnusomaista se, että laite 20 käsittää välineet mainittujen vertailuarvojen laskemiseksi limittäin, käsittäen välineet data-arvoparien yhden osajoukon vertailuarvojen .v laskennan aloittamiseksi sen jälkeen, kun data-arvoparien toisen osa-: joukon vertailuarvojen laskenta on käynnistetty mutta ei saatettu lop- puun.
....:25
Nyt esillä olevalla keksinnöllä on merkittäviä etuja tekniikan tason mukaisiin ratkaisuihin nähden. Pakkausmatriisissa on vähemmän syötteitä, mikä pienentää sekä porttien lukumäärää että viivettä matrii-. . sissa. Näin ollen keksinnön toteuttamiseksi vaaditaan merkittävästi ; /30 pienempi kokonaispiipinta-ala kuin tunnetussa tekniikassa, kun ne ’ molemmat käsittävät yhtä monta rinnakkaista kanavaa (ensimmäisen ; ; liukuhihna-asteen laskentayksikköä).
* » ’ Keksinnön edullisessa suoritusmuodossa kaksi ensimmäistä liuku- ; : 35 hihna-astetta on paremmin tasapainossa. Nyt esillä olevan keksinnön ί mukaisessa menetelmässä SAD-laskennan toimintavaiheen kesto on suunnilleen sama kuin toisen asteen viive. Tämä on paljon lyhyempi 12 110909 kuin ensimmäisen liukuhihna-asteen viive, joka on heikommin sidoksissa toimintavaiheen kestoon, jos käytetään julkaisun US 5 864 372 mukaista laitetta. Vaikka toimintavaiheiden kokonaislukumäärä kasvaa, kokonaiskäsittelyaika pienenee, koska asteet ovat paremmin tasa-5 painossa keskenään.
Pakkausmatriisin koon pieneneminen merkitsee myös sitä, että käytännössä tulee mahdolliseksi käyttää nopeampia rakenteita, joissa on useampia rinnakkaisia laskentayksiköltä.
10
Toinen syy, miksi nopeammat rakennetoteutukset tulevat käytännössä mahdolliseksi, on se, että syöttöväylä voidaan jakaa laskentayksiköi-den joukkojen kesken. Keksinnön mukaisessa rakenteessa väylän leveys ei kasva suoraan verrannollisesti kanavien lukumäärään niin 15 kuin tekniikan tason mukaisissa ratkaisuissa.
Laitteistoa käytetään tehokkaammin, jolloin sama suorituskapasiteetti saadaan pienemmän piipinta-alan lisäksi pienemmällä tehonkulutuksella kuin tekniikan tason mukaisella laitteistolla. Tämä voidaan saada 20 aikaan, koska pakkausmatriisissa tarvitaan vähemmän aikaa odottaa tietoja ensimmäisestä liukuhihna-asteesta ja koska toiminnan aikana Λ: aktivoidaan vähemmän portteja.
!*·.. On selvää, että keksinnön käytännön toteutuksissa voidaan vähentää • ;.25 SAD-laskentavälineiden porttien lukumäärää, erityisesti niissä tapauk- sissa, joissa ensimmäisessä liukuhihna-asteessa on suurempi lasken- • « ..... tayksikköjen määrä m. Pakkausmatriisin leveys ja syvyys kasvavat oleellisesti m:n suhteen tekniikan tason mukaisissa laitteistoissa mutta ei nyt esillä olevan keksinnön mukaisissa SAD-laskentavälineissä. 30 Keksinnön avulla voidaan myös vähentää toimintavaiheen kestoa ...: ensimmäisen liukuhihna-asteen kestosta toisen liukuhihna-asteen kes- i toon (tai lähelle sitä), joka oli lyhyempi jo tekniikan tason mukaisessa » I I · laitteistossa mutta on vieläkin lyhyempi nyt esillä olevan keksinnön ·' mukaisessa laitteistossa, koska pakkausmatriisin tasoja vähennetään *»· • *\35 ja sen syvyys on siis pienempi. Näin ollen keksintö vähentää sekä porttien lukumäärää että käsittelyaikaa verrattuna tekniikan tason mukaisiin ratkaisuihin. Myös syöttöväylän leveysvaatimukset pienenevät, 13 110909 koska yhden joukon kaikki laskentayksiköt käyttävät yhtä ja samaa syöttöporttia. Laskentayksiköiden joukkojen lukumäärä ja laskentayksi-köiden lukumäärä kussakin joukossa toimivat parametreinä, jotka lisäävät joustavuutta paremman tasapainon saavuttamiseksi kahden 5 ensimmäisen kerroksen välillä keksinnön käytännön toteutuksissa.
Keksintöä selostetaan seuraavassa tarkemmin viitaten samalla oheisiin piirustuksiin, joissa 10 kuva 1 esittää pelkistettynä lohkokaaviona tekniikan tason mukaista SAD-laskentavälinettä, kuva 2 esittää pelkistettynä lohkokaaviona tekniikan tason mukaisen SAD-laskentavälineen erotus-etumerkki (Difference-15 Sign, DS) -yksikön rakennetta, kuva 3 esittää pelkistettynä lohkokaaviona keksinnön mukaista SAD-laskentavälinettä, 20 kuva 4 esittää pelkistettynä lohkokaaviona keksinnön edullisen suoritusmuodon mukaisen SAD-laskentavälineen DS-yksi-V: kön rakennetta, « * * kuva 5a esittää keksinnön edullisen suoritusmuodon mukaisen SAD- ...25 laskentavälineen ensimmäisen liukuhihna-asteen syöttö- rekisterien toimintajaksoja ajastuskaaviona, • · «* · • · kuva 5b esittää keksinnön edullisen suoritusmuodon mukaisen SAD- laskentavälineen laskentayksiköiden toimintajaksoja ajas-:*·30 tuskaaviona, * I * » · : kuva 5c esittää keksinnön edullisen suoritusmuodon mukaisen SAD- * · t · .··. laskentavälineen ensimmäisen liukuhihna-asteen kanavoin- * · ’: | tilaitteiden toimintajaksoja ajastuskaaviona, ..'ä5 * · *·: kuva 6 esittää keksinnön edullisen suoritusmuodon mukaista SAD- laskentavälinettä pelkistettynä lohkokaaviona, 14 110909 kuva 7 esittää keksinnön edullisen suoritusmuodon mukaista tiedonsiirtolaitetta pelkistettynä lohkokaaviona, 5 kuva 8 esittää keksinnön edullisen suoritusmuodon mukaista videokuvan siirtojärjestelmää pelkistettynä lohkokaaviona, ja kuva 9 esittää menetelmää videokuvan liike-estimoinnin suorittami- 10 seksi videokoodauksessa.
Keksintöä selostetaan seuraavassa yleistapauksena, jossa oletetaan olevan K paria n-bittistä syöttötietoa, vaikka yleisimässä tapauksessa videokoodauksen yhteydessä K = 256 ja n = 8. On huomattava, että 15 erotusten itseisarvojen summaa voidaan käyttää videokoodauksen lisäksi muissakin sovelluksissa, kuten lääketieteellisessä kuvantamisessa, tutkakuvantamisessa ja muissa signaalinkäsittelytehtävissä, joissa suoritetaan kuvion tunnistamista reaaliajassa (EKG-laitteissa, sydämen toimintaa rekisteröivissä ICD-laitteissa (implantable cardio-20 verier defibrillator), äänenkäsittelyssä, jne).
Kuvassa 9 on esitetty menetelmä videokuvan liike-estimoinnin suorit-: tamiseksi videokoodauksessa. Kuvassa 9 on selvyyden vuoksi esitetty ;·. vain kaksi kehystä FR1, FR2. Koodattava kehys FR1 käsittää yhden tai ...,25 useampia lohkoja X, jotka sisältävät kuva-alkioarvoja Xy, joista on esi-tti<: tetty vain muutamia. Vertailukehyksestä FR2 on määritelty hakualue S.
Hakualue S määrittelee alueen, jossa suoritetaan vertailua koodattavan • * kehyksen FR1 esillä olevan lohkon X ja vertailukehyksen FR2 vertailu-lohkon Y välillä. On kuitenkin selvää, että joissakin suoritusmuodoissa :.’·5θ on mahdollista käyttää hakualueena S vertailukehyksen FR2 koko alu-että. Menetelmässä valitaan yksitellen vertailulohko Y, Y', jota verra-: !·. taan esillä olevaan lohkoon X. Hakuprosessia jatketaan, kunnes koko hakualue S on tutkittu tai jos jokin muu haun päättämiseen määritelty 1 » ’ i ‘ ehto täyttyy. Hakua selostetaan seuraavassa tarkemmin.
..:-35 * Kuvassa3 on esitetty keksinnön edullisen suoritusmuodon mukainen SAD-laskentaväline 1. Se käsittää neljä liukuhihna-astetta P1, P2, P3, 15 110909 P4, jotka ovat paremmin tasapainossa keskenään kuin tekniikan tason mukaiset kaksi ensimmäistä liukuhihna-astetta P1, P2. Tämä saavutetaan järjestämällä ensimmäisen liukuhihna-asteen P1 laskentayksiköt 2 (DS) ryhmiin 3. Ensimmäinen liukuhihna-aste koostuu m-sp laskenta- 5 yksiköstä 2 (DSu,...,DSi>p>, DS2i1,...,DS2p ,...,DSs>i,..., DSs,p), jotka ryhmitellään s ryhmään, joista kukin käsittää p laskentayksikköä. Ryhmän 3 kukin laskentayksikkö 2 käyttää samoja syötteitä X1f X2, V2;--Xs. Ys; mutta eri kellojaksoissa. Ryhmien 3 laskentayksiköi-den2 tulosteet kytketään kahden kanavointilaitteen 4, 5 syötteisiin 10 siten, että laskentayksikön 2 n-bittinen syöte kytketään ensimmäisen kanavointilaitteen 4 yhteen n-bittiseen syötteeseen ja laskentayksikön 2 1-bittinen syöte kytketään toisen kanavointilaitteen 5 yhteen 1-bittiseen syötteeseen. Ensimmäiset kanavointilaitteet 4 käsittävät p kpl n-bittisiä syötteitä ja yhden n-bittisen tulosteen. Vastaavasti toiset 15 kanavointilaitteet 5 käsittävät p kpl 1 -bittisiä syötteitä ja yhden 1 -bittisen tulosteen. Tämän järjestelyn ansiosta voidaan toisen kerroksen P2 pakkausmatriisin 6 tasojen lukumäärää vähentää. Yhden ryhmän 3 laskentayksiköt 2 toimivat noin yhden toimintavaiheen aikapoikkea-malla, jolla on kesto Tp, joka on nyt suunnilleen yhtäsuuri kuin pak-20 kausmatriisin viive. Vastaavasti laskentayksiköiden 2 tulosteisiin muodostetaan merkki- ja erotustiedot, joiden aikapoikkeama on myös V: suunnilleen yhden toimintavaiheen kesto. Yhden ryhmän 3 kaikkien : laskentayksiköiden 2 tulosteparit kytketään pakkausmatriisin 6 yhteen syötepariin kanavointilaitteiden 4, 5 avulla siten, että laskentayksikön 2, ,...25 joka on juuri laskenut merkki- ja erotustiedot, jokainen toimintavaihe kytketään pakkausmatriisiin 6. Näin ollen pakkausmatriisi vastaanottaa • * t...§ ja kerää kussakin toimintavaiheessa uuden merkki- ja erotustieto-osuuden, vaihdellen kunkin ryhmän 3 eri laskentayksiköiden 2 välillä.
I · ‘30 Toimintavaiheen kesto TP on suunnilleen yhtä suuri kuin tunnetun tek-nilkan tason mukaisen laitteen ensimmäisen asteen viive, jolloin käyt-; tämällä keksinnön mukaista SAD-laskentavälinettä 1 voidaan käsittely- ." ·. aikaan saada merkittävä parannus.
-i’35 Kuvassa 4 on esitetty ensimmäisen liukuhihna-asteen P1 laskenta- V :’ yksikön 2 yksi edullinen suoritusmuoto, mutta on selvää, että keksin nön yhteydessä voidaan käyttää muitakin laskentayksikön 2 suoritus- 16 110909 muotoja. Kussakin laskentayksikössä 2 (DS,-y, /'= ) on kaksi syötettä Xi:j ja Y,j, yksi /7-bittinen tuloste A,/ ja yksi 1 -bittinen tuloste Bij siten, että syötteiden ja tulosteiden välinen suhde on sama kuin julkaisun US 5 864 372 mukaisessa laitteistossa. Tässä yhtey-5 dessä oletetaan, että kunkin laskentayksikön 2 suorituskapasiteetti on p toimintavaihetta kutakin syötedataparia kohti. Laskentayksikkö 2 käsittää summainen 16, jossa on kaksi n-bittistä tietosyötettä A, B, yksi n-bittinen tietotuloste S, siirtobittitulo Cl ja siirtobittilähtö CO. Ensimmäisen tietosarjan X arvot syötetään ensimmäiseen tietosyöttöön A ja 10 toisen tietosarjan Y arvot syötetään kääntöpiirin 17 kautta toiseen tieto-syöttöön B. Kääntöpiiri 17 muodostaa toisen tietosarjan arvoille vasta-luvun. Sisäänmenomuisti Cl asetetaan loogiseen arvooni, jolloin summain 16 laskee tietosyötteiden arvojen erotuksen X-Y. Laskenta-yksikkö 2 käsittää lisäksi ehdottoman TAI-yksikön 18, joka muuntaa 15 summainen 16 ulostulon S bitit niiden vastaluvuiksi, jos ulostulo-muisti CO on asetettu eli laskettu erotus on negatiivinen (X<Y). Muutoin TAI-yksikkö 18 jättää summaimen 16 ulostulon S ennalleen, eli laskettu erotus ei ole negatiivinen (X>Y). Ulostulomuistin signaalia käytetään merkkiarvona, ja TAI-yksikön 18 ulostuloa käytetään erotus-20 arvona. On selvää, että ensimmäisessä liukuhihna-asteessa voidaan käyttää laskentayksiköiden 2 muitakin suoritusmuotoja.
• · ·
Kuten edellä on mainittu, SAD-laskentavälineessä 1 on s paria
" n-bittisiä syötteitä, ja /:nnen ryhmän kaikki laskentayksiköt DS/.r.....DS,P
: ‘25 käyttävät samaa /':ttä paria (Χ„Υ,), kun /= SAD-laskentaväli- neen 1 syötepari (.X„Y)), jossa i = kytketään syöttörekisterien 7 kautta /:nnen ryhmän kuhunkin laskentayksikköön DS,y, jossa j = Kukin näistä ensimmäisen liukuhihna-asteen syöttörekiste-reistä 7 on avoinna vain SAD-laskentayksikön 1 joka p:nnen toimintataso jakson aikana. Tämä on esitetty kuvassa 5a ajastuskaaviona. Tällä , ·. tavoin kussakin toimintavaiheessa SAD-laskentavälineen 1 kukin • · · syötepari (Xj,Yi), jossa /= kytketään itse asiassa vain yhden laskentayksikön syötepariin (X;,/,Y/,y), kun muut kytkennät ovat inaktiivi-·:· siä, koska ensimmäisen liukuhihna-asteen vastaavat syöttörekisterit on .·. :35 suljettu kirjoitukselta. Ensimmäisen liukuhihna-asteen syöttörekisterit ovat kunkin ryhmän /= ensimmäisen laskentayksikön DS/, syötteen kohdalla avoinna ensimmäisen p toimintavaiheesta aikana, 17 110909 ensimmäisen liukuhihna-asteen syöttörekisterit ovat kunkin ryhmän toisen laskentayksikön DS/>2 kohdalla avoinna toisen p toimintavaiheesta aikana, jne. Yleisesti toimintavaiheessa t = s\ SAD-laskentavälineen 1 syötepari (X„Yi), jossa i = 5 kytketään itse asiassa /:nnen laskentavälineryhmän u:nnen laskentayksikön DSiu syöterekistereihin, jossa M = (/-l)modp + l. Näin ollen f.s laskentavälineryhmä käyttää SAD-laskentavälineen 1 kutakin syöteparia (X„ YJ, jossa / = samassa tilassa mutta eri aikaan.
10 Keksinnön mukaisen SAD-laskentavälineen 1 toiminnan aikana tieto-sarjat X = (^,...,^} ja Y = {yi, ..,y/c} syötetään osa kerrallaan SAD- laskentavälineen 1 syötteisiin, fnnessä toimintavaiheessa, jossa / = 1,.dataosat {*(ί_ι)5+ι,...,*ί5} ja {y(r_1)s+1,...,yis| syötetään vastaavasti syötteisiin xlt...,xs ja ja ensimmäisen liukuhihna- 15 asteen vastaavien syöttörekisterien kautta laskentayksiköiden DS7jU,...,DSSiU syötteisiin xlu,...,xsu ja {u = (/-l)modp + l) yhden toimintavaiheen jälkeen. Kyseistä syöttötieto-osaa vastaava erotustieto ja merkkitieto fc(r-i)S+i.-As} (ötj + b[ = |xj — 1) muodostetaan laskentayksiköiden 2 ulostuloihin vii- 20 veellä, joka on noin ptoimintavaihetta (eli toimintavaiheen t+ p + 1 jäi- • · keen). Tämä on esitetty kuvassa 5b ajastuskaaviona.
• · · • · ·
Laskentayksiköiden 2 tulosteet kytketään n-bittiseen p...1 kanavointi-·:··! laitteeseen 4 tai yksibittiseen p...1 kanavointilaitteeseen 5. /':nnen ryh-....25 män kaikkien laskentayksiköiden DS/>; , jossa j = ja i= .···. tulosteet A/y, jossa j= 1,...,p, on kytketty n-bittisen p...1 kanavointilaitteen 4 syötteisiin (n-MUX,), jolloin kanavointilaitteella 4 on yksi ainoa n-bittinen tuloste A,. Vastaavasti /:nnen ryhmän kaik-kien laskentayksiköiden DSy, jossa j = ja i = tulosteet B^·, ”*30 jossa j= Ι,.,.,ρ, on kytketty 1 -bittisen p...1 kanavointilaitteen 5 syöttei-ί siin (1-MUX,), jolloin kanavointilaitteella 5 on yksi ainoa 1 -bittinen tuloste £?,. Kanavointilaitteet 4, 5 päästävät signaalit niiden sisään- menoista niiden ulostuloihin kiertävän modp -säännön mukaan siten, ...T että toimintavaiheessa t + p + 1, t = \X...,\K!s\ kanavointilaite n-MUX„ • · :*‘35 1-MUX, kytkee ryhmän u:nnen laskentayksikön DS/(U (u = (/-l)modp + l), jossa i=1,...,s, kanavointilaitteen ulostuloon. Edellä 18 110909
esitetyistä tarkasteluista voidaan päätellä, että toimintavaiheissa t + p +1, jossa t = juuri laskentayksiköt DS(U
{u = (t — l)modp + ovat suorittaneet dataosia ja vastaavien erotus- ja merkkitietojen laskennan. Näin 5 ollen kanavointilaitteet 4, 5 toimivat edullisesti siten, että kun toimintavaihe t + p + 1, jossa t = \,2,...,\κIs], päättyy, merkki- ja erotustiedot siirretään kanavointilaitteiden 4, 5 ulostuloihin. Tämä on esitetty ajastuskaaviona kuvassa 5c.
10 Kanavointilaitteiden 4, 5 ulostulot on kytketty ensimmäisen liukuhihna-asteen ulostulorekisterien 8 kautta toisen liukuhihna-asteen P2 sisäänmenoihin. Toinen liukuhihna-aste P2 on pakkausmatriisi 6, jossa on s kpl sisäänmenoja ensimmäisestä liukuhihna-asteesta P1 (päinvastoin kuin tekniikan tason mukaisissa laitteissa, joissa on m= ps 15 sisäänmenoa) ja kaksi takaisinkytkentää sen summain- 9 ja muisti-ulostulosta 10. Pakkausmatriisi 6 päivittää summain- ja muistitermiensä arvot jokaisessa toimintavaiheessa kokoamalla merkki- ja erotustiedot kanavointilaitteiden 4, 5 ulostuloista. Tässä yhteydessä oletetaan, että pakkausmatriisin viive on suunnilleen yhtä suuri kuin SAD-laskenta-20 välineen toimintavaiheen kesto. Summaus aloitetaan toimintavaiheesta V: p + 2, kun ensimmäiset merkki- ja erotustieto-osuudet ovat käytettä vissä kanavointilaitteiden 4, 5 ulostuloissa, toimintavaiheen loppuun. Kun kaikkien arvoparien summaus on suoritettu, pakkausmatriisi 6 ....: käsittää merkki- ja erotustiedot.
.{.25 ... 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 limittäiskello-ajastuksen ohjaamiseksi asianmukaisella tavalla. Ulostulorekiste-...30 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.
..i:‘ Toisen liukuhihna-asteen P2 pakkausmatriisi 6 on edullisesti tallennus-:.'*35 summainpuu, joka muodostuu joko kokosummaimista (FA) tai 4/2-suhdepakkaimista, jotka ovat sinänsä tunnettuja. Puulla voi olla eri 19 110909 rakenteita. Erityisesti voidaan käyttää tekniikan tason mukaisia rakenteita. Nyt esitetty rakenne eroaa tekniikan tasosta pääasiassa siinä, että pakkausmatriisissa on vain s = mp (eikä m) n-bittistä ja yhtä monta yksibittistä syötettä sen lisäksi, että pakkausmatriisista 6 itsestään 5 saadaan summain-9 ja muistitulosteista 10 kaksi takaisinkytkentä-syötettä. Näin ollen nyt esillä olevan keksinnön edullisen suoritusmuodon mukaisessa SAD-laskentavälineessä 1, jossa on m laskentayksikköä 2 ensimmäisessä liukuhihna-asteessa P1, voidaan käyttää oleellisesti samanlaista pakkausmatriisia kuin sellaisissa teknii-10 kan tason mukaisissa laitteissa, jotka on rakennettu ainoastaan s = m/p laskentayksikön tapausta varten. Lisäksi laskentamatriisitulosteista 9, 10 saadut takaisinkytkennät voidaan kytkeä ensimmäisen tason lisäksi sen mihin tahansa tasoon.
15 Koska laskentamatriisissa 6 on vähemmän syötteitä, se voidaan rakentaa käyttäen pienempää lukumäärää kokosummaimia tai 4/2-suhdepakkaimia verrattuna tekniikan tason mukaisiin laitteisiin, joissa on sama määrä laskentayksikköjä 2. Pakkausmatriisissa 6 on myös vähemmän tasoja, minkä ansiosta viive on lyhyempi. Nyt esillä 20 olevan keksinnön edullisen suoritusmuodon mukaisen SAD-laskenta-välineen toimintavaiheen kesto eli perustoimintakelloaikayksikkö Tp ' : määritellään pakkausmatriisin 6 viiveenä, jos parametrit p ja s valitaan oikein.
:“£5 Edellä esitetyistä tarkasteluista voidaan havaita, että toimintavaiheita, jotka vaaditaan, jotta voidaan laskea kahden m kpl näytteitä sisältävän tietosarjan välisten erotusten itseisarvojen summan summain- ja muistitermit, on yhteensä lukumäärä '-fo Ttotai = §KI s~\+ ρ + 2)Γρι (3) :::/ sekä julkaisun US 5 864 372 mukaisessa laitteessa, jossa s = m, että :· ·: keksinnön mukaisessa SAD-laskentavälineessä 1, mutta toiminta vaiheen kesto Tp on lyhyempi keksinnön mukaisessa SAD-laskenta- :\35 välineessä 1 kuin julkaisun US 5 864 372 mukaisessa laitteessa. On myös selvää, että keksinnön mukaisen SAD-laskentavälineen 1 20 110909 toteuttamiseksi vaadittava piiripinta-ala on myös pienempi kuin julkaisun US 5 864 372 mukaisen laitteen pinta-ala, koska pakkausmatriisi on kapeampi ja siinä on vähemmän tasoja.
5 Kolmas liukuhihna-aste P3 käsittää summaimen 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ä summain 12 laskee esim. keskimääräisen virheen itseisarvon (MAE) jakamalla virheiden itseisarvojen 10 summan SAD(X,Y) sen yhteenlaskettavien lukumäärällä K, kuten tässä hakemuksessa on edellä kuvattu. Neljännen liukuhihna-asteen P4 minimivertailuyksikössä 13 uusinta laskentatulosta verrataan aiemmin laskettujen tulosten pienimpään SAD-arvoon. Jos uusin laskentatulos on pienempi kuin aiemmin löydetty pienin SAD-arvo, pienin SAD-arvo 15 korvataan uusimmalla laskentatuloksella. Minimivertailuyksikössä 13 on välineet 14 pienimmän SAD-arvon tallentamiseksi esim. muistivälineisiin. Aloitettaessa tarkasteltavan lohkon SAD-laskentaa asetetaan pienin SAD-arvo suureen oletusarvoon, jotta varmistetaan, että ensimmäinen laskentatulos tallennetaan pienimmäksi SAD-arvoksi, 20 koska ei ole mitään aiemmin laskettua arvoa, johon tarkasteltavaa lohkoa voitaisiin verrata.
Vertailuvaiheen jälkeen tässä keksinnön edullisessa suoritusmuodossa " tutkitaan, käytetäänkö kaikkia vertailulohkoja tarkasteltavana olevan '25 lohkon SAD-arvojen laskemiseen. Jos on vielä olemassa ainakin yksi vertailulohko, jota ei ole vielä käytetty nyt esillä olevan lohkon SAD-arvon laskemiseen, edellä kuvattu menettely toistetaan. Muussa tapauksessa löydettyä pienintä SAD-arvoa käytetään videokoodausproses-sin myöhemmissä vaiheissa sen määrittämiseksi, koodataanko esillä ‘*30 oleva lohko sellaisenaan vai liikekompensoituna. Minimivertailu-yksikkö 13 määrittelee sen lohkon koordinaatit, joka tuotti esillä olevalle -}} lohkolle pienimmän SAD-arvon, ja siirtää koordinaattitiedon ja pienim-män SAD-arvon päätöksentekovälineisiin 15. Päätöksentekoväli-neissä15 pienintä SAD-arvoa tutkitaan sen määrittämiseksi, kooda-.-. 35 taanko nyt esillä oleva lohko sellaisenaan vai liikekompensoituna. Päätöksentekovälineet 15 voivat esimerkiksi estimoida, minkä verran dataa tarvitaan lohkon siirtämiseksi ja minkä verran dataa tarvitaan 21 110909 liikekompensoidun datan siirtämiseksi. Tämän jälkeen päätöksenteko-välineet 15 edullisesti valitsevat sen vaihtoehdon, joka vaatii vähemmän tiedonsiirtokapasiteettia.
5 Tilanteessa, jossa siirrettäväksi valitaan liikekompensoitu tieto itse lohkon asemesta, siirrettävät tiedot käsittävät edullisesti ainakin koordinaattitietoa ja erotusdataa. Koordinaattidataa käytetään ilmoittamaan dekooderille, mitä aikaisemmin vastaanotettua ja dekoodattua vertai-lulohkoa käytettiin liikevektorin muodostamiseen. Erotusdata on esillä 10 olevan lohkon ja vertailulohkon vastaavien kuva-alkioarvojen välinen erotus. Dekooderi voi tällöin muodostaa esillä olevan lohkon kuvadatan käyttämällä mainittua vertailulohkoa, joka on korjattu erotusdatalla.
Seuraavassa selostetaan parametrien s ja p valintaa. Ensimmäisessä 15 esimerkissä ensimmäisen liukuhihna-asteen P1 laskentayksiköiden 2 kokonaislukumäärä oletetaan vakioksi. Tässä esimerkissä ensimmäisen liukuhihna-asteen P1 laskentayksiköiden 2 lukumäärä on kahdeksan {m = 8). Tällöin on useita mahdollisuuksia valita parametrit p ja s, kuten on pääkohdittain esitetty taulukoissa 2 ja 3, jotka vastaavat kahta 20 tapausta, joissa pakkausmatriisin 6 muodostamiseen käytetään koko-summaimia (FA) tai 4/2-suhdepakkaimia. Näissä taulukoissa NFA on vastaavan pakkausmatriisin 6 tasojen lukumäärä, Gtotai on SAD-las-kentayksikön 1 kahden ensimmäisen liukuhihna-asteen P1, P2 porttien kokonaislukumäärä (liukuhihnarekisterejä ei lasketa), DFA on pakkaus-·:··ϊ25 matriisin viive, ja tp ja rtotal ovat samoja kuin yhtälössä (3). Taulukoi- den viimeisissä sarakkeissa on esitetty pakkausmatriisin 6 suhteellinen :*"·* hyödyntämisaika. Lukumäärä G,olai ilmaistaan summana Gt0tai = Gds + GmuX + Gca, jossa yhteenlaskettavat edustavat kanavointilaitteiden 4, 5 :*·.:* laskentayksiköiden 2 ja pakkausmatriisin 6 vastaavia porttilukumääriä. .•••30 Nämä luvut on laskettu käyttäen arvioita peruskomponenttien portti-lukumääristä vastaavina EI-JA-portteina, joista on esitetty yhteenveto : j · taulukossa 4.
·;· Taulukoiden 2 ja 3 ensimmäiset rivit vastaavat patentin US 5 864 372 .·. 35 mukaista laitetta, joka vastaa tapausta, jossa p = 1. Näiden taulukoiden toisilla riveillä esitetty rakenne on havainnollistettu kuvassa 6. Muita tapauksia vastaavat rakenteet saadaan vastaavalla tavalla. Kuten 22 110909 seuraavista taulukoista käy ilmi, sekä porttien lukumäärä että käsittely-nopeus pienenevät, kun p:n arvo kasvaa.
5 ^__ P s Nfa Gds+GMux+Gca Dds Dfa Tp ^total = (T^/s1 +Ρ + 2)Γρ tieto- = Gtotai kone- avustei- nen _________käyttö 1 8 5 656+0+517 16t 10t 16r f 256 | A ^ _ 56Qr =62.5% ____=1173_____l 8 /__ 2 4 3 656+81+269 8t 6t 8t f256 | llsr~511r =75% ____=1006____V 4 J__ 4 2 2 656+90+126 4t 4 τ 4τ + = 536r =100% ____^872_____l 2 J__ 8 1 1 656+113+88 2r 2 τ 2t (256 +1θ)· 2τ = 532r =100% =857_1111__
Taulukko 2 'I P s Nfa GDs+Gmux+Gca Dds D4/2 Tp Ttotal = ([K' s1+P + 2K tieto- .! ’ - Gtotai kone- avustei- nen * '__________käyttö 1 8 3 656+0+423 16τ 9t 16t i256 | 3^67-:5607 =56.2% ____=1079 _____l 8 /__ 2 4 2 656+81+218 8r 6τ 8t Γ 256 + AT _ 544^. =75% ___ =955_____l 4 J__ 4 2 1 656+90+123 4Τ 3t 4t i^. + 6\lr = 536t = 75% ::l.: 111 =869 _ 11 2 J_|____ ’·;·* Taulukko 3 ..:ho 110909 _ 23 ___
I I tai I I I I I I
EI-JA Kääntö- FA HA 4/2-suhde 2-> 1 4 -> 1 81
__piiri _____pakkaus MUX MUX MUX
1 0.75 I 2.5 I 7 I 4 11_ 2.25 5_ 12.5
Taulukko 4
Toisessa esimerkissä oletetaan, että syöttöväylän leveys on rajoitettu esim. 64 bittiin tilanteessa, jossa SAD-laskentaväline 1 integroidaan 5 järjestelmään (mutta toimii kuitenkin omalla kellollaan). Jos ei käytetä mitään puskurointia tai muuta tekniikkaa (joka kuitenkin lisää porttien lukumäärää), DS-yksiköiden lukumäärän yläraja ensimmäisessä liukuhihna-asteessa on m = 4 (s = 4, p = 1) patentin US-5 864 372 mukaisessa laitteessa. Laitteiston pakkausmatriisi on muistisummainpuu, 10 jossa on neljä n-bittistä, neljä 7-bittistä ja kaksi (2n-1)-bittistä syötettä. Taulukosta 1 voidaan nähdä, että pakkausmatriisin viive on 6r, kun taas ensimmäisen liukuhihna-asteen suorituskapasiteetti on 6r, mikä heikentää kerrosten välistä tasapainoa. Nyt esillä oleva keksinnön ansiosta voidaan kuitenkin ensimmäisen asteen DS-yksiköiden luku-15 määrää lisätä arvoon m =16 (s=4, p=4), ja silti voidaan käyttää samaa pakkausmatriisia kuin patenttivaatimuksen US 5 864 372 mukaisessa laitteistossa. Taulukossa 5 on esitetty yhteenvetona tuloksena saatujen p:stä riippuvaisten rakenteiden pinta-ala/aikaominaisuudet (ensimmäi-:.l.: nen rivi, jossa p=1, vastaa patentin US 5 864 372 mukaista laitteis- • ‘20 toa). Tässä esimerkissä on käytetty kokosummaimiin perustuvia pak-·:··: kausmatriiseja. Kuten taulukosta voidaan havaita, kahden ensimmäi- ·:··: sen liukuhihna-asteen P1, P2 kokonaiskäsittelyaikaa voidaan lyhentää 2,59:llä, kun syöttöväylän leveys pidetään samana, käyttämällä keksintöä, jossa p = 3, patentin US 5864 372 mukaisen laitteiston ase-...25 mesta (p = 1). Luonnollisesti myös porttiluku kasvaa melkein suoraan verrannollisesti (2,37 kertaa). Parametrin p arvon kasvattaminen edel-·;·’ leen ei välttämättä johda parannukseen, koska ensimmäinen liuku-hihna-aste P1 tulee tällöin tarpeettomasti nopeammaksi kuin pakkaus-matriisi 6.
‘30 • · ·
» I
24 110909 p Gds+GmUX+Gc Dqs Dfa Tp ^total ~ (Γ^ / +P + ^p
A
__= Q total__________ 1 328+0+269 16τ 6τ 16τ f 256 | 3\6r _1Q72r _=597_____l 4 J_ 2 656+81+269 8r 6τ 8r f256 , Ar-5^r _ =1006_____l 4 )_ 3 984+162+26 6r 6r 6r Γ 256 | 5V_1l1r 9 l 4 j _=1415_______ 4 1312+180+2 4r 6r 6r i256 + Ar = 420r
69 l 4 J
1=1761_l | l I_
Taulukko 5 5 Lisäparannus on mahdollinen jakamalla pakkausmatriisi 6 kahteen liukuhihna-asteeseen ja lyhentämällä takaisinkytkentäpiiriä. Nyt esillä olevan keksinnön tapauksessa tämä on hyödyllistä kaikissa tapauksissa, missä laskentayksiköiden 2 lukumäärä p niiden kussakin ryh- • · Ύ mässä 3 kasvaa niin suureksi, että ensimmäinen kerros P1 tulee nope-:;Μθ ämmäksi kuin toinen kerros P2 (pakkausmatriisi 6). Taulukon 5 viimei- • ’·· nen rivi vastaa esimerkkiä, jossa tällainen järjestely voisi olla käyttö- kelpoinen. Tässä tapauksessa pakkausmatriisi voitaisiin jakaa kahteen ·:··: liukuhihna-asteeseen, joista kumpikin on pakkausmatriisi, jossa on neljä syötettä ja jolla on näin ollen 4r:n viive, joka olisi näin ollen ’”15 toimintavaiheen kesto. Tällöin aika Ttotal, joka kuluu SAD.n lopullisten : summain- ja muistitermien löytämiseen toisen pakkausmatriisin ulos- • 1 f K Λ f 256 ^ tulossa, lyhenisi arvoon Tlotal = — +p + 3) = —+7 4r = 284r
·:· s J l 4 J
• · i.i i (3,77 kertaa nopeampi kuin patentin US 5 864 372 mukaisessa lait-teistossa).
!:20 I · 1 · » 25 110909
Keksinnön mukaisen SAD-laskentayksikön 1 parametrit s ja p voidaan valita siten, että kokonaissuoritus on käytännön toteutuksissa optimaalinen.
5 Seuraavaksi selostetaan edullisen suoritusmuodon mukaista videokuvan siirtojärjestelmää viittaamalla kuvan 8 lohkokaavioon. Siirrettävä videosignaali otetaan esim. videokameralla 19, tai se voidaan saada videotallennusvälineistä (ei esitetty), kuten videonauhoittimesta, digitaaliselta levykkeeltä tms. Videosignaali siirretään kooderiin 20, joka 10 suorittaa videosignaalin koodauksen, mukaanlukien nyt esillä olevan keksinnön mukaisen liike-estimoinnin. Tämän jälkeen koodattu videosignaali tarvittaessa kanavakoodataan kanavakoodaimessa 21. Kanavakoodauksen tarkoituksena on siirtää koodattu videosignaali sopivaan muotoon siirrettäväksi siirtokanavan 22 välityksellä. Kanavakoodauk-15 sen yksityiskohdat voivat vaihdella videokoodausjärjestelmän eri toteutuksissa, ja ne ovat alan asiantuntijan tuntemia.
Kanavakoodatun videosignaalin kanavakoodaus puretaan vastaanottimen kanavadekooderissa 23. Tämän jälkeen dekooderi 24 purkaa # 20 videosignaalin koodauksen muodostaakseen videosignaalin, jonka pitäisi oleellisesti vastata alkuperäistä signaalia. Käytännössä on kui- tenkin joitakin mahdollisia virhelähteitä, jotka voivat vaikuttaa siirrettyyn videosignaaliin, jolloin videosignaali, jonka koodaus on purettu, voi *:··: erota alkuperäisestä videosignaalista. Tällaisten siirtovirheiden vaiku- y-ZS tusten minimoimiseksi on kehitetty virheenkorjausmekanismeja.
*«*
Videosignaali, jonka koodaus on purettu, voidaan tämän jälkeen näyt-t. . tää videomonitorissa 25 ja/tai se voidaan tallentaa tallennusvälinei-siin 26.
-•SO
Kuvassa 7 on esitetty pelkistettynä keksinnön edullisen suoritus-muodon mukainen videokoodauslaitteisto 27. Kyseinen päätelaite soveltuu sekä lähetykseen että vastaanottoon, mutta keksintöä voidaan myös soveltaa yksisuuntaisten päätelaitteiden yhteydessä. Video- * · ‘35 koodauslaitteistoissa 27 eivät kaikki kuvan 7 lohkokaaviossa esitetyt toiminnalliset ominaisuudet ole välttämättömiä, vaan keksinnön puit- 26 110909 teissä on myös mahdollista soveltaa yksinkertaisempia videokoodaus-laitteistoja 27, esimerkiksi ilman näppäimistöä 28 ja audiovälineitä 29. Mainittujen näppäimistön 28 ja audiovälineiden 29 lisäksi videopääte-laite käsittää myös videovälineet, kuten videomonitorin 25, videokame-5 ran 19 tai vastaavan.
Videokoodauslaitteistossa 27 on sen toimintojen ohjaamiseksi ohjausyksikkö 38, joka käsittää esimerkiksi mikro-ohjainyksikön (MCU), mikroprosessorin (MPU), digitaalisen signaaliprosessorin ja/tai vastaavan. 10 Lisäksi ohjausyksikkö 30 käsittää muistivälineet 34 esim. sovellusohjelmien ja tietojen tallennusta varten ja väyläsovitinvälineet I/O signaalien lähettämiseksi ohjausyksikön 30 ja muiden toimintalohkojen välillä. Videokoodauslaitteisto 27 käsittää myös videokoodekin 32, joka suorittaa videoinformaation koodausta/koodauksen purkua sekä pak-15 kaamista/pakkauksen purkua. Pakkaaminen perustuu esim. DCT-muunnokseen ja kvantisointiin, jolloin pakkauksen purku vaiheessa vastaanotetun informaation kvantisointi puretaan ja sille tehdään käänteinen DCT-muunnos, mikä on sinänsä tunnettua. Kanava-koodekki 33 suorittaa siirrettävän informaation kanavakoodauksen ja 20 vastaanotetun informaation kanavakoodauksen purkamisen. Kanava- koodatun videosignaalin siirto voidaan suorittaa esim. matkaviestin- ·*;* välineillä 31.
« * · * ‘ On selvää, että nyt esillä oleva keksintö ei rajoitu pelkästään edellä :' £5 esitettyihin suoritusmuotoihin vaan sitä voidaan muunnella oheisten patenttivaatimusten puitteissa.
* · • * · I ! I · i i »

Claims (18)

  1. 27 110909
  2. 1. Menetelmä videokuvan liike-estimoinnin suorittamiseksi video-koodauksessa, jossa videosignaali koostuu kehyksistä (FR1, FR2), 5 videokehykset käsittävät lohkoja (X, Y, Y'), ja muodostetaan yhdistetty vertailuarvo käyttämällä koodattavan videokehyksen (FR1) esillä olevaa kuvalohkoa (X) ja toisen kehyksen (FR2) ainakin yhtä muuta kuvalohkoa (Y, Y'), jolloin koodattavan kehyksen (FR1) mainittu esillä oleva kuvalohko (X) käsittää joukon ensimmäisiä data-arvoja 10 (¾.... toisen kehyksen (FR2) mainittu ainakin yksi muu kuva- lohko (Y, Y') käsittää joukon toisia data-arvoja ({yi,...,:yjc})· muodostetaan data-arvopareja ensimmäisten data-arvojen joukon {^,...,xK] data-arvoista ja samasta määrästä mainitun toisten data-arvojen joukon {>'], ,>'a;} vastaavista data-arvoista, mainittu yhdistetty vertailu- 15 arvo muodostetaan määrittelemällä vertailuarvoja, joista kukin määritellään käyttämällä mainittujen data-arvoparien yhden data-arvoparin data-arvoja, ja mainitut data-arvoparit jaetaan ainakin kahteen data-arvoparien osajoukkoon {x(t-i)s+i,-,xts, joista kukin osajoukko käsittää saman määrän data-arvopareja, tunnettu siitä, 20 että mainittujen vertailuarvojen laskenta on limitetty siten, että data- ·.·. arvoparien yhden osajoukon vertailuarvojen laskenta aloitetaan sen · ‘ l jälkeen, kun data-arvoparien toisen osajoukon vertailuarvojen laskenta on käynnistetty mutta ei vielä saatettu loppuun. • I · "• ‘25 2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että vertailuarvo määritellään laskemalla data-arvoparin välinen erotus. * · • I
  3. 3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että ;*·,· vertailuarvo määritellään data-arvoparien kunkin osajoukon kullekin .•'SO data-arvoparille. 1 · · I *
  4. 4. Patenttivaatimuksen 1,2 tai 3 mukainen menetelmä, tunnettu siitä, että mainittu yhdistetty vertailuarvo määritellään summaamalla mainitut ·;· vertailuarvot. /‘.35 * »· 28 110909
  5. 5. Jonkin patenttivaatimuksista 1-4 mukainen menetelmä, tunnettu siitä, että menetelmässä suoritetaan toimintavaiheita, ja että kussakin toimintavaiheessa syötetään data-arvoparien yhden osajoukon (.^-1^+1,-,¾. kukin data-arvopari vertailuarvojen las- 5 kentaan.
  6. 6. Patenttivaatimuksen 5 mukainen menetelmä, tunnettu siitä, että vertailuarvot data-arvoparien yhden osajoukon mainituille syötetyille data-arvopareille (^-1)5+1, -½,^(/-1)5+1, muodostetaan 10. toimintavaiheen viiveellä, jossa p on ennalta määrätty kokonaisluku, joka on suurempi kuin 1.
  7. 7. Jonkin patenttivaatimuksista 1-6 mukainen menetelmä, tunnettu siitä, että lasketaan koodattavan kehyksen (FR1) esillä olevan kuva- 15 lohkon (X) ja toisen kehyksen (FR2) kuvalohkojen (Y, Y’) välinen yhdistetty vertailuarvo, ja että valitaan liike-estimointiin toisen lohkon (FR2) se kehys, joka tuottaa pienimmän yhdistetyn vertailuarvon.
  8. 8. Jonkin patenttivaatimuksista 1-7 mukainen menetelmä, tunnettu 20 siitä, että kukin lohko käsittää 16 riviä, joissa on 16 kuva-alkiodata- arvoa, jolloin kuva-alkiodata-arvot jaetaan 16 kuva-alkiodata-arvoparin .v 16 osajoukkoon, joiden sisällä kullekin osajoukolle määritellään 16 vertailuarvoa, ja mainittu yhdistetty vertailuarvo määritellään yhdis-! * \. tämällä 256 vertailuarvoa. ....:25
  9. 9. Jonkin patenttivaatimuksista 1-7 mukainen menetelmä, tunnettu .··. siitä, että kukin lohko käsittää 16 riviä, joissa on 16 kuva-alkiodata- arvoa, yhden lohkon (X) kuva-alkiodata-arvot järjestetään pareittain toi- . . sen lohkon (Y) 16x16 kuva-alkiodata-arvon kanssa, kuva-alkiodata- *; / 30 parit jaetaan 64 osajoukkoon Du D2...,D64, joissa kusssakin on 4 kuva- ·:·: alkiodataparia, vertailuarvolaskennat arvoparien D„ i = 1,2,...,64 osa- • joukolle aloitetaan toimintavaiheessa t= i+ 1 ja saatetaan päätökseen ;**·; toimintavaiheessa t= i + 4, ja mainittu yhdistetty vertailuarvo määritel- ·. lään yhdistämällä mainituille 64 osajoukolle D1} D2...,D64 lasketut ver-• · · : 35 tailuarvot, jolloin osajoukon D„ i= 1,2,...,64 vertailuarvojen yhdistämi-:· ' i nen suoritetaan toimintavaiheessa t =i + 5. OD 110909 29
  10. 10. Järjestelmä videokuvan liike-estimoinnin suorittamiseksi video-koodauksessa, jossa videosignaali koostuu kehyksistä (FR1, FR2), jotka käsittävät lohkoja (X, Y, Y'), jolloin järjestelmä käsittää välineen 5 (1) yhdistetyn vertailuarvon muodostamiseksi käyttämällä koodattavan videokehyksen (FR1) esillä olevaa kuvalohkoa (X) ja toisen kehyksen (FR2) ainakin yhtä muuta kuvalohkoa (Y, Y1), jolloin koodattavan kehyksen (FR1) mainittu esillä oleva kuvalohko (X) käsittää joukon ensimmäisiä data-arvoja ({xj toisen kehyksen (FR2) mainittu 10 ainakin yksi muu kuvalohko (Y, Y) käsittää joukon toisia data-arvoja ({yiv·.,?*}), mainittu väline (1) yhdistetyn vertailuarvon muodostamiseksi käsittää syöttövälineen ainakin kahden osajoukon (jC(,_i)S+i,-,%, y(/-i)S+i,-,yi5) sarjan syöttämiseksi, jolloin kukin osajoukko koostuu samasta määrästä data-arvopareja mainitusta ensim-15 mäisten data-arvojen joukosta ja saman määrän vastaavia data-arvoja mainitusta toisten data-arvojen joukosta ({yi,...,y^}), välineet (2) vertailuarvojen määrittelemiseksi, joista kukin on määritelty käyttämällä mainittujen data-arvoparien yhden data-arvoparin data-arvoja, tunnettu siitä, että järjestelmä käsittää lisäksi välineet (3) 20 mainittujen vertailuarvojen laskemiseksi limittäin, käsittäen välineet (2) data-arvoparien yhden osajoukon vertailuarvojen laskennan aloittami-V: seksi sen jälkeen, kun data-arvoparien toisen osajoukon vertailuarvo- : jen laskenta on käynnistetty mutta ei saatettu loppuun. » I t
  11. 11. Patenttivaatimuksen 10 mukainen järjestelmä, tunnettu siitä, että . mainittu väline (1) yhdistetyn vertailuarvon laskennan suorittamiseksi limittäin käsittää s ryhmää (3) laskentayksiköltä, joista kukin ryhmä (3) käsittää: p laskentayksikköä (2), :.' :30 - yhden syöttövälineparin yhden data-arvoparin syöttämiseksi kerrallaan, : !·. - kanavointilaitteita (4,5), ja "··! - rekistereitä (7,8), ” jolloin mainittujen vertailuarvojen laskemiseksi limittäin mainitut s data- 35 arvoparin osajoukot on järjestetty syötettäviksi mainittujen s ryhmän (3) syöttövälineiden s pareihin, ja ryhmään (3) syötettyjen arvoparien 30 110909 joukko jakautuu ryhmän (3) mainittujen laskentayksiköiden (2) kesken ajallisesti siten, että aina seuraavan data-arvoparin vertailuarvojen laskenta on järjestetty aloitettavaksi sen jälkeen kuin edellisen data-arvoparin laskenta on käynnistetty mutta ei saatettu loppuun. 5
  12. 12. Patenttivaatimuksen 10 tai 11 mukainen järjestelmä, tunnettu siitä, että välineet (2) vertailuarvojen määrittelemiseksi käsittävät välineet arvoparin välisen erotuksen laskemiseksi.
  13. 13. Jonkin patenttivaatimuksen 10-12 mukainen järjestelmä, tunnettu siitä, että välineet (1) yhdistettyjen vertailuarvojen määrittelemiseksi käsittävät pakkausmatriisin (6).
  14. 14. Patenttivaatimuksen 13 mukainen järjestelmä, tunnettu siitä, että 15 pakkausmatriisiin (6) syötettävien vertailuarvosyötteiden lukumäärä on pienempi kuin laskentayksiköiden (2) lukumäärä.
  15. 15. Jonkin patenttivaatimuksen 10-14 mukainen järjestelmä, tunnettu siitä, että kuvalohkot koostuvat K data-arvosta, järjestelmä käsittää 20. ryhmää (3) laskentayksiköltä (2), kukin ryhmä (3) käsittää p laskenta-yksikköä (2), ja arvot s ja p on valittu siten, että K = s xp, jolloin p on ennalta määrätty kokonaisluku, joka on suurempi kuin 1.
  16. 16. Jonkin patenttivaatimuksen 10-15 mukainen järjestelmä, tunnettu 25 siitä, että mainittu väline (1) yhdistetyn vertailuarvon määrittelemiseksi .· ·. käsittää summainvälineen (12).
  17. 17. Videokoodauslaite, joka käsittää välineet (32) videosignaalin koodaamiseksi, joka videosignaali koostuu kehyksistä (FR1, FR2), jotka 30 käsittävät lohkoja (X, Y, Y1), välineet (32) videokuvan liike-estimoinnin suorittamiseksi, välineet (1) yhdistetyn vertailuarvon laskemiseksi koodattavan videokehyksen (FR1) esillä olevan kuvalohkon (X) ja toisen kehyksen (FR2) ainakin yhden muun kuvalohkon (Y, Y1) välillä, jolloin koodattavan kehyksen (FR1) mainittu esillä oleva kuvalohko (X) käsit-35 tää joukon ensimmäisiä data-arvoja ({^,.,.,χ^}), toisen kehyksen (FR2) mainittu ainakin yksi muu kuvalohko (Y, Y1) käsittää joukon toisia data-arvoja ({yi,.··,?*}), mainittu väline (1) yhdistetyn vertailuarvon 110909 31 muodostamiseksi käsittää syöttövälineen ainakin kahden osajoukon (*(ί-ΐ)ί+ι·~»*ίϊ» y(t-i)s+b-’yts) sarjan syöttämiseksi, jolloin kukin osajoukko koostuu samasta määrästä data-arvopareja mainitusta ensimmäisten data-arvojen joukosta ({jq,...,*^}) ja saman määrän vastaavia 5 data-arvoja mainitusta toisten data-arvojen joukosta käsit täen välineet (2) vertailuarvojen määrittelemiseksi, joista kukin määritellään käyttäen mainittujen data-arvoparien yhden data-arvoparin data-arvoja, tunnettu siitä, että laite käsittää lisäksi välineet (3) mainittujen vertailuarvojen laskemiseksi limittäin, käsittäen välineet (2, 10 4, 5) data-arvoparien yhden osajoukon vertailuarvojen laskennan aloittamiseksi sen jälkeen, kun data-arvoparien toisen osajoukon vertailuarvojen laskenta on käynnistetty mutta ei saatettu loppuun.
  18. 18. Patenttivaatimuksen 17 mukainen laite, tunnettu siitä, että se 15 käsittää välineet (31) matkaviestinnän suorittamiseksi. 32 110909
FI20011768A 2001-09-06 2001-09-06 Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite FI110909B (fi)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FI20011768A FI110909B (fi) 2001-09-06 2001-09-06 Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
US10/231,228 US7031389B2 (en) 2001-09-06 2002-08-27 Method for performing motion estimation in video encoding, a video encoding system and a video encoding device
JP2002260042A JP4188647B2 (ja) 2001-09-06 2002-09-05 ビデオ符号化時の動き予測の実行方法、ビデオ符号化システム、及び、ビデオ符号化装置
EP02396134A EP1315381A1 (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
US11/317,802 US7486733B2 (en) 2001-09-06 2005-12-22 Method for performing motion estimation in video encoding, a video encoding system and a video encoding device

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
FI20011768A0 FI20011768A0 (fi) 2001-09-06
FI110909B true FI110909B (fi) 2003-04-15

Family

ID=8561852

Family Applications (1)

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

Country Status (4)

Country Link
US (2) US7031389B2 (fi)
EP (1) EP1315381A1 (fi)
JP (1) JP4188647B2 (fi)
FI (1) FI110909B (fi)

Families Citing this family (16)

* 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
US7720151B2 (en) * 2003-02-11 2010-05-18 Texas Instruments Incorporated Motion estimation using early decision for goodness of estimation with quick convergence feedback
WO2005053242A2 (en) * 2003-11-19 2005-06-09 Honeywell International Inc. Port driven authentication in a tdma based network
US20050175099A1 (en) * 2004-02-06 2005-08-11 Nokia Corporation Transcoder and associated system, method and computer program product for low-complexity reduced resolution transcoding
FI117956B (fi) * 2005-04-15 2007-04-30 Timo D Haemaelaeinen Piiri ja menetelmä erojen itseisarvojen summan laskemiseksi nopeasti ja tehokkaasti
US7929599B2 (en) * 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
US8358693B2 (en) 2006-07-14 2013-01-22 Microsoft Corporation Encoding visual data with computation scheduling and allocation
US20080018788A1 (en) * 2006-07-20 2008-01-24 Samsung Electronics Co., Ltd. Methods and systems of deinterlacing using super resolution technology
US8311102B2 (en) * 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments
US8340193B2 (en) * 2006-08-04 2012-12-25 Microsoft Corporation Wyner-Ziv and wavelet video coding
US8090019B2 (en) * 2006-09-08 2012-01-03 Jiun-In Guo Intra prediction circuit device applied to the H.264 video coding standard
US7388521B2 (en) * 2006-10-02 2008-06-17 Microsoft Corporation Request bits estimation for a Wyner-Ziv codec
US8340192B2 (en) * 2007-05-25 2012-12-25 Microsoft Corporation Wyner-Ziv coding with multiple side information
US8131788B1 (en) * 2007-08-06 2012-03-06 Xilinx, Inc. Determining sum of absolute differences in parallel
KR20120090109A (ko) * 2010-12-30 2012-08-17 한국전자통신연구원 복수의 디지털 입력신호에서 최대값 또는 최소값을 획득하는 장치 및 방법
US20160148681A1 (en) * 2014-11-20 2016-05-26 Infineon Technologies Ag Parallel forming of memory cells

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0720382B1 (en) * 1994-12-30 2000-04-12 Daewoo Electronics Co., Ltd Variable size block matching motion estimation apparatus
US5987178A (en) * 1996-02-22 1999-11-16 Lucent Technologies, Inc. Apparatus and method for a programmable video motion estimator
US5719642A (en) * 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
US5652625A (en) 1996-06-19 1997-07-29 United Microelectronics Corp. Multi-stage pipeline architecture for motion estimation block matching
JP3019787B2 (ja) * 1996-09-20 2000-03-13 日本電気株式会社 動きベクトル検出装置
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
US6122320A (en) * 1997-03-14 2000-09-19 Cselt-Centro Studi E Laboratori Telecomunicazioni S.P.A. Circuit for motion estimation in digitized video sequence encoders
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
IT1309846B1 (it) 1999-04-19 2002-02-05 Consiglio Nazionale Ricerche Metodo di stima del moto in una sequenza video mediante tecnica diblock-matching con full search e architettura programmabile a bassa
KR100407691B1 (ko) * 2000-12-21 2003-12-01 한국전자통신연구원 계층탐색을 이용한 움직임 추정장치 및 방법
FI110909B (fi) * 2001-09-06 2003-04-15 Nokia Corp Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
FI110744B (fi) * 2001-09-06 2003-03-14 Nokia Corp Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite

Also Published As

Publication number Publication date
JP2003111084A (ja) 2003-04-11
US7486733B2 (en) 2009-02-03
US20060098736A1 (en) 2006-05-11
EP1315381A1 (en) 2003-05-28
US20030118103A1 (en) 2003-06-26
US7031389B2 (en) 2006-04-18
JP4188647B2 (ja) 2008-11-26
FI20011768A0 (fi) 2001-09-06

Similar Documents

Publication Publication Date Title
FI110909B (fi) Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
RU2475998C2 (ru) Многоуровневая структура кодированного битового потока
KR101220724B1 (ko) 멀티 스레드 단일 인스트럭션 복수 데이터 처리를 이용하는매체 인코딩의 병렬 실행을 위한 장치, 시스템, 방법 및제조물
US8537895B2 (en) Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
US8000388B2 (en) Parallel processing apparatus for video compression
US9872018B2 (en) Random access point (RAP) formation using intra refreshing technique in video coding
US8705630B2 (en) Adapting one type of encoder to another type of encoder
US8472527B2 (en) Hierarchical motion estimation using original frame for sub-sampled reference
EP1653744A1 (en) Non-integer pixel sharing for video encoding
US8238427B2 (en) Rate distortion optimized adaptive intra refresh for video coding
EP1829381A2 (en) Motion estimation techniques for video encoding
US9277222B2 (en) Unified fractional search and motion compensation architecture across multiple video standards
US20100027665A1 (en) Video encoder with an integrated temporal filter
RU2305377C2 (ru) Способ уменьшения искажения сжатого видеоизображения и устройство для его реализации
JP2003169349A5 (fi)
US7274825B1 (en) Image matching using pixel-depth reduction before image comparison
KR20070035958A (ko) 화상 처리 장치
FI110744B (fi) Menetelmä liike-estimoinnin suorittamiseksi videokoodauksessa, videokoodausjärjestelmä sekä videokoodauslaite
CN104219530A (zh) 基于预测模式拷贝的hevc多描述编码
US20150124879A1 (en) Intra prediction device for image
CN104956677A (zh) 组合的并行流水线视频编码器
JP4557440B2 (ja) 画像処理装置及び画像符号化装置及び画像復号装置
Lei et al. Study for distributed video coding architectures
WO2000070878A1 (en) A system and method for performing inverse quantization of a video stream
Li et al. H. 264 video encoder implementation and optimization based on DM642 DSP