FI115589B - Redundanttien kuvien koodaaminen ja dekoodaaminen - Google Patents

Redundanttien kuvien koodaaminen ja dekoodaaminen Download PDF

Info

Publication number
FI115589B
FI115589B FI20031499A FI20031499A FI115589B FI 115589 B FI115589 B FI 115589B FI 20031499 A FI20031499 A FI 20031499A FI 20031499 A FI20031499 A FI 20031499A FI 115589 B FI115589 B FI 115589B
Authority
FI
Finland
Prior art keywords
image
redundant
video data
list
video
Prior art date
Application number
FI20031499A
Other languages
English (en)
Swedish (sv)
Other versions
FI20031499A (fi
FI20031499A0 (fi
Inventor
Miska Hannuksela
Ye-Kui Wang
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 FI20031499A priority Critical patent/FI115589B/fi
Publication of FI20031499A0 publication Critical patent/FI20031499A0/fi
Priority to US10/949,005 priority patent/US20050123056A1/en
Publication of FI20031499A publication Critical patent/FI20031499A/fi
Application granted granted Critical
Publication of FI115589B publication Critical patent/FI115589B/fi

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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

115589
Redundanttien kuvien koodaaminen ja dekoodaaminen
Keksinnön ala
Keksintö liittyy videodatan koodaus- ja dekoodausmenetelmiiin, erityisesti redundantteja kuvia käsittävän videodatan osalta.
5 Keksinnön tausta
Videolähetysjärjestelmä käsittää lähettimen ja vastaanottimen. Lähetin käsittää lähdekooderin ja siirtokooderin. Lähdekooderiin syötetään kompressoimattomia kuvia ja ulostulona saadaan koodattu videovirta. Siirtokooderi kapseloi kompressoidun videon käytössä olevien siirtoprotokollien mukaisesti.
10 Vastaanotin suorittaa päinvastaiset toimenpiteet, ts. siirtodekoodauksen ja läh-dedekoodauksen rekonstruoidun videosignaalin muodostamiseksi.
Useimmissa videokoodausmenetelmissä käytetään ns. liikekom-pensoitua ajallista ennustusta, jossa videosekvenssin joidenkin (tyypillisesti useimpien) kuvakehysten sisältöä ennustetaan sekvenssin muista kehyksistä 15 jäljittämällä kuvakehysten tiettyjen objektien tai alueiden muutoksia peräkkäisten kuvakehysten välillä, ts. ennustuksessa hyödynnetään peräkkäisten kuvakehysten ajallista redundanssia.
Videosekvenssi käsittää INTRA- tai l-kehyksiä, joiden kuvainfor-:': ': maation määrittämisessä ei ole käytetty liikekompensoitua ajallista ennustusta.
: 20 Tyypillisesti videosekvenssi käsittää lisäksi INTER- tai P-kehyksiä (Predicted), , joiden kuvainformaation määrittämisessä käytetään tyypillisesti ainakin yhtä I- tai P-kehystä. Jokainen kuva kehys voidaan jakaa makrolohkoina tunnettuihin suorakaiteen muotoisiin alueisiin, jotka käsittävät alueen kaikkien pikseleiden värikomponentit (kuten Y, U, V). Makrolohkot voidaan edelleen ryhmitellä esi-’ · * 25 merkiksi viipaleiksi, jotka ovat makrolohkoryhmiä, jotka valitaan kuvan skan- nausjärjestyksessä. Videokoodausmenetelmissä ajallinen ennustus suorite-:,: : taan tyypillisesti lohko- tai makrolohkokohtaisesti, mutta hyvin harvoin kuvake- : hyskohtaisesti.
: Lähetyksen aikana useissa videolähetysjärjestelmissä tapahtuu lä- L ‘ 30 hetysvirheitä. Ennustavasta koodauksesta johtuen lähetysvirheet eivät vaikuta vain senhetkisen kuvan dekoodauksen laatuun, vaan ne etenevät myös seu-: raaviin ennustuksen perusteella koodattuihin kuviin. Ilman ajallisen virheen : etenemisen tarkkailua kuvan laatu saattaa huonontua merkittävästi tai se voi tulla täysin virheelliseksi.
115589 2
Ajallisen virheen etenemisen estävät tekniikat voidaan jakaa interaktiivisiin ja ei-interaktiivisiin menetelmiin. Interaktiiviset menetelmät viittaavat tekniikoihin, joissa vastaanottaja lähettää informaatiota virheellisesti koodatuista alueista ja/tai lähetyspaketeista lähettäjälle. Tiedonsiirtojärjestelmä käsittää 5 mekanismin palauteinformaation välittämiseksi. Esimerkiksi ITU-T:n videokon-ferenssistandardeissa H.323 ja H.324 vastaanottaja voi pyytää kokonaisen kuvan tai tiettyjen makrolohkojen intrapäivitystä käyttämällä H.245-ohjausproto-kollaa. Lähetin tyypillisesti vastaa tällaiseen pyyntöön koodaamalla pyydetyn alueen intra-moodissa seuraavan koodattavan kuvan yhteyteen. Ei-interaktiivi-10 sissa menetelmissä lähetin ja vastaanotin eivät ole vuorovaikutuksessa. Järjestelmissä, joissa palauteinformaatiota ei voida käyttää, tulee soveltaa ei-interaktiivisiin menetelmiä ajallisen virheen etenemisen estämiseksi. Ei-interak-tiiviset menetelmät käsittävät myötäsuuntaisen virheenkorjauksen (FEC, forward error correction), joka suoritetaan lähetyskoodauskerroksella, ja intrapäi-15 vityksen (joko kuva- tai makrolohkotasolla), joka suoritetaan lähdekoodaus-kerroksella.
Eräs videokoodausstandardi, joka hyödyntää liikekompensoitua ajallista ennustusta, on nimeltään H.264/AVC tai pelkkä H.264 tai JVT.
H.264/AVC on ISO/IEC:n MPEG-ryhmän (Motion Picture Experts Group) ja 20 ITU-T:n (International Telecommunications Union, Telecommunications Standardization Sector) VCEG-ryhmän (Video Coding Experts Group) tämänhetkinen JVT-projekti (Joint Video Team). Se periytyy ITU-T VCEG:n projektista H.26L.
.. H.264 pystyy hyödyntämään menetelmää nimeltään viitekuvan va- * : 25 linta. Viitekuvan valinta on koodaustekniikka, jossa liikekompensaation viite- kuva voidaan valita useiden viitekuvapuskuriin tallennettujen kuvien joukosta.
: Viitekuvan valinta H.264:ssä mahdollistaa viitekuvan valinnan makrolohkokoh- • · ' taisesti. Viitekuvan valintaa voidaan käyttää kompressiotehokkuuden ja vir-: , . heensietokyvyn parantamiseen.
’···’, 30 H.264-koodausstandardi käsittää myös teknisen piirteen nimeltä re- • * dundantti kuva. Redundantti kuva on redundantisti koodattu esitys kuvasta, ts.
\ * primäärikuvasta, tai kuvan osasta (esim. yksi tai useampia makrolohkoja). Jo- kaisella primäärikuvalla voi olla jopa 127 redundanttia kuvaa. Jokaista redun-, danttia kuvaa voidaan pitää primäärikuvan informaatiosisällön samana ajalli- . 35 sena esityksenä. Dekoodauksen jälkeen redundantin kuvan esittämä alue tuli- ' : si olla laadultaan yhtä hyvä kuin primäärikuvan esittämä vastaava alue. Re- 115589 3 dundantin kuvan tekniikkaa voidaan soveltaa lähetysvirheiden kontrolloimiseen seuraavalla tavalla: jos primäärikuvan esittämä alue kadotetaan tai se on virheellinen johtuen lähetysvirheistä, voidaan saman alueen käsittämää virheettömästi vastaanotettua redundanttia kuvaa käyttää kyseisen alueen rekonstru-5 oimiseen. Tällaista menetelmää kutsutaan redundantin kuvan suoraviivaiseksi käytöksi.
Kumpaankin yllä mainittuun menetelmään (intrapäivitys ja FEC) liittyy kuitenkin se merkittävä ongelma, että niiden avulla ei voida estää ajallisen virheen etenemistä tehokkaasti ilman, että käytetään palauteinformaatiota.
10 Kun käytetään intrapäivitystä, edellyttäen että intrakoodattu data vastaanotetaan, ajallisen virheen eteneminen pysäytetään esitetyllä alueella. Intrakoodattu data voidaan kuitenkin kadottaa, jolloin ajallisen virheen etenemisen estäminen epäonnistuu. Erityisesti jos intrapäivitys liittyy kokonaiseen kuvaan, tulee suurikokoisesta intrapäivitysdatasta haavoittuva lähetysvirheiden suhteen; tä-15 ten virheen todennäköisyys kasvaa. Myötäsuuntaisen virheenkorjauksen menetelmä (FEC) tai redundantin kuvan suoraviivainen käyttö pystyy estämään datan kadottamisen senhetkisessä kuvassa, mutta jos on olemassa aikaisemmista kuvista etenevä virhe, sitä ei voida estää mitenkään.
Edellä mainittujen menetelmien yhdistelmä pystyisi välttämään mo-20 lemmat edellä mainitut ongelmat, mutta kuten on yleisesti tunnettua, intrakoo-dauksen tuloksen muodostuu suuri määrä bittejä. Tällainen yhdistelmä monin- • · · '·* ' kehaistaisi bittimäärän, jolloin myös bittinopeus muodostuisi tarpeettoman ‘ suureksi. Myötäsuuntaisen virheenkorjauksen menetelmään (FEC) tai redun- ..li* dantin kuvan suoraviivainen käyttöön yhdistetty palauteinformaation lähetys "*25 voisi muodostaa tehokkaamman menetelmän, mutta useimmissa videolähe-tysjärjestelmissä, kuten suuren määrän vastaanottimia käsittävissä ryhmä-; (multicast) tai yleisradiolähetteissä (broadcast) palauteinformaatiota ei voida käyttää.
. Näin ollen on olemassa tarve menetelmälle, jolla estetään ajallisen 30 virheen eteneminen tehokkaasti käyttämättä palauteinformaatiota, jolloin me-
* I
netelmää voitaisiin soveltaa missä tahansa lähetysjärjestelmässä.
$ · *
Keksinnön lyhyt kuvaus
Nyt on keksitty parannettu menetelmä ja siihen liittyvä laitteistoym-[ päristö yllä mainittujen ongelmien haittojen vähentämiseksi. Keksinnön useille : 35 eri aspekteille on tunnusomaista se, mitä sanotaan itsenäisissä vaatimuksissa.
Keksinnön joitakin suoritusmuotoja esitetään epäitsenäisissä vaatimuksissa.
115589 4
Keksintö perustuu ajatukseen, että kun käytetään redundantisti koodattuja kuvia, voidaan redundantisti koodattujen kuvien ajallinen virheen leviäminen estää tehokkaasti poistamalla redundantin kuvan viitekuvalistalta käytöstä yksi tai useampia viimeisimmistä viitekuvista, jolloin kun valitaan redun-5 dantille kuvalle viitekuvaa, seuraavan redundantin kuvan pi viitekuvalistalta jätetään pois ainakin yksi edellisen redundantin kuvan p,.i ensimmäisistä viite-kuvista. Tässä yhteydessä ja läpi koko selostuksen termeillä "poistaa viitekuva käytöstä” tai "jättää viitekuva pois" viitataan prosessiin, jossa uudelleen määritellään redundantin kuvan viitekuvalistan käsittämä jokin viitekuva sellaiseksi, 10 että siihen ei voi viitata; ts. uudelleenmäärittelyn jälkeen kyseinen viitekuva on edelleen kyseisen redundantin kuvan viitekuvalistalla, mutta siihen ei voida viitata viitekuvana.
Keksinnön ensimmäisenä aspektina esitetään menetelmä videoda-tan koodaamiseksi, joka videodata käsittää ainakin yhden primäärikuvan ja ai-15 nakin yhden mainitun primäärikuvan informaatiosisältöä vastaavan redundantin kuvan, jonka viitekuvalista käsittää useita viitekuvia. Menetelmässä koodataan mainittu videodata siten, että tietty määrä viitekuvia poistetaan käytöstä mainitun ainakin yhden redundantin kuvan viitekuvalistalta, joka määrä on ainakin yksi, mutta vähemmän kuin mainitun viitekuvalistan viitekuvien kokonais-20 määrä.
Jos tällöin dekoodausjärjestyksessä viimeinen viitekuva kadotetaan *;] * eikä primäärikuvaa voida rekonstruoida oikein, voidaan oikean kuvan muodos- * tamiseen käyttää redundanttia kuvaa, joka ei viittaa viimeisimpään viitekuvaan.
» Täten ajallista virheen leviämistä viimeisimmästä viitekuvasta senhetkiseen ja 25 sitä seuraaviin kuviin voidaan vähentää tai se voidaan kokonaan pysäyttää. Li-:***: säksi etuna on se, että koska takaisinkytkentää ei tarvita, voidaan menetelmää : : soveltaa mihin tahansa videolähetysjärjestelmään. Edelleen etuna on se, että intra-makrolohkojen tai -kuvien liittämisen taajuutta voidaan pienentää, jolloin koodaustehokkuus paranee.
30 Erään suoritusmuodon mukaisesti mikä tahansa seuraava mainitun » primäärikuvan informaatiosisältöä vastaava redundantti kuva koodataan siten, j että mainitun seuraavan redundantin kuvan viitekuvalista käsittää edellisen re- : dundantin kuvan viitekuvalistan alijoukon poistamalla käytöstä ainakin yksi vii tekuva käänteisessä dekoodausjärjestyksessä. Näin mitä todennäköisimmin * 35 ainakin yhden redundantin kuvan viitekuvat on asetettu ajallisesti niin alkuun, 115589 5 että primäärikuvan dekoodauksen aiheuttava virhe ei todennäköisesti ole vielä tapahtunut kyseisissä viitekuvissa.
Erään suoritusmuodon mukaisesti viitekuvia poistetaan käytöstä mainitulta viitekuvalistalta käänteisessä dekoodausjärjestyksessä 5 Erään suoritusmuodon mukaisesti viitekuvat järjestetään uudelleen mainitulle viitekuvalistalle määrittämällä pienin koodi-indeksi ensimmäiselle tai useimmin käytetylle viitekuvalle. Pienemmän koodausindeksin käyttäminen parantaa edullisesti koodaustehokkuutta.
Erään suoritusmuodon mukaisesti, kun jokainen redundantti kuva 10 koodataan edellä kuvatun viitekuvalistan valinta- ja uudelleenjärjestelyproses-sin mukaisesti, liitetään tieto mainitusta uudelleenjärjestelyprosessista ja käytettävistä viitekuvista mainitun koodatun videodatan käsittämiin viipaleotsikoi-hin. Näin dekooderi voi helposti selvittää tämän informaation ja mainitun uu-delleenjärjestelyprosessin perusteella, mitkä viitekuvat on poistettu käytöstä 15 viitekuvalistalta ilman, että makrolohkotason dataa tarvitsee dekoodata.
Erään suoritusmuodon mukaisesti mainittu ainakin yksi primääriku-va ja mikä tahansa mainitun primäärikuvan informaatiosisältöä vastaava redundantti kuva koodataan mainittuun videodataan SP/SI-kuvana. Täten siirty-mävirheen muodostuminen voidaan edullisesti estää ja tuloksena on dekooda-20 tut kuvat, joissa ei ole epäyhtenäisyyksiä.
Keksinnön toisena aspektina esitetään menetelmä videosignaaliin ’ koodatun videodatan dekoodaamiseksi, joka videodata käsittää ainakin yhden v · primäärikuvan ja ainakin yhden mainitun primäärikuvan informaatiosisältöä vastaavan redundantin kuvan, jonka viitekuvalista käsittää useita viitekuvia. ·.*·*: 25 Menetelmässä vastaanotetaan videodataa, joka on koodattu siten, että maini- tun ainakin yhden redundantin kuvan viitekuvalista käsittää alijoukon primääri- » * kuvan viitekuvalistasta, josta on poistettu käytöstä ainakin yksi viitekuva; ja mainittu videosignaali käsittää lisäksi tiedon viitekuvien uudelleenjärjestelypro- ., sessista ja käytettävistä viitekuvista; havaitaan ainakin osa mainitusta videoda- * » ; ' 30 tästä kadonneeksi tai vahingoittuneeksi; määritetään ainakin yhden redundan- ; ’ tin kuvan käsittävästä joukosta se redundantti kuva, joka dekoodattuna parhai- ' i ten vastaa mainitun videodatan kadonnutta tai vahingoittunutta osaa; ja de- : koodataan mainitun videodatan kadonnut tai vahingoittunut osa määritettyyn . redundanttiin kuvaan perustuen käyttämällä ainakin yhtä viitekuvaa, joka kuu- 35 luu mainitun redundantin kuvan viitekuvalistaan.
115589 6 Tällöin saavutetaan se etu, että dekooderi osaa päätellä käytettävät viitekuvat ilman, että sen täytyy jäsentää ja dekoodata makrolohko-tason dataa ja siten päätellä, mitkä redundantit kuvat voidaan dekoodata oikein. Täten laskutoimitusten määrää vähennetään tunnetun tekniikan mukaiseen yritys- ja-5 erehdys-menetelmään nähden huomattavasti.
Erään suoritusmuodon mukaisesti määritetään ainakin yhden re-dundantin kuvan käsittävästä joukosta ainakin yksi kuvan osa, joka kattaa mainitun videodatan kadonneen tai vahingoittuneen osan; muodostetaan mainitun kattavuuden tarjoavalle kuvan osalle viitekuvalista; ja vasteena sille, että viite-10 kuvalistan kaikki viitekuvat on dekoodattu oikein, dekoodataan ainakin osa mainitun videodatan kadonneesta tai vahingoittuneesta osasta perustuen ainakin osaan mainitun kattavuuden tarjoavista viitekuvista.
Kuvioiden lyhyt selostus
Seuraavassa keksintöä kuvataan yksityiskohtaisemmin sen edullis-15 ten suoritusmuotojen yhteydessä viitaten oheisiin piirroksiin, joissa kuvio 1 esittää kaavakuvana H.264:n toiminnollista rakennetta; kuvio 2 esittää tunnetun tekniikan mukaisen tavan redundanttien kuvien linkittämiseksi viitekuviin; kuvio 3 esittää keksinnön erään suoritusmuodon mukaisen esimer-20 kin redundanttien kuvien linkittämiseksi viitekuviin; «· · : kuvio 4 esittää vuokaavion, joka keksinnön erään suoritusmuodon mukaisesti havainnollistaa päättelyprosessia, jossa määritetään, mitkä tietyn • i · kuvalle redundantisti koodatut viipaleet tulee dekoodata; ·«· *;*.· kuvio 5 esittää keksinnön erään edullisen suoritusmuodon mukai- 25 sen matkaviestinlaitteen lohkokaaviota; ja ’ kuvio 6 esittää erästä videokuvan välitysjärjestelmää, jossa keksin töä voidaan soveltaa.
Keksinnön yksityiskohtainen selostus .: Havainnollisuuden vuoksi keksintöä selostetaan seuraavassa käyt- : 30 täen H.264-videokoodausta esimerkkinä. Keksintöä ei kuitenkaan ole rajoitettu ’ vain H.264:ään, vaan sitä voidaan soveltaa kaikkiin videokoodausmenetelmiin, jotka tukevat redundanttikuvia. Keksintö on erityisesti sovellettavissa erilaisiin alhaisen bittinopeuden videokoodauksiin, joita käytetään tyypillisesti kaistara-, ·; joitetuissa tietoliikennejärjestelmissä ja joissa tarvitaan tehokasta ajallisen vir- 35 heen etenemisen estoa ja joissa ei tyypillisesti paluukanavaa käytössä. Näissä 115589 r järjestelmissä keksintö on sovellettavissa esimerkiksi videosovelluksen käsittävissä matkaviestimissä.
H.264-videokoodaus kuvataan keksinnön ja sen edullisten suoritusmuotojen ymmärtämisen kannalta riittäväksi tulkittavalla yksityiskohtaisuudella.
5 H.264:n toteutuksen tarkemman kuvauksen osalta viitataan dokumentteihin: ITU-T Recommendation H.264 and ISO/IEC International standard 14496-10:2003.
H.264:ssä kuvat koodataan käyttämällä luminanssi- ja kahta väri-erotus- (krominanssi) komponenttia (Y, CB ja CR). Krominanssikomponentit 10 näytteistetään molempien koordinaattiakselien suuntaisesti puolella resoluutiolla verrattuna luminanssikomponenttiin. Jokainen koodattu kuva, kuten myös vastaava koodattu bittivirta, on järjestetty neljä kerrosta käsittävään hierarki-seen rakenteeseen, jotka ovat ylhäältä alas luettuna kuvakerros, kuvaseg-menttikerros, makrolohkokerros (MB) ja lohkokerros. Kuvasegmenttikerros voi 15 olla joko lohkokerrosten ryhmä tai viipalekerros. Jokainen viipale muodostuu makrolohkoista. Yksi makrolohko käsittää 16X16 pikseliä luminanssidataa ja ajallisesti vastaavat 8X8 pikseliä krominanssidataa.
Jokaisen viipaleen käsittämä data muodostuu viipaleen otsikosta ja sitä seuraavasta makrolohkojen datasta. Viipaleet määrittävät alueita kooda-20 tun kuvan sisällä. Jokainen alue muodostuu joukosta makrolohkoja normaalissa skannausjärjestyksessä. Saman koodatun kuvan viipalerajojen yli ei ole en-: nustusriippuvuuksia. Ajallinen ennustus voi kuitenkin yleisesti ottaen ylittää vii- : palerajat. Viipaleet voidaan dekoodata itsenäisesti muusta kuvadatasta. Näin ,.;: ’ ollen viipaleet parantavat häviöllisten pakettiverkkojen virheensietokykyä.
·:··: 25 JVT/H.26L:n toiminnollista rakennetta kuvataan viitaten kuvioon 1.
·*·’: JVT/H.26L:ssä videokoodauskerros (VCL), joka muodostaa videokuvasisällön • · ,···. vahvasti kompressoidun ydinesityksen, ja verkkosovituskerros (NAL), joka pakkaa tämän esityksen välitettäväksi tietyn tyyppisen verkon kautta, ovat toiminnoiltaan erotettu toisistaan.
30 VCL:n päätehtävänä on koodata videodataa tehokkaasti. Kuten edellä on kuitenkin kerrottu, tehokkaasti koodatussa datassa virheiden merki-: tys korostuu, joten mukaan liitetään tietoa mahdollisista virheistä. VCL pystyy ‘: keskeyttämään ennustukseen perustuvan koodausketjun ja suorittamaan toi- . menpiteitä havaittujen ja etenevien virheiden poistamiseksi. Tämä voidaan to- 35 teuttaa usealla tavalla: keskeytetään ajallinen ennustusketju ottamalla mukaan : intrakehyksiä ja intramakrolohkoja; keskeytetään spatiaalinen virheiden ete- 8 11E589 neminen ottamalla mukaan viipaleita; ja ottamalla mukaan itsenäisesti dekoodattava vaihtuvanmittainen koodi, esimerkiksi ilman kehysten välillä tapahtuvaa adaptiivista aritmeettista koodausta.
VCL:n ulostulona saadaan koodattujen makrolohkojen vuo, jossa 5 jokainen makrolohko on yhtenäinen datayksikkö. Jos optionaalinen viipaleda-tan ositustoiminto on käytössä, datan osituskerros (DPL, Data Partitioning Layer) järjestää symbolit uudestaan siten, että tietyn datatyypin (esim. DC-ker-toimet, makrolohkojen otsikot, liikevektorit) kaikki yhteen viipaleeseen liittyvät symbolit kerätään samaan koodattuun bittivirtaan. Symbolit, joiden subjektiivi-10 nen ja/tai syntaktinen tärkeys dekoodauksessa on suunnilleen samaa luokkaa, ryhmitellään yhteen osaan.
NAL kykenee muokkaamaan VCL.Itä tai DPL.Itä tulevan dataformaatin välitettäväksi useiden erilaisten verkkojen kautta. NAL-rakenne voi vastaanottaa videokoodaus- ja datan osituskerroksilta joko dataosituksia tai 15 viipaleita, riippuen valitusta verkkosovitusratkaisusta. Datan ositus mahdollistaa subjektiivisesti ja syntaktisesti tärkeämmän datan lähettämisen erillään vähemmän tärkeästä datasta. Dekooderit eivät välttämättä kykene dekoodaa-maan vähemmän tärkeää dataa ilman vastaanotettua tärkeämpää dataa. Kun bittivirtaa lähetetään virhealttiin verkon kautta, voidaan käyttää erilaisia keinoja 20 tärkeämmän datan suojaamiseksi vähemmän tärkeää dataa paremmin.
NAL:n ulostulo voidaan siten syöttää erilaisiin siirtoformaatteihin.
: Videodata voidaan tallentaa tiedostomuotoon myöhempää katselua varten. Se voidaan myös kapseloida ITU-T H.223 multipleksausformaatin mukaisesti.
··* RTP-siirtoformaatin suhteen on huomioitava, että RTP-siirtovuo ei käsitä lain- • · · « ·:··: 25 kaan kuvakerrosta tai kuvien otsikkokenttiä. Perinteisesti kuva- ja jaksokerrok- :. sille kuulunut data lähetetään sen sijaan pääsääntöisesti kaistan ulkopuolisena /··, datana. Lukuisia tällaisen datan kombinaatioita voidaan lähettää ja jokaista lä hetettyä kombinaatiota kutsutaan parametrijoukoksi, joka numeroidaan. Käy-, tössä oleva parametrijoukko identifioidaan sen jälkeen lähetetyssä viipaleen / 30 otsikkokentässä.
>
Kuten yllä on todettu, H.264 tukee viitekuvan valintaa. H.264-kooda- ! usstandardissa jokaiselle ennustettavalla kuvalla voi olla useita viitekuvia. Nä- > ; mä viitekuvat järjestetään kahteen viitekuvalistaan, joita kutsutaan nimillä
RefPicListO ja RefPicListl. Kummallakin viitekuvalistalla on alkuperäisjärjestys, 35 jota voidaan muuttaa viitekuvalistan uudelleenjärjestelyprosessilla. Oletetaan i esimerkiksi, että viitekuvalistan RefPicListO alkuperäisjärjestys on r0, r-ι, r2, ....
115589 g
Tm, ja koodi 0 kuvaa ro:aa, koodi 1 kuvaa rvtä jne. Jos kooderi tietää, että n:tä käytetään useammin kuin ro'.aa, voi se silloin järjestää listan uudelleen vaihtamalla r0:n ja n:n paikkaa siten, että koodi 1 kuvaa r0:aa ja koodi 0 kuvaa r^tä. Koska koodi 0 on koodipituudeltaan lyhyempi kuin koodi 1, saadaan aikaan 5 parantunut koodaustehokkuus. Viitekuvalistan uudelleenjärjestelyprosessi tulee signaloida bittivirran mukana (esimerkiksi viipaleotsikoissa), jotta dekooderi osaa päätellä oikean viitekuvan jokaisesta viitekuvalistan järjestyksestä.
H.264-koodausstandardin sekvenssiparametrijoukko käsittää syn-taksielementin num_ref_frames, jonka arvo kertoo maksimiarvot lyhytaikaisten 10 ja pitkäaikaisten viitekehysten, komplementaaristen viitekenttäparien ja parittomien viitekenttien lukumäärälle, joita kaikkia käytetään dekoodausprosessissa minkä tahansa sekvenssin käsittämän kuvan inter-ennustukseen.
Kuvaparametrijoukko käsittää syntaksielementin num_ref_idxJ0_active_minus1, jonka arvo määrittää maksimiviiteindeksin 15 RefPicListO.He. RefPicListO.aa ja mainittua maksimiviiteindeksiä käytetään kuvan jokaisen viipaleen dekoodaamisessa edellyttäen, että viipaleen num_ref_idx_active_ovenide_flag on 0. Viitekuvalistalle 1 on olemassa vastaavanlainen parametri. Jos koodattujen kenttien käyttö on sallittu, maksimivii-teindeksi johdetaan num_ref_idx_IO_active_minus1 :n arvosta.
20 Num_ref_idx_active_ovenide_flag on liitetty viipaleen otsikkoon.
Jos lipun arvo on 1, viitatussa kuvaparametrijoukossa määritetyt • · · ’·.*· : num_refJdx_IO_activejminus1:n ja num_jef_idxJ1_active_minus 1 :n arvot syrjäytetään viipaleotsikoissa määritetyillä arvoilla.
··· Kooderi asettaa maksimiviiteindeksin siten, että viitekuvia on tarjolla • ♦ «> » 25 ainakin vastaavan viitekuvalistan otsikossa osoitettu määrä. Maksimiviiteindek- k · si osoittaa, kuinka moneen viitekuvaan voidaan viitata (aktiiviset viitekuvat), joi- » * loin listalla myöhemmin oleviin (aktiivisten viitekuvien jälkeisiin) viitekuviin ei voida viitata. Jos viitekuvalistan maksimiviiteindeksi on 0, viitekuvien viitein-deksiä ei signaloida liikevektoreille. H.264-koodausstandardi käsittää kaksi en-; 30 tropiakoodauksen moodia: moodi 0 perustuu exp-Golomb-koodeihin ja ns.
CAVLCieen ja moodi 1 perustuu ns. kontekstisovitettuun entropiakoodauk-,* seen (CABAC). H.264-koodausstandardissa määritetään, että jos käytetään . entropiakoodausmoodia 0, maksimiviiteindeksi määrittää kullekin makrolohkol- le tai ali-makrolohkolle käytettävän viiteindeksin koodausmenetelmän. Jos 35 maksimiviiteindeksi on 1, käytetään yhtä bittiä signaloimaan, kumpaa kahdesta viitekuvasta käytetään. Jos maksimiviiteindeksi on suurempi kuin 1, käyte- 115589 ίο tään exp-Golomb-koodia signaloimaan käytettävä viitekuva (tarkempien yksityiskohtien osalta kts. H.264-koodausstandardin kappale 9.1).
Jos koodatulle viipaleelle tai kuvalle käytetään vain yhtä viitekuvaa, on kompressiotehokkuuden kannalta edullista asettaa maksimiviiteindeksin ar-5 voksi 0. Jos koodatulle viipaleelle tai kuvalle käytetään kahta viitekuvaa ja samalla käytetään entropiakoodausmoodia 0, on kompressiotehokkuuden kannalta edullista asettaa maksimiviiteindeksin arvoksi 1. Muussa tapauksessa maksimiviiteindeksin arvolla ei käytännössä ole vaikutusta kompressiotehok-kuuteen.
10 H.264-koodausstandardin tukee myös redundanttien kuvien käyt töä. Redundantti kuva on redundantisti koodattu esitys kuvasta, ts. primääriku-vasta, tai kuvan osasta (esim. yksi tai useampia makrolohkoja). Jotta kuva voidaan suojata lähetysvirheiltä, voidaan sille koodata useita redundantteja kuvia, jotka vastaavat primäärisesti koodattua esitystä (ts. primäärikuvaa). Primääri-15 kuvan redundanttien kuvien lukumäärä voidaan asettaa arvioidun tai tunnetun virhesuhteen mukaan; mitä suurempi virhesuhde, sitä suurempi tulee lukumäärän olla.
Kuviossa 2 havainnollistetaan tyypillistä tapaa redundanttien kuvien linkittämiseksi viitekuviin. Primääri- ja redundanttien kuvien lista käsittää pri-20 määrikuvan po ja kolme primäärikuvalle po koodattua redundanttia kuvaa pi, P2, P3- Viitekuvalista käsittää käänteisessä dekoodausjärjestyksessä neljä vii-; tekuvaa r0, η, Γ2, ra. Kaikki redundantit kuvat pi, P2, P3 viittaavat samoihin viite- :T: kuviin kuin primäärikuva; ts. jokaisen redundantin kuvan pi, p2, P3 viitekuvalista *·· käsittää kaikki neljä viitekuvaa ro, ri, Γ2, Γ3.
25 Jos primäärikuvan po dekoodaus ei onnistu, tulee dekooderin de- koodata jokin redundanteista kuvista pi, P2, Ρ3 dekoodatun primäärikuvan p0 t » ‘puuttuvien tai virheellisten alueiden korvaamiseksi. Tyypillisimmin primäärikuvan po dekoodausvirheen aiheuttaa se, että viimeisin viitekuva ro puuttuu tai sitä ei voida dekoodata. Tällöin dekooderin tulee valita jokin virheettömästi vas-30 taanotetuista redundanteista kuvista, joiden viitekuvat on dekoodattu virheettömästi. Koska käytettävistä viitekuvista ei saada tietoa ilman, että makro-lohkotason data jäsennetään ja dekoodataan, suoritetaan sopivan redundantin . kuvan valintaprosessi tyypillisesti yrityksen ja erehdyksen kautta; ts. yritetään dekoodata jokin redundanteista kuvista ja jos dekoodaus epäonnistuu johtuen 35 puuttuvasta tai virheellisesti dekoodatusta viitekuvasta, yritetään dekoodata seuraava redundantti kuva jne. Tällainen prosessi aiheuttaa turhia laskutoimi- 115589 11 tuksia dekooderissa. Lisäksi saattaa olla, ettei sopivaa redundanttia kuvaa ole edes olemassa.
Keksinnön erään aspektin mukaisesti ajallisen virheen eteneminen redundantisti koodattujen kuvien yhteydessä estetään tehokkaasti siten, että 5 yksi tai useampia viimeisimpiä viitekuvia poistetaan käytöstä redundantin kuvan viitekuvalistalta, jolloin valittaessa viitekuvia redundantin kuvan viitekuva-listalle, ainakin primäärikuvan p0 viimeisin viitekuva on poistettu käytöstä ainakin yhden redundantin kuvan p, viitekuvalistalta.
Jos tällöin dekoodausjärjestyksessä viimeinen viitekuva kadotetaan 10 eikä primäärikuvaa voida rekonstruoida oikein, voidaan oikean kuvan muodostamiseen käyttää redundanttia kuvaa, joka ei viittaa viimeisimpään viitekuvaan. Täten ajallista virheen leviämistä viimeisimmästä viitekuvasta senhetkiseen ja sitä seuraaviin kuviin voidaan vähentää tai se voidaan kokonaan pysäyttää.
Redundantin kuvan viitekuvalistalta poistettavaksi asetettavien vii-15 tekuvien lukumäärä riippuu lähetysvirheolosuhteista. Esimerkiksi N:n peräkkäisen viitekuvan puuttumisesta aiheutuva ajallisen virheen etenemisen estäminen edellyttää sellaisen redundantin kuvan käyttöä, jonka viitekuvalistalta on poistettu käytöstä N viimeistä viitekuvaa. Lukumäärää rajoittavat seuraavat ehdot: kyseessä olevalta viitekuvalistalta tulee poistaa käytöstä vähintään yksi 20 viitekuva (ts. dekoodausjärjestyksessä viimeisin, r0), mutta vähemmän kuin vii-tekuvien kokonaismäärä listalla. Jos käytetään esimerkiksi neljää viitekuvaa ro, • f · v * Γι, Γ2, r3, voidaan silloin korkeintaan kolme näistä poistaa käytöstä. Tilanteesta riippuen, useimmissa tapauksissa käytöstä poistettavien viitekuvien lukumäärä • · · vaihtelee edullisesti välillä 1-5, mutta se voi olla myös enemmänkin.
• · t I
.,..: 25 Erään suoritusmuodon mukaisesti redundantin kuvan viitekuvat väli- * * :v, taan seuraavasti: Oletetaan, että primääri- ja redundanttien kuvien lista käsit- » * tää kuvat p0, pi, P2, ···, Pn, joista p0on primäärikuva ja pj on i:s redundantti ku- » * “* va. Edellä mainittujen rajoitteiden mukaisesti ainakin yhden redundantin kuvan
Pi (i>1) tulee käyttää alijoukkoa niistä viitekuvista, joihin primäärikuva Po viittaa, t ♦ : 30 jolloin käytöstä poistetaan yksi tai useampia viitekuvia dekoodausjärjestykses- sä. Jos esimerkiksi tarjolla oleva viitekuvalista käsittää käänteisessä dekoo-dausjärjestyksessä ro, n, Γ2, ..., rm, silloin primäärikuva voi käyttää näitä kaikkia *« viitekuvinaan. Tällöin on kuitenkin oltava ainakin yksi redundantti kuva, sano kaamme esimerkiksi toinen redundantti kuva p2, joka ei voi käyttää ensimmäi-35 siä ni:tä (ni>0) viitekuvaa. Kaikki muut redundantit kuvat voidaan koodata viit- :; taamaan mihin tahansa viitekuviin. Tällöin joka tapauksessa on olemassa ai- 115589 12 nakin yksi redundantti kuva (p2), jonka viitekuvalistalta on poistettu käytöstä ainakin dekoodausjärjestyksessä viimeisin viitekuva, jolloin tätä kyseistä re-dundanttia kuvaa (p2) voidaan käyttää senhetkisen kuvan konstruoimiseen.
Erään toisen suoritusmuodon mukaisesti redundantin kuvan viiteku-5 vat voidaan valita myös seuraavasti: Oletetaan jälleen, että primääri- ja redun-danttien kuvien lista käsittää kuvat po, pi, p2, ·, Pn, joista p0on primäärikuva ja Pi on i:s redundantti kuva. Nyt minkä tahansa redundanteista kuvista pi (i>1) tulee käyttää alijoukkoa niistä viitekuvista, joihin edellinen redundantti kuva Pm viittaa, jolloin käytöstä poistetaan yksi tai useampia viitekuvia dekoodausjärjes-10 tyksessä. Jos esimerkiksi tarjolla oleva viitekuvalista käsittää käänteisessä dekoodausjärjestyksessä ro, n, r2, ..., rm, silloin primäärikuva voi käyttää näitä kaikkia viitekuvinaan, ensimmäinen redundantti kuva ei voi käyttää ensimmäisiä niitä (ni>0) viitekuvaa, toinen redundantti kuva ei voi käyttää ensimmäisiä n2:tä (n2> m) viitekuvaa jne. Näin ollen voidaan olla varmoja, että useimmissa 15 tilanteissa ainakin yhden redundantin kuvan viitekuvat on asetettu ajallisesti niin aikaiseksi, että primäärikuvan dekoodauksen epäonnistumisen aiheuttava virhe ei ole todennäköisesti tapahtunut kyseisissä viitekuvissa. Tällöin kyseistä redundanttia kuvaa voidaan käyttää senhetkisen kuvan konstruoimiseen.
On kuitenkin huomattava, että jos viitekuvalistalta poistetaan useita 20 viitekuvia, ei näiden välttämättä tarvitse olla käänteisessä dekoodausjärjestyksessä. Jos esimerkiksi viitekuvalista käsittää käänteisessä dekoodausjärjes-’ tyksessä kuvat ro, n, r2, Γ3, on tällöin viitekuvien ro ja Γ3 poistaminen käytöstä : riittävä ennakkoehto viitekuvasta ro lähtevän virheen etenemisen pysäyttämi- ...Y seksi.
25 Erään suoritusmuodon mukaisesti viitekuvalistan uudelleenjärjestely: lyprosessi suoritetaan jokaiselle viitekuvalistalle siten, että - muodostuvan viitekuvalistan alkupää käsittää käytettävät viiteku- I < ( vat ja muodostuvan viitekuvalistan loppupää käsittää käyttämättömät viiteku-: vat; ja ’ ·. ’ 30 - aktiivisten viitekuvien lukumäärä (vastaa maksimiviiteindeksiä, jo- ka on määritelty syntaksielementeillä num_ref_idx_IO_active_minus 1 ja num_ref_idxJ1_active_minus1 kuvaparametrijoukossa tai viipaleotsikossa) vastaa käytettyjen viitekuvien lukumäärää. On huomattava, että näin tehdään ’,: siitä riippumatta, onko tällä mitään vaikutusta tai jopa hieman heikentävä vai- , . 35 kutus (viipaleotsikon ylimääräisestä signaloinnista johtuen) kompressiotehok- ' : kuuteen.
115589 13
Erään suoritusmuodon mukaisesti viitekuvalistan uudelleenjärjeste-lyprosessi voidaan suorittaa seuraavasti: Jos ensimmäisiä n^tä viitekuva ei tule käyttää, silloin nämä viitekuvat poistetaan käytöstä viitekuvalistalta. Jos esimerkiksi tietylle redundantille kuvalle ei tule käyttää ensimmäistä kahta viiteku-5 vaa, järjestetään viitekuvalista uudelleen siten, että koodi 0 kuvaa r2:ta, koodi 1 kuvaa r3:a, jne. Lisäksi aktiivisten viitekuvien lukumäärä (vastaa maksimiviite-indeksiä, joka on määritetty kuvaparametrijoukon tai viipaleotsikon num_ref_idx_IO_active_minus1 ja num_ref_idx_l1_active_minus 1 syntaksiele-menteissä) vastaa niiden listalla olevien viitekuvien lukumäärä, joita voidaan 10 käyttää inter-ennustukseen. Näin dekooderi pystyy edullisesti päättelemään, mitkä viitekuvat ovat käytössä ja mitkä eivät ilman, että makrotason data tulee jäsentää dekoodata. Lisäksi viitekuvien uudelleenjärjestely parantaa koodaus-tehokkuutta soveltamalla lyhyempiä koodeja.
Edellä kuvattu suoritusmuotoja havainnollistetaan edelleen kuvion 3 15 kuvaamassa esimerkissä. Primääri- ja redundanttien kuvien lista käsittää pri-määrikuvan p0ja kyseiselle primäärikuvalle koodatut kolme redundanttia kuvaa Pi, p2 ja P3. Viitekuvalista käsittää käänteisessä dekoodausjärjestyksessä viisi viitekuvaa ro, n, r2, r3, r4. Primäärikuva po käyttää kaikkia viitekuvia, näin ollen sen viitekuvalista käsittää viitekuvat r0l n, r2, r3l r4. Keksinnön erään aspektin 20 mukaisesti, jos olemassa olevien tai odotettujen virheolosuhteiden perusteella arvioidaan, että on mahdollista kadottaa kaksi peräkkäistä viitekuvaa ja pv.tä • · * ';] * on tarkoitus käyttää tällaisen virheen etenemisen pysäyttämiseen, silloin tulee *·* ‘ pi:n viitekuvalistan käytöstä poistaa kaksi ensimmäistä viitekuvaa käänteisesti: ’ sä dekoodausjärjestyksessä. Täten ensimmäisen redundantin kuvan pi viite- *‘ ί 25 kuvalista käsittää viitekuvat r2, r3, r4. Tämän jälkeen viitekuvien uudelleenjär- jestelyprosessi voidaan suorittaa ensimmäisen redundantin kuvan pi viitekuva-listalle siten, että koodi 0 kuvaa r2:ta, koodi 1 kuvaa r3:a ja koodi 2 kuvaa r4:ää. On kuitenkin mahdollista, että koodi 0 kuvaa r3:a, ja koodi 1 kuvaa r2:ta, jos : r3:a käytetään useammin kuin r2:ta. Ensimmäisen redundantin kuvan pi viite- V 30 kuvalistan alkupää käsittää aktiiviset viitekuvat r2, r3, r4 ja viitekuvalistan loppu pää käsittää ei-aktiiviset viitekuvat r0, r-i.
: ·: Tässä esimerkissä seuraaville redundanteille kuville sovelletaan sääntöä, jonka mukaan minkä tahansa redundanteista kuvista p, (i>1) tulee käyttää alijoukkoa niistä viitekuvista, joihin edellinen redundantti kuva pm viit-35 taa. Tällöin toisen redundantin kuvan p2 viitekuvalista voi käsittää ainoastaan : alijoukon ensimmäisen redundantin kuvan pi viitekuvalistasta siten, että aina- 115589 14 kin ensimmäinen viitekuva r2 on poistettu käytöstä. Näin ollen tässä tapauksessa toisen redundantin kuvan p2 viitekuvalista käsittää viitekuvat Γ3, r4. Jälleen viitekuvien uudelleenjärjestelyprosessi suoritetaan toisen redundantin kuvan p2 viitekuvalistalle siten, että koodi 0 kuvaa r3:a ja koodi 1 kuvaa r4:ää. On 5 kuitenkin mahdollista, että koodi 0 kuvaa r4:ää ja koodi 1 kuvaa r3:a, jos r4:ää käytetään useammin kuin r3:a.
Samoja sääntöjä sovelletaan kolmannelle redundantille kuvalle p3, jonka seurauksena viitekuvalista käsittää ainoastaan viitekuvan r4, jolle määritetään koodi 0.
10 Erään toisen suoritusmuodon mukaisesti primäärikuva ja ainakin yk si mainittuun primäärikuvaan liittyvä redundantti kuva koodataan SP/SI-kuviksi. SP/SI-kuva koodataan siten, että toisella SP/SI-kuvalla, joka käyttää eri viite-kuvia, voi olla täsmälleen sama rekonstruoitu kuva. SP/SI-kuvia voidaan käyttää bittivirran vaihtoon, bittivirtojen limittämiseen, hajasaantikohtien luomiseen, 15 pikakelaukseen eteen- ja taaksepäin ja virhetilanteesta palautumiseen. SP-kehykset ovat muuten samanlaisia kuin tavalliset aiemmista kehyksistä ennustetut P-kehykset, paitsi että ne on määritelty korvattaviksi toisella SP- tai Sl-tyypin kehyksellä, jonka toisen kehyksen dekoodaus muodostaa identtisen kehyksen videovirrassa alun perin olleen kehyksen kanssa. Oletetaan esimerkik-20 si, että käytetään kahta eri bittinopeudella olevaa videovirtaa, vs1 ja vs2, jotka ... molemmat tulevat samasta kompressoimattomasta videosekvenssistä. Video- ♦ · * * virtaan vs1 koodataan SP-kuva (s1) ja toinen SP-kuva (s2) koodataan samaan ’ kohtaan toiseen videovirtaan vs2. Videovirtaan vs1 koodataan ylimääräinen SP-kuva (s12), jonka rekonstruoitu kuva on täsmälleen sama kuin s2:lla. s12 ’·“· 25 ja s2 käyttävät eri viitekuvia (vs1:stä ja vastaavasti vs2:sta). Tällöin vaihto vs1:stä vs2:een voidaan suorittaa lähettämällä vaihtokohdassa s1:n sijasta * s12. Koska s12:lla on sama rekonstruoitu kuva kuin s2:lla, ovat vaihdon jälkei set rekonstruoidut kuvat virheettömiä.
*. SP/SI-kehysten käyttäminen redundanttien kuvien yhteydessä saa 30 aikaan sen edun, että ajautumisvirhe voidaan pysäyttää. Redundantin kuvan » dekoodauksen tuloksena voi muodostua vastaavasta primäärikuvasta poik-i keava rekonstruktio. Jos tällaista virheellisesti dekoodattua redundanttia kuvaa ’: käytetään senhetkisen kuvan rekonstruoimiseen ja myöhemmin tulevien kuvi- en viitekuvana, muodostuu virheellisen viitekuvan ja virheettömän viitekuvan 35 tapausten välille epätarkkuus, joka dekoodauksen edetessä kulkeutuu muka-: na. Tällaista epätarkkuutta kutsutaan ajautumisvirheeksi. Ajautumisvirhe voi- 115589 15 daan pysäyttää siten, että koodataan tietyin väliajoin primäärikuva ja siihen liittyvät redundantit kuvat SP/SI-kuviksi, jolloin niiden pohjalta saadaan täsmälleen sama rekonstruktio. Tällöin jos joko primäärikuva tai jokin sen redundan-teista kuvista saadaan rekonstroitua oikein, ei senhetkiseen kuvaan muodostu 5 epätarkkuuksia ja ajautumisvirhe saadaan pysäytettyä.
Edellä on kuvattu virhesietoinen videokoodausmenetelmä, jossa käytetään redundantteja kuvia. Täsmällisemmin sanottuna tämä suoritetaan videokooderissa, joka voi olla jokin sinänsä tunnettu videokooderi. Käytettävä videokooderi voi olla esimerkiksi H.264 standardisuosituksen mukainen video-10 kooderi, joka keksinnön mukaisesti on järjestetty koodaamaan mainittu video-data siten, että tietty määrä viitekuvia poistetaan käytöstä mainitun ainakin yhden redundantin kuvan viitekuvalistalta, joka määrä on ainakin yksi, mutta vähemmän kuin mainitun viitekuvalistan viitekuvien kokonaismäärä.
Keksinnön erään toisen aspektin mukaisesti esitetään menetelmä 15 sen päättelemiseksi, mikä primäärikuvalle koodatuista monista redundanteista kuvista tai sen osista tulisi dekoodata, mikäli primäärikuvan dekoodaus epäonnistuu. Menetelmä perustuu keksinnön ensimmäisen aspektin mukaisesti koodatun videosekvenssin analysointiin, jossa videosignaalin mukana signaloi-daan tieto käytettävien tai aktiivisten viitekuvien lukumäärästä ja viitekuvien 20 uudelleenjärjestelyprosessista. Tällöin saavutetaan se etu, että dekooderi osaa päätellä käytettävät viitekuvat ilman, että sen täytyy jäsentää ja dekooda- • · · ta makrolohko-tason dataa ja siten päätellä, mitkä redundantit kuvat voidaan ' dekoodata oikein.
Dekoodattaessa jokaista kuvaa saattaa muodostua tilanne, jossa 25 primäärikuvaa ei pystytä rekonstruoimaan oikein. Tämä voi johtua esimerkiksi primäärikuvan osan (esim. yhden tai useamman viipaleen) katoamisesta tai : jonkin primäärikuvan käyttämän viitekuvan rekonstruoimisen epäonnistumises ta. Kuten edellä on mainittu, ajallinen ennustus suoritetaan tyypillisesti makro-; lohkotasolla, jotka makrolohkot on ryhmitelty viipaleiksi, jolloin kullakin viipa- ^ ‘ 30 leella voi olla oma viitekuvalistansa.
Kuvio 4 esittää vuokaavion, joka havainnollistaa erästä suoritus- muotoa päättelyprosessista, jossa päätellään, mikä tietylle kuvalle redundan- : tisti koodatuista viipaleista tulisi dekoodata. Lähtökohtana (400) on tilanne, jos- ,: sa primäärikuvaa ei pystytä rekonstruoimaan oikein, vaan kuvaan jää puuttuva . 35 tai virheellinen alue. Bittivirheellisesti koodatut viipaleet oletetaan hylätyiksi en- : nen niiden syöttämistä dekooderiin, jolloin redundanteissa viipaleissa ei ole 115589 16 bittivirheitä. Prosessi aloitetaan järjestämällä yksittäisten redundanttien kuvien (ts. niiden joilla on sama arvo redundantjpicjcnt) viipaleet siten, että niiden ensimmäiset makrolohko-osoitteet (first_mb_in_slice syntaksielementti) ovat laskevassa järjestyksessä (402).
5 Sen jälkeen tutkitaan kuvan ensimmäinen redundantti viipale. Aluksi tutkitaan, kattaako redundantin viipaleen koko viipaleryhmä puuttuvan tai virheellisen alueen kuvasta (404). Jos ei, tätä redundanttia viipaletta ei dekoodata (406). Sen jälkeen tutkitaan, sijaitseeko viipaleen ensimmäinen makrolohko kuvan puuttuvan tai virheellisen alueen viimeisen makrolohkon jälkeen rasteri-10 kuvausjärjestyksessä (408). Jos sijaitsee, tätä redundanttia viipaletta ei dekoodata (406). Lopuksi tutkitaan, sijaitseeko saman viipaleryhmän seuraavan viipaleen ensimmäinen makrolohko ennen kuvan puuttuvan tai virheellisen alueen ensimmäistä makrolohkoa rasterikuvausjärjestyksessä (410). Taas mikäli sijaitsee, tätä redundanttia viipaletta ei dekoodata (406) 15 Jos edellä huomataan, että viipaletta voidaan käyttää kuvan puuttu van tai virheellisen alueen rekonstruoimiseen, muodostetaan (412) viipaleelle viitekuvalista (RefPicListO). Jos jokin mainitun viipaleen aktiivisista viitekuvista puuttuu tai on virheellisesti dekoodattu (414), ei kyseistä redundanttia viipaletta dekoodata, vaan se siirretään (loogisesti) toissijaiselle redundantisti koodat-20 tujen viipaleiden listalle (416).
Jos yksikään viitekuvalistalla (RefPicListO) olevista aktiivisista viite-kuvista ei puutu tai ei ole virheellisesti dekoodattu, dekoodataan tämä redun-• : dantti viipale (418). Kaikki aiemmin virheellisesti dekoodatut makrolohkot liite- !* tään korjattuna dekoodattuun kuvaan, joka syötetään ulostuloon myöhemmin.
i 25 Tämän jälkeen tarkistetaan, onko koko kuva-alue virheettömästi dekoodattu : **: (420), mihin vasteena prosessi lopetetaan (422); jos taas ei, tarkistetaan onko kuvalle jäljellä yhtään redundantisti koodattua viipaletta (424), jolloin seuraavan viipaleen tutkiminen (426) alkaa alusta (404). Edellä kuvattua prosessia ; jatketaan niin kauan kunnes onko koko kuva-alue on virheettömästi dekoodat- » · · *!!, * 30 tu tai kuvalle ei ole jäljellä yhtään redundantisti koodattua viipaletta.
* ·: · ’ Jos kuitenkin havaitaan, että koko kuva-aluetta ei ole virheettömästi .' j dekoodattu, mutta toissijaisella redundantisti koodattujen viipaleiden listalla on ‘ ainakin yksi redundantti viipale (428), otetaan mainitulta listalta ensimmäinen . viipale (430) ja dekoodataan se (418). Tämä prosessi suoritetaan kaikille tois- 35 sijaisella redundantisti koodattujen viipaleiden listalla oleville viipaleille. Tämä : tehdään edullisesti siksi, että jokin viitekuvan alueista eivät virheellisiä ja näin 115589 17 ollen mahdollista saada aikaan vähemmillä virheillä muodostuvia makrolohko-ja dekoodaamalla toissijaisella listalla olevia viipaleita. Oikein rekonstroituva alue on voinut kasvaa sen jälkeen, kun tietty viipale on liitetty toissijaiselle re-dundantisti koodattujen viipaleiden listalle. Jonkin toisen redundantin viipaleen 5 dekoodaaminen myöhemmässä vaiheessa on saattanut tehdä toissijaiselle redundantisti koodattujen viipaleiden listalle liitetyn viipaleen tarpeettomaksi.
Jos kuitenkin huomataan, että koko kuva-aluetta ei ole virheettömästi dekoodattu, voidaan virheelliset makrolohkot piilottaa (432). Tämä on erityisen tärkeää sellaisille makrolohkoille, joita ei ole lainkaan vastaanotettu.
10 Edellä kuvattua prosessia on havainnollistettu jollakin termeillä ja määritteillä, jotka on määritelty erityisesti H.264-koodausstandardin yhteydessä. Esimerkiksi kun käytetään redundantteja kuvia, ne asetetaan laskevaan järjestykseen H.264-spesifisen arvon redundantjpic_cnt mukaisesti. Arvoa redundant_pic_cnt käytetään yhdistämään jokin viipale tiettyyn redundanttiin 15 kuvaan ja löytämään redundantin kuvan aloituskohta videosekvenssissä. Toteutusta ei kuitenkaan rajoiteta pelkästään H.264:ään, vaan keksinnöllinen konsepti voidaan yleistää mihin tahansa videosekvenssien dekoodausproses-siin, jossa käytetään redundantteja kuvia.
Edellä kuvattu menetelmä sen päättelemiseksi, mikä redundantti 20 kuva tulisi dekoodata, tarjoaa useita etuja. Jos esimerkiksi dekoodausjärjestyk-sessä viimeinen viitekuva kadotetaan, ei primäärikuvaa tyypillisesti voida re- * konstruoida oikein. Tällöin voidaan oikean kuvan muodostamiseen käyttää re- : dundanttia kuvaa, joka ei viittaa viimeisimpään viitekuvaan. Täten ajallista vir- heen etenemistä viimeisimmästä viitekuvasta senhetkiseen ja sitä seuraaviin *: ‘; 25 kuviin voidaan vähentää tai se voidaan kokonaan pysäyttää. Lisäksi verrattuna tunnetun tekniikan mukaiseen yritys-ja-erehdys-menetelmään määritettäessä • * . ·; dekoodattavia redundantteja kuvia, saavutetaan huomattava vähennys de- kooderin suorittamien laskutoimitusten määrässä.
• ·, Dekoodausprosessi suoritetaan todellisuudessa videodekooderissa,
I
. 30 joka voi olla jokin sinänsä tunnettu videodekooderi. Käytettävä videodekooderi voi olla esimerkiksi H.264-standardisuosituksen mukainen alhaisen bittinopeu- • den videokooderi, joka keksinnön mukaisesti on järjestetty vastaanottamaan videodataa, joka on koodattu siten, että mainitun ainakin yhden redundantin . kuvan viitekuvalista käsittää alijoukon primäärikuvan viitekuvalistasta, josta on 35 poistettu käytöstä ainakin yksi viitekuva; ja mainittu videosignaali käsittää li- : säksi tiedon viitekuvien uudelleenjärjestelyprosessista ja käytettävistä viite- 115589 18 kuvista; havaitsemaan ainakin osa mainitusta videodatasta kadonneeksi tai vahingoittuneeksi; määrittämään ainakin yhden redundantin kuvan käsittävästä joukosta se redundantti kuva, joka dekoodattuna parhaiten vastaa mainitun videodatan kadonnutta tai vahingoittunutta osaa; ja dekoodaamaan mainitun 5 videodatan kadonnut tai vahingoittunut osa määritettyyn redundanttiin kuvaan perustuen käyttämällä ainakin yhtä viitekuvaa, joka kuuluu mainitun redundantin kuvan viitekuvalistaan.
Sekä videokooderi että videodekooderi voidaan toteuttaa myös siten, että ne sijaitsevat erillisessä yksikössä, kuten päätelaitteen alayksikössä 10 tai moduulissa, jolloin videokooderin tai videodekooderin toiminnallisuudet voidaan toteuttaa päätelaitteessa, kuten matkaviestimessä, liittämällä tämä erillinen yksikkö päätelaitekokoonpanoon. Yksikkö voi olla päätelaitteen itsenäisen, erotettavissa oleva osa tai se voi olla päätelaitteeseen integroitu kiinteä osa.
15 Videopohjaisen tietoliikennejärjestelmän eri osat, erityisesti pääte laitteet, voivat käsittää ominaisuuksia, jotka mahdollistavat multimediatiedosto-jen kaksisuuntaisen siirron, ts. tiedostojen siirron ja vastaanottamisen. Tällöin kooderi ja dekooderi voidaan toteuttaa videokoodekkina, joka käsittää sekä kooderin että dekooderin toiminnallisuudet.
20 On huomattava, että edellä mainituissa videokooderissa, videode- kooderissa ja päätelaitteessa keksinnön toiminnalliset osat voidaan edullisesti ‘ toteuttaa ohjelmistona, laitteistoratkaisuna tai näiden yhdistelmänä. Keksinnön v : mukaiset koodaus- ja dekoodausmenetelmät sopivat erityisen hyvin toteutet- * .,;: ‘ tavaksi tietokoneohjelmina, jotka käsittävät tietokoneella luettavia käskyjä kek- :··: 25 sinnön toiminnallisten askelten suorittamiseksi. Kooderi ja dekooderi voidaan edullisesti toteuttaa tietokoneohjelmakoodina, joka on tallennettu tallennusvä- » · lineelle ja jota voidaan suorittaa tietokoneen kaltaisella laitteella, kuten henkilökohtaisella tietokoneella (PC) tai matkaviestimellä, koodaus/ dekoodaustoi-• mintojen aikaansaamiseksi mainitussa laitteessa.
I I
30 Kuvio 5 esittää keksinnön edullisen suoritusmuodon mukaisen mat- kaviestinlaitteen MS lohkokaaviota. Matkaviestinlaitteessa keskusohjausyksik-• kö MCU ohjaa lohkoja, jotka vastaavat matkaviestinlaitteen useista toiminnois- ta: luku-kirjoitusmuistia RAM, radiotaajuusosia RF, lukumuistia ROM, video- . koodekkia CODEC ja käyttöliittymää UI. Käyttöliittymä käsittää näppäimistön 35 KB, näytön DP, kaiuttimen SP ja mikrofonin MF. MCU on mikroprosessori, tai : vaihtoehtoisissa toteutusmuodoissa jokin muu prosessori, esimerkiksi digitaa- 115589 19 linen signaalinkäsittelyprosessori. MCU:n ohjauskomennot on edullisesti tallennettu etukäteen ROM-muistiin. Käskyjensä (ts. tietokoneohjelman) mukaisesti MCU käyttää RF-lohkoa datan lähettämiseen ja vastaanottamiseen radiotien yli. Videokoodekki voi olla toteutettu joko laitteistoratkaisuna tai koko-5 naan tai osittain ohjelmistoratkaisuna, jolloin CODEC käsittää tietokoneohjelmia MCU:n ohjaamiseksi suorittamaan tarvittavia videokoodaus- ja dekooda-ustoimintoja. MCU käyttää RAM:a työmuistinaan. Matkaviestinlaite voi siepata liikkuvaa kuvaa videokameralla ja koodata sekä paketoida liikkuvan videon MCU:n, RAM:n ja CODEC-ohjelmiston avulla. RF-lohkoa käytetään sen jäl-10 keen koodattujen videotiedostojen lähettämiseen eri osapuolten kesken.
Kuvio 6 esittää videolähetysjärjestelmän 60, joka käsittää useita matkaviestinlaitteita MS, matkaviestinverkon 61, Internetin 62, videopalvelimen 63 ja Internetiin yhteydessä olevan kiinteän tietokoneen PC. Videopalvelin käsittää videokooderin ja se voi välittää tilausvideolähetyksiä, kuten sääennustei-15 ta tai uutisia.
Keksintö voidaan myös toteuttaa videodataa käsittävänä videosignaalina, joka videodata käsittää ainakin yhden primäärikuvan ja ainakin yhden mainitun primäärikuvan informaatiosisältöä vastaavan redundantin kuvan, jonka viitekuvalista käsittää useita viitekuvia. Videosignaali käsittää lisäksi maini-20 tun ainakin yhden redundantin kuvan viitekuvalistan, joka käsittää alijoukon primäärikuvan viitekuvalistasta, josta on poistettu käytöstä ainakin yksi viiteku-: va; ja tiedon viitekuvien uudelleenjärjestelyprosessista ja käytettävistä viiteku- * · · : vista. Videosignaali voi olla reaaliaikaisesti lähetetty signaali tai se voidaan tal- _ lentää tietokoneen luettavassa muodossa tallenteelle, kuten massamuistiin tai ·;·*: 25 toistettavalle DVD-levylle.
·’·; Alan ammattimiehelle on ilmeistä, että tekniikan kehittyessä keksin- I · .·*. nön perusajatus voidaan toteuttaa lukuisilla eri tavoilla. Näin ollen keksintö ja sen suoritusmuodot eivät rajoitu vain edellä kuvattuihin esimerkkeihin, vaan ne voivat vaihdella patenttivaatimusten puitteissa.
* Τ' λ ♦

Claims (30)

115589
1. Menetelmä videodatan koodaamiseksi, joka videodata käsittää ainakin yhden primäärikuvan ja ainakin yhden mainitun primäärikuvan informaatiosisältöä vastaavan redundantin kuvan, jonka viitekuvalista käsittää usei-5 ta viitekuvia, tunnettu siitä, että koodataan mainittu videodata siten, että tietty määrä viitekuvia poistetaan käytöstä mainitun ainakin yhden redundantin kuvan viitekuvalistalta, joka määrä on ainakin yksi, mutta vähemmän kuin mainitun viitekuvalistan viite-kuvien kokonaismäärä.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että koodataan mikä tahansa seuraava mainitun primäärikuvan informaatiosisältöä vastaava redundantti kuva siten, että mainitun seuraavan redundantin kuvan viitekuvalista käsittää edellisen redundantin kuvan viitekuva-15 listan alijoukon poistamalla käytöstä ainakin yksi viitekuva.
3. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, tunnettu siitä, että poistetaan viitekuvia käytöstä mainitulta viitekuvalistalta käänteisessä dekoodausjärjestyksessä.
4. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, ' tunnettu siitä, että : järjestetään viitekuvat uudelleen mainitulle viitekuvalistalle määrittä- ; · mällä pienin koodi-indeksi ensimmäiselle tai useimmin käytetylle viitekuvalle.
,: 5. Patenttivaatimuksen 4 mukainen menetelmä, tunnettu siitä, 25 että '. .t sijoitetaan käytettävät viitekuvat mainitun viitekuvalistan alkuun ja ’ ‘' käyttämättömät viitekuvat mainitun viitekuvalistan loppuun.
6. Patenttivaatimuksen 4 tai 5 mukainen menetelmä, tunnettu ; ; : siitä, että ...: 30 asetetaan aktiivisten viitekuvien lukumäärä vastaamaan käytettävi- : ‘. ; en viitekuvien lukumäärää.
, 7. Jonkin patenttivaatimuksen 4-6 mukainen menetelmä, tun nettu siitä, että : liitetään tieto mainitusta uudelleenjärjestelyprosessista ja käytettä- : 35 vistä viitekuvista mainitun koodatun videodatan käsittämiin viipaleotsikoihin. 115589
8. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että koodataan mainittu ainakin yksi primäärikuva ja mikä tahansa mainitun primäärikuvan informaatiosisältöä vastaava redundantti kuva mainittuun 5 videodataan SP/SI-kuvana.
9. Videokooderi, joka on järjestetty koodaamaan videodataa, joka videodata käsittää ainakin yhden primäärikuvan ja ainakin yhden mainitun primäärikuvan informaatiosisältöä vastaavan redundantin kuvan, jonka viitekuva-lista käsittää useita viitekuvia, tunnettu siitä, että 10 videokooderi on lisäksi järjestetty koodaamaan mainittu videodata siten, että tietty määrä viitekuvia poistetaan käytöstä mainitun ainakin yhden redundantin kuvan viitekuvalistalta, joka määrä on ainakin yksi, mutta vähemmän kuin mainitun viitekuvalistan viitekuvien kokonaismäärä.
10. Patenttivaatimuksen 9 mukainen videokooderi, tunnettu sii- 15 tä, että videokooderi on lisäksi järjestetty koodaamaan mikä tahansa seu-raava mainitun primäärikuvan informaatiosisältöä vastaava redundantti kuva siten, että mainitun seuraavan redundantin kuvan viitekuvalista käsittää edellisen redundantin kuvan viitekuvalistan alijoukon poistamalla käytöstä ainakin 20 yksi viitekuva.
11. Patenttivaatimuksen 9 tai 10 mukainen videokooderi, tun- * · · v : n ett u siitä, että * · · v : videokooderi on lisäksi järjestetty poistamaan viitekuvia käytöstä / l· mainitulta viitekuvalistalta käänteisessä dekoodausjärjestyksessä. ·:··· 25
12. Jonkin patenttivaatimuksen 9-11 mukainen videokooderi, t u n n e tt u siitä, että I » , ·. videokooderi on lisäksi järjestetty järjestämään viitekuvat uudelleen mainitulle viitekuvalistalle määrittämällä pienin koodi-indeksi ensimmäiselle tai , useimmin käytetylle viitekuvalle.
13. Patenttivaatimuksen 12 mukainen videokooderi, tunnettu siitä, että .: videokooderi on lisäksi järjestetty sijoittamaan käytettävät viitekuvat mainitun viitekuvalistan alkuun ja käyttämättömät viitekuvat mainitun viitekuvalistan loppuun.
14. Patenttivaatimuksen 12 tai 13 mukainen videokooderi, tun- • '· n e 11 u siitä, että 115589 videokooderi on lisäksi järjestetty asettamaan aktiivisten viitekuvien lukumäärä vastaamaan käytettävien viitekuvien lukumäärää.
15. Jonkin patenttivaatimuksen 12-14 mukainen videokooderi, tunnettu siitä, että 5 videokooderi on lisäksi järjestetty liittämään tieto mainitusta uudel- leenjärjestelyprosessista ja käytettävistä viitekuvista mainitun koodatun video-datan käsittämiin viipaleotsikoihin.
16. Jonkin patenttivaatimuksen 9-15 mukainen videokooderi, tunnettu siitä, että 10 videokooderi on lisäksi järjestetty koodaamaan mainittu ainakin yksi primäärikuva ja mikä tahansa mainitun primäärikuvan informaatiosisältöä vastaava redundantti kuva mainittuun videodataan SP/SI-kuvana.
17. Tietokoneohjelmatuote videodatan koodaamiseksi, joka tietoko-neohjelmatuote on tallennettu tietokoneen luettavassa muodossa olevalle tal- 15 lennusvälineelle, joka videodata käsittää ainakin yhden primäärikuvan ja ainakin yhden mainitun primäärikuvan informaatiosisältöä vastaavan redundantin kuvan, jonka viitekuvalista käsittää useita viitekuvia, tunnettu siitä, että mainittu tietokoneohjelmatuote käsittää tietokoneohjelmakoodin mainitun videodatan koodaamiseksi siten, 20 että tietty määrä viitekuvia poistetaan käytöstä mainitun ainakin yhden redundantin kuvan viitekuvalistalta, joka määrä on ainakin yksi, mutta vähemmän • · · v ’ kuin mainitun viitekuvalistan viitekuvien kokonaismäärä.
'·/· · 18. Matkaviestin, joka käsittää lähettimen koodatun videosekvenssi * sin lähettämiseksi, tunnettu siitä, että matkaviestin käsittää jonkin patentti- ·:··· 25 vaatimuksen 9-16 mukaisen videokooderin mainitun videodatan koodaami- seksi.
·*, 19. Päätelaitteen alayksikkö, tunnettu siitä, että alayksikkö kä sittää jonkin patenttivaatimuksen 9-16 mukaisen videokooderin.
20. Videodataa käsittävä videosignaali, joka videodata käsittää ai-; 30 nakin yhden primäärikuvan ja ainakin yhden mainitun primäärikuvan informaa tiosisältöä vastaavan redundantin kuvan, jonka viitekuvalista käsittää useita ! viitekuvia, tunnettu siitä, että mainittu videosignaali käsittää lisäksi ; mainitun ainakin yhden redundantin kuvan viitekuvalistan, joka kä sittää alijoukon primäärikuvan viitekuvalistasta, josta on poistettu käytöstä ai-* 35 nakin yksi viitekuva; ja 115589 tiedon viitekuvien uudelleenjärjestelyprosessista ja käytettävistä vii- teku vista.
21. Menetelmä videosignaaliin koodatun videodatan dekoodaami-seksi, joka videodata käsittää ainakin yhden primäärikuvan ja ainakin yhden 5 mainitun primäärikuvan informaatiosisältöä vastaavan redundantin kuvan, jonka viitekuvalista käsittää useita viitekuvia, tunnettu siitä, että vastaanotetaan videodataa, joka on koodattu siten, että mainitun ainakin yhden redundantin kuvan viitekuvalista käsittää alijoukon primäärikuvan viitekuvalistasta, josta on poistettu käytöstä ainakin yksi viitekuva; ja mainittu 10 videosignaali käsittää lisäksi tiedon viitekuvien uudelleenjärjestelyprosessista ja käytettävistä viitekuvista; havaitaan ainakin osa mainitusta videodatasta kadonneeksi tai vahingoittuneeksi; määritetään ainakin yhden redundantin kuvan käsittävästä joukosta 15 se redundantti kuva, joka dekoodattuna parhaiten vastaa mainitun videodatan kadonnutta tai vahingoittunutta osaa; ja dekoodataan mainitun videodatan kadonnut tai vahingoittunut osa määritettyyn redundanttiin kuvaan perustuen käyttämällä ainakin yhtä viiteku-vaa, joka kuuluu mainitun redundantin kuvan viitekuvalistaan.
22. Patenttivaatimuksen 21 mukainen menetelmä, tunnettu sii tä, että * * # määritetään ainakin yhden redundantin kuvan käsittävästä joukosta ainakin yksi kuvan osa, joka kattaa mainitun videodatan kadonneen tai vahin-*!* goittuneen osan; » t I I 25 muodostetaan mainitun kattavuuden tarjoavalle kuvan osalle viite- kuvalista;ja ' · · , vasteena sille, että viitekuvalistan kaikki viitekuvat on dekoodattu oi kein, dekoodataan ainakin osa mainitun videodatan kadonneesta tai vahingoittuneesta osasta perustuen ainakin osaan mainitun kattavuuden tarjoavista vii-; 30 tekuvista.
23. Patenttivaatimuksen 22 mukainen menetelmä, tunnettu siitä, että vasteena sille, että viitekuvalistan ainakin yksi viitekuva puuttuu tai on dekoodattu virheellisesti, lisätään mainittu osa kattavuuden tarjoavista viite-35 kuvista toissijaiselle redundantisti koodattujen kuvan osien listalle; ja 115589 dekoodataan mainitulla toissijaisella redundantisti koodattujen kuvan osien listalla olevat redundantit kuvat vasta sen jälkeen, kun kaikki sellaisten redundanttien kuvien osat, joiden viitekuvalistalla olevat viitekuvat on oikein dekoodattu, on dekoodattu ja mainitun videodatan kadonneita tai vahin-5 goittuneita osia ei ole vielä dekoodattu oikein.
24. Videodekooderi, joka on järjestetty dekoodaamaan videosignaaliin koodattua videodataa, joka videodata käsittää ainakin yhden primäärikuvan ja ainakin yhden mainitun primäärikuvan informaatiosisältöä vastaavan redun-dantin kuvan, jonka viitekuvalista käsittää useita viitekuvia, tunnettu siitä, 10 että dekooderi on järjestetty vastaanottamaan videodataa, joka on koodattu siten, että mainitun ainakin yhden redundantin kuvan viitekuvalista käsittää alijoukon primäärikuvan viitekuvalistasta, josta on poistettu käytöstä ainakin yksi viitekuva; ja mainittu videosignaali käsittää lisäksi tiedon viitekuvien uudelleenjärjestelyproses-15 sista ja käytettävistä viitekuvista; havaitsemaan ainakin osa mainitusta videodatasta kadonneeksi tai vahingoittuneeksi; määrittämään ainakin yhden redundantin kuvan käsittävästä joukosta se redundantti kuva, joka dekoodattuna parhaiten vastaa mainitun vi-20 deodatan kadonnutta tai vahingoittunutta osaa; ja dekoodaamaan mainitun videodatan kadonnut tai vahingoittunut *;],* osa määritettyyn redundanttiin kuvaan perustuen käyttämällä ainakin yhtä vii- ' tekuvaa, joka kuuluu mainitun redundantin kuvan viitekuvalistaan.
·.*: 25. Patenttivaatimuksen 24 mukainen videodekooderi, tunnettu ’: : 25 siitä, että dekooderi on lisäksi järjestetty * V määrittämään ainakin yhden redundantin kuvan käsittävästä jou- kosta ainakin yksi kuvan osa, joka kattaa mainitun videodatan kadonneen tai vahingoittuneen osan; • *. muodostamaan mainitun kattavuuden tarjoavalle kuvan osalle viite- \ 30 kuvalista;ja vasteena sille, että viitekuvalistan kaikki viitekuvat on dekoodattu oi-: kein, dekoodaamaan ainakin osa mainitun videodatan kadonneesta tai vahin- ,: goittuneesta osasta perustuen ainakin osaan mainitun kattavuuden tarjoavista : viitekuvista. . > 35
26. Patenttivaatimuksen 25 mukainen videodekooderi, tunnettu » siitä, että dekooderi on lisäksi järjestetty 115589 lisäämään mainittu osa kattavuuden tarjoavista viitekuvista toissijaiselle redundantisti koodattujen kuvan osien listalle, jos viitekuvalistan ainakin yksi viitekuva puuttuu tai on dekoodattu virheellisesti; ja dekoodaamaan mainitulla toissijaisella redundantisti koodattujen 5 kuvan osien listalla olevat redundantit kuvat vasta sen jälkeen, kun kaikki sellaisten redundanttien kuvien osat, joiden viitekuvalistalla olevat viitekuvat on oikein dekoodattu, on dekoodattu ja mainitun videodatan kadonneita tai vahingoittuneita osia ei ole vielä dekoodattu oikein.
27. Tietokoneohjelmatuote videodatan dekoodaamiseksi, joka tieto-10 koneohjelmatuote on tallennettu tietokoneen luettavassa muodossa olevalle tallennusvälineelle, joka videodata käsittää ainakin yhden primäärikuvan ja ainakin yhden mainitun primäärikuvan informaatiosisältöä vastaavan redundan-tin kuvan, jonka viitekuvalista käsittää useita viitekuvia, tunnettu siitä, että tietokoneohjelmatuote käsittää 15 tietokoneohjelmakoodin videodatan vastaanottamiseksi, joka video- data on koodattu siten, että mainitun ainakin yhden redundantin kuvan viitekuvalista käsittää alijoukon primäärikuvan viitekuvalistasta, josta on poistettu käytöstä ainakin yksi viitekuva; ja mainittu videosignaali käsittää lisäksi tiedon viitekuvien uudelleenjärjestelyprosessista ja käytettävistä viitekuvista; 20 tietokoneohjelmakoodin sen havaitsemiseksi, että ainakin osa mai- ... nitusta videodatasta kadonneeksi tai vahingoittuneeksi; tietokoneohjelmakoodin sen redundantin kuvan määrittämiseksi ai-'** ’ nakin yhden redundantin kuvan käsittävästä joukosta, joka dekoodattuna par- . * · > haiten vastaa mainitun videodatan kadonnutta tai vahingoittunutta osaa; ja 25 tietokoneohjelmakoodin mainitun videodatan kadonneen tai vahin- • V goittuneen osan dekoodaamiseksi määritettyyn redundanttiin kuvaan perustu- : en käyttämällä ainakin yhtä viitekuvaa, joka kuuluu mainitun redundantin ku van viitekuvalistaan.
.·. 28. Matkaviestin, joka käsittää vastaanottimen koodatun videosek- ·. 30 venssin vastaanottamiseksi, tunnettu siitä, että matkaviestin käsittää jon kin patenttivaatimuksen 24 - 26 mukaisen videodekooderin mainitun videoda-: tan dekoodaamiseksi.
29. Päätelaitteen alayksikkö, tunnettu siitä, että alayksikkö kä-: sittää jonkin patenttivaatimuksen 24 - 26 mukaisen videodekooderin. 115589
FI20031499A 2003-10-14 2003-10-14 Redundanttien kuvien koodaaminen ja dekoodaaminen FI115589B (fi)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FI20031499A FI115589B (fi) 2003-10-14 2003-10-14 Redundanttien kuvien koodaaminen ja dekoodaaminen
US10/949,005 US20050123056A1 (en) 2003-10-14 2004-09-24 Encoding and decoding of redundant pictures

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20031499 2003-10-14
FI20031499A FI115589B (fi) 2003-10-14 2003-10-14 Redundanttien kuvien koodaaminen ja dekoodaaminen

Publications (3)

Publication Number Publication Date
FI20031499A0 FI20031499A0 (fi) 2003-10-14
FI20031499A FI20031499A (fi) 2005-04-15
FI115589B true FI115589B (fi) 2005-05-31

Family

ID=29225946

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20031499A FI115589B (fi) 2003-10-14 2003-10-14 Redundanttien kuvien koodaaminen ja dekoodaaminen

Country Status (2)

Country Link
US (1) US20050123056A1 (fi)
FI (1) FI115589B (fi)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060050695A1 (en) * 2004-09-07 2006-03-09 Nokia Corporation System and method for using redundant representations in streaming applications
US20060120461A1 (en) * 2004-12-06 2006-06-08 Roy Knight Two processor architecture supporting decoupling of outer loop and inner loop in video decoder
KR20070038396A (ko) 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
AU2006298012B2 (en) * 2005-10-05 2009-11-12 Lg Electronics Inc. Method for decoding a video signal
ZA200805337B (en) * 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
US9872045B2 (en) * 2006-10-16 2018-01-16 Conversant Wireless Licensing S.A R.L. Method, electronic device, system, computer program product and circuit assembly for reducing error in video coding
US8875199B2 (en) 2006-11-13 2014-10-28 Cisco Technology, Inc. Indicating picture usefulness for playback optimization
US20090180546A1 (en) * 2008-01-09 2009-07-16 Rodriguez Arturo A Assistance for processing pictures in concatenated video streams
US8416859B2 (en) 2006-11-13 2013-04-09 Cisco Technology, Inc. Signalling and extraction in compressed video of pictures belonging to interdependency tiers
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
US8958486B2 (en) 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
CN101394568B (zh) * 2007-09-20 2011-06-15 华为技术有限公司 视频数据的更新方法及其装置和***
US8718388B2 (en) 2007-12-11 2014-05-06 Cisco Technology, Inc. Video processing with tiered interdependencies of pictures
US8416858B2 (en) 2008-02-29 2013-04-09 Cisco Technology, Inc. Signalling picture encoding schemes and associated picture properties
US8861598B2 (en) * 2008-03-19 2014-10-14 Cisco Technology, Inc. Video compression using search techniques of long-term reference memory
US8886022B2 (en) 2008-06-12 2014-11-11 Cisco Technology, Inc. Picture interdependencies signals in context of MMCO to assist stream manipulation
US8705631B2 (en) 2008-06-17 2014-04-22 Cisco Technology, Inc. Time-shifted transport of multi-latticed video for resiliency from burst-error effects
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
WO2010056842A1 (en) * 2008-11-12 2010-05-20 Cisco Technology, Inc. Processing of a video [aar] program having plural processed representations of a [aar] single video signal for reconstruction and output
WO2010096767A1 (en) * 2009-02-20 2010-08-26 Cisco Technology, Inc. Signalling of decodable sub-sequences
US20100218232A1 (en) * 2009-02-25 2010-08-26 Cisco Technology, Inc. Signalling of auxiliary information that assists processing of video according to various formats
US8782261B1 (en) 2009-04-03 2014-07-15 Cisco Technology, Inc. System and method for authorization of segment boundary notifications
US8949883B2 (en) * 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
US8279926B2 (en) 2009-06-18 2012-10-02 Cisco Technology, Inc. Dynamic streaming with latticed representations of video
US20110107380A1 (en) * 2009-10-29 2011-05-05 Cleversafe, Inc. Media distribution to a plurality of devices utilizing buffered dispersed storage
US20110109721A1 (en) * 2009-11-06 2011-05-12 Sony Corporation Dynamic reference frame reordering for frame sequential stereoscopic video encoding
US20110222837A1 (en) * 2010-03-11 2011-09-15 Cisco Technology, Inc. Management of picture referencing in video streams for plural playback modes
US8965139B2 (en) * 2010-09-29 2015-02-24 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure
US9749630B2 (en) 2010-09-30 2017-08-29 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
JP5893570B2 (ja) * 2011-01-28 2016-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法および画像復号化方法
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US10034018B2 (en) 2011-09-23 2018-07-24 Velos Media, Llc Decoded picture buffer management
US9451284B2 (en) 2011-10-10 2016-09-20 Qualcomm Incorporated Efficient signaling of reference picture sets
US9264717B2 (en) 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
WO2013162980A2 (en) 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
JP2013247651A (ja) * 2012-05-29 2013-12-09 Canon Inc 符号化装置、符号化方法およびプログラム
US9014266B1 (en) 2012-06-05 2015-04-21 Google Inc. Decimated sliding windows for multi-reference prediction in video coding
US9438898B2 (en) * 2012-09-07 2016-09-06 Vid Scale, Inc. Reference picture lists modification
WO2014051409A1 (ko) * 2012-09-28 2014-04-03 삼성전자 주식회사 참조 픽처 정보를 이용한 병렬 처리 비디오 부호화 방법 및 장치, 병렬 처리 비디오 복호화 방법 및 장치
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US10715833B2 (en) * 2014-05-28 2020-07-14 Apple Inc. Adaptive syntax grouping and compression in video data using a default value and an exception value
US10460418B2 (en) * 2017-02-10 2019-10-29 Microsoft Technology Licensing, Llc Buffer index format and compression
EP3603090A4 (en) 2017-03-27 2020-08-19 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR CODING AND DECODING OF VIDEO
KR20230169440A (ko) 2018-08-17 2023-12-15 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서의 참조 화상 관리

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
US9894379B2 (en) * 2001-07-10 2018-02-13 The Directv Group, Inc. System and methodology for video compression
JP2007503776A (ja) * 2003-08-26 2007-02-22 トムソン ライセンシング インター符号化に使われる参照画像数を最小化するための方法および装置

Also Published As

Publication number Publication date
FI20031499A (fi) 2005-04-15
US20050123056A1 (en) 2005-06-09
FI20031499A0 (fi) 2003-10-14

Similar Documents

Publication Publication Date Title
FI115589B (fi) Redundanttien kuvien koodaaminen ja dekoodaaminen
AU2020289848B2 (en) Video data stream concept
US7724818B2 (en) Method for coding sequences of pictures
JP5007322B2 (ja) ビデオ符号化方法
CA2377865C (en) Video coding using repeated header data
EP2148513B1 (en) Video coding
FI120125B (fi) Kuvankoodaus
US9560367B2 (en) Parameter set and picture header in video coding
EP2124456B1 (en) Video coding
US20070230564A1 (en) Video processing with scalability
US20090279612A1 (en) Methods and apparatus for multi-view video encoding and decoding
TWI543593B (zh) 具有一固定長度寫碼之視訊參數集識別之補充增強資訊訊息
US20040218669A1 (en) Picture coding method
EP1312222A1 (en) Video coding
KR20100005132A (ko) 피드백 기반 스케일러블 비디오 코딩
Wenger et al. FMO: flexible macroblock ordering
US6859500B2 (en) Run-length coding of non-coded macroblocks
CN110636302A (zh) 视频解码、编码方法和装置、存储介质及解码器、编码器
CN110636288B (zh) 视频解码、编码方法和装置及电子设备
US20150003536A1 (en) Method and apparatus for using an ultra-low delay mode of a hypothetical reference decoder
KR20140043240A (ko) 영상 부호화/복호화 방법 및 장치
Tian et al. Improved H. 264/AVC video broadcast/multicast
Wang AVS-M: from standards to applications
Rhaiem et al. New robust decoding scheme-aware channel condition for video streaming transmission
Limnell et al. Quality scalability in H. 264/AVC video coding

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 115589

Country of ref document: FI

MM Patent lapsed