[go: up one dir, main page]

RS61125B1 - Postupak i uređaj za video kodiranje - Google Patents

Postupak i uređaj za video kodiranje

Info

Publication number
RS61125B1
RS61125B1 RS20201445A RSP20201445A RS61125B1 RS 61125 B1 RS61125 B1 RS 61125B1 RS 20201445 A RS20201445 A RS 20201445A RS P20201445 A RSP20201445 A RS P20201445A RS 61125 B1 RS61125 B1 RS 61125B1
Authority
RS
Serbia
Prior art keywords
prediction
motion vector
candidate
spatial
spatial motion
Prior art date
Application number
RS20201445A
Other languages
English (en)
Inventor
Mehmet Oguz Bici
Jani Lainema
Kemal Ugur
Original Assignee
Nokia Technologies Oy
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48191432&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=RS61125(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of RS61125B1 publication Critical patent/RS61125B1/sr

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/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel

Landscapes

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

Description

Opis pronalaska
OBLAST TEHNIKE
[0001] Ovde su opisani postupak za kodiranje, postupak za dekodiranje, uređaj, računarski programski proizvodi, koder i dekoder.
INFORMACIJE O STANJU TEHNIKE
[0002] Ovaj odeljak je namenjen da prikaže stanje tehnike ili kontekst za pronalazak koji je naveden u patentnim zahtevima. Opis ovde može uključivati koncepte koji se mogu slediti, ali koji nisu nužno oni koji su prethodno bili zamišljeni ili praćeni. Stoga, ako ovde nije drugačije navedeno, ono što je opisano u ovoj sekciji nije stanje tehnike za opis i patentne zahteve u ovoj prijavi patenta i ne dopušta da bude stanje tehnike time što je uključeno u ovu sekciju.
[0003] Video kodek može sadržati koder koji transformiše ulazni video u komprimovani prikaz koji je pogodan za skladištenje i/ili slanje i dekoder koji može da dekomprimuje komprimovani video prikaz nazad u oblik pogodan za gledanje, ili bilo koji od ta dva. Koder može da odbaci neke informacije uiz originalne video sekvence u cilju predstavljanja videa u kompaktnijem obliku, na primer, pri manjem bitskom toku.
[0004] Mnogi hibridni video kodeci, koji rade, na primer, u skladu sa International Telecommunication Union’s ITU-T H.263 i H.264 kodnim standardima, kodiraju video informaciju u dve faze. U prvoj fazi, za vrednosti piksela u određenim oblastima ili „blokovima“ je izvršeno predviđanje, odn. predikcija. Ove vrednosti tačaka se mogu predvideti, na primer, mehanizmima za kompenzaciju pokreta, koji uključuju pronalaženje i ukazivanje na oblast u jednom od prethodno kodiranih video okvira (ili kasnije kodiranom video okviru) koji blisko odgovara bloku koji se kodira. Osim toga, vrednosti tačaka se mogu predvideti prostornim mehanizmima koji uključuju pronalaženje i ukazivanje na vezu prostornih oblasti, na primer, korišćenjem vrednosti tačaka oko bloka koji se kodira na specificirani način.
[0005] Pristupi sa predikcijom korišćenjem informacija o slici iz prethodne (ili kasnije) slike se takođe mogu nazivati Inter predikcioni postupci, a pristupi predikciji korišćenjem informacije o slici u okviru same slike se takođe mogu nazivati Intra predikcioni postupci.
[0006] Druga faza je ona u kojoj se kodira greška između tačaka bloka predikcije i tačaka originalnog bloka. Ovo može biti postignuto transformisanjem razlike u vrednostima tačaka koristeći određenu transformaciju. Ova transformacija može biti npr. Diskretna kosinusna transformacija (eng. Discrete Cosine Transform, skr. DCT) ili njena varijanta. Posle transformacije razlike, transformisana razlika može biti kvantizirana i entropijski kodirana.
[0007] Variranjem tačnosti procesa kvantizacije, koder može da kontroliše odnos između tačnosti prikaza tačaka (drugim rečima, kvaliteta slike) i veličine rezultujućeg video prikaza (drugim rečima, veličine datoteke ili protoka bita pri slanju).
[0008] Dekoder rekonstruiše izlazni video primenom mehanizma predikcije sličnom onom koji koristi koder u cilju obrazovanja predikcionog prikaza blokova tačaka (korišćenjem informacija o pokretu ili prostornih informacija koje je napravio koder i koji su uskladišteni u komprimovanom prikazu slike) i dekodiranjem greške predikcije (inverzan postupak od kodiranja greške predikcije da bi se povratio signal kvantizirane greške predikcije u prostornom domenu).
[0009] Posle primene procesa predikcije tačke i greške dekodiranja dekoder kombinuje signale predikcije i greške predikcije (vrednosti tačaka) da bi obrazovao izlazni video okvir.
[0010] Dekoder (i koder) takođe mogu da primenjuju dodatne postupke filtriranja u cilju poboljšanja kvaliteta izlaznog videa pre nego što ga propuste za prikazivanje i/ili skladištenje kao reference za predikciju za predstojeće okvire u video sekvenci.
[0011] U nekim video kodecima, kao što je „High Efficiency Video Coding Working Draft 4“, video slike mogu biti izdeljene u jedinice za kodiranje (CU) koje pokrivaju oblast slike. Jedinica za kodiranje se sastoji od jedne ili više jedinica za predikciju (PU) koje definišu proces predikcije za uzorke unutar jedinice za kodiranje i jedne ili više jedinica transformacije (TU) koje definišu proces kodiranja greške predikcije za uzorke iz jedinice za kodiranje. Jedinica za kodiranje se može sastojati od kvadratnog bloka uzoraka veličine koja se može odabrati iz predefinisanog skupa mogućih veličina jedinica za kodiranje. Jedinica za kodiranje maksimalne dozvoljene veličine se može nazvati najveća jedinica za kodiranje (LCU), a video slika može biti izdeljena na nepreklapajuće najveće jedinice za kodiranje. Najveća jedinica za kodiranje može dalje biti izdeljena na kombinacije manjih jedinica za kodiranje, tj. rekurzivnim deljenjem najveće jedinice za kodiranje i tako dobijenih jedinica za kodiranje. Svaka tako dobijena jedinica za kodiranje može imati bar jednu jedinicu predikcije i bar jednu transformacionu jedinicu povezanu sa njom. Svaka jedinica predikcije i transformaciona jedinica mogu dalje biti deljene u manje jedinice predikcije i transformacione jedinice u cilju povećanja granularnosti predikcije i procesa kodiranja greške predikcije, redom. Svaka jedinica predikcije može imati informaciju o predikciji povezanu sa njom koja definiše kakav tip predikcije treba da se primeni na tačke unutar te jedinice predikcije (npr. informaciju o vektoru kretanja za jedinice predikcije kod inter predikcije i informaciju o usmerenosti kod intra predikcije za jedinice predikcije kod intra predikcije). Slično tome, svaka jedinica transformacije može biti povezana sa informacijom koja opisuje proces dekodiranja greške predikcije kod procesa dekodiranja za uzorke iz jedinice transformacije (uključujući npr. informaciju o koeficijentu kod diskretne kosinusne transformacije (DCT)). Može biti signalizirano na nivou jedinice za kodiranje da li je kodiranje greške predikcije primenjeno ili nije na svaku jedinicu kodiranja. U slučaju kada nema ostatka greške predikcije povezanog sa jedinicom kodiranja, može se smatrati da nema jedinica transformacije za jedinicu kodiranja. Deljenje slike u jedinice kodiranja, i deljenje jedinice za kodiranje u jedinice predikcije i jedinice transformacije može biti signalizirano u bitskom toku što dozvoljava dekoderu da reprodukuje ciljanu strukturu ovih jedinica.
[0012] U nekim video kodecima, na informaciju o kretanju ukazuju vektori kretanja povezani sa svakim blokom slike sa kompenzovanim kretanjem. Ovi vektori kretanja predstavljaju pomeraj bloka slike na slici koja se kodira (u koderu) ili dekodira (u dekoderu) i bloka izvora predikcije u jednoj od prethodno kodiranih ili dekodiranih slika (ili snimaka). U cilju efikasnog predstavljanja vektora pokreta, vektori kretanja mogu biti kodirani različito u zavisnosti od predikcije vektora kretanja za određeni blok. U nekim video kodecima, predikcije vektora kretanja su obrazovane na predefinisani način, na primer, izračunavanjem srednje vrednosti kodiranih ili dekodiranih vektora kretanja susednih blokova.
[0013] Drugi način za kreiranje predikcije vektora kretanja je pravljenje liste ili skupa kandidata predikcije na osnovu blokova iz tekućeg okvira i/ili kolociranih ili drugih blokova u vremenskim referentnim slikama i signalizirati da je izabrani kandidat predikcija vektora kretanja. Predikcija prostornog vektora kretanja je predikcija dobijena samo na osnovu informacije jednog ili više blokova istog okvira koji je tekući okvira dok je predikcija vremenskog vektora kretanja predikcija dobijena samo na osnovu informacije jednog ili više blokova okvira različitog od tekućeg okvira. Takođe je moguće dobiti predikcije vektora kretanja kombinovanjem i informacije o prostornoj, i informacije o vremenskoj predikciji za jedan ili više kodiranih blokova. Ovakve vrste predikcija vektora kretanja se nazivaju prostorno/vremenske predikcije vektora kretanja.
[0014] Osim predikcije vrednosti vektora kretanja, može biti predviđen indeks reference u referentnoj slici. Predikcija referentnog indeksa može biti prema blokovima u trenutnom okviru i/ili kolociranim ili drugim blokovima u vremenskoj referentnoj slici. Osim toga, neki vrlo efikasni video kodeci primenjuju dodatne informacije o kretanju kod mehanizma kodiranja/dekodiranja, koji se često naziva spajajući/mod spajanja, gde sve polja informacija o kretanju, koje uključuje vektor kretanja i odgovarajući indeks referentne slike za svaku raspoloživu listu referentnih slika, mogu biti predviđena i biti korišćena bez ikakve modifikacije ili korekcije. Slično tome, predikcija polja informacija o kretanju se može vršiti korišćenjem polja informacija o kretanju blokova u tekućem okviru i/ili kolociranim ili drugim blokovima u vremenskim referentnim slikama, a korišćeno polje informacija o kretanju se signalizira između liste kandidata za polje kretanja popunjene poljem informacija o kretanju raspoloživih blokova u tekućem okviru i/ili kolociranih ili drugih blokova u vremenskim referentnim slikama.
[0015] U nekim video kodecima rezidualni podaci predikcije posle kompenzacije kretanja se prvo transformišu pomoću kernela za transformaciju (poput DCT), a zatim kodiraju. Razlog za ovo je što često još uvek postoji neka korelacija između reziduala i transformacija može u mnogo slučajeva da pomogne da se ova korelacija smanji i obezbedi efikasnije kodiranje.
[0016] Neki video koderi koriste Lagranžeove funkcije troškova da bi se pronašli optimalni modovi, npr. željeni Makroblok mod i povezani vektori pokreta. Ova vrsta funkcije troškova koristi težinski faktor λ da međusobno poveže (tačnu ili procenjenu) distorziju slike usled postupaka kodiranja sa gubicima i (tačnu ili procenjenu) količinu informacija koja je potrebna da se predstave vrednosti tačaka u oblasti slike:
C = D λ R (1)
gde je C Lagranžeov trošak koji se minimizira, D je distorzija slike (npr. srednja kvadratna greška) sa razmotrenim modovima i vektorima pokreta i R je broj bita potreban da predstavlja potrebne podatke da se rekonstruiše blok slike u dekoderu (uključujući količinu podataka da se predstave kandidati vektori kretanja).
[0017] Neki video kodeci, kao što su hibridni video kodeci, mogu generisati listu predikcija vektora kretanja (MVP) koja se sastoji od vektora kretanja prostorno susednih blokova (prostorni MVP) i/ili vektora kretanja blokova u prethodno dekodiranom okviru (vremenski MVP). Signalizirano je da će jedan od kandidata vektora kretanja u listi biti korišćen kao predikcija vektora kretanja tekućeg bloka. Posle generisanja liste, neki od kandidata predikcije vektora kretanja mogu imati istu informaciju o kretanju. U ovom slučaju, identični kandidati predikcije vektora kretanja mogu se ukloniti da bi se smanjila redundansa. Tokom dekodiranja, ukoliko informacija vremenske predikcije vektora kretanja nije raspoloživa usled npr. gubitka referentnog okvira, dekoder može da ne zna da li kandidat vremenske predikcije vektora kretanja na listi treba da se ukloni. Ovo može dovesti do neodređenosti za mapiranje indeksa dekodiranog kandidata u kandidate za koje je odluka o uklanjanju bazirana na poređenju informacije o kretanju sa vremenskom predikcijom vektora kretanja. Kao rezultat, može doći do lažnog dodeljivanja kandidata predikcije vektora kretanja što može dovesti do degradacije kvaliteta slike i odstupanja informacije o lažnom kretanju kroz ceo proces dekodiranja.
[0018] U dokumentu Nakamura "Unification of derivation process for merge mode and MVP" (JCTVC-F419) opisan je sistem koji selektuje prva dva raspoloživa prostorna prediktora i vrši proces uklanjanja duplikata između dva kandidata za prostornog prediktora (S0 i S1) i jednog kandidata za vremenskog prediktora (Col). Proces uklanjanja duplikata ne razmatra lokacije prostornih kandidata i sve tri moguće kombinacije S0, S1 i Col se vrše „naslepo“ kao što sledi: S0 se poredi sa S1, S0 se poredi sa Col i S1 se poredi sa Col. Može se dogoditi da jedan ili oba selektovana prostorna prediktora nisu najbolje alternative.
[0019] U dokumentu Wiegand et al. "WD3 Working draft 3 of high efficiency video coding" (JCTVC-E603) se diskvalifikuju kandidati ukoliko nisu raspoloživi, ukoliko su kodirani intra modom, ili ukoliko je kretanje kandidata identično kretanju druge jedinice predikcije u okviru iste jedinice kodiranja. Dakle, bilo bi efikasnije da se jedinica za kodiranje predstavi kao jedinica za kodiranje sa većim segmentima umesto da se deli u manje jedinice predikcije i da se indicira identično kretanje između ovih malih jedinica predikcije.
[0020] U dokumentu Zheng et al "Merge candidate selection in 2NxN, Nx2N, and NxN mode" (m20723) predlaže se da se dopusti dodatno spajanje kandidata da bi preživeli proces opisan u Wiegand et al, sekcija 8.4.2.1.2, zasnovanom na indeksu kandidata za spajanje.
SUŠTINA
[0021] Predmetni pronalazak otkriva postupak za generisanje liste predikcije vektora kretanja za blok slike. U nekim primerima izvođenja video kodeci primenjuju u pravljenju liste kandidata za predikciju kretanja način da smanje kompleksnost implementacije. Ovo može biti postignuto vršenjem ograničenog broja poređenja informacija o kretanju između parova kandidata da bi se uklonili redundantni kandidati radije nego da se porede svi mogući parovi kandidata. Odluka da li da se porede dva kandidata može zavisiti od redosleda kandidata koji se razmatraju za listu i/ili kodiranja/moda predikcije i/ili lokacije blokova povezanih sa kandidatima. U nekim primerima izvođenja video kodek primenjuje proces spajanja za kodiranje informacije o kretanju i kreira listu kandidata za predikciju kretanja iz koje će jedan od kandidata biti signaliziran kao informacija o kretanju za tekuću jedinicu kodiranja ili predikcije. Kandidati za predikciju kretanja se sastoje od više prostornih predikcija kretanja i vremenske predikcije kretanja. Prostorni kandidati su dobijeni iz informacije o kretanju npr. prostorno susednih blokova.
[0022] Pronalazak je definisan u pridruženim patentnim zahtevima. Bilo koji primeri i primeri izvođenja u opisu koji nisu u opsegu zahteva ne predstavljaju deo pronalaska i navedeni su samo u ilustrativne svrhe.
[0023] Prema prvom aspektu predmetnog pronalaska prikazan je postupak prema pridruženom patentnom zahtevu 1.
[0024] Prema drugom aspektu predmetnog pronalaska prikazan je postupak prema pridruženom patentnom zahtevu 6. Prema trećem aspektu predmetnog pronalaska prikazan je uređaj prema pridruženom patentnom zahtevu 9.
[0025] Prema četvrtom aspektu predmetnog pronalaska prikazan je uređaj prema pridruženom patentnom zahtevu 10.
[0026] Prema petom aspektu predmetnog pronalaska prikazan je računarski čitljiv medijum za skladištenje prema pridruženom patentnom zahtevu 11.
[0027] Prema šestom aspektu predmetnog pronalaska prikazan je računarski čitljiv medijum za skladištenje prema pridruženom patentnom zahtevu 12.
OPIS SLIKA NACRTA
[0028] Radi boljeg razumevanja predmetnog pronalaska, sada će biti izvršeno referenciranje putem primera na prateće slike nacrta na kojima:
Fig. 1 šematski prikazuje elektronski uređaj koji primenjuje neke primere izvođenja pronalaska;
Fig. 2 šematski prikazuje korisničku opremu pogodnu za primenu nekih primera izvođenja pronalaska;
Fig. 3 dalje šematski prikazuje elektronske uređaje koji primenjuju primere izvođenja pronalaska koji su povezani pomoću bežičnih ili žičanih mrežnih konekcija;
Fig. 4a šematski prikazuje primer izvođenja pronalaska kada je uključen u koder;
Fig. 4b šematski prikazuje primer izvođenja generisanja i modifikacije liste referenci predikcije prema nekim primerima izvođenja pronalaska;
Fig.s 5a i 5b prikazuju dijagram toka koji prikazuje rad jednog primera izvođenja pronalaska u odnosu na koder kakav je prikazan na Fig.4a;
Fig. 6a ilustruje primer prostorne i vremenske predikcije jedinice za predikciju;
Fig. 6b ilustruje drugi primer prostorne i vremenske predikcije jedinice za predikciju;
Fig. 7 šematski prikazuje primer izvođenja pronalaska kada je uključen u dekoder;
Fig.s 8a i 8b prikazuju dijagram toka na kome je prikazan rad jednog primera izvođenja pronalaska u odnosu na dekoder prikazan na Fig.7;
Fig. 9 ilustruje primer jedinice za kodiranje i nekih susednih blokova jedinice za kodiranje;
Fig. 10a ilustruje primer horizontalne podele jedinice za kodiranje;
Fig. 10b ilustruje primer vertikalne podele jedinice za kodiranje;
Fig. 11a ilustruje lokacije pet prostornih suseda A0, A1, B0, B1, B2 za jedinicu predikcije generisanu kao drugu jedinicu za predikciju horizontalno podeljene jedinice za kodiranje;
Fig. 11b ilustruje lokacije pet prostornih suseda za jedinicu predikcije generisanu kao druga jedinica za predikciju vertikalno podeljene jedinice za kodiranje; i
Fig. 12 ilustruje primer blokova između nekih prostornih suseda jedinice za kodiranje.
DETALJNI OPIS NEKIH PRIMERA IZVOĐENJA
[0029] Dalje su opisani uz dodatne detalje pogodni aparat i mogući mehanizmi za omogućavanje povećanja tačnosti predikcije, a time i moguće smanjenje informacija koje se šalju u sistemima za video kodiranje. U ovom pogledu prvo se vrši poziv na Fig. 1 koja prikazuje šematski blok dijagram primera aparata ili elektronskog uređaja 50, koji može uključivati kodek prema primeru izvođenja pronalaska.
[0030] Elektronski uređaj 50 može biti mobilni terminal ili korisnička oprema bežičnog komunikacionog sistema. Međutim, podrazumeva se da primeri izvođenja pronalaska mogu biti imlementirani unutar bilo kog elektronskog uređaja ili aparata koji može zahtevati kodiranje i dekodiranje ili kodiranje i dekodiranje video slika.
[0031] Aparat 50 može sadržati kućište 30 za smeštaj i zaštitu uređaja. Aparat 50 može dalje sadržati displej 32 u obliku displeja od tečnih kristala. U drugim primerima izvođenja pronalaska displej može biti bilo koja tehnologija pogodna za prikaz slike ili videa. Aparat 50 može dalje sadržati tastaturu 34. U drugim primerima izvođenja pronalaska može biti primenjen bilo koji mehanizam interfejsa za podatke ili korisnički interfejs. Na primer, korisnički interfejs može biti implementiran u obliku virtuelne tastature ili sistema za unos podataka kao dela ekrana za osetljivog na dodir. Aparat može sadržati mikrofon 36 ili bilo koji pogodni audio ulaz, koji može biti digitalni ili analogni signalni ulaz. Aparat 50 može dalje sadržati uređaj za audio izlaz koji u primerima izvođenja pronalaska može biti bilo koji od sledećih: slušalice 38, zvučnik, ili analogna audio ili digitalna audio izlazna konekcija. Aparat 50 takođe može sadržati bateriju 40 (ili u drugim primerima izvođenja pronalaska uređaj se može napajati bilo kojim pogodnim mobilnim uređajem za napajanje kao što su solarne ćelije, gorive ćelije ili pogonski mehanizam na navijanje). Aparat može dalje sadržati infracrveni port 42 za komunikaciju kratkog dometa sa drugim uređajima u vidnom polju. U drugim primerima izvođenja aparat 50 dalje može sadržati bilo koje pogodno komunikaciono rešenje kratkog dometa kao što su, na primer, blutut bežična veza ili USB/ firewire“ žična konekcija.
[0032] Aparat 50 može sadržati kontroler 56 ili procesor za kontrolisanje aparata 50. Kontroler 56 može biti povezan sa memorijom 58 koja u primerima izvođenja pronalaska može skladištiti i podatke u obliku slike i audio podataka i/ili takođe može skladištiti instrukcije za implementaciju na kontroleru 56. Kontroler 56 dalje može biti povezan sa kolom 54 za kodek pogodnim za izvršavanje kodiranja i dekodiranja audio i/ili video podataka ili asistiranje u kodiranju i dekodiranju koje vrši kontroler 56.
[0033] Aparat 50 može dalje sadržati čitač 48 kartica i pametnu karticu 46, na primer, UICC i UICC čitač za pružanje informacija o korisniku i koji su pogodni za obezbeđivanje informacija za autentifikaciju i autorizaciju korisnika na mreži.
[0034] Aparat 50 može sadržati kolo 52 radio interfejsa povezano sa kontrolerom i pogodno za generisanje bežičnih komunikacionih signala, na primer, za komunikaciju sa ćelijskom komunikacionom mrežom, bežičnim komunikacionim sistemom ili bežičnom lokalnom mrežom. Aparat 50 dalje može sadržati antenu 44 povezanu sa kolom 52 radio interfejsa za slanje radio frekventnih signala generisanih u kolu 52 radio interfejsa prema drugom aparatu/drugim aparatima i za prijem radio frekventnih signala sa drugog aparata/drugih aparata.
[0035] U nekim primerima izvođenja pronalaska, Aparat 50 sadrži kameru sposobnu za snimanje ili detektovanje individualnih okvira koji se tada prosleđuju kodeku 54 ili kontroleru za procesiranje. U nekim primerima izvođenja pronalaska, aparat može da primi podatke video slike za procesiranje sa drugog uređaja pre slanja i/ili skladištenja. U nekim primerima izvođenja pronalaska, aparat 50 može da primi sliku za kodiranje/dekodiranje bilo bežično ili preko žičane veze.
[0036] U skladu sa Fig. 3, prikazan je primer sistema u kome se mogu primeniti primeri izvođenja prema predmetnom pronalasku. Sistem 10 sadrži više komunikacionih uređaja koji mogu da komuniciraju kroz jednu ili više mreža. Sistem 10 može sadržati bilo koju kombinaciju žičanih ili bežičnih mreža uključujući, ali bez ograničenja na njih: bežičnu ćelijsku telefonsku mrežu (kao što su GSM, UMTS, CDMA mreže itd.), bežičnu lokalnu mrežu (WLAN) kao što je definisano bilo kojim od IEEE 802.x standarda, Blutut personalnu mrežu, Eternet lokalnu mrežu, token ring lokalnu mrežu, računarsku mrežu širokog područja (eng. WAN) i Internet.
[0037] Sistem 10 može uključivati i žični i bežični komunikacioni uređaj ili aparat 50 pogodan za implementaciju primera izvođenja pronalaska.
[0038] Na primer, sistem prikazan na Fig.3 prikazuje mobilnu telefonsku mrežu 11 i predstavu interneta 28. Konektivnost prema internetu 28 može uključivati, ali nije ograničena na, bežične veze velikog dometa, bežične veze malog dometa i različite žičane veze uključujući, ali bez ograničenja na telefonske linije, kablovske linije, energetske kablove/linije, i slične komunikacione putanje.
[0039] Primer komunikacionih uređaja prikazan u sistemu 10 može da uključuje, ali nije ograničen na, elektronski uređaj ili aparat 50, kombinaciju ličnog digitalnog asistenta (PDA) i mobilnog telefona 14, PDA 16, integrisani uređaj 18 za poruke (eng. integrated messaging device, skr. IMD), stoni računar 20, prenosni računar 22. Aparat 50 može biti stacionaran ili prenosiv kada ga nosi pojedinac koji se kreće. Aparat 50 takođe može biti lociran u transportnom sredstvu uključujući, ali bez ograničenja na automobil, kamion, taksi, autobus, voz, brod, avion, bicikl, motorcikl ili bilo koje slično pogodno prevozno sredstvo.
[0040] Neki ili drugi aparati mogu slati i primati pozive i poruke i komunicirati sa provajderima servisa preko bežične veze 25 sa baznom stanicom 24. Bazna stanica 24 može biti povezana sa mrežnim serverom 26, što omogućava komunikaciju između mobilne telefonske mreže 11 i interneta 28. Sistem može da sadrži dodatne komunikacione uređaje i komunikacione uređaje različitih tipova.
[0041] Komunikacioni uređaji mogu da komuniciraju korišćenjem različitih tehnologija prenosa uključujući, ali bez ograničenja na njih, višestruki pristup sa kodnom podelom (CDMA), globalne sisteme za mobilne komunikacije (GSM), univerzalni mobilni telekomunikacioni sistem (UMTS), višestruki pristup sa vremenskom podelom (TDMA), višestruki pristup sa frekvencijskom podelom (FDMA), predajni kontrolni protokol-internet protokol (TCP-IP), servis kratkih poruka (SMS), servis multimedijanih poruka (MMS), elektronsku poštu, servis instant poruka (eng. instant messaging service, skr.IMS), blutut, IEEE 802.11 i bilo koju sličnu bežičnu komunikacionu tehnologiju. Komunikacioni uređaj uključen u implementaciju različitih primera izvođenja predmetnog pronalaska može da komunicira korišćenjem različitih medijuma uključujući, ali bez ograničenja na njih, radio, infracrvene, laserske, kablovske veze i bilo koju pogodnu vezu.
[0042] U skladu sa Fig. 4a, prikazan je blok dijagram video kodera pogodnog za realizaciju primera izvođenja pronalaska. Osim toga, sa pozivom na Fig.5a i 5b, rad kodera koji ilustruje primere izvođenja pronalaska, posebno u vezi pravljenja liste kandidata za predikcije, prikazan je kao dijagram toka.
[0043] Fig. 4a prikazuje koder koji sadrži prediktor 302 tačke, koder 303 greške predikcije i dekoder 304 greške predikcije. Fig.4a takođe prikazuje primer izvođenja prediktora 302 tačke koji sadrži inter-prediktor 306, intra-prediktor 308, selektor 310 moda, filter 316, i memoriju 318 za referentni okvir. U ovom primeru izvođenja selektor 310 moda obuhvata procesor 381 bloka i procenitelja 382 troškova. Koder može dalje sadržati entropijski koder 330 za kodiranje entropije bitskog toka.
[0044] Fig. 4b prikazuje primer izvođenja inter prediktora 306. Inter prediktor 306 sadrži selektor 360 referentnog okvira za selektovanje referentnog okvira ili okvira, odredilac 361 vektora kretanja, modifikator 363 liste predikcije i selektor 364 vektora kretanja. Ovi elementi ili neki od njih mogu biti deo procesora 362 za predikciju ili oni mogu biti implementirani korišćenjem drugih sredstava.
[0045] Prediktor 302 tačke prima sliku 300 koja treba da se kodira na oba: i na inter-prediktoru 306 (koji određuje razliku između slike i referentnog okvira 318 sa kompenzovanim kretanjem), i na intra-prediktoru 308 (koji određuje predikciju za blok slike samo na osnovu već procesiranih delova tekućeg okvira ili slike). Izlaz iz oba, i inter-prediktora, i iz intra-prediktora može biti propušten na selektor 310 moda. Intra-prediktor 308 može da ima više od jednog moda intrapredikcije. Stoga, svaki mod može da vrši intra-predikciju i da obezbedi predviđeni signal na selektoru 310 moda. Selektor 310 moda takođe prima kopiju slike 300.
[0046] Selektor 310 moda određuje koji mod kodiranja da se koristi za kodiranje tekućeg bloka. Ukoliko selektor 310 moda odluči da koristi mod inter-predikcije on će propustiti izlaz sa interprediktora 306 na izlaz selektora 310 moda. Ukoliko selektor 310 moda odluči da koristi mod intra-predikcije on može propustiti izlaz sa jednog od modova intra-predikcije na izlaz selektora 310 moda.
[0047] Izlaz sa selektora moda se prosleđuje prvom uređaju 321 za sumiranje. Prvi uređaj za sumiranje može oduzeti izlaz prediktora 302 tačke slike 300 da bi se dobio prvi signal 320 greške predikcije koji je ulaz u koder 303 greške predikcije.
[0048] Prediktor 302 tačke dalje prima sa preliminarnog rekonstruktora 339 kombinaciju predstave predikcije bloka 312 slike i izlaza 338 sa dekodera 304 greške predikcije. Preliminarna rekonstrukcija slike 314 može biti prosleđena na intra-prediktor 308 i na filter 316. Kada primi preliminarnu reprezentaciju filter 316 može da je filtrira i da pošalje finalnu rekonstruisanu sliku 340 koja može biti sačuvana u memoriji 318 za referentni okvir. Memorija 318 ze referentni okvir može biti povezana na inter-prediktor 306 da bi se koristila kao referentna slika na osnovu koje se buduća slika 300 poredi u operacijama inter-predikcije.
[0049] Rad prediktora 302 tačke može biti konfigurisan tako da izvrši bilo koji algoritam za predikciju tačke koji je poznat u stanju tehnike.
[0050] Prediktor 302 tačke takođe može sadržati filter 385 za filtriranje predviđenih vrednosti pre njihovog slanja sa prediktora 302 tačke.
1
[0051] Rad kodera 302 greška predikcije i dekodera 304 greške predikcije će dalje ovde biti detaljno opisani. U sledećim primerima koder generiše slike u obliku makroblokova veličine 16x16 tačaka koje obrazuju celu sliku ili snimak. Tako, za sledeće primere, izlaz sa prediktora 302 tačke je serija predviđenih makroblokova veličine 16x16 tačaka i prvi uređaj 321 za sumiranje daje kao izlaz seriju makroblokova rezidualnih podataka veličine 16x16 tačaka koji mogu predstavljati razliku između prvog makrobloka sa slike 300 prema predviđenom makrobloku (izlaz sa prediktora 302 tačke). Podrazumeva se da mogu da se koriste i druge veličine makroblokova.
[0052] Koder 303 greške predikcije sadrži blok 342 za transformisanje i kvantizator 344. Blok 342 za transformisanje transformiše prvi signal 320 greške predikcije u domen transformacije. Transformacija je, na primer, DCT transformacija. Kvantizator 344 kvantizira signal domena transformacije, npr. DCT koeficijente, da bi se obrazovali kvantizovani koeficijenti.
[0053] Dekoder 304 greške predikcije prima izlaz sa kodera 303 greške predikcije i vrši suprotne procese u odnosu na koder 303 greške predikcije da bi se dobio dekodirani signal 338 greške predikcije, koji kada se kombinuje sa reprezentacijom predikcije za blok 312 slike u drugom uređaju 339 za sumiranje proizvodi preliminarnu rekonstruisanu sliku 314. Može se smatrati da dekoder greške predikcije sadrži dekvantizator 346, koji dekvantizuje kvantizovane vrednosti koeficijenata, npr. DCT koeficijente, da bi rekonstruisao transformacioni signal i inverzni transformacioni blok 348, koji vrši inverznu transformaciju u rekonstruisani transformacioni signal, gde izlaz sa inverznog transformacionog bloka 348 sadrži rekonstruisani blok/blokove. Dekoder greške predikcije takođe može sadržati filter makrobloka (nije prikazan) koji može da filtrira rekonstruisani makroblok prema dalje dekodiranoj informaciji i parametrima filtera.
[0054] Dalje će funkcionisanje jednog primera izvođenja inter prediktora 306 biti opisano sa više detalja. Inter prediktor 306 prima tekući blok za inter predikciju. Podrazumeva se da za tekući blok već postoji jedan ili više susednih blokova koji su kodirani i za koje su određeni vektori kretanja. Na primer, blok sa leve strane i/ili blok iznad tekućeg bloka mogu biti takvi blokovi. Prostorna predikcija vektora kretanja za tekući blok se može formirati npr. korišćenjem vektora kretanja kodiranih susednih blokova i/ili nesusednih blokova u istom odsečku ili okviru, koristeći linearne ili nelinearne funkcije prostorne predikcije vektora kretanja, koristeći kombinaciju različitih prostornih predikcija vektora kretanja sa linearnim ili nelinearnim operacijama, ili bilo kojim drugim pogodnim načinom koji ne koristi vremenske referentne informacije. Takođe može biti moguće dobiti predikcije vektora kretanja kombinovanjem informacija iz oba, i prostornih, i vremenskih predikcija jednog ili više kodiranih blokova. Ovakve vrste predikcija vektora kretanja takođe se mogu nazivati prostorno-vremenske predikcije vektora kretanja.
[0055] Referentni okviri korišćeni u kodiranju susednih blokova su uskladišteni u memoriji 404 referentnog okvira. Referentni okviri mogu biti kratkotrajne reference ili dugotrajne reference i svaki referentni okvir može imati jedinstveni indeks koji ukazuje na lokaciju referentnog okvira u memoriji za referentni okvir. Kada se referentni okvir više ne koristi kao referentni okvir, onda se on može ukloniti iz memorije za referentni okvir ili markirati kao nereferentni okvir, pri čemu se lokacija gde je uskladišten referentni okvir može iskoristiti za novi referentni okvir. Dodatno uz referentne okvire susednih blokova selektor 360 referentnog okvira takođe može selektovati jedan ili više drugih okvira kao petencijalne referentne okvire i usklladištiti ih u memoriji za referentni okvir.
[0056] Informacija o vektoru kretanja kodiranih blokova je takođe uskladištena u memoriji tako da je inter prediktor 306 u mogućnosti da povrati informaciju o vektoru kretanja kada procesira kandidate za vektor kretanja za tekući blok.
[0057] U nekim primerima izvođenja vektori kretanja su uskladišteni u jednoj ili više listi. Na primer, vektori kretanja uni-direkciono predviđenih okvira (npr. P-okvira) mogu bti uskladišteni u listi nazvanoj lista 0. Za bi-direkciono predviđene okvire (npr. B- okvire) mogu postojati dve liste (lista 0 i lista 1), a za multi-predviđene okvire može postojati i više od dva liste. Indeksi referentnih okvira koji mogu biti pridruženi vektorima kretanja takođe mogu biti uskladišteni u jednoj ili više listi.
[0058] U nekim primerima izvođenja mogu postojati dve ili više procedura za predikciju vektora kretanja, a svaka procedura može imati svoj proces kreiranja skupa kandidata. U jednoj proceduri, koriste se samo vrednosti vektora kretanja. U drugoj proceduri, koja se može nazvati „mod spajanja“, svaki element kandidat može sadržati 1) informaciju da li je ’blok uni-predviđen korišćenjem samo liste 0’ ili blok ’je uni-predviđen korišćenjem samo liste 1’ ili blok ’je bipredviđen korišćenjem liste 0 i liste 1’ 2) vrednost vektora kretanja za listu 0 3) indeks referentne slike u listi 0 4) vrednost vektora kretanja za listu 1 5) listu 1 indeksa referentne tačke. Dakle, kada god trebaju da se uporede dva predikcijska kandidata, ne porede se samo vrednosti vektora kretanja, već takođe može da se uporedi pet vrednosti gore pomenutih da bi se odredilo da li one odgovaraju jedna drugoj ili ne. Sa druge strane, ako bilo koje od poređenja ukazuje da kandidati za predikciju nemaju jednake informacije o kretanju, onda nema potrebe vršiti bilo kakva dalja poređenja.
[0059] Određivač 361 vektora kretanja definiše kandidate vektora kretanja za tekući okvir koristeći jedan ili više vektora kretanja jednog ili više susednih blokova i/ili drugih blokova tekućeg bloka u istom okviru i/ili kolociranih blokova i/ili drugih blokova tekućeg bloka u jednom ili više drugih okvira. Ovi kandidati vektora kretanja mogu biti imenovani kao skup kandidata prediktora ili skup prediktora. Svaki kandidat prediktor tako predstavlja vektor kretanja jednog ili više već kodiranih blokova. U nekim primerima izvođenja vektor kretanja kandidata prediktora je skup jednak vektoru kretanja susednog bloka za istu listu ukoliko se tekući blok i susedni blok pozivaju na iste referentne okvire za tu listu. Takođe, za vremensku predikciju tu može biti jedan ili više prethodno kodiranih okvira gde vektori kretanja kolociranog bloka ili drugih blokova u prethodno kodiranom okviru mogu biti izabrani kao kandidati prediktori za tekući blok.
Kandidat prediktor za vremenski vektor kretanja može biti generisan na bilo koji način u kome se koriste okviri različiti od tekućeg okvira.
[0060] Kandidati vektori kretanja takođe mogu biti dobijeni korišćenjem više od jednog vektora kretanja jednog ili više drugih blokova, kao što su susedni blokovi tekućeg bloka i/ili kolocirani blokovi u jednom ili više drugih okvira. Kao primer, može biti korišćena bilo koja kombinacija vektora kretanja bloka levo od tekućeg bloka, vektora kretanja bloka iznad tekućeg bloka i vektora kretanja bloka gore desno od tekućeg bloka (tj. bloka desno od bloka iznad tekućeg bloka). Kombinacija može biti medijana vektora kretanja ili izračunata korišćenjem drugih formula. Na primer, jedan ili više vektora kretanja koji će se koristiti u kombinaciji mogu biti skalirani faktorom skaliranja, može biti dodat ofset, i/ili može biti dodat konstantan vektor kretanja. U nekim primerima izvođenja kombinovani vektor kretanja je baziran na oba, i na vremenskim, i na prostornim vektorima kretanja, npr. vektoru kretanja jednog ili više susednih blokova ili nekog drugog bloka različitog od tekućeg bloka i vektoru kretanja kolociranog bloka ili nekog drugog bloka u drugom okviru.
[0061] Ako susedni blok nema nikakvu informaciju o vektoru kretanja, umesto njega može se koristiti difoltni vektor kretanja, kao što je nulti vektor kretanja.
[0062] Fig. 9 ilustruje primer jedinice 900 za kodiranje i nekih susednih blokova 901-905 jedinice za kodiranje. Kao što se može videti sa Fig. 9, ukoliko jedinica 900 za kodiranje predstavlja tekući blok, susedni blokovi 901-905 koji su označeni kao A0, A1, B0, B1 i B2 mogu biti takvi susedni blokovi koji se mogu koristiti kada se dobijaju kandidati vektori pokreta.
[0063] Kreiranje dodatnih ili ekstra predikcija vektora kretanja baziranih na prethodno dodatim prediktorima može biti potrebno kada je tekući broj kandidata ograničen ili nedovoljan. Ovakav način kreiranja dodatnih kandidata može se vršiti kombinovanjem prethodne dve predikcije i/ili obradom jednog prethodnog kandidata skaliranjem ili dodavanjem ofseta i/ili dodavanjem nultog vektora kretanja sa različitim indeksima referenci. Dakle, određivač 361 vektora kretanja može da ispita koliko kandidata vektora kretanja može biti definisano i koliko potencijalnih kandidata vektora kretanja postoji za tekući blok. Ukoliko je broj potencijalnih kandidata vektora kretanja manji od granične vrednosti, određivač 361 vektora kretanja može kreirati dodatne predikcije vektora kretanja.
[0064] U nekim primerima izvođenja kombinovani vektori kretanja mogu biti bazirani na vektorima kretanja u različitim listama. Na primer, jedan vektor kretanja može biti definisan kombinovanjem jednog vektora kretanja iz liste 0 i jednog vektora kretanja iz liste 1 npr. kada je susedni ili kolocirani blok bi-direkciono predviđeni blok i postoji jedan vektor kretanja u listi 0 i jedan vektor kretanja u listi 1 za bi-direkciono predviđen blok.
[0065] Da bi se razlikovao tekući blok od kodiranih/dekodiranih blokova čiji se vektori kretanja koriste kao kandidati vektori kretanja, ovi kodirani/dekodirani blokovi se takođe nazivaju referentnim blokovima kod ovakve primene.
1
[0066] U nekim primerima izvođenja ne dobija se samo informacija o vektoru kretanja referentnog bloka/referentnih blokova (npr. kopiranjem) već takođe i referentni indeks referentnog bloka u listi referentnih slika može biti kopiran u listu kandidata. Takođe može biti iskopirana informacija da li je blok uni-predviđen korišćenjem samo liste 0 ili je blok bio unipredviđen korišćenjem samo liste 1 ili je blok bio bi-predviđen korišćenjem liste 0 i liste 1. Lista kandidata se takođe može nazivati skupom kandidata ili skupom kandidata za predikciju vektora kretanja.
[0067] Fig. 6a ilustruje primer prostorne i vremenske predikcije jedinice za predikciju. Ovde je prikazan tekući blok 601 u okviru 600 i susedni blok 602 koji je već kodiran. Određivač 361 vektora kretanja je definisao vektor 603 kretanja za susedni blok 602 koji ukazuje na blok 604 u prethodnom okviru 605. Ovaj vektor kretanja može biti iskorišćen kao potencijalna prostorna predikcija za vektor 610 kretanja za tekući blok. Fig. 6a prikazuje da kolocirani blok 606 iz prethodnog okvira 605, tj. bloka na istoj lokaciji kao tekući blok ali u prethodnom okviru, ima vektor 607 kretanja koji ukazuje na blok 609 u drugom okviru 608. Ovaj vektor kretanja 607 se može koristiti kao potencijalna vremenska predikcija za vektor 611 kretanja za tekući okvir.
[0068] Fig. 6b ilustruje drugi primer prostorne i vremenske predikcije jedinice za predikciju. U ovom primeru blok 606 prethodnog okvira 605 koristi bidirekcionu predikciju baziranu na bloku 609 okvira koji prethodi okviru 605 i na bloku 612 koji sledi iza tekućeg okvira 600. Vremenska predikcija za vektor kretanja za tekući blok 601 se može obrazovati korišćenjem oba vektora kretanja 607, 614 ili bilo kog od njih.
[0069] Sada će sa više detalja biti opisan rad modifikatora 363 liste predikcije sa pozivanjem na dijagram toka sa Fig.5a i 5b. Modifikator 363 liste predikcije inicijalizuje listu predikcije vektora kretanja na difoltne vrednosti u bloku 500 sa Fig. 5a. Modifikator 363 liste predikcije takođe može da inicijalizuje listu indeksa na inicijalnu vrednost kao što je nula. Zatim, u bloku 501 modifikator liste predikcije proverava da li za obradu postoje bilo koji kandidati za vektor kretanja. Ukoliko postoji bar jedan kandidat za vektor kretanja u skupu prediktora za obradu, modifikator 363 liste predikcije generiše sledećeg kandidata za vektor kretanja koji može biti vremenski vektor kretanja ili prostorni vektor kretanja. Poređenje može biti provera identičnosti/ekvivalentnosti ili poređenje (apsolutne) razlike u odnosu na graničnu vrednost ili neku drugu metriku za sličnost.
[0070] U nastavku će biti opisan sa više detalja proces spajanja za kodiranje informacije o kretanju prema primeru izvođenja. Koder kreira listu kandidata za predikciju kretanja iz koje jedan od kandidata treba da bude označen kao informacija o kretanju za tekuću jedinicu za kodiranje ili jedinicu za predikciju. Kandidati za predikciju kretanja se mogu sastojati od više prostornih predikcija kretanja i vremenske predikcije kretanja. Prostorni kandidati mogu biti dobijeni iz informacija o kretanju, npr. prostornih susednih blokova A0, A1, B0, B1, B2, čije informacije o kretanju se koriste kao kandidati prostorne predikcije kretanja. Kandidat za vremensku predikciju kretanja može biti dobijen obradom kretanja bloka u okviru različitom od tekućeg okvira. U ovom primeru primera izvođenja, rad kodera na pravljenju liste spajanja za prostorne kandidate može da uključuje sledeće. Operacije, na primer, može da izvrši modifikator liste predikcije 363.
[0071] Može se definisati maksimalni broj kandidata za prostornu predikciju kretanja koji će biti uključeni u listu spajanja. Ovaj maksimalni broj može biti uskladišten, na primer, u memoriji 58 aparata 50, ili na drugom odgovarajućem mestu. Takođe je moguće odrediti maksimalni broj korišćenjem drugih sredstava, ili može biti određen u softveru kodera aparata 50.
[0072] U nekim primerima izvođenja maksimalni broj kandidata za prostornu predikciju kretanja koji će biti uključeni u listu spajanja je četiri, ali u nekim primerima izvođenja maksimalni broj može biti manji od četiri ili veći od četiri.
[0073] U ovom primeru kandidati za prostornu predikciju kretanja su prostorno susedni blokovi A0, A1, B0, B1, B2. Kandidat za prostornu predikciju vektora kretanja A1 je lociran sa leve strane jedinice za predikciju kada je redosled za kodiranje/dekodiranje sa leva na desno i odozgo na dole u okviru, traci ili drugom entitetu koji treba da se kodira/dekodira. Redom, kandidat za prostornu predikciju vektora kretanja B1 je lociran iznad jedinice za predikciju; kandidat za prostornu predikciju vektora kretanja B0 je sa desne strane kandidata za prostornu predikciju vektora kretanja B1; kandidat za prostornu predikciju vektora kretanja A0 je ispod kandidata za prostornu predikciju vektora kretanja A1; i kandidat za prostornu predikciju vektora kretanja B2 se nalazi u istoj koloni kao kandidat za prostornu predikciju vektora kretanja A1 i u istom redu kao kandidat za prostornu predikciju vektora kretanja B1. Drugim rečima, kandidat za prostornu predikciju vektora kretanja B2 je susedan na uglu jedinice za predikciju kao što se može videti npr. sa Fig.9.
[0074] Ovi kandidati za prostornu predikciju kretanja mogu biti obrađivani unapred definisanim redosledom, na primer, A1, B1, B0, A0 i B2. Tako je A1 prvi kandidat za prostornu predikciju kretanja koji će biti izabran za dalje ispitivanje. Pre vršenja daljeg ispitivanja za odabranog kandidata za prostornu predikciju kretanja, može biti određeno da li lista spajanja već sadrži maksimalni broj kandidata za prostornu predikciju kretanja. Dakle, modifikator 363 liste predikcije poredi 502 broj kandidata za prostornu predikciju kretanja u listi spajanja sa maksimalnim brojem i ukoliko broj kandidata za prostornu predikciju kretanja u listi spajanja nije manji od maksimalnog broja, odabrani kandidat za prostornu predikciju kretanja se ne uključuje u listu spajanja i postupak 526 pravljenja liste spajanja može biti prekinut. Sa druge strane, ukoliko je broj kandidata za prostornu predikciju kretanja u listi spajanja manji od maksimalnog broja, vrši se dalja analiza odabranog kandidata za prostornu predikciju kretanja (blokovi 504-522).
[0075] Za sve kandidate za prostornu predikciju kretanja za koje će se vršiti dalja analiza, neki ili svi od sledećih uslova dole mogu biti testirani radi određivanja da li da se kandidat za prostornu predikciju kretanja uključi u listu spajanja.
1
[0076] Modifikator 363 liste predikcije ispituje 504 da li jedinica za predikciju ili blok koji pokriva blok kandidata za prostornu predikciju kretanja nije raspoloživ za predikciju kretanja. Ukoliko je tako, kandidat se ne uključuje u listu spajanja. Razlog što blok nije raspoloživ može biti zato što je blok kodiran u intra modu ili se nalazi u različitoj traci ili izvan oblasti slike.
[0077] Dodatno gornjim uobičajenim uslovima za svakog kandidata za prostornu predikciju kretanja, ako važi bilo koji od sledećih uslova, onda se kandidat ne uključuje u listu spajanja, u suprotnom, on se uključuje.
[0078] Modifikator 363 liste predikcije određuje 506 koji kandidat za prostornu predikciju kretanja iz skupa kandidata za prostornu predikciju kretanja je u pitanju. Ukoliko je kandidat za prostornu predikciju kretanja blok A1, mogu se ispitivati jedan ili više od sledećih uslova 508, 510 da bi se odredilo da li da se ovaj kandidat za prostornu predikciju kretanja uključi u listi spajanja ili ne. Ukoliko se tekuća jedinica 100 za kodiranje vertikalno podeli u dve pravougaone jedinice za predikciju 103, 104 kao što je prikazano na Fig.10b i tekuća jedinica za predikciju je druga jedinica za predikciju 104 po redosledu kodiranja/dekodiranja (508), onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja. Ukoliko se tekuća jedinica 100 za kodiranje ne podeli vertikalno u dve pravougaone jedinice za predikciju već se horizontalno podeli u dve pravougaone jedinice za predikciju 101, 102 kao što je prikazano na Fig. 10a i tekuća jedinica za predikciju je druga jedinica za predikciju po redosledu kodiranja/dekodiranja i blok A1 ima istu informaciju o kretanju kao blok B1 (510), ovaj kandidat za prostornu predikciju kretanja (blok A1) se ne uključuje u listu spajanja. U primeru na Fig.10a druga jedinica za predikciju je donja jedinica za predikciju 102 jedinice 100 za kodiranje, a u primeru sa Fig.10b druga jedinica za predikciju je najdešnja jedinica 104 za predikciju jedinice 100 za kodiranje. Ukoliko nijedan od gornjih uslova nije ispunjen, onda se blok A1 uključuje u listu spajanja kao kandidat za prostornu predikciju kretanja (524).
[0079] Ukoliko je kandidat za prostornu predikciju kretanja blok B1, mogu se ispitivati jedan ili više od sledećih uslova 512, 514 da bi se odredilo da li da se ovaj kandidat za prostornu predikciju kretanja uključi u listi spajanja ili ne. Ukoliko se tekuća jedinica 100 za kodiranje horizontalno podeli na dve pravougaone jedinice za predikciju 101, 102 kao što je prikazano na Fig. 10a i i tekuća jedinica za predikciju je druga jedinica 104 za predikciju po redosledu za kodiranje/dekodiranje (512), onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja. Ukoliko tekuća jedinicu 100 za kodiranje nije horizontalno podeljena na dve pravougaone jedinice za predikciju i ukoliko blok B1 ima istu informaciju o kretanju kao blok A1 (514), onda se ovaj kandidat za prostornu predikciju kretanja (blok B1) ne uključuje u listu spajanja. Ako nijedan od gornjih uslova nije ispunjen, blok B1 se uključuje u listu spajanja kao kandidat za prostornu predikciju kretanja (524).
[0080] Ukoliko je kandidat za prostornu predikciju kretanja blok B0, onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listi spajanja ukoliko B0 ima istu informaciju o kretanju kao blok B1 (516). Inače, ukoliko je broj kandidata za prostornu predikciju kretanja u
1
listi spajanja manji od maksimalnog broja kandidata za prostornu predikciju kretanja, ovaj kandidat za prostornu predikciju kretanja (blok B0) se uključuje u listu spajanja (524).
[0081] Ukoliko je kandidat za prostornu predikciju kretanja blok A0, onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja ukoliko blok A0 ima istu informaciju o kretanju kao blok A1 (518). Inače, ukoliko je broj kandidata za prostornu predikciju kretanja u listi spajanja manji od maksimalnog broja kandidata za prostornu predikciju kretanja, onda se ovaj kandidat za prostornu predikciju kretanja (blok A0) uključuje u listu spajanja (524).
[0082] Ukoliko je kandidat za prostornu predikciju kretanja blok B2, onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja ukoliko je maksimalni broj kandidata za prostornu predikciju kretanja četiri, a za sve druge blokove A0, A1, B0, i B1 je odlučeno da budu uključeni u listu spajanja (520). Inače, ukoliko je broj kandidata za prostornu predikciju kretanja u listi spajanja manji od maksimalnog broja kandidata za prostornu predikciju kretanja, onda se blok B2 ne uključuje u listu spajanja ako blok B2 ima iste informacije o kretanju kao blok B1 ili blok A1 (522).
[0083] Zatim, posle procesiranja blokova A1, B1, B0, A0 i B2 i uključivanja njihovog podskupa u listu spajanja na osnovu gore opisanih uslova, više se ne vrše provere redundantnosti između ovih kandidata i mogu se procesirati preostali kandidati za vremensku predikciju kretanja i/ili drugi mogući dodatni kandidati.
[0084] Upoređivanje da li dva bloka imaju isto kretanje se može vršiti poređenjem svih elemenata informacije o kretanju, što će reći 1) informacija da li „jedinica za predikciju je unipredviđena korišćenjem samo liste 0 referentnih slika“ ili „jedinica za predikciju je unipredviđena korišćenjem samo liste 1 referentnih slika1“ ili „jedinica za predikciju je bipredviđena korišćenjem obe liste 0 i 1 referentnih slika“ 2) Vrednost vektora kretanja odgovara listi 0 referentnih slika 3) indeksa referentne slike liste 0 referentnih slika 4) Vrednost vektora kretanja odgovara listi 1 referentnih slika 5) indeksa referentne slike liste 1 referentnih slika.
[0085] U nekim primerima izvođenja se mogu primeniti slična ograničenja za poređenje parova kandidata ukoliko je tekuća jedinica za kodiranje kodirana/dekodirana deljenjem u četiri ili bilo koji broj jedinica za predikciju.
[0086] Maksimalni broj kandidata za listu spajanja može biti bilo koja vrednost različita od nule. U gornjem primeru kandidati za listu za spajanje su bili prostorni susedni blokovi A0, A1, B0, B1, B2 i kandidat za vremensku predikciju kretanja, ali može biti više od jednog kandidata za vremensku predikciju kretanja, a takođe i drugi kandidati za prostornu predikciju kretanja osim prostorno susednih blokova. U nekim primerima izvođenja takođe mogu postojati drugi prostorni susedni blokovi osim blokova A0, A1, B0, B1, B2.
[0087] Takođe je moguće da maksimalni broj kandidata za prostornu predikciju kretanja uključenih u listu bude različit od četiri.
1
[0088] U nekim primerima izvođenja maksimalni broj kandidata za listu spajanja i maksimalni broj kandidata za prostornu predikciju kretanja uključenih u listu može zavisiti od toga da li je kandidat za vremenski vektor kretanja uključen u listu ili ne.
[0089] Može se obrađivati različit broj kandidata za prostornu predikciju kretanja koji se nalaze na različitim mestima u tekućem okviru. Mesta mogu biti ista ili različita od A1, B1, B0, A0 i B2.
[0090] Odluka koji će kandidati za prostornu predikciju kretanja biti uključeni u listu može biti doneta u dva koraka. U prvom koraku, neki od kandidata se eliminišu proverom da li je blok kandidat raspoloživ i/ili je mod predikcije bloka kandidata intra i/ili da li je tekući blok druga jedinica za predikciju jedinice za kodiranje kodiran pomoću dve jedinice za predikciju i kandidat ima isto kretanje kao prva jedinica za predikciju. U drugom koraku, preostali kandidati se proveravaju i neki ili svi se uključuju u listu spajanja. Ispitivanje u drugom koraku ne uključuje poređenje informacija o kretanju svakog mogućeg para kandidata, već uključuje podskup mogućih kombinacija upoređivanja.
[0091] Odluke o kandidatima mogu biti donete bilo kojim redosledom A1, B1, B0, A0 i B2 ili nezavisno u paraleli.
[0092] Za svakog kandidata i/ili podskup kandidata, takođe se mogu proveravati sledeći uslovi: da li blok kandidat ima isto kretanje kao prva jedinica za predikciju tekuće jedinice za kodiranje kada se tekuća jedinica za kodiranje podeli na dve pravougaone jedinice za predikciju i tekuća jedinica za predikciju je druga jedinica za predikciju u redosledu za kodiranje/dekodiranje.
[0093] Dodatni uslovi povezani sa različitim osobinama tekuće i/ili prethodne trake i/ili tekućeg i/ili susednih blokova se mogu koristiti za određivanje da li uključiti kandidata u listu.
[0094] Poređenje kretanja se može realizovati upoređivanjem podskupa celokupne informacije o kretanju. Na primer, samo vrednosti vektora kretanja za neke ili sve liste referentnih slika i/ili indekse referenci za neke ili sve liste referentnih slika i/ili vrednost identifikatora dodeljenog za svaki blok da predstavlja njegovu informaciju o kretanju se mogu porediti. Poređenje može biti provera identičnosti ili ekvivalentnosti ili poređenje (apsolutne) razlike između granične vrednosti ili bilo koje metrike za sličnosti.
[0095] Uslovi za odlučivanje da li će kandidat biti uključen u listu mogu obuhvatati poređenje informacije o kretanju sa bilo kojim podskupom kandidata sve dok se svi mogući parovi kandidata konačno ne uporede.
[0096] Odlučivanje da li će kandidat za vremenski vektor kretanja biti uključen u listu se može bazirati na poređenju njegovih informacija o kretanju sa informacijama o kretanju podskupa kandidata za prostornu predikciju vektora kretanja.
[0097] Kada se porede informacije o kretanju dva bloka, takođe se može razmatrati informacija o kretanju dodatnih blokova. Na primer, kada se porede blok B2 i blok A1, proverava se da li svi blokovi između bloka B2 i bloka A1 (ilustrovano na Fig. 12) imaju isto kretanje; a kada se porede blok B2 i blok B1 proverava se da li svi blokovi između bloka B2 i bloka B1 (ilustrovano na Fig.12) imaju isto kretanje. Ovaj primer izvođenja može biti implementiran tako da najdešnji
1
blok svake jedinice za predikciju ili svi blokovi svake jedinice za predikciju mogu uskladištiti informaciju koliko mnogo uzastopnih blokova prema gore ima istu informaciju o kretanju. Takođe najdonji blok svake jedinice za predikciju ili svi blokovi svake jedinice za predikciju mogu uskladištiti informaciju koliko mnogo uzastopnih blokova sa leve strane ima istu informaciju o kretanju. Koristeći ovu informaciju uslovi za neuključivanje B0 u listu mogu biti sagledani proverom da li je broj uzastopnih blokova sa istim kretanjem levo od B0 veći od 0. Uslovi za neuključivanje A0 u listu mogu biti sagledani proverom da li je broj uzastopnih blokova sa istim kretanjem gore A0 veći od 0. Uslovi za neuključivanje B2 mogu biti modifikovani kao što sledi:
Ne proverava se da li blok B2 ima isto kretanje kao blok B1 ili da li blok B2 ima isto kretanje kao blok A1, već koliko mnogo uzastopnih blokova postoji levo od bloka B1 sa istim kretanjem kao blok B1 i/ili koliko mnogo uzastopnih blokova postoji iznad bloka A1 sa istim kretanjem. Ukoliko je broj uzastopnih blokova sa istim kretanjem levo od bloka B1 veći nego broj blokova između B2 i B1 ili ukoliko je broj uzastopnih blokova sa istim kretanjem iznad bloka A1 veći nego broj blokova između bloka B2 i bloka A1, blok B2 se ne uključuje u listu spajanja.
[0098] Ukoliko se koristi gornja implementacija, vrednost koliko mnogo uzastopnih blokova levo/gore imaju istu informaciju o kretanju se može utvrditi direktnim poređenjem informacija o kretanju ili proverom moda predikcije i/ili indeksa spajanja ukoliko blok primenjuje proces spajanja.
[0099] Kada se selektovani indeks spajanja kodira/dekodira, informacija da li je proces spajanja primenjen za kodiranje/dekodiranje mod „preskoči“ (eng. Skip) jedinice za kodiranje ili mod „Inter spajanje“ jedinice za predikciju se mogu uzeti u razmatranje. Na primer, ukoliko se kontekstni binarni aritmetički adaptivni koder (eng. context adaptive binary arithmetic coder, skr. CABAC) koristi za entropijsko kodiranje/dekodiranje, različiti konteksti se mogu koristiti za binove (bin je binarizovani simbol – prim. prev.) u zavisnosti od moda kodiranja (mod preskoči ili mod inter spajanja) tekućeg bloka. Dalje, dodeljivanje dva konteksta u zavisnosti da li je primenjen proces spajanja u modu „preskoči“ jedinice za kodiranje ili modu „inter spajanje“ jedinice za predikciju može primeniti samo za najznačajniji bin indeksa spajanja.
[0100] Tokom procesa uklanjanja redundantnih kandidata, poređenje između kandidata za prediktor vektor kretanja takođe se može zasnivati na bilo kojoj drugoj informaciji osim vrednosti vektora kretanja. Na primer, može se zasnivati na linearnim ili nelinearnim funkcijama vrednosti vektora kretanja, kodiranju ili tipovima predikcije blokova korišćenih da se dobije informacija o kretanju, veličini bloka, prostornoj lokaciji u okviru/(najvećoj) jedinici za kodiranje /makrobloku, informaciji da li blokovi dele isto kretanje sa blokom, informaciji da li su blokovi u istoj jedinici za kodiranje/predikciju, itd.
[0101] Sledeći pseudo kod ilustruje primer primera izvođenja pronalaska za pravljenje liste spajanja.
[0102] Ulazi za ovaj proces su
1
- luma lokacija (xP, yP) koja označava gornji-levi luma uzorak tekuće jedinice za predikciju relativno prema gornjem-levom uzorku tekuće slike;
- promenljive koje označavaju širinu i visinu jedinice za predikciju za luma, nPSW i nPSH; i - promenljiva Partldx koja označava indeks tekuće jedinice za predikciju u okviru tekuće jedinice za kodiranje. Izlazi iz ovog procesa su (gde se N zamenjuje sa A0, A1, B 0, B1 ili B2 i gde se X zamenjuje sa 0 ili 1)
- zastavica za raspoloživost availableFlagN susednih jedinica za predikciju,
- indeksi referenci refldxLXN susednih jedinica za predikciju,
- zastavice za iskorišćenost liste predikcija predFlagLXN susednih jedinica za predikciju, - vektori kretanja mvLXN susednih jedinica za predikciju.
Za dobijanje availableFlagN, gde je N A0, A1, B0, B1 ili B2 i (xN, yN) su (xP-1, yP nPSH), (xP- 1, yP nPSH-1), (xP nPSW, yP-1), (xP+nPSW-1, yP- 1) ili (xP-1, yP-1), primenjuje se sledeće.
- Ukoliko je jedan od sledećih uslova tačan, postavlja se da availableFlagN bude jednak 0, obe komponente mvLXN se postavljaju da budu 0, refldxLXN i predFlagLX[xN, yN] jedinica za predikciju koje pokrivaju luma lokaciju (xN, yN) se redom dodeljuju mvLXN, refldxLXN i predFlagLXN.
- N je jednako B2 i availableFlagA0 availableFlagA1 availableFlagB0 availableFlagB1 je jednako 4.
- Jedinica za predikciju koja pokriva luma lokaciju (xN, yN) nije raspoloživa ili je PredMode MODE INTRA.
- N je jednako A1 i PartMode tekuće jedinice za predikciju je PART_Nx2N ili PART_nLx2N ili PART_nRx2N i Partldx je jednako 1.
- N je jednako A1 i PartMode tekuće jedinice za predikciju je PART_2NxN ili PART_2NxnU ili PART_2NxnD i Partldx je jednako 1 i jedinice za predikciju koje pokrivaju luma lokaciju (xP+nPSW-1, yP-1) (N = B1) i luma lokaciju (xN, yN) (Kand. N) imaju identične parametre kretanja:
- mvLX[xP+nPSW-1, yP-1] == mvLX[xN, yN]
- refIdxLX[xP+nPSW-1, yP-1] == refldxLX[xN, yN]
- predFlagLX[xP+nPSW-1, yP-1] == predFlagLX[xN, yN]
- N je jednako B1 i PartMode tekuće jedinice za predikciju je 2NxN ili PART_2NxnU ili PART_2NxnD i Partldx je jednako 1.
2
- N je jednako B1 i jedinice za predikciju koje pokrivaju lokaciju (xP-1, yP+nPSH-1) (N = Al) i luma lokaciju (xN, yN) (Kand. N) imaju identične parametre kretanja:
- mvLX[xP-1, yP+nPSH-1] = = mvLX[xN, yN]
- refIdxLX[xP-1, yP+nPSH-1] = = refldxLX[xN, yN]
- predFlagLX[xP-1, yP+nPSH-1] = = predFlagLX[xN, yN]
- N je jednako B0 i jedinice za predikciju koje pokrivaju lokaciju (xP+nPSW-1, yP-1) (N = B1) i luma lokaciju (xN, yN) (Kand. N) imaju identične parametre kretanja:
- mvLX[xP+nPSW-1, yP-1] = = mvLX[xN, yN]
- refIdxLX[xP+nPSW-1, yP-1] = = refldxLX[xN, yN]
- predFlagLX[xP+nPSW-1, yP-1] = = predFlagLX[xN, yN]
- N je jednako A0 i jedinice za predikciju koje pokrivaju lokaciju (xP-1, yP+nPSH-1) (N = Al) i luma lokaciju (xN, yN) (Kand. N) imaju identične parametre kretanja:
- mvLX[xP-1, yP+nPSH-1] = = mvLX[xN, yN]
- refIdxLX[xP-1, yP+nPSH-1] = = refldxLX[xN, yN]
- predFlagLX[xP-1, yP+nPSH-1] = = predFlagLX[xN, yN]
- N je jednako B2 i jedinice za predikciju koje pokrivaju lokaciju (xP+nPSW-1, yP-1) (N = B1) i luma lokaciju (xN, yN) (Kand. N) imaju identične parametre kretanja:
- mvLX[xP+nPSW-1, yP-1] = = mvLX[xN, yN]
- refIdxLX[xP+nPSW-1, yP-1] = = refldxLX[xN, yN]
- predFlagLX[xP+nPSW-1, yP-1] = = predFlagLX[xN, yN]
- N je jednako B2 i jedinice za predikciju koje pokrivaju lokaciju (xP-1, yP+nPSH-1) (N = Al) i luma lokaciju (xN, yN) (Kand. N) imaju identične parametre kretanja:
- mvLX[xP-1, yP+nPSH-1] = = mvLX[xN, yN]
- refIdxLX[xP-1, yP+nPSH-1] = = refldxLX[xN, yN]
- predFlagLX[xP-1, yP+nPSH-1] = = predFlagLX[xN, yN]
- PartMode tekuće jedinice za predikciju je PART NxN i Partldx je jednako 3 i jedinice za predikciju koje pokrivaju lokaciju (xP-1, yP) (Partldx = 2) i luma lokaciju (xP-1, yP-1) (Partldx = 0) imaju identične parametre kretanja:
- mvLX[xP-1, yP] = = mvLX[xP-1, yP-1]
- refIdxLX[xP-1, yP] = = refIdxLX[xP-1, yP-1]
- predFlagLX[xP-1, yP] = = predFlagLX[xP-1, yP- 1]
i jedinice za predikciju koje pokrivaju lokaciju (xP, yP-1) (Partldx = 1) i luma lokaciju (xN, yN) (Kand. N) imaju identične parametre kretanja:
- mvLX[xP, yP-1] = = mvLX[xN, yN]
- refldxLX[xP, yP-1] = = refldxLX[xN, yN]
- predFlagLX[xP, yP-1] = = predFlagLX[xN, yN]
- PartMode tekuće jedinice za predikciju je PART NxN i PartIdx je jednako 3 i jedinice za predikciju koje pokrivaju lokaciju (xP, yP-1) (Partldx = 1) i luma lokaciju (xP-1, yP-1) (Partldx = 0) imaju identične parametre kretanja:
- mvLX[xP, yP-1] = = mvLX[xP-1, yP-1]
- refldxLX[xP, yP-1] = = refIdxLX[xP-1, yP-1]
- predFlagLX[xP, yP-1] == predFlagLX[xP-1, yP- 1]
i jedinice za predikciju koje pokrivaju lokaciju (xP- 1, yP) (Partldx = 2) i luma lokaciju (xN, yN) (Kand. N) imaju identične parametre kretanja:
- mvLX[xP-1, yP] = = mvLX[xN, yN]
- refIdxLX[xP-1, yP] = = refldxLX[xN, yN]
- predFlagLX[xP-1, yP] = = predFlagLX[xN, yN]
- U suprotnom, availableFlagN je jednak 1 i promenljive mvLX[xN, yN], refldxLX[xN, yN] i predFlagLX[xN, yN] jedinice za predikciju koje pokrivaju lokaciju (xN, yN) se redom dodeljuju mvLXN, refldxLXN i predFlagLXN.
[0103] Za proces generisanja liste kandidata prediktora vektora kretanja, svaka lista kandidata može uključivati više informacija vrednosti vektora kretanja, kao što je korišćena lista referenci, referentni okviri korišćeni u svakoj listi i vektor kretanja za svaku listu.
[0104] Kada su bili ispitani svi kandidati vektora kretanja, onda je jedan vektor kretanja odabran za korišćenje kao vektor kretanja za tekući blok. Selektor 364 vektora kretanja može ispitati različite vektore kretanja u listi i određuje koji vektor kretanja će obezbediti najefikasniji rezultat kodiranja ili izbor vektora kretanja takođe može biti baziran na drugim kriterijumima. Informacija o izabranom vektoru kretanja je obezbeđena za selektor moda za kodiranje i slanje dekoderu ili za skladištenje kada selektor moda odluči da koristi inter predikciju za tekući blok. Informacija može da uključuje indeks vektora kretanja u listi, i/ili parametre vektora kretanja ili druge odgovarajuće informacije.
[0105] Izabrani vektor kretanja i blok koji je povezan sa vektorom kretanja se koriste za generisanje predikcije prikaza bloka slike 312 koji je obezbeđen kao izlaz iz selektora moda. Izlaz može koristiti prvi uređaj 321 za sabiranje da bi dao prvi signal 320 greške predikcije, kao što je gore opisano.
[0106] Izabrani kandidat prediktora vektora kretanja može biti modifikovan dodavanjem razlike vektora kretanja ili može biti korišćen direktno kao vektor kretanja bloka. Osim toga, posle vršenja kompenzacije kretanja korišćenjem izabranog kandidata prediktora vektora kretanja, rezidualni signal bloka može biti transformaciono kodiran ili njegovo kodiranje može biti preskočeno.
[0107] Iako su gore navedeni primeri izvođenja bili opisani sa pozivom na veličinu makrobloka od 16x16 tačaka, odn. piksela, znaće se da se ceni da opisani postupci i aparat mogu biti konfigurisani da barataju makroblokovima različitih veličina tačaka.
[0108] U nastavku je rad primera izvođenja dekodera 600 prikazan sa više detalja uz pozivanje na Fig.7.
[0109] Na strani dekodera vrše se slične operacije da bi se rekonstruisali blokovi slike. Fig. 7 prikazuje blok dijagram video dekodera 700 pogodnog za primenu u primerima izvođenja pronalaska, a na Fig. 8a i 8b je prikazan dijagram toka primera postupka u video dekoderu. Bitski tok koja treba da se dekodira može biti primljen sa kodera, sa mrežnog elementa, sa medijuma za skladištenje ili iz drugog izvora. Dekoder je svestan strukture bitskog toka, tako da može da odredi značenje entropijski kodiranih kodnih reči i može da dekodira bitski tok pomoću entropijskog dekodera 701 koji vrši entropijsko dekodiranje primljenog signala. Entropijski dekoder tako vrši inverznu operaciju u odnosu na entropijski koder 330 kodera koji je gore opisan. Entropijski dekoder 701 šalje na izlaz rezultate entropijskog dekodiranja na dekoder 702 greške predikcije i prediktor 704 tačke.
[0110] U nekim primerima izvođenja entropijsko kodiranje ne mora da se koristi, ali se može koristiti drugo kanalsko kodiranje ili može biti obezbeđen kodirani bitski tok za dekoder 700 bez kanalskog kodiranja. Dekoder 700 može sadržati odgovarajući kanalski dekoder da bi se dobile kodirane kodne reči iz primljenog signala.
[0111] Prediktor 704 tačke prima izlaz sa entropijskog dekodera 701. Izlaz sa entropijskog dekodera 701 može da sadrži indikaciju o modu predikcije koji je korišćen za kodiranje tekućeg bloka. Selektor 714 predikcije unutar prediktora 704 tačke određuje da li treba da se izvrši intrapredikcija ili inter-predikcija. Selektor 714 predikcije može dalje da da kao izlaz predikciju predstave bloka 716 slike prvom kombinatoru 713. Predikcija predstave bloka 716 slike se koristi u sprezi sa rekonstruisanim signalom 712 greške predikcije za generisanje preliminarne rekonstruisane slike 718. Preliminarna rekonstruisana slika 718 može da se koristi u prediktoru 714 ili može biti prosleđena na filter 720. Filter 720, ako se koristi, primenjuje filtriranje čiji je
2
izlaz finalni rekonstruisani signal 722. Finalni rekonstruisani signal 722 može biti uskladišten u memoriji 724 referentnog okvira, memorija 724 referentnog okvira je dalje povezana sa prediktorom 714 za operacije predikcije.
[0112] Takođe dekoder 702 greške predikcije prima izlaz sa entropijskog dekodera 701. Dekvantizator 792 dekodera 702 greške predikcije može da dekvantizira izlaz sa entropijskog dekodera 701, a inverzni blok 793 za transformaciju može izvršiti inverznu operaciju transformacije dekvantiziranog izlaznog signala pomoću dekvantizatora 792. Izlaz sa entropijskog dekodera 701 takođe može ukazivati da signal greške predikcije ne treba da se primenjuje i u ovom slučaju dekoder greške predikcije pravi izlazni signal sa svim nulama.
[0113] Dekoder bira rezidualni makroblok 16x16 tačaka da bi ga rekonstruisao. Ovaj rezidualni makroblok se takođe naziva tekući blok.
[0114] Dekoder može da primi informaciju o modu kodiranja koji je korišćen u kodiranju tekućeg bloka. Indikacija se dekodira, ukoliko je potrebno, i obezbeđuje procesoru 791 za rekonstrukciju selektora 714 predikcije. Procesor 791 za rekonstrukciju ispituje indikaciju i selektuje jedan od moda/modova intra-predikcije, ukoliko indikacija ukazuje da je blok bio kodiran korišćenjem moda intra-predikcije, ili inter-predikcije, ukoliko indikacija ukazuje da je blok bio kodiran korišćenjem moda inter-predikcije.
[0115] Za mod inter-predikcije procesor 791 za rekonstrukciju može obuhvatati jedan ili više elemenata koji odgovaraju procesoru 362 za predikciju kodera, kao što je određivač vektora kretanja, modifikator liste predikcije i/ili selektor vektora kretanja.
[0116] Procesor 791 za rekonstrukciju inicijalizuje listu predikcije vektora kretanja na difoltnu vrednost u bloku 800. Kao što je bio slučaj u delu za kodiranje, u ovom primeru kandidati za prostornu predikciju kretanja su prostorni susedni blokovi A0, A1, B0, B1, B2, a ovi kandidati za prostornu predikciju kretanja se obrađuju u istom unapred određenom redosledu kao u koderu: A1, B1, B0, A0 i B2. Prvi kandidat za prostornu predikciju kretanja koji će biti izabran za dalje ispitivanje je tako A1. Pre vršenja daljeg ispitivanja za izabranog kandidata za prostornu predikciju kretanja, ispituje se da li lista spajanja već sadrži maksimalni broj kandidata za prostornu predikciju kretanja. Ukoliko broj kandidata za prostornu predikciju kretanja u listi spajanja nije manji od maksimalnog broja, izabrani kandidat za prostornu predikciju kretanja se ne uključuje u listu spajanja i proces pravljenja liste spajanja može biti zaustavljen 826. Sa druge strane, ukoliko je broj kandidata za prostornu predikciju kretanja u listi spajanja manji od maksimalnog broja, vrši se dalja analiza izabranog kandidata za prostornu predikciju kretanja (blokovi 804-822).
[0117] Dekoder ispituje 804 da li jedinica za predikciju ili blok koji pokriva blok kandidat za prostornu predikciju kretanja nije raspoloživ za predikciju kretanja. Ukoliko je tako, kandidat se ne uključuje u listu spajanja. Razlog da blok ne bude raspoloživ može biti bilo da je blok kodiran u intra modu ili se nalazi u različitoj traci ili je van oblasti slike.
[0118] Dodatno uz uobičajene uslove gore, za svakog kandidata za prostornu predikciju kretanja, ukoliko važi bilo koji od sledećih uslova, tada se kandidat ne uključuje u listu spajanja, u suprotnom, uključuje se.
[0119] Dekoder određuje 806 koji kandidat za prostornu predikciju kretanja za skup kandidata za prostornu predikciju kretanja je u pitanju. Ukoliko je kandidat za prostornu predikciju kretanja blok A1, jedan ili više od sledećih uslova se mogu ispitati 808, 810 da bi se odredilo da li da se ovaj kandidat za prostornu predikciju kretanja uključi u listu spajanja ili ne. Ukoliko je tekuća jedinica 100 za kodiranje vertikalno podeljena na dve pravougaone jedinice 103, 104 za predikciju kao što je prikazano na Fig. 10b i tekuća jedinica za predikciju je druga jedinica 104 za predikciju po redosledu za kodiranje/dekodiranje (808), onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja. Ukoliko tekuća jedinica 100 za kodiranje nije vertikalno podeljena na dve pravougaone jedinice za predikciju, već je horizontalno podeljena na dve pravougaone jedinice 101, 102 za predikciju kao što je prikazano na Fig. 10a i tekuća jedinica za predikciju je druga jedinica za predikciju po redosledu za kodiranje/dekodiranje i blok A1 ima iste informacije o kretanju kao blok B1 (810), onda se ovaj kandidat za prostornu predikciju kretanja (blok A1) ne uključuje u listu spajanja. U primeru sa Fig.10a druga jedinica za predikciju je donja jedinica 102 za predikciju jedinice 100 za kodiranje, a u primeru sa Fig. 10b druga jedinica za predikciju je najdešnja jedinica 104 za predikciju jedinice 100 za kodiranje. Ako nijedan od gornjih uslova nije ispunjen blok A1 se uključuje u listu spajanja kao kandidat za prostornu predikciju kretanja (824).
[0120] Ukoliko je kandidat za prostornu predikciju kretanja blok B1, mogu se ispitati 812, 814 jedan ili više od sledećih uslova da se odredi da li da se ovaj kandidat za prostornu predikciju kretanja uključi u listu spajanja ili ne. Ukoliko je tekuća jedinica 100 za kodiranje horizontalno podeljena na dve pravougaone jedinice 101, 102 za predikciju kao što je prikazano na Fig.10a i tekuća jedinica za predikciju je druga jedinica 104 za predikciju po redosledu za kodiranje/dekodiranje (812), onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja. Ukoliko tekuća jedinica 100 za kodiranje nije horizontalno podeljena na dve pravougaone jedinice za predikciju i ukoliko blok B1 ima ste informacije o kretanju kao blok A1 (814), onda se ovaj kandidat za prostornu predikciju kretanja (blok B1) ne uključuje u listu spajanja. Ako nijedan od gornjih uslova nije ispunjen, onda se blok B1 uključuje u listu spajanja kao kandidat za prostornu predikciju kretanja (824).
[0121] Ukoliko je kandidat za prostornu predikciju kretanja blok B0, onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja ukoliko blok B0 ima iste informacije o kretanju kao blok B1 (816). U suprotnom, ukoliko je broj kandidata za prostornu predikciju kretanja u listi spajanja manji od maksimalnog broja kandidata za prostornu predikciju kretanja, onda se ovaj kandidat za prostornu predikciju kretanja (blok B0) uključuje u listu spajanja (824).
[0122] Ukoliko je kandidat za prostornu predikciju kretanja blok A0, onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja ukoliko blok A0 ima ste informacije o
2
kretanju kao blok A1 (818). U suprotnom, ukoliko je broj kandidata za prostornu predikciju kretanja u listi spajanja manji od maksimalnog broja kandidata za prostornu predikciju kretanja, ovaj kandidat za prostornu predikciju kretanja (blok A0) se uključuje u listu spajanja (824).
[0123] Ukoliko je kandidat za prostornu predikciju kretanja blok B2, onda se ovaj kandidat za prostornu predikciju kretanja ne uključuje u listu spajanja ukoliko je maksimalni broj kandidata za prostornu predikciju kretanja četiri i za sve ostale blokove A0, A1, B0, i B1 je odlučeno da budu uključeni u listu spajanja (820). U suprotnom, ukoliko je broj kandidata za prostornu predikciju kretanja u listi spajanja manji od maksimalnog broja kandidata za prostornu predikciju kretanja, blok B2 se ne uključuje u listu spajanja ukoliko blok B2 ima ste informacije o kretanju kao blok B1 ili blok A1 (822).
[0124] Tada, posle obrade blokova A1, B1, B0, A0 i B2 i uključivanja njihovog podskupa u listu spajanja na osnovu gore opisanih uslova, ne vrše se dalje provere redundantnosti između ovih kandidata i preostali kandidat za vremensku predikciju kretanja i/ili ostali mogući dodatni kandidati mogu biti obrađeni.
[0125] Kada je lista spajanja napravljena, onda dekoder može koristiti 828 indikaciju vektora kretanja primljenu sa kodera da bi izabrao vektor kretanja za dekodiranje tekućeg bloka. Indikacija može biti, na primer, indeks za listu spajanja.
[0126] U osnovi, pošto je procesor 791 za rekonstrukciju napravio listu spajanja, ona će odgovarati listi spajanja koju je napravio koder ukoliko procesor 791 za rekonstrukciju ima raspoložive iste informacije koje je imao koder. Ukoliko je neka informacija izgubljena za vreme prenosa informacije sa kodera na dekoder, to može uticati na pravljenje liste spajanja u dekoderu 700.
[0127] Gornji primeri opisuju pre svega rad u modu spajanja, ali koder i dekoder takođe mogu raditi u drugim modovima.
[0128] Primeri izvođenja pronalaska koji su gore opisani opisuju kodek u vezi odvojenih aparata za kodiranje i dekodiranje u cilju pomaganja razumevanja obuhvaćenih procesa. Međutim, podrazumeva se da aparat, strukture i rad mogu biti implementirani kao jedinstveni koder-dekoder aparat/struktura/rad. Osim toga, u nekim primerima izvođenja pronalaska koder i dekoder mogu deliti neke ili sve zajedničke elemente.
[0129] Iako gornji primeri opisuju primere izvođenja pronalaska koji rade u kodeku u elektronskom uređaju, podrazumeva se da pronalazak kao što je dole opisan može biti implementiran kao deo bilo kog video kodeka. Tako, na primer, primeri izvođenja pronalaska mogu biti implementirani u video kodeku koji može da implementira video kodiranje preko fiksnih ili žičanih komunikacionih putanja.
[0130] Dakle, korisnička oprema može sadržati video kodek kao što su oni koji su opisani gore u primerima izvođenja pronalaska.
2
[0131] Podrazumeva se da izraz korisnička oprema treba da obuhvati bilo koji pogodni tip bežične korisničke opreme, kao što su mobilni telefoni, prenosivi uređaji za procesiranje ili prenosivi veb pregledači.
[0132] Osim toga elementi javne zemaljske mobilne mreže (PLMN) takođe mogu sadržati video kodeke kakvi su gore opisani.
[0133] Generalno, različiti primeri izvođenja pronalaska mogu biti implementirani u hardveru ili kolima specijalne namene, softveru, logičkim kolima ili njihovoj kombinaciji. Na primer, neki aspekti mogu biti implementirani u hardveru, dok drugi aspekti mogu biti implementirani u firmveru ili softveru koje mogu izvršavati kontroler, mikroprocesor ili drugi računarski uređaj, iako pronalazak nije ograničen na njih. Dok različiti aspekti pronalaka mogu biti ilustrovani i opisani kao blok dijagrami, dijagrami toka, ili korišćenjem nekih drugih grafičkih prikaza, jasno se podrazumeva da ovi blokovi, aparati, sistemi, tehnike i postupci ovde opisani mogu biti implementirani u, kao neograničavajućim primerima, hardveru, softveru, firmveru, kolima ili logičkim kolima specijalne namene, hardveru opšte namene ili kontroleru ili drugim računarskim uređajima, ili nekoj njihovoj kombinaciji.
[0134] Primeri izvođenja ovog pronalaska mogu biti implementirani pomoću računarskog softvera koji može izvršavati procesor podataka mobilnog uređaja, kao što je u procesorskom entitetu, ili hardver, ili kombinacija softvera i hardvera. Osim toga u ovom pogledu treba primetiti da bilo koji blokovi logičkog toka kao na slikama nacrta mogu predstavljati korake programa ili međusobno povezana logička kola, blokove i funkcije ili kombinaciju koraka programa i logičkih kola, blokova i funkcija. Softver može biti uskladišten na takvim fizičkim medijumima kao što su memorijski čipovi ili memorijski blokovi implementirani u okviru procesora, magnetskim medijumima kao što su hard diskovi ili diskete i optičkim medijumima kao što su, na primer, DVD i njegove varijante za podatke, CD.
[0135] Memorija može biti bilo kog tipa pogodnog za lokalno tehničko okruženje i može biti implementirana koristeći bilo koju tehnologiju za skladištenje podataka kao što su poluprovodnički memorijski uređaji, magnetski memorijski uređaji i sistemi, optički memorijski uređaji i sistemi, fiksna memorija i izmenljiva memorija. Procesori podataka mogu biti bilo kog tipa pogodnog za lokalno tehničko okruženje i mogu da uključuju jedan ili više računara opšte namene, mikroprocesore, procesore digitalnih signala (DSPs) procesore zasnovane na višejezgarnoj procesorskoj arhitekturi, kao neograničavajućim primerima.
[0136] Primeri izvođenja pronalazaka mogu biti realizovani u praksi u različitim komponentama kao što su moduli integrisanih kola. Dizajn integrisanih kola je velikim delom visoko automatizovani proces. Kompleksni i moćni softverski alati su raspoloživi za konvertovanje dizajna logičkog nivoa u dizajn poluprovodničkog kola spremnog da bude ugraviran i formiran na poluprovodničkom supstratu.
[0137] Programi, kao oni koje obezbeđuju Synopsys, Inc. iz Mountin Vjua, Kalifornija i Cadence Design, iz San Hozea, Kalifornija automatski vode provodnike i lociraju komponente na
2
poluprovodničkom čipu korišćenjem dobro poznatih pravila u dizajnu, kao i biblioteka unapred uskladištenih dizajnerskih modula. Jednom kada je dizajn poluprovodničkog kola završen, rezultujući dizajn, u standardizovanom elektronskom formatu (npr., Opus, GDSII, ili slični) mogu biti poslati u poluprovodnički fabrički pogon ili "fab" radi proizvodnje.
[0138] Prethodni opis je dat pomoću ilustrativnih i nelimitirajućih primera celog i informativnog opisa ilustrativnih primera izvođenja predmetnog pronalaska. Međutim, različite modifikacije i adaptacije mogu postati očigledne stručnjacima iz odgovarajuće oblasti uz uzimanje u obzir prethodnog opisa, kada se čitaju u vezi sa pratećim slikama nacrta i pridruženim patentnim zahtevima.
2

Claims (12)

Patentni zahtevi
1. Postupak koji obuhvata:
prijem bloka (900) tačaka koji uključuje i jedinicu za predikciju;
određivanje za blok (900) tačaka skupa kandidata za prostornu predikciju vektora kretanja koje se nalaze dole-levo (901), levo (902), gore-levo (905), gore (904) i goredesno (903) od jedinice za predikciju; kandidati za prostornu predikciju vektora kretanja se snabdevaju informacijom o kretanju koja sadrži bar vektor kretanja i indeks reference;
određivanje podskupa parova kandidata za prostornu predikciju vektora kretanja između postojećih parova kandidata za prostornu predikciju vektora kretanja za poređenje svih raspoloživih parova kandidata za prostornu predikciju vektora kretanja u skupu kandidata za prostornu predikciju vektora kretanja;
izbor kandidata za prostornu predikciju vektora kretanja iz skupa kandidata za prostornu predikciju vektora kretanja kao potencijalnog kandidata za prostornu predikciju vektora kretanja koji će biti uključen u listu spajanja za jedinicu za predikciju; ispitivanje podskupa parova kandidata za prostornu predikciju vektora kretanja za određivanje koji drugi kandidat za prostornu predikciju vektora kretanja koji je definisan pripada istom paru kandidata za prostornu predikciju vektora kretanja kao izabrani kandidat za prostornu predikciju vektora kretanja (610);
poređenje informacije o kretanju izabranog kandidata za prostornu predikciju vektora kretanja sa informacijom o kretanju drugog kandidata za prostornu predikciju vektora kretanja;
ukoliko poređenje ukazuje da informacija o vektoru kretanja drugog kandidata za prostornu predikciju vektora kretanja odgovara informaciji o vektoru kretanja izabranog kandidata za prostornu predikciju vektora kretanja, isključivanje izabranog kandidata za prostornu predikciju vektora kretanja iz liste spajanja;
pri čemu postupak dalje obuhvata izbor jednog kandidata za predikciju vektora kretanja iz liste spajanja koji predstavlja predikciju vektora kretanja za blok tačaka; određivanje maksimalnog broja kandidata za prostornu predikciju vektora kretanja koji će biti uključeni u listu spajanja;
ograničavanje broja kandidata za prostornu predikciju vektora kretanja u listi spajanja na broj koji je manji ili jednak maksimalnom;
2
ukoliko je broj kandidata za prostornu predikciju vektora kretanja u listi spajanja manji od maksimalnog broja, ispitivanje da li je jedinica za predikciju kojoj potencijalni kandidat za prostornu predikciju vektora kretanja pripada raspoloživa za predikciju kretanja;
ukoliko jeste, izvršavanje bar jednog od sledećeg:
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (902) nalazi sa leve strane jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (902) iz liste spajanja ukoliko je ispunjen bilo koji od sledećih uslova:
- primljeni blok tačaka je vertikalno podeljen na prvu jedinicu za predikciju i drugu jedinicu za predikciju, i jedinica za predikciju je druga jedinica za predikciju prema redosledu kodiranja;
- primljeni blok tačaka je horizontalno podeljen na prvu jedinicu za predikciju i drugu jedinicu za predikciju, i ukoliko je jedinica za predikciju druga jedinica za predikciju prema redosledu kodiranja, i potencijalni kandidat za prostornu predikciju vektora kretanja (902) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (904) iznad jedinice za predikciju;
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (904) nalazi iznad jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (904) iz liste spajanja ukoliko je ispunjen bilo koji od sledećih uslova:
- primljeni blok tačaka je horizontalno podeljen na prvu jedinicu za predikciju i na drugu jedinicu za predikciju, i jedinica za predikciju je druga jedinica za predikciju prema redosledu kodiranja;
- potencijalni kandidat za prostornu predikciju vektora kretanja (904) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (902) sa leve strane jedinice za predikciju;
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (903) nalazi sa desne strane kandidata za prostornu predikciju vektora kretanja (904) iznad jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (903) iz liste spajanja ukoliko potencijalni kandidat za prostornu predikciju vektora kretanja (903) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (904) iznad jedinice za predikciju;
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (901) nalazi ispod kandidata za prostornu predikciju vektora kretanja (902) sa leve strane jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (901) iz liste spajanja ukoliko potencijalni kandidat za prostornu predikciju vektora kretanja (901) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (902) sa leve strane jedinice za predikciju;
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (905) nalazi kao susedni gore-levo od ugla jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (905) iz liste spajanja ukoliko je ispunjen bilo koji od sledećih uslova:
- svi drugi kandidati za prostornu predikciju vektora kretanja (901-904) su uključeni u listu spajanja;
- potencijalni kandidat za prostornu predikciju vektora kretanja (905) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (904) iznad jedinice za predikciju;
- potencijalni kandidat za prostornu predikciju vektora kretanja (905) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (902) sa leve strane jedinice za predikciju.
2. Postupak prema zahtevu 1 koji obuhvata izbor kandidata za prostornu predikciju vektora kretanja iz skupa kandidata za prostornu predikciju vektora kretanja kao potencijalnog kandidata za prostornu predikciju vektora kretanja u unapred određenom redosledu.
3. Postupak prema zahtevima 1 ili 2, koji obuhvata poređenje informacije o kretanju potencijalnog kandidata za prostornu predikciju vektora kretanja sa informacijom o kretanju
1
najviše jednog drugog kandidata za prostornu predikciju vektora kretanja iz skupa kandidata za prostornu predikciju vektora kretanja.
4. Postupak prema bilo kom od zahteva 1 do 3 koji obuhvata ispitivanje da li je primljeni blok tačaka podeljen na prvu jedinicu za predikciju i na drugu jedinicu za predikciju prema redosledu kodiranja; i ukoliko jeste, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja iz liste spajanja ukoliko je jedinica za predikciju druga jedinica za predikciju.
5. Postupak prema bilo kom od zahteva 1 do 4 koji dalje obuhvata uključivanje kandidata za vremensku predikciju kretanja u listu spajanja.
6. Postupak koji obuhvata:
prijem kodiranog bloka tačaka uključujući jedinicu za predikciju;
određivanje za kodirani blok (900) tačaka skupa kandidata za prostornu predikciju vektora kretanja koje se nalaze dole-levo (901), levo (902), gore-levo (905), gore (904) i gore-desno (903) od jedinice za predikciju; kandidati za prostornu predikciju vektora kretanja se snabdevaju informacijom o kretanju koja sadrži bar vektor kretanja i indeks reference;
određivanje podskupa parova kandidata za prostornu predikciju vektora kretanja između postojećih parova kandidata za prostornu predikciju vektora kretanja za poređenje između svih raspoloživih parova kandidata za prostornu predikciju vektora kretanja u skupu kandidata za prostornu predikciju vektora kretanja;
izbor kandidata za prostornu predikciju vektora kretanja iz skupa kandidata za prostornu predikciju vektora kretanja kao potencijalnog kandidata za prostornu predikciju vektora kretanja koji će biti uključen u listu spajanja za jedinicu za predikciju; ispitivanje podskupa parova kandidata za prostornu predikciju vektora kretanja za određivanje, koji drugi kandidat za prostornu predikciju vektora kretanja je definisan da pripada istom paru kandidata za prostornu predikciju vektora kretanja kao izabrani kandidat za prostornu predikciju vektora kretanja;
poređenje informacije o kretanju izabranog kandidata za prostornu predikciju vektora kretanja sa informacijom o kretanju drugog kandidata za prostornu predikciju vektora kretanja;
2
ukoliko poređenje pokaže da informacija o vektoru kretanja drugog kandidata za prostornu predikciju vektora kretanja odgovara informaciji o vektoru kretanja izabranog kandidata za prostornu predikciju vektora kretanja, isključivanje izabranog kandidata za prostornu predikciju vektora kretanja iz liste spajanja
pri čemu postupak dalje obuhvata izbor jednog kandidata za predikciju vektora kretanja iz liste spajanja da bi predstavljao predikciju vektora kretanja za primljeni kodirani blok tačaka;
određivanje maksimalnog broja kandidata za prostornu predikciju vektora kretanja koji će biti uključeni u listu spajanja;
ograničavanje da broj kandidata za prostornu predikciju vektora kretanja u listi spajanja bude manji ili jednak maksimalnom broju;
ukoliko je broj kandidata za prostornu predikciju vektora kretanja u listi spajanja manji od maksimalnog broja, ispitivanje da li je jedinica za predikciju kojoj potencijalni kandidat za prostornu predikciju vektora kretanja pripada raspoloživa za predikciju kretanja;
ukoliko je tako, izvršavanje bar jednog od sledećeg:
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (902) nalazi sa leve strane jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (902) iz liste spajanja ukoliko je bilo koji od sledećih uslova ispunjen:
- primljeni kodirani blok tačaka je vertikalno podeljen na prvu jedinicu za predikciju i na drugu jedinicu za predikciju, i jedinica za predikciju je druga jedinica za predikciju;
- primljeni kodirani blok tačaka je horizontalno podeljen na prvu jedinicu za predikciju i na drugu jedinicu za predikciju, i ukoliko je jedinica za predikciju druga jedinica za predikciju, i potencijalni kandidat za prostornu predikciju vektora kretanja (902) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (904) iznad jedinice za predikciju;
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (904) nalazi iznad jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (904) iz liste spajanja ukoliko je bilo koji od sledećih uslova ispunjen:
- primljeni kodirani blok tačaka je horizontalno podeljen na prvu jedinicu za predikciju i na drugu jedinicu za predikciju, i jedinica za predikciju je druga jedinica za predikciju u redosledu dekodiranja;
- potencijalni kandidat za prostornu predikciju vektora kretanja (904) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (902) sa leve strane jedinice za predikciju;
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (903) nalazi sa desne strane kandidata za prostornu predikciju vektora kretanja (904) iznad jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (903) iz liste spajanja ukoliko potencijalni kandidat za prostornu predikciju vektora kretanja ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (904) iznad jedinice za predikciju;
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (901) nalazi ispod kandidata za prostornu predikciju vektora kretanja (902) sa leve strane jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (901) iz liste spajanja ukoliko potencijalni kandidat za prostornu predikciju vektora kretanja (901) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (902) sa leve strane jedinice za predikciju;
ukoliko se potencijalni kandidat za prostornu predikciju vektora kretanja (905) nalazi kao susedni gore-levo od ugla jedinice za predikciju, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja (905) iz liste spajanja ukoliko je ispunjen bilo koji od sledećih uslova:
- svi drugi kandidati za prostornu predikciju vektora kretanja (901-904) su uključeni u listu spajanja;
- potencijalni kandidat za prostornu predikciju vektora kretanja (905) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (904) iznad jedinice za predikciju;
4
- potencijalni kandidat za prostornu predikciju vektora kretanja (905) ima iste vektore kretanja i iste indekse referenci kao kandidat za prostornu predikciju vektora kretanja (902) sa leve strane jedinice za predikciju.
7. Postupak prema zahtevu 6 koji obuhvata poređenje informacija o kretanju potencijalnog kandidata za prostornu predikciju vektora kretanja sa informacijama o kretanju najviše jednog drugog kandidata za prostornu predikciju vektora kretanja iz skupa kandidata za prostornu predikciju vektora kretanja.
8. Postupak prema zahtevu 6 ili 7 koji obuhvata ispitivanje da li je primljeni kodirani blok tačaka podeljen na prvu jedinicu za predikciju i na drugu jedinicu za predikciju u redosledu za dekodiranje; i ukoliko je tako, isključivanje potencijalnog kandidata za prostornu predikciju vektora kretanja iz liste spajanja ukoliko je jedinica za predikciju druga jedinica za predikciju.
9. Aparat koji sadrži sredstva za izvršavanje postupka prema bilo kom od zahteva 1 do 5.
10. Aparat koji sadrži sredstva za izvršavanje postupka prema bilo kom od zahteva 6 do 8.
11. Računarski čitljiv medijum za memorisanje na kome se nalaze računarski čitljive instrukcije koje, kada se izvršavaju na jednom ili više procesora, izazivaju da jedan ili više procesora izvršava postupak prema bilo kom od zahteva 1 do 5.
12. Računarski čitljiv medijum za memorisanje na kome se nalaze računarski čitljive instrukcije koje, kada se izvršavaju na jednom ili više procesora, izazivaju da jedan ili više procesora izvršava postupak prema bilo kom od zahteva 6 do 8.
RS20201445A 2011-11-04 2012-11-02 Postupak i uređaj za video kodiranje RS61125B1 (sr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161555703P 2011-11-04 2011-11-04
EP12845839.5A EP2774375B1 (en) 2011-11-04 2012-11-02 Method and apparatus for video coding
PCT/FI2012/051070 WO2013064749A1 (en) 2011-11-04 2012-11-02 Method for video coding and an apparatus

Publications (1)

Publication Number Publication Date
RS61125B1 true RS61125B1 (sr) 2020-12-31

Family

ID=48191432

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20201445A RS61125B1 (sr) 2011-11-04 2012-11-02 Postupak i uređaj za video kodiranje

Country Status (18)

Country Link
US (6) US9571833B2 (sr)
EP (5) EP4354867B1 (sr)
KR (1) KR101717475B1 (sr)
CN (1) CN104054350B (sr)
CA (1) CA2854495C (sr)
CY (1) CY1123787T1 (sr)
DK (1) DK2774375T3 (sr)
ES (2) ES3037867T3 (sr)
HR (1) HRP20201901T1 (sr)
HU (1) HUE052162T2 (sr)
IN (1) IN2014CN04092A (sr)
PL (3) PL2774375T3 (sr)
PT (1) PT2774375T (sr)
RS (1) RS61125B1 (sr)
RU (1) RU2577207C2 (sr)
SI (1) SI2774375T1 (sr)
TW (1) TWI549493B (sr)
WO (1) WO2013064749A1 (sr)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126182A (ja) * 2011-12-15 2013-06-24 Samsung Electronics Co Ltd 撮像装置及び画像処理方法
EP3796651A1 (en) 2012-05-09 2021-03-24 Sun Patent Trust Method of performing motion vector prediction, encoding and decoding methods, and apparatuses thereof
WO2015099398A1 (ko) * 2013-12-24 2015-07-02 주식회사 케이티 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치
KR20150110294A (ko) 2014-03-24 2015-10-02 주식회사 케이티 멀티 레이어 비디오 신호 인코딩/디코딩 방법 및 장치
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US10187653B2 (en) * 2015-05-18 2019-01-22 Avago Technologies International Sales Pte. Limited Motor vector prediction using co-located prediction units
FR3047379A1 (fr) * 2016-01-29 2017-08-04 Orange Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants
KR102435500B1 (ko) * 2016-10-06 2022-08-23 세종대학교산학협력단 비디오 신호의 복호화 방법 및 이의 장치
WO2018226066A1 (ko) * 2017-06-09 2018-12-13 엘지전자 주식회사 영상 코딩 시스템에서 어파인 예측에 따른 영상 디코딩 방법 및 장치
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
EP3691273B1 (en) 2017-09-26 2024-11-27 Panasonic Intellectual Property Corporation of America Decoding device and decoding method
KR102476204B1 (ko) 2017-10-19 2022-12-08 삼성전자주식회사 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템
CN116866590A (zh) * 2017-10-20 2023-10-10 株式会社Kt 视频信号处理方法及装置
WO2019112072A1 (ko) * 2017-12-04 2019-06-13 엘지전자 주식회사 영상 코딩 시스템에서 수정된 움직임 정보 후보 리스트에 기반한 영상 디코딩 방법 및 장치
EP3747194A1 (en) * 2018-01-29 2020-12-09 VID SCALE, Inc. Frame-rate up conversion with low complexity
US11095909B2 (en) * 2018-06-25 2021-08-17 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
TWI719525B (zh) 2018-06-29 2021-02-21 大陸商北京字節跳動網絡技術有限公司 Lut與amvp之間的交互
JP7137008B2 (ja) 2018-06-29 2022-09-13 北京字節跳動網絡技術有限公司 1つまたは複数のルックアップテーブルを使用して、以前コーディングされた動き情報を順に記憶させてそれらを後続のブロックのコーディングに使用する概念
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
GB2589487B (en) 2018-06-29 2023-02-08 Beijing Bytedance Network Tech Co Ltd Checking order of motion candidates in LUT
EP4300973A3 (en) 2018-06-29 2024-06-19 Beijing Bytedance Network Technology Co., Ltd. Which lut to be updated or no updating
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
CN114845108B (zh) 2018-06-29 2025-08-12 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
CN110662075B (zh) * 2018-06-29 2023-04-25 北京字节跳动网络技术有限公司 改进的时域运动矢量预测推导
MX392418B (es) 2018-06-29 2025-03-24 Beijing Bytedance Network Tech Co Ltd Poda parcial/total cuando se añade un candidato a hmvp para fusión/amvp.
TWI748202B (zh) 2018-07-02 2021-12-01 大陸商北京字節跳動網絡技術有限公司 Lamvr中取整和修剪的順序
CN112544077B (zh) * 2018-07-16 2023-12-08 Lg电子株式会社 用于子块单元中的时间运动信息预测的帧间预测方法及其装置
WO2020024275A1 (zh) * 2018-08-03 2020-02-06 华为技术有限公司 一种帧间预测的方法及装置
TWI863924B (zh) 2018-09-12 2024-12-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
US11317099B2 (en) 2018-10-05 2022-04-26 Tencent America LLC Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction
WO2020103934A1 (en) 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Construction method for inter prediction with geometry partition
US11184633B2 (en) * 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction
US11122288B2 (en) * 2018-12-06 2021-09-14 Qualcomm Incorporated Spatio-temporal motion vector prediction patterns for video coding
US11470340B2 (en) * 2018-12-10 2022-10-11 Tencent America LLC Simplified merge list construction for small coding blocks
CN118018756A (zh) 2018-12-28 2024-05-10 知识产权之桥一号有限责任公司 动图像编码装置和方法、以及动图像解码装置和方法
CA3129872A1 (en) 2018-12-28 2020-07-02 Jvckenwood Corporation Dynamic image decoding device, dynamic image decoding method, dynamic image decoding program, dynamic image encoding device, dynamic image encoding method, and dynamic image encoding program
CN113261290B (zh) 2018-12-28 2024-03-12 北京字节跳动网络技术有限公司 基于修改历史的运动预测
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937B (zh) 2019-01-16 2024-08-02 北京字节跳动网络技术有限公司 运动候选推导
CN110809161B (zh) * 2019-03-11 2020-12-29 杭州海康威视数字技术股份有限公司 运动信息候选者列表构建方法及装置
CN113615193B (zh) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
WO2020243100A1 (en) * 2019-05-26 2020-12-03 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus for improving motion estimation in video coding
CN111462170B (zh) 2020-03-30 2023-08-25 Oppo广东移动通信有限公司 运动估计方法、运动估计装置、存储介质与电子设备

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5122875A (en) 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
DE69217150T2 (de) 1991-09-30 1997-07-17 Philips Electronics Nv Bewegungsvektorschätzung, Bewegungsbildkodierung- und -speicherung
AU673250B2 (en) 1993-03-24 1996-10-31 Sony Corporation Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
US6567469B1 (en) 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
CN100420308C (zh) 2002-04-26 2008-09-17 株式会社Ntt都科摩 图象编码装置和图象译码装置
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
FR2852179A1 (fr) 2003-03-06 2004-09-10 Thomson Licensing Sa Procede de codage d'une image video
JP2005142986A (ja) 2003-11-10 2005-06-02 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
EP1747678B1 (en) 2004-05-04 2015-01-07 Qualcomm, Incorporated Method and apparatus for motion compensated frame rate up conversion
FR2871018A1 (fr) 2004-05-25 2005-12-02 St Microelectronics Sa Procede et dispositif pour les systemes d'interpolation d'images par estimation et compensation de mouvement
TW200618610A (en) 2004-07-20 2006-06-01 Qualcomm Inc Method and apparatus for motion vector processing
KR100703770B1 (ko) 2005-03-25 2007-04-06 삼성전자주식회사 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치
US8913660B2 (en) 2005-04-14 2014-12-16 Fastvdo, Llc Device and method for fast block-matching motion estimation in video encoders
US7620108B2 (en) * 2005-09-16 2009-11-17 Sony Corporation Integrated spatial-temporal prediction
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
US8111750B2 (en) * 2007-03-20 2012-02-07 Himax Technologies Limited System and method for 3-D recursive search motion estimation
CN101605255B (zh) 2008-06-12 2011-05-04 华为技术有限公司 一种视频编解码的方法及装置
KR101377660B1 (ko) 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP5401071B2 (ja) 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
US8675736B2 (en) 2009-05-14 2014-03-18 Qualcomm Incorporated Motion vector processing
KR101671460B1 (ko) 2009-09-10 2016-11-02 에스케이 텔레콤주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101441905B1 (ko) 2009-11-18 2014-09-24 에스케이텔레콤 주식회사 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US8488007B2 (en) * 2010-01-19 2013-07-16 Sony Corporation Method to estimate segmented motion
EP2532159A1 (en) * 2010-02-05 2012-12-12 Telefonaktiebolaget L M Ericsson (PUBL) Selecting predicted motion vector candidates
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
WO2011115659A1 (en) 2010-03-16 2011-09-22 Thomson Licensing Methods and apparatus for implicit adaptive motion vector predictor selection for video encoding and decoding
HUE043816T2 (hu) 2010-05-04 2019-09-30 Lg Electronics Inc Eljárás és berendezés videojel feldolgozására
EP4024865B1 (en) 2010-06-10 2023-10-25 InterDigital VC Holdings, Inc. Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
US8787459B2 (en) 2010-11-09 2014-07-22 Sony Computer Entertainment Inc. Video coding methods and apparatus
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
US9635383B2 (en) 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for computing a motion vector
US9066104B2 (en) 2011-01-14 2015-06-23 Google Inc. Spatial block merge mode
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9066110B2 (en) * 2011-03-08 2015-06-23 Texas Instruments Incorporated Parsing friendly and error resilient merge flag coding in video coding
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
RU2719308C2 (ru) * 2011-04-12 2020-04-17 Сан Пэтент Траст Способ кодирования движущихся изображений, устройство кодирования движущихся изображений, способ декодирования движущихся изображений, устройство декодирования движущихся изображений и устройство кодирования и декодирования движущихся изображений
US9247266B2 (en) * 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
US9247249B2 (en) * 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
ES2673180T3 (es) * 2011-05-24 2018-06-20 Velos Media International Limited Procedimiento de codificación de imágenes, aparato de codificación de imágenes, procedimiento de decodificación de imágenes, aparato de decodificación de imágenes y aparato de codificación/decodificación de imágenes
US9313494B2 (en) * 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
WO2013001770A1 (ja) * 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
CA2836063C (en) * 2011-06-30 2020-06-16 Panasonic Corporation Image encoding and decoding method and device for generating predictor sets in high-efficiency video coding
GB2493755B (en) 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images
US20130070855A1 (en) * 2011-09-17 2013-03-21 Qualcomm Incorporated Hybrid motion vector coding modes for video coding
US9083983B2 (en) * 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
CN103999468A (zh) 2011-10-21 2014-08-20 诺基亚公司 用于视频编码的方法和装置

Also Published As

Publication number Publication date
US20170347117A1 (en) 2017-11-30
US10536714B2 (en) 2020-01-14
CN104054350B (zh) 2018-06-15
EP4354867C0 (en) 2025-07-23
HRP20201901T1 (hr) 2021-01-22
US20200154132A1 (en) 2020-05-14
KR101717475B1 (ko) 2017-03-17
PL4354867T3 (pl) 2025-09-08
EP2774375A4 (en) 2016-04-20
WO2013064749A1 (en) 2013-05-10
EP4472200C0 (en) 2025-11-19
US9571833B2 (en) 2017-02-14
EP2774375B1 (en) 2020-10-07
HUE052162T2 (hu) 2021-04-28
EP4472200A3 (en) 2024-12-11
PT2774375T (pt) 2020-11-19
KR20140092874A (ko) 2014-07-24
ES2834676T3 (es) 2021-06-18
US20130114723A1 (en) 2013-05-09
EP3849191B1 (en) 2024-08-28
ES3037867T3 (en) 2025-10-07
EP4354867A3 (en) 2024-05-08
EP4354867B1 (en) 2025-07-23
CA2854495A1 (en) 2013-05-10
CN104054350A (zh) 2014-09-17
CA2854495C (en) 2018-04-24
RU2577207C2 (ru) 2016-03-10
TWI549493B (zh) 2016-09-11
EP2774375A1 (en) 2014-09-10
US9743105B2 (en) 2017-08-22
IN2014CN04092A (sr) 2015-07-10
EP3849191A1 (en) 2021-07-14
EP4472200A2 (en) 2024-12-04
CY1123787T1 (el) 2022-03-24
PL2774375T3 (pl) 2021-04-06
US10237574B2 (en) 2019-03-19
US11570467B2 (en) 2023-01-31
PL3849191T3 (pl) 2024-11-04
US20190215530A1 (en) 2019-07-11
EP3849191C0 (en) 2024-08-28
EP4472200B1 (en) 2025-11-19
DK2774375T3 (da) 2020-12-07
EP4354867A2 (en) 2024-04-17
US20230179792A1 (en) 2023-06-08
RU2014120207A (ru) 2015-12-10
US20170150174A1 (en) 2017-05-25
EP4629631A1 (en) 2025-10-08
TW201325249A (zh) 2013-06-16
SI2774375T1 (sl) 2021-01-29

Similar Documents

Publication Publication Date Title
US11570467B2 (en) Method for coding and an apparatus
US11122289B2 (en) Method for video coding and an apparatus
US12160588B2 (en) Inter prediction method and apparatus
EP4351146A2 (en) Method and apparatus for inter prediction in video processing system