RS65035B1 - Postupak i uređaj za kodiranje sekvence slika i postupak i uređaj za dekodiranje sekvence slika - Google Patents

Postupak i uređaj za kodiranje sekvence slika i postupak i uređaj za dekodiranje sekvence slika

Info

Publication number
RS65035B1
RS65035B1 RS20240016A RSP20240016A RS65035B1 RS 65035 B1 RS65035 B1 RS 65035B1 RS 20240016 A RS20240016 A RS 20240016A RS P20240016 A RSP20240016 A RS P20240016A RS 65035 B1 RS65035 B1 RS 65035B1
Authority
RS
Serbia
Prior art keywords
motion information
predictors
predictor
motion
candidates
Prior art date
Application number
RS20240016A
Other languages
English (en)
Inventor
Guillaume Laroche
Original Assignee
Canon Kk
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Kk filed Critical Canon Kk
Publication of RS65035B1 publication Critical patent/RS65035B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Description

Opis pronalaska
[0001] Predmetni pronalazak se odnosi na postupak i uređaj za izvođenje informacije o pokretu, uključujući bar jedan prediktor informacije o pokretu za predikciju dela slike koja je predviđena kompenzacijom pokreta prema bar jednom referentnom delu slike.
[0002] Pronalazak može biti primenjen u oblasti procesiranja digitalnog signala, a naročito u oblasti video kompresije korišćenjem kompenzacije pokreta za smanjenje prostornih i vremenskih redundansi u video strimovima.
[0003] Mnogi formati video kompresije, kao što su na primer H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC, koriste diskretnu kosinusnu transformaciju (DCT) baziranu na blokovima i kompenzaciju pokreta za uklanjanje prostornih i vremenskih redundansi. Oni se mogu nazivati prediktivnim video formatima. Svaki frejm ili slika video signala je podeljen na slajsove koji se kodiraju i mogu biti nezavisno dekodirani. Slajs je tipično pravougaoni deo frejma, ili još opštije, deo frejma ili ceo frejm. Dalje, svaki slajs je izdeljen u makroblokove (MB-ove), i svaki makroblok je dalje izdeljen u blokove, tipično blokove od 8x8 tačaka. Kodirani frejmovi mogu biti dva tipa: vremenski prediktovani frejmovi (bilo prediktovani iz jednog referentnog frejma nazvani P-frejmovi ili prediktovani iz dva referentna frejma nazvani B-frejmovi) i nevremenski prediktovani frejmovi (nazvani Intra frejmovi ili i-frejmovi).
[0004] Vremenska predikcija se sastoji iz pronalaženja u referentnom frejmu, bilo prethodnom ili sledećem frejmu video sekvence, dela slike ili referentne zone koja je najpribližnija bloku koji se kodira. Ovaj korak je tipično poznat kao estimacija pokreta. Zatim se vrši predikcija bloka korišćenjem referentne zone u koraku koji se tipično naziva kompenzacija pokreta -kodira se razlika između bloka koji se kodira i referentnog dela, zajedno sa stavkom informacije o pokretu relativne prema vektoru pokreta koji indicira referentnu zonu za korišćenje pri kompenzaciji pokreta. Kod INTRA predikcije, kodira se smer predikcije.
[0005] U cilju daljeg smanjenja cene kodiranja informacije o pokretu, vektor pokreta može biti kodiran u smislu razlike između vektora pokreta i prediktora vektora pokreta, tipično izračunatog iz jednog ili više vektora pokreta blokova koji okružuju blok koji se kodira.
[0006] U H.264, vektori pokreta su kodirani sa obzirom na srednji prediktor izračunat iz vektora pokreta smeštenih u kauzalnom susedstvu bloka koji se kodira, na primer iz blokova koji se nalaze iznad i levo od bloka koji se kodira. Razlika, takođe se naziva rezidualni vektor pokreta, između srednjeg prediktora i vektora pokreta trenutnog bloka se kodira da bi se smanjila cena kodiranja.
[0007] Kodiranje korišćenjem rezidualnog vektora pokreta štedi nešto toka bita, ali iziskuje da dekoder izvršava isto izračunavanje prediktora vektora pokreta u cilju dekodiranja vrednosti vektora pokreta bloka za dekodiranja.
[0008] U skorije vreme su predložena dalja poboljšanja efikasnosti kodiranja, kao što je korišćenje mnoštva mogućih prediktora vektora pokreta. Ovaj postupak, često nazivan takmičenje vektora pokreta (MVCOMP), se sastoji od određivanja između prediktora ili kandidata vektora pokreta koji prediktor vektora pokreta minimizira cenu kodiranja, tipično cenu stepena izobličenja, rezidualne informacije o pokretu. Rezidualne informacije o pokretu obuhvataju rezidualni vektor pokreta, tj. razliku između stvarnog vektora pokreta bloka koji se kodira i odabranog prediktora vektora pokreta, i stavku informacije koja ukazuje na odabrani prediktor vektora pokreta, kao što je, na primer kodirana vrednost indeksa odabranog prediktora vektora pokreta. Indeks odabranog prediktora vektora pokreta je kodiran u tok bitova sa unarnim maksimalnim kodom na osnovu veličine fiksne liste.
[0009] U Visoko Efikasnom Video Kodiranju (eng. High Efficiency Video Coding - HEVC), predložena je nova implementacija istog koncepta za omogućavanje izbora najboljeg prediktora iz datog seta prediktora sastavljenog od prostornih vektora pokreta i vremenskih vektora pokreta. Ova tehnika se naziva Napredna Predikcija Vektora Pokreta (eng. Advanced Motion Vektor Prediction - AMVP). Ukoliko su neki prediktori iz datog seta prediktora duplikati drugih prediktora u setu, duplikati mogu biti uklonjeni i dalji prediktori mogu biti dodati u set da bi se napravio novi set prediktora. Dodati prediktori mogu biti kombinacija prostornih i vremenskih prediktora koji su već u setu, drugi prediktori izvedeni iz ovih prostornih i vremenskih prediktora ili prediktori sa fiksnim vrednostima. Na kraju, duplikati prediktora u drugom setu prediktora se ukljanjaju u cilju dobijanja ne-redundantnih kandidata u drugom skupu prediktora.
[0010] Generisani drugi set prediktora značajno povećava kompleksnost izračunavanja procesa izvođenja. Povećana kompleksnost izračunavanja proizilazi iz kaskadnog generisanja prediktora.
[0011] Aktuelna HEVC implementacija koristi set prediktora vektora pokreta koji sadrži najviše 2 prediktora za Inter mod i najviše 5 prediktora za Režim preskakanja spajanja (eng. Merge Skip mode i Režim spajanja (eng. Merge mode).
[0012] HEVC Test Model 3 (JCTVC-E602) pruža pregled HEVC dizajna. U aktuelnom HEVC dizajnu, Inter predikcija može biti uni-direkciona ili bi-direkciona. Uni-direkciona se referiše na jedan prediktor blok koji se koristi za predikciju trenutnog bloka. Jedan prediktor blok je definisan pomoću indeksa liste, indeksa referentnog frejma i vektora pokreta. Indeks liste odgovara listi referentnih frejmova. Može se smatrati, na primer, da se koriste dve liste: L0 i L1. Jedna lista sadrži bar jedan referentni frejm i referentni frejm može biti sadržan u obe liste. Vektor pokreta ima dve komponente: horizontalnu i vertikalnu. Vektor pokreta odgovara prostornom premeštanju u smislu tačaka između tekućeg bloka i vremenskog prediktora bloka u referentnom frejmu. Tako, prediktor bloka za unidirekcionu predikciju je blok iz referentnog frejma (ref indeks) liste, na koji ukazuje vektor pokreta.
[0013] Za bi-direkcionu Inter predikciju razmatraju se dva prediktora bloka. Po jedan za svaku listu (L0 i L1). Stoga, razmatraju se 2 indeksa referentnog frejma kao i 2 vektora pokreta. Inter blok prediktor za bi-predikciju je prosek, tačka po tačka, dva bloka na koje ukazuju ta dva vektora pokreta.
[0014] Informacije o pokretu dedicirane Inter blok prediktoru mogu biti definisane sledećim parametrima:
• Tip usmerenosti: uni ili bi
• Jedna lista (uni-direkciono) ili dve liste (bi-direkciono): L0, L1, L0 i L1.
• Jedan (uni-direkciono) ili dva indeksa referentnog frejma (bi-direkciono): RefL0, RefL1, (RefL0, RefL1).
• Jedan (uni-direkcioni) ili dva indeksa (bi-direkcioni) vektora pokreta: svaki vektor pokreta ima dve komponente (horizontalnu mvx i vertikalnu mvy).
[0015] Može se primetiti da bi-direkcioni Inter prediktor može biti korišćen samo za B tip slajsa, odn. isečka. Inter predikcija u B slajsovima može biti uni ili bi-direkciona. Kod P slajsa, Inter predikcija je isključivo uni-direkciona.
[0016] Aktuelni dizajn HEVC koristi 3 različita Inter moda: Inter mod, Merge mod i Merge Skip mod. Glavna razlika između ovih modova je signalizacija podataka u toku bitova.
[0017] Kod Inter moda svi podaci su eksplicitno signalizirani. Ovo znači da je rezidual teksture kodiran i umetnut u tok bitova (rezidual teksture je razlika između tekućeg bloka i bloka Inter predikcije). Za informaciju o pokretu, svi podaci su kodirani. Dakle, tip usmerenosti je kodiran (uni ili bi-direkcioni). Indeks liste, ukoliko treba, takođe je kodiran i insertovan u tok bitova. Indeksi povezanog referentnog frejma su eksplicitno kodirani i umetnuti u tok bitova. Vrednost vektora pokreta je predviđena izabranim prediktorom vektora pokreta. Rezidual vektora pokreta za svaku komponentu je zatim kodiran i umetnut u tok bitova, a za kojim sledi indeks prediktora.
[0018] U Merge modu, rezidual teksture i indeks prediktora su kodirani i umetnuti u tok bitova. Rezidual vektora pokreta, tip usmerenosti, lista ili indeks referentnog frejma nisu kodirani. Ovi parametri pokreta su izvedeni iz indeksa prediktora. Dakle, prediktor je prediktor svih podataka o informaciji o pokretu.
[0019] U Merge Skip modu nikakva informacija se ne šalje na stranu dekodera osim "moda" i indeksa prediktora. U ovom modu procesiranje je slično Merge modu osim što nijedan rezidual teksture nije kodiran ili poslat. Vrednosti piksela Merge Skip bloka su vrednosti piksela prediktora bloka.
[0020] U setu prediktora informacija o pokretu predstavljenih na Slici 1, dva prostorna vektora pokreta Inter moda su izabrana između ovih blokova, u Frejmu N, koji su iznad i levo od bloka koji se kodira, uključujući ugaone blokove iznad i levi ugaoni blok.
[0021] Levi prediktor je izabran između blokova "Ispod levo" i "Levo". Sledeći uslovi su razmatrani u specificiranom redosledu dok nije pronađena vrednost vektora pokreta:
1. Vektor pokreta iz iste referentne liste i iste referentne slike
2. Vektor pokreta iz druge referentne liste i iste referentne slike
3. Skalirani vektor pokreta iz iste referentne liste i različite referentne slike
4. Skalirani vektor pokreta iz druge referentne liste i različite referentne slike
[0022] Ukoliko nije pronađena nijedna vrednost, smatra se da je levi prediktor neraspoloživ. U ovom slučaju, to ukazuje da su povezani blokovi Intra kodirani ili da ti blokovi ne postoje. Gornji prediktor je izabran između "Iznad Desno", "Iznad" i "Iznad levo" ovim specifičnim redosledom, uz iste uslove koji su gore opisani.
[0023] Prediktor vremenskog pokreta potiče od najbližeg referentnog frejma u konfiguraciji sa malim kašnjenjem. U slučaju B frejmova, razmatraju se 2 vektora pokreta za kolocirani blok u frejmu N-1. Jedan je u prvoj listi "L0" i jedan je u drugoj listi "L1". Ukoliko postoje oba vektora pokreta, bira se vektor pokreta koji ima najkraću vremensku distancu. Ukoliko oba prediktora vektora pokreta imaju istu vremensku distancu, bira se pokret iz prve liste "L0". Ako je potrebno, izabrani kolocirani vektor pokreta se zatim skalira, prema svojoj vremenskoj distanci i prema vremenskoj distanci kodiranog vektora pokreta. Ukoliko ne postoji kolocirani prediktor, smatra se da prediktor nije raspoloživ.
[0024] Za kodiranja hijerarhijskih B frejmova, 2 kolocirana vektora pokreta se mogu razmatrati. Oba potiču iz budućeg referentnog frejma. Bira se vektor pokreta koji prolazi kroz tekući frejm. Ako oba prediktora prolaze kroz tekući frejm, bira se vektor pokreta koji ima najmanju vremensku distancu. Ako oba prediktora imaju istu vremensku distancu, tada se bire pokret iz prve liste "L0". Odabrani kolocirani vektor pokreta je zatim skaliran, ako je potrebno, prema svojoj vremenskoj distanci i prema vremenskoj distanci kodiranog vektora pokreta. Ako ne postoji nijedan kolocirani prediktor, smatra se da prediktor nije rasploživ.
[0025] Za slučaj malog kašnjenja i hijerarhijski slučaj, kada je kolocirani blok izdeljen na mnoštvo particija (potencijalno, kolocirani blok sadrži mnoštvo vektora pokreta), izabrana particija je centralna particija gore levo. Osim toga, vremenski prediktor je vektor pokreta bloka na donjoj desnoj poziciji u odnosu na kolocirani blok (pozicija H na Slici 1). Ukoliko ovaj blok ne postoji ili je Intra kodiran, blok na centralnoj poziciji kolociranog bloka je izabran kao vektor pokreta koji će biti izveden.
[0026] Vrednost prediktora pokreta se zatim dodaje u set prediktora.
[0027] Na kraju, primenjuje se proces suzbijanja. Ovo se sastoji u uklanjanju duplikata prediktora iz seta izabranih prediktora vektora pokreta. Na kraju ovog procesa, set sadrži prediktore vektora pokreta bez duplikata. Ovaj set može sadržati 1, 2, 3 ili 4 prediktora. U aktuelnom dizajnu, lista prediktora je fiksna u cilju ograničavanja veličine liste na 2. Dakle, izabrani prediktor je kodiran sa jednim bitom. Dakle, ukoliko je broj prediktora u listi 3 ili 4, uklanjaju se zadnji prediktor ili redom 2 zadnja prediktora.
[0028] Prediktor modova spajanja ("klasični" ili preskakanja, odn. Skip) predstavlja sve informacije o pokretu: usmerenost, listu, indeks referentnog frejma i vektore pokreta. Indeks prediktora je kodiran pomoću unarnog maks. koda kao što je opisano u Tabeli 1.
[0029] Veličina liste je fiksirana na 5 za sve Merge blokove ili Merge Skip blokove u aktuelnom HEVC dizajnu.
[0030] Na Slici 2 je dijagram toka primera procesa izvođenja vektora pokreta za Merge Modove Interpredikcije (Merge Skip i Merge imaju isti proces izvođenja prediktora vektora pokreta). Postupak je primenjen da bi se dobio set prediktora informacije o potencijalnom pokretu za kodiranje dela slike sa osvrtom na referentni deo slike. U prvom koraku izvođenja, razmatra se 7 pozicija blokova (601 do 607). Ove pozicije su prostorne i vremenske pozicije prikazane na Slici 1 (svaka pozicija je isto označena na obe slike). Modul 608 proverava raspoloživost ovih vektora pokreta i bira najviše 5 vektora pokreta. Ovaj modul koji implementira korak 608 određuje da je prediktor raspoloživ ako postoji i ako blok nije Intra kodiran. Selekcija i verifikacija 5 odabranih vektora pokreta se vrši u skladu sa sledećim uslovima:
• Ukoliko je vektor pokreta (601) "Levo" raspoloživ (tj. ukoliko postoji i ukoliko ovaj blok nije Intra kodiran), vektor pokreta bloka "Levo" se selektuje i koristi kao prediktor 1 (610).
• Ukoliko je vektor pokreta (602) “Gore” raspoloživ, vektor pokreta bloka “Gore” se selektuje i koristi kao prediktor 2 (611).
• Ukoliko je vektor pokreta (603) “Gore Desno” raspoloživ, vektor pokreta bloka “Gore Desno” se selektuje i koristi kao prediktor 3 (612).
• Ukoliko je “Dole Levo” vektor pokreta (604) raspoloživ, vektor pokreta bloka “Dole Levo” se selektuje i koristi kao prediktor 4 (613).
• Ukoliko jedan (ili više) prethodnih prediktora nije raspoloživ i ukoliko je “Gore Levo” vektor pokreta (605) raspoloživ, vektor pokreta bloka “Gore Levo” se dodaje u set prediktora vektora pokreta posle dodatog prostornog prediktora.
• Ukoliko je "H" vektor pokreta raspoloživ, vektor pokreta bloka "H" se selektuje i koristi kao prediktor 5 (614). Ukoliko blok "H" nije raspoloživ, raspoloživost "kolociranog" vektora pokreta (tj. vektora pokreta bloka na istoj poziciji u referentnom frejma kao tekući blok u tekućem frejmu) se proverava i, ukoliko postoji, on se koristi kao vremenski prediktor. Provera raspoloživosti koju vrši modul 608 zahteva 1 ciklus.
[0031] Vremenski prediktor treba da bude skaliran ako je potrebno. Zaista, za vremenski vektor pokreta, usmerenost i indeks referentnog frejma ne zavise od H ili kolociranog bloka već od podataka tekućeg slajsa. Ukoliko je tekući blok B slajs, vremenskih prediktor je uvek bidirekcioni i uvek unidirekcioni za P slajsove. Indeksi referentnog frejma za svaku listu referentnih frejmova (L0, L1) su izvedeni iz prediktora Levo i Gore. Ako za listu, oba bloka Levo i Gore nemaju indeks referentnog frejma, indeks referentnog frejma za vremenski prediktor se postavlja na nulu.
[0032] Pošto indeks referentnog frejma za vremenski prediktor ne zavisi od indeksa referentnog frejma "H" ili "kolociranog" bloka već od referentnog frejma prediktora Levo i Gore, vrednost njegovog vektora pokreta treba da bude skalirana. To znači da ukoliko je vremenska distanca koju pokriva vremenski vektor pokreta različita od razlike između tekućeg frejma i referentnog frejma prediktora, vremenski vektor pokreta se skalira da bi pokrio ispravnu vremensku distancu.
[0033] Na kraju modula 608 i 609, set prediktora sadrži najviše 5 prediktora (610 do 614). Zatim, primenjuje se proces potiskivanja 615 u cilju uklanjanja duplih kandidata is seta prediktora. Ovaj proces se sastoji od poređenja svakog prediktora u setu sa svim ostalim prediktorima u istom setu i uklanjanja onih prediktora koji su jednaki nekom drugom prediktoru u setu (uz čuvanje drugog prediktora čiji dupli kandidat je duplikat u setu) tako da nema duplikata među prediktorima u setu. Proces potiskivanja za P slajsove uzima u obzir vrednosti vektora pokreta i indeksa njihovih referentnih frejmova. U skladu sa tim, dve komponente vektora pokreta i njegov referentni indeks se porede sa svim ostalim i samo ako su te tri vrednosti jednake, prediktor se uklanja iz seta. Za B frejm, ovaj kriterijum je proširen na usmerenost i liste. Dakle, smatra se da je prediktor duplikat prediktor ako koristi istu usmerenost, iste liste (L0, L1, ili L0 i L1), indekse referentnog frejma i istu vrednost vektora pokreta (MV_L0 i MV_L1 za bi-predikciju). Proces potiskivanja traje 1 ciklus kada je potrebno da se uporedi najviše 5 prediktora. Zaista, može se smatrati da 12 poređenja može biti obavljeno u 1 ciklusu. Broj poređenja za proces potiskivanja u najkompleksnijem slučaju je jednak Sumi od 0 do N-1. Posledica toga je da je za 5 prediktora potrebno 10 poređenja (tj.4+3+2+1=10).
[0034] Na kraju procesa potiskivanja 615, generiše se redukovani set prediktora 616.
[0035] Zatim, modul 617 za generisanje vektora pokreta generiše nove kandidate na osnovu redukovanog seta prediktora vektora pokreta. Ovo procesiranje može tipično da traje bar jedan ciklus. Može se primetiti da u aktuelnom HEVC dizajnu, korišćena šema može dati najviše 20 prediktora u najkompleksnijem slučaju. Ovaj modul 617 daje drugi set prediktora 618.
[0036] Drugi set prediktora 618 se dodaje u redukovani set prediktora 616 i proces potiskivanja se primenjuje da bi se uklonili dupli kandidati iz drugog seta prediktora u poređenju sa oba seta, redukovanim i onim drugim. Ovaj proces potiskivanja je sličan procesu potiskivanja modula 615. Ipak, na kraju, ukoliko lista sadrži više od 5 prediktora, onda se lista prediktora skraćuje na 5, što je aktuelna veličina liste definisana HEVC dizajnom. Može se primetiti da ovaj proces može trajati najmanje 1 ciklus. Međutim trajanje ciklusa zavisi od broja prediktora generisanih u drugom setu prediktora 618. U aktuelnoj implementaciji HEVC, ovaj proces traje 3 ciklusa zbog broja generisanih prediktora (najkompleksniji slučaj: 32 poređenja za aktuelni dizajn).
[0037] Na kraju, proces potiskivanja 619 daje krajnju listu prediktora 620 iz koje će biti ekstrahovan prediktor za tekući blok.
[0038] Mana procesa je da izvođenje tekućeg prediktora vektora pokreta za Merge mod može dostići 11 ciklusa u najkompleksnijem slučaju, dok je bar 5 ciklusa potrebno u najmanje složenom slučaju. Izvođenje vektora pokreta stoga ima značajan uticaj na kompleksnost kodiranja i dekodiranja.
[0039] Predmetni pronalazak je osmišljen za rešavanje jednog ili više od gore navedenih problema.
[0040] Može biti obezbeđen, nezavisno, u prvom aspektu pronalaska, postupak za izvođenje bar jednog prediktora informacije o pokretu za kodiranje ili dekodiranje dela slike prema patentnom zahtevu 1.
[0041] Pošto su vremenski prediktori isključeni iz izbora za drugi podset, razumeće se da proces uklanjanja ili potiskivanja duplikata između izabranih prediktora drugog podseta može biti primenjen samo na prostorne prediktore i na ovaj način ne uključuje obradu prediktora informacije o vremenskom kretanju.
[0042] Izuzimanjem vremenskih prediktora iz procesa potiskivanja na ovaj način, ukupan broj poređenja je smanjen, i time je smanjena kompleksnost izračunavanja.
[0043] Obrnuto, u određenim primerima izvođenja prostorni prediktori se isklučuju iz izbora za prvi podset. Obrada prvog seta (tj. prediktora vremenskog pokreta) može da ne uključuje uklanjanje duplikata u nekim primerima izvođenja, iako, kao što će dole biti detaljnije objašnjeno, primeri izvođenja mogu podesno da kombinuju obradu prvog i drugog podseta da bi tako isključili duplikate u fazi dobijanja finalnog seta. Drukčije rečeno, obrada prvog seta dakle može da ne uključuje uklanjanje duplikata pre dobijanja finalnog seta.
[0044] U jednom primeru izvođenja, skaliranje prediktora informacije o vremenskom kretanju iz prvog podseta vrši se istovremeno sa koracima uklanjanja duplikata i generisanja sledećih prediktora informacije o pokretu drugog podseta.
[0045] U jednom primeru izvođenja, postupak obuhvata: uklanjanje duplikata između prediktora informacije o pokretu koji su rezultat obrade prvog podseta prediktora informacija o pokretu i obrade drugog podseta prediktora informacija o pokretu, u slučaju gde su jedan ili više prediktora informacije o pokretu koji su rezultat obrade prvog podseta prediktora informacija o pokretu i obrade drugog podseta prediktora informacija o pokretu isti, da bi se dobio finalni set prediktora informacije o pokretu upotrebljiv za kodiranje navedenog dela slike takav da nema duplikata među prediktorima informacije o pokretu u finalnom setu.
[0046] U jednom primeru izvođenja, obrada drugog podseta prediktora informacija o pokretu dalje uključuje uklanjanje duplikata između prediktora informacije o pokretu sledećeg drugog podseta prediktora informacija o pokretu u slučaju gde sledeći drugi podset sadrži jedan ili više prediktora informacije o pokretu koji su isti, da bi se dobio drugi redukovani podset prediktora informacije o pokretu.
[0047] U jednom primeru izvođenja, korak uklanjanja duplikata između prediktora informacije o pokretu sledećeg drugog podseta vrši se istovremeno sa skaliranjem prediktora informacija o vremenskom kretanju prvog podseta.
[0048] U jednom primeru izvođenja postupak obuhvata dodavanje, drugom redukovanom podsetu prediktora informacije o pokretu, prediktora informacije o pokretu, koji je rezultat obrade prvog podseta prediktora informacija o pokretu, koji nije duplikat bilo kog prediktora informacije o pokretu iz drugog redukovanog podseta prediktora informacija o pokretu da bi se dobio finalni set prediktora informacije o pokretu.
[0049] U jednom primeru izvođenja, postupak obuhvata dodavanje, redukovanom podsetu prediktora informacije o pokretu, prediktora informacija o pokretu koji je rezultat obrade prvog podseta prediktora informacija o pokretu, koji nije duplikat bilo kog prediktora informacije o pokretu redukovanog podseta prediktora informacija o pokretu; i gde finalni set prediktora informacije o pokretu sadrži vektore pokreta koji nisu duplikat između prediktora vektora pokreta redukovanog podseta prediktora informacija o pokretu i sledećeg drugog podseta prediktora informacija o pokretu.
[0050] U jednom primeru izvođenja, obrada drugog podseta koja se vrši istovremeno sa obradom prvog podseta se zasniva na proceni trajanja obrade prvog podseta.
[0051] U jednom primeru izvođenja, prediktori informacije o pokretu koji su rezultat obrade drugog podseta koji su dodati prediktorima informacije o pokretu koji su rezultat obrade prvog podseta da bi se dobio finalni set prediktora informacije o pokretu su zasnovani na trajanju obrade prvog podseta.
[0052] U jednom primeru izvođenja, postupak obuhvata korak određivanja, zasnovan na osnovu vremenske razlike između slike dela slike i slike referentnog dela slike, bilo da treba ili ne primeniti vremensko skaliranje na prvi podset prediktora informacije o pokretu; i pri čemu u slučaju gde je određeno da treba primeniti proces vremenskog skaliranja, obrada prvog podseta prediktora informacija o pokretu obuhvata korak vremenskog skaliranja prediktora informacije o pokretu prvog podseta prediktora informacija o pokretu zasnovan na vremenskoj
1
razlici između slike dela slike i slike referentnog dela slike; inače, u slučaju gde je odlučeno da proces vremenskog skaliranja ne treba da se primeni, onda obrada prvog podseta prediktora informacija o pokretu obuhvata korak uklanjanja duplikata između prediktora informacije o pokretu prvog podseta prediktora informacija o pokretu takav da redukovani podset obuhvata prediktore informacije o pokretu bez duplikata između prediktora informacije o pokretu prvog podseta prediktora informacija o pokretu i drugi podset prediktora informacije o pokretu se obezbeđuje obradom prvog podseta prediktora informacija o pokretu i obradom drugog podseta prediktora informacija o pokretu.
[0053] U jednom primeru izvođenja, u slučaju gde je zaključeno da treba da se primeni proces vremenskog skaliranja, finalni set prediktora se dobija uklanjanjem duplikata između prediktora informacije o pokretu koji su rezultat istovremene obrade prvog podseta prediktora informacija o pokretu i drugog podseta prediktora informacija o pokretu; inače u slučaju gde je zaključeno da ne treba da primeni proces vremenskog skaliranja, finalni set prediktora se dobija generisanjem sledećih prediktora informacije o pokretu, na osnovu redukovanog podseta da bi se dobio sledeći drugi podset prediktora informacije o pokretu i uklanjanjem duplikata između sledećeg drugog podseta prediktora informacija o pokretu.
[0054] U jednom primeru izvođenja, postupak obuhvata određivanje kompleksnosti procesa vremenskog skaliranja prvog podseta prediktora informacija o pokretu i pri čemu, u slučaju gde je zaključeno da će proces vremenskog skaliranja trajati duže od unapred određene granice, finalni set prediktora informacije o pokretu se dobija uklanjanjem duplikata između prediktora informacije o pokretu koji su rezultat obrade prvog podseta prediktora informacija o pokretu i obrade drugog podseta prediktora informacija o pokretu; inače, u slučaju gde je zaključeno da će proces vremenskog skaliranja trajati kraće od unapred određene granice, finalni set prediktora se dobija dodavanjem, redukovanom podsetu prediktora informacije o pokretu dobijenom iz drugog podseta prediktora vektora pokreta, prediktora informacije o pokretu koji je dobijen obradom prvog podseta prediktora informacija o pokretu koji nije duplikat bilo kog prediktora informacije o pokretu redukovanog podseta prediktora informacija o pokretu; pri čemu finalni set prediktora informacije o pokretu obuhvata prediktore informacije o pokretu koji nisu duplikat između prediktora informacije o pokretu redukovanog podseta prediktora informacija o pokretu i sledećeg drugog podseta prediktora informacija o pokretu.
[0055] U jednom primeru izvođenja, obrada drugog podseta prvog seta prediktora informacije o pokretu obuhvata uklanjanje duplikata između prediktora informacije o pokretu navedenog drugog podseta da bi se dobio redukovani podset prediktora informacije o pokretu; i generisanje sledećeg seta prediktora informacije o pokretu na osnovu jednog od prediktora informacije o pokretu navedenog drugog podseta i uključujući jedan od navedenih prediktora informacija o pokretu iz navedenog drugog podseta, pri čemu nema duplikata između sledećeg seta prediktora informacije o pokretu, postupak se dalje sastoji od uklanjanja duplikata između redukovanog podseta prediktora informacija o pokretu i sledećeg seta prediktora informacija o pokretu da bi se dobio set prediktora informacije o pokretu bez duplikata.
[0056] U jednom primeru izvođenja, obrada drugog podseta prvog seta prediktora informacija o pokretu dalje obuhvata: generisanje sledećih prediktora informacija o pokretu na osnovu redukovanog podseta prediktora informacija o pokretu da bi se dobio sledeći drugi podset prediktora informacije o pokretu; i uklanjanje duplikata između prediktora informacije o pokretu sledećeg drugog podseta prediktora informacija o pokretu i seta prediktora informacija o pokretu bez duplikata da bi se dobio drugi set prediktora informacija o pokretu bez duplikata.
[0057] U jednom primeru izvođenja, postupak obuhvata dodavanje, drugom setu prediktora informacija o pokretu bez duplikata, prediktora informacije o pokretu koji je rezultat obrade prvog podseta prediktora informacija o pokretu koji nije duplikat bilo kog prediktora informacija o pokretu drugog podseta prediktora informacija o pokretu bez duplikata da bi se dobio finalni set prediktora informacija o pokretu.
[0058] U drugom aspektu pronalaska, nezavisno može postojati uređaj za izvođenje bar jednog prediktora informacije o pokretu za kodiranje ili dekodiranje dela slike slike pomoću kompenzacije pokreta prema bar jednom referentnom delu slike, pri čemu uređaj obuhvata: sredstva za dobijanje, bar dva različita podseta, prvog i drugog, prediktora informacije o pokretu prvog seta prediktora informacija o pokretu (801-807), prvi podset sadrži bar jedan prediktor informacije o vremenskom kretanju i drugi podset sadrži bar jedan prediktor informacije o prostornom pokretu i isključuje bilo koji prediktor informacije o vremenskom pokretu; sredstva (808, 809) za prvu obradu za obradu prvog podseta prediktora informacija o pokretu; i sredstva (808, 815, 817) za drugu obradu za obradu drugog podseta prediktora informacija o pokretu; i sredstva (819) za dobijanje, na osnovu prediktora (818, 814) informacija o pokretu koja su rezultat obrade prvog podseta prediktora informacija o pokretu i obrade drugog podseta prediktora informacija o pokretu, finalnog seta (820) prediktora informacija o pokretu koji se može koristiti za predikciju navedenog dela slike prema referentnom delu slike; pri čemu je druga obrada operativna za uklanjanje duplikata između prediktora informacija o pokretu samo iz navedenog drugog podseta, u slučaju kada drugi podset sadrži jedan ili više prediktora informacija o pokretu koji su isti, da bi se dobio redukovani podset prediktora (816) informacija o pokretu.
[0059] U jednom primeru izvođenja, prvo sredstvo za obradu je operativno da vrši skaliranje prediktora vremenske informacije o pokretu prvog podseta istovremeno sa operacijom uklanjanja duplikata i generisanjem sledećeg prediktora informacija o pokretu drugog podseta koje vrši drugo stredstvo za obradu.
[0060] U jednom primeru izvođenja, uređaj uključuje sredstva za potiskivanje za uklanjanje duplikata između prediktora informacija o pokretu koji su rezultat obrade prvog podseta prediktora informacija o pokretu i obrade drugog podseta prediktora informacija o pokretu, u slučaju gde su jedan ili više prediktora informacija o pokretu koji su rezultat obrade prvog podseta prediktora informacija o pokretu i obrade drugog podseta prediktora informacija o pokretu isti, da bi se dobio finalni set prediktora informacija o pokretu upotrebljiv za kodiranje pomenutog dela slike da nema duplikata u finalnom setu prediktora informacija o pokretu.
[0061] U jednom primeru izvođenja, drugo sredstvo za obradu je operativno da ukloni duplikate između prediktora informacija o pokretu sledećeg drugog podseta prediktora informacija o pokretu u slučaju gde sledeći drugi podset sadrži jedan ili više prediktora informacija o pokretu koji su isti, da bi obezbedio drugi redukovani podset prediktora informacija o pokretu.
[0062] U jednom primeru izvođenja, drugo sredstvo za obradu je operativno da ukloni duplikate između prediktora informacija o pokretu sledećeg drugog podseta istovremeno sa skaliranjem prediktora vremenske informacije o pokretu iz prvog podseta koje vrši prvo sredstvo za obradu.
[0063] U jednom primeru izvođenja, uređaj obuhvata sredstvo koje je operativno da doda, u drugi redukovani podset prediktora informacija o pokretu, prediktor informacije o pokretu, koji je rezultat obrade prvog podseta prediktora informacija o pokretu, koji nije duplikat bilo kog prediktora informacije o pokretu iz drugog redukovanog podseta prediktora informacija o pokretu da bi se dobio finalni set prediktora informacija o pokretu.
[0064] U jednom primeru izvođenja, uređaj obuhvata sredstva za dodavanje, u redukovani podset prediktora informacija o pokretu, prediktora informacije o pokretu koji je rezultat obrade prvog podseta prediktora informacija o pokretu koji nije duplikat bilo kog prediktora informacije o pokretu u redukovanom podsetu prediktora informacije o pokretu; i pri čemu finalni set prediktora informacija o pokretu sadrži vektore pokreta koji nisu duplikati prediktora vektora pokreta u redukovanom podsetu prediktora informacije o pokretu i sledećem drugom podsetu prediktora informacije o pokretu.
[0065] U jednom primeru izvođenja, uređaj uključuje sredstva za procenu trajanja obrade prvog podseta pri čemu se obrada drugog podseta koju vrši drugo sredstvo za obradu istovremeno sa
1
obradom prvog podseta koju vrši prvo sredstvo za obradu zasniva na proceni trajanja obrade prvog podseta.
[0066] U jednom primeru izvođenja, uređaj uključuje sredstvo za procenu trajanja obrade prvog podseta, pri čemu se prediktori informacije o pokretu koji su rezultat obrade drugog podseta dodaju prediktorima informacija o pokretu koji su rezultat obrade prvog podseta da bi se dobio finalni set prediktora informacija o pokretu na osnovu trajanja obrade prvog podseta.
[0067] U jednom primeru izvođenja, uređaj uključuje sredstvo za određivanje, na osnovu vremenske razlike između slike dela slike i slike referentnog dela slike, bez obzira na to da li treba ili ne da se primeni proces vremenskog skaliranja na prvi podset prediktora informacija o pokretu; i pri čemu u slučaju gde je određeno da proces vremenskog skaliranja treba da se primeni, prvo sredstvo za obradu je operativno da izvrši vremensko skaliranje prediktora informacija o pokretu prvog podseta prediktora informacija o pokretu na osnovu vremenske razlike između slike dela slike i slike referentnog dela slike; inače, u slučaju gde je određeno da ne treba da se primeni proces vremenskog skaliranja, prvo sredstvo za obradu je operativno da ukloni duplikate između prediktora informacija o pokretu prvog podseta prediktora informacija o pokretu tako da redukovani podset sadrži prediktore informacija o pokretu koji nisu duplikati između prediktora informacija o pokretu prvog podseta prediktora informacija o pokretu i drugi podset prediktora informacija o pokretu je obezbeđen obradom koju vrše prvo sredstvo za obradu i drugo sredstvo za obradu.
[0068] U jednom primeru izvođenja, uređaj obuhvata sredstvo za potiskivanje za dobijanje finalnog seta prediktora informacija o pokretu pri čemu u slučaju gde je određeno da treba da se primeni vremensko skaliranje, sredstvo za potiskivanje je operativno da bi se dobio finalni set prediktora uklanjanjem duplikata među prediktorima informacija o pokretu koji su dobijeni istovremenom obradom prvog podseta prediktora informacija o pokretu i drugog podseta prediktora informacija o pokretu; inače u slučaju gde je određeno da ne treba da se primeni vremensko skaliranje, prvo ili drugo sredstvo je operativno da bi se dobili sledeći prediktori informacija o pokretu, na osnovu redukovanog podseta da bi se dobio sledeći drugi podset prediktora informacija o pokretu i sredstvo za potiskivanje je operativno da ukloni duplikate iz sledećeg drugog podseta prediktora informacija o pokretu.
[0069] U jednom primeru izvođenja, uređaj uključuje sredstvo za određivanje kompleksnosti procesa vremenskog skaliranja prvog podseta prediktora informacija o pokretu i sredstvo za potiskivanje za dobijanje finalnog seta prediktora informacija o pokretu u kome nema duplikata; pri čemu, u slučaju gde je određeno da će proces vremenskog skaliranja trajati duže od unapred određene granice trajanja, sredstvo za potiskivanje je operativno da ukloni duplikate između prediktora informacije o pokretu koji su rezultat obrade prvog podseta prediktora informacija o pokretu i obrade drugog podseta prediktora informacija o pokretu; inače, u slučaju gde je određeno da će proces vremenskog skaliranja trajati kraće od unapred određene granice trajanja, sredstvo za potiskivanje je operativno da doda u redukovani podset prediktora informacija o pokretu dobijen iz drugog podseta prediktora vektora pokreta, prediktor informacije o pokretu koji je rezultat obrade prvog podseta prediktora informacija o pokretu koji nije duplikat bilo kog prediktora informacije o pokretu iz redukovanog podseta prediktora informacija o pokretu; pri čemu finalni set prediktora informacija o pokretu obuhvata prediktore informacija o pokretu koji nisu duplikati između prediktora informacija o pokretu iz redukovanog podseta prediktora informacija o pokretu i sledećeg drugog podseta prediktora informacija o pokretu.
[0070] U jednom primeru izvođenja, sekundarno sredstvo za obradu sadrži sredstvo za uklanjanje duplikata između prediktora informacija o pokretu pomenutog drugog podseta da bi se dobio redukovani podset prediktora informacija o pokretu; i sredstvo za generisanje sledećeg seta prediktora informacija o pokretu na osnovu jednog od prediktora informacije o pokretu pomenutog drugog podseta i uključujući pomenuti jedan od prediktora informacije o pokretu pomenutog drugog podseta, pri čemu nema duplikata u sledećem setu prediktora informacija o pokretu, uređaj dalje obuhvata sredstvo za potiskivanje za uklanjanje duplikata iz redukovanog podseta prediktora informacija o pokretu i sledećeg seta prediktora informacija o pokretu da bi se dobio set prediktora informacija o pokretu bez duplikata.
[0071] U jednom primeru izvođenja, drugo sredstvo za obradu dalje sadrži sredstvo za generisanje sledećih prediktora informacije o pokretu na osnovu redukovanog podseta prediktora informacija o pokretu da bi se dobio sledeći drugi podset prediktora informacija o pokretu; i sredstvo za uklanjanje duplikata između prediktora informacija o pokretu sledećeg drugog podseta prediktora informacija o pokretu i seta prediktora informacija o pokretu bez duplikata da bi se dobio drugi set prediktora informacija o pokretu bez duplikata.
[0072] U jednom primeru izvođenja, sredstva za potiskivanje su operabilna da dodaju, u drugi set prediktora informacija o pokretu bez duplikata, prediktor informacije o pokretu koji je rezultat obrade prvog podseta prediktora informacija o pokretu koji nije duplikat bilo kog prediktora informacije o pokretu drugog seta prediktora informacija o pokretu bez duplikata da bi se dobio finalni set prediktora informacija o pokretu.
[0073] Treći aspekt pronalaska za koji se ne traži zaštita obezbeđuje postupak za kodiranje sekvence digitalnih slika u tok bitova, bar jedan deo slike je kodiran pomoću kompenzacije pokreta prema referentnom delu slike, pri čemu, za kodiranje bar jednog dela slike, postupak
1
obuhvata: dobijanje seta prediktora informacija o pokretu upotrebljivog za predikciju pokreta dela slike prema bar jednom referentnom delu slike u skladu sa postupkom prema bilo kom primeru izvođenja prema prvom aspektu pronalaska; izbor bar jednog prediktora informacije o pokretu iz seta prediktora informacija za kodiranje dela slike; i kodiranje dela slike primenom odabanog bar jednog prediktora informacije o pokretu.
[0074] Postupak može da obuhvati kodiranje informacione stavke koja identifikuje odabrani prediktor informacije o pokretu.
[0075] Četvrti aspekt pronalaska za koji se ne traži zaštita obezbeđuje uređaj za kodiranje sekvence slika u tok bitova, bar jedan deo slike se kodira pomoću kompenzacije pokreta prema referentnom delu slike, uređaj za kodiranje obuhvata: uređaj za izvođenje bar jednog prediktora informacije o pokretu u skladu sa bilo kojim od primera izvođenja prema drugom aspektu pronalaska; selekcija znači biranje bar jednog prediktora informacije o pokretu iz seta prediktora informacija za kodiranje dela slike; i kodiranje znači kodiranje dela slike pomoću odabira bar jednog prediktora informacije o pokretu.
[0076] Peti aspekt pronalaska, za koji nije trtažena zaštita u patentnim zahtevima, obezbeđuje postupak dekodiranja toka bitova koji sadrži kodiranu sekvencu slika, bar jedan deo slike je bio kodiran pomoću kompenzacije pokreta prema referentnom delu slike, postupak obuhvata bar jedan deo slike koji treba da se dekodira: dobijanje seta prediktora informacija o pokretu upotrebljiv za predikciju pokreta dela slike prema bar jednog referentnog dela slike sa postupkom prema bilo kom od primera izvođenja prema prvom aspektu pronalaska; biranje bar jedog prediktora informacije o pokretu iz seta prediktora informacija za dekodiranje dela slike; i dekodiranje dela slike korišćenjem odabranog bar jednog prediktora informacije o pokretu.
[0077] Šesti aspekt pronalaska, za koji nije trtažena zaštita u patentnim zahtevima, obezbeđuje uređaj za dekodiranje za dekodiranje toka bitova koji sadrži kodiranu sekvencu slika, bar jedan deo slike je bio kodiran pomoću kompenzacije pokreta prema referentnom delu slike, uređaj za dekodiranje obuhvata: uređaj za izvođenje bar jednog prediktora informacije o pokretu u skladu sa uređajem prema bilo kom od primera izvođenja prema drugom aspektu pronalaska; sredstvo za biranje za selekciju bar jednog prediktora informacije o pokretu iz seta prediktora informacija za dekodiranje dela slike; i sredstvo za dekodiranje za dekodiranje dela slike korišćenjem odabranog bar jednog prediktora informacije o pokretu.
[0078] Ceniće se da se primeri izvođenja različitih aspekata pronalaska mogu koristiti za P i B slajsove i za obe, uni i bi-direkcionu Inter predikciju.
[0079] Bar delovi postupka prema pronalasku mogu biti implementirani na računaru. U skladu sa tim, predmetni pronalazak može uzeti oblik potpuno hardverskog primera izvođenja,
1
potpuno softverskog primera izvođenja (uključujući firmver, rezidentni softver, mikro-kod, itd.) ili primer izvođenja koji kombinuje softverske i hardverske aspekte koji se svi generalno ovde mogu nazivati kao "kolo", "modul" ili "sistem". Dalje, predmetni pronalazak može biti u obliku računarskog programskog proizvoda izveden na bilo kom opipljivom medijumu za izražavanje koji ima računarski upotrebljiv programski kod otelotvoren na medijumu.
[0080] Pošto predmetni pronalazak može biti implementiran kao softver, predmetni pronalazak može biti otelotvoren kao računarski čitljiv kod koji će biti obezbeđen programabilnom sklopu na bilo kom pogodnom medijumu nosaču. Opipljivi medijum nosač može obuhvatati medijum za skladištenje kao što su flopi disk, CD-ROM, hard disk drajv, uređaj sa magnetnom trakom ili memorijski uređaj bez pokretnih delova i slični. Prelazni noseći medijum može uključivati signal kao što su električni signal, elektronski signal, optički signal, zvučni signal, magnetni signal ili elektromagnetni signal, npr, mikrotalasni ili RF signal.
[0081] Sada će biti opisani primeri izvođenja pronalaska, samo pomoću primera, i uz pozivanje na sledeće crteže na kojima:-
Slika 1 je šematski prikaz seta prediktora vektora pokreta koji se koriste za proces predikcije vektora pokreta u kontekstu primera izvođenja predmetnog pronalaska;
Slika 2 je dijagram toka koji ilustruje korake procesa prema stanju tehnike za izvođenje seta prediktora vektora pokreta;
Slika 3 predstavlja blok dijagram na kom su ilustrovane komponente uređaja za obradu u kojima primeri izvođenja pronalaska mogu biti implementirani;
Slika 4 predstavlja blok dijagram na kom su ilustrovane komponente uređaja za kodiranje u skladu sa primerima izvođenja pronalaska;
Slika 5 predstavlja blok dijagram na kom su ilustrovane komponente uređaja za dekodiranje u skladu sa primerima izvođenja pronalaska;
Slika 6 predstavlja dijagram toka u kom su ilustrovani koraci postupka za dobijanje seta prediktora informacija o pokretu u skladu sa prvim primerom izvođenja pronalaska;
1
Slika 7 predstavlja dijagram toka u kom su ilustrovani koraci postupka za dobijanje seta prediktora informacija o pokretu u skladu sa drugim primerom izvođenja pronalaska;
Slika 8 predstavlja dijagram toka u kom su ilustrovani koraci postupka za dobijanje seta prediktora informacija o pokretu u skladu sa trećim primerom izvođenja pronalaska;
Slika 9 predstavlja dijagram toka u kom su ilustrovani koraci postupka za dobijanje seta prediktora informacija o pokretu u skladu sa četvrtim primerom izvođenja pronalaska;
Slike 10(a) - 10(c) šematski ilustruju šeme za generisanje prediktora vektora pokreta u skladu sa jednim ili više primera izvođenja pronalaska; i
Slika 11 je šematski prikaz na kom je ilustrovan proces skaliranja vremenskog prediktora korišćen u primerima izvođenja pronalaska.
[0082] Slika 3 šematski ilustruje uređaj 200 za obradu koji je konfigurisan da implementira bar jedan primer izvođenja predmetnog pronalaska. Uređaj 200 za obradu može biti uređaj kao što je mikro-kompjuter, radna stanica ili laki prenosivi uređaj. Uređaj 200 sadrži komunikacionu magistralu 213 na koju su prvenstveno povezani:
- centralna procesorska jedinica 211, kao što je mikroprocesor, označen kao CPU;
- memorija 207 samo za čitanje, označena kao ROM, za skladištenje računarskih programa za implementiranje pronalaska;
- memorija 212 sa proizvoljnim pristupom, označena kao RAM, za skladištenje izvršnog koda postupka prema primerima izvođenja pronalaska, kao i registri prilagođeni za pamćenje promenljivih i parametara neophodnih za implementaciju postupka kodiranja sekvence digitalnih slika i/ili postupka dekodiranja toka bitova u skladu sa primerima izvođenja pronalaska; i
- komunikacioni interfejs 202 povezan na komunikacionu mrežu 203 preko koje se prenose digitalni podaci koji treba da se obrade.
[0083] Opciono, sklop 200 može takođe sadržati sledeće komponente:
1
- sredstvo 204 za skladištenje podataka kao što je tvrdi disk, za skladištenje računarskih programa za impementaciju postupaka prema jednom ili više primera izvođenja pronalaska i podataka korišćenih ili koji su proistekli za vreme implementacije jednog ili više primera izvođenja pronalaska;
- disk drajv 205 za disk 206, pri čemu je disk drajv prilagođen za čitanje podataka sa diska 206 ili za upis podataka na pomenuti disk;
- ekran 209 za prikazivanje podataka i/ili koji služi kao grafički interfejs prema korisniku, pomoću tastature 210 ili bilo kog drugog sredstva za pokazivanje.
[0084] Sklop 200 može biti povezan sa različitim periferijama, kao što su na primer digitalna kamera 200 ili mikrofon 208, od kojih je svaka povezana na ulazno/izlaznu kartu (koja nije prikazana) da bi multimedijalnim podacima snabdela sklop 200.
[0085] Komunikaciona magistrala obezbeđuje komunikaciju i interoperabilnost između različitih elemenata uključenih u sklop 200 ili povezanih sa njim. Predstava magistrale nije ograničavajuća i naročito je centralna procesorska jedinica sposobna da pošalje instrukcije bilo kom delu sklopa 200 direktno ili pomoću drugog elementa sklopa 200.
[0086] Disk 206 može biti zamenjen bilo kojim informacionim medijumom, kao što su na primer kompaktni disk (CD-ROM), na koji je moguće ponovo pisati ili ne, ZIP disk ili memorijska kartica i, generalno, bilo kojim sredstvom za skladištenje podataka koje je čitljivo za mikroračunar ili mikroprocesor, integrisanim ili ne u sklop, opciono uklonjivim ili prilagođenim da skladišti jedan ili više programa čije izvršavanje omogućava postupak kodiranja sekvence digitalnih slika i/ili postupak dekodiranja toka bitova u skladu sa pronalaskom koji treba da se implementira.
[0087] Izvršni kod može biti uskladišten bilo u memoriji 207 samo za čitanje, na tvrdom disku 204 ili na uklonjivom digitalnom medijumu, kao što je na primer disk 206 kao što je prethodno opisan. U skladu sa varijantnim rešenjem, izvršni kod programa može biti primljen pomoću komunikacione mreže 203, putem interfejsa 202, u cilju da bude uskladišten u jednom od sredstava za skladištenje sklopa 200 pre svog izvršavanja, kao što je hard disk 204.
[0088] Centralna procesorska jedinica 211 je prilagođena da kontroliše i upravlja izvršavanjem instrukcija ili dela softverskog koda programa prema pronalasku, i to instrukcija koje su uskladištene na nekom od prethodno pomenutih sredstava za skladištenje. Pri uključivanju, program ili programi koji su uskladišteni u neizbrisivoj memoriji, na primer na tvrdom disku 204 ili u memoriji 207 samo za čitanje, prenose se u memoriju 212 sa proizvoljnim pristupom,
1
koja zatim sadrži izvršni kod programa ili programa, kao i registar za skladištenje promenljivih i parametara neophodnih za implementaciju pronalaska.
[0089] U ovom primeru izvođenja, sklop je programabilni sklop koji koristi softver za implementaciju pronalaska. Međutim, alternativno tome, predmetni pronalazak može biti implementiran u hardveru (na primer, u obliku Integrisanog kola za specifične aplikacije ili ASIC).
[0090] Slika 4 ilustruje blok dijagram kodera u skladu sa bar jednim primerom izvođenja pronalaska. Koder je predstavljen pomoću povezanih modula, svaki od modula je prilagođen da implementira, na primer u obliku programskih instrukcija koje treba da izvrši CPU 211 uređaja 200, bar jedan odgovarajući korak postupka implementira bar jedan primer izvođenja kodiranja slike ili sekvence slika u skladu sa jednim ili više primera izvođenja pronalaska.
[0091] Originalna sekvenca 301 digitalne slike i0 do in se prima kao ulaz od kodera 30. Svaka digitalna slika je predstavljena setom uzoraka, poznatih kao tačke.
Tok 310 bitova je izlaz sa kodera 30 posle implementatcije procesa kodiranja.
[0092] Tok 310 bitova sadrži mnoštvo jedinica za kodiranje ili slajsova, pri čemu svaki slajs sadrži zaglavlje slajsa za slanje vrednosti za kodiranje za parametre kodiranja korišćenih za kodiranje slajsa i telo slajsa, koje sadrži kodirane video podatke.
[0093] Ulazne digitalne slike 301 i0 do in su podeljene u blokove tačaka pomoću modula 302. Blokovi odgovaraju delovima slike i mogu biti promenljive veličine (npr. 4x4, 8x8, 16x16, 32x32 tačaka). Mod za kodiranje je izabran za svaki ulazni blok. Obezbeđena su dva tipa modova kodiranja: modovi za kodiranje na osnovu kodiranja prostornih predikcija (Intra predikcija), i modovi za kodiranje na osnovu kodiranja vremenskih predikcija (Inter kodiranje, Bidir, SKIP). Testirani su mogući modovi za kodiranje.
[0094] Modul 303 implementira Intra predikciju, u kojoj je dati blok koji treba da se kodira predviđen pomoću prediktora izračunatog iz tačaka u susedstvu pomenutog bloka koji se kodira. Indikacija odabranog Intra prediktora i razlika između datog bloka i njegovog prediktora se kodira da bi se dobio rezidual ukoliko je odabrano Intra kodiranje.
[0095] Vremenska predikcija je primenjena pomoću modula 304 za procenu pokreta i modula 305 za kompenzaciju pokreta. Prvo se bira referentna slika iz seta 316 referentnih slika, i deo referentne slike, takođe nazvanom referentnom zonom ili delom slike, koji je najbliža zona datom bloku koji se kodira, odabira se pomoću modula 304 za procenu pokreta. Modul 305 za kompenzaciju pokreta zatim vrši predikciju bloka koji se kodira koristeći odabranu zonu. Razlika između odabrane referentne zone i datog bloka, takođe nazvanog rezidualni blok, se
2
izračunava pomoću modula 305 za kompenzaciju pokreta. Na odabranu referentnu zonu ukazuje vektor pokreta.
[0096] Tako se u oba slučaja (prostorne i vremenske predikcije) rezidual izračunava oduzimanjem predikcije od originalnog predviđenog bloka.
[0097] Kod INTRA predikcije implementirane pomoću modula 303, smer predikcije se kodira. Kod vremenske predikcije, bar jedan vektor pokreta se kodira.
[0098] Informacije povezane sa vektorom pokreta i rezidualnim blokom se kodiraju ukoliko je odabrana Inter predikcija. Da bi se dodatno smanjio protok bita, vektor pokreta se kodira pomoću razlike prema prediktoru vektora pokreta. Prediktori vektora pokreta iz seta prediktora informacija o pokretu se dobijaju iz polja 318 vektora pokreta pomoću predikcije vektora pokreta i modula 317 za kodiranje.
[0099] Set prediktora vektora pokreta iz koga se izabira prediktor vektora pokreta za kodiranje trenutnog vektora pokreta se generiše na način koji će detaljnije biti opisan ovde u nastavku prema bilo kojoj od Slika 7 do 10. Za dati trenutni blok koji treba da se kodira, u nekim primerima izvođenja pronalaska određuje se broj N prediktora vektora pokreta, i konsekventno indeks odabranog prediktora vektora pokreta, što je stavka informacije koja predstavlja odabrani prediktor vektora pokreta, može biti kodiran korišćenjem predeterminisanog broja bita u skladu sa brojem N prediktora vektora pokreta. Ovaj predeterminisani broj bita može biti vraćen nazad pomoću dekodera čak i u slučaju gubitaka, dakle osigurano je da će dekoder biti u stanju da raščlani tok bitova čak i u slučaju grešaka ili gubitaka. Odabira se N prediktora vektora pokreta u skladu sa različitim primerima izvođenja pronalaska tako da svi budu međusobno različiti da bi se poboljšala efikasnost kompresije.
[0100] Koder 30 dalje sadrži modul 306 za selekciju za izbor moda kodiranja. Modul 306 za selekciju primenjuje kriterijum cene kodiranja, kao što je kriterijum stepena izobličenja, da bi odredio koji je najbolji mod između modova prostornih predikcija i modova vremenskih predikcija. U cilju daljeg smanjivanja redundansi u modulu 307 za transformaciju primenjuje se transformacija na rezidualni blok, dobijeni transformisani podaci se zatim kvantizuju u kvantizacionom modulu 308 i entropijski kodiraju u modulu 309 za entropijsko kodiranje. Na kraju, kodirani rezidualni blok trenutnog bloka koji se kodira se umeće u tok 310 bitova, zajedno sa informacijom koja se odnosi na korišćeni prediktor, kao što je indeks odabranog prediktora vektora pokreta. Za blokove kodirane u ’SKIP’ (preskoči) modu, samo se kodira referenca na prediktor u toku bitova, bez bilo kog rezidualnog bloka.
[0101] Koder 30 takođe vrši dekodiranje kodirane slike u cilju dobijanja referentne slike za procenu pokreta sledećih slika. Ovo omoućava da koder i dekoder koji prima tok bitova imaju iste referentne frejmove. Inverzni kvantizacioni modul 311 vrši inverznu kvantizaciju kvantizovanih podataka, zatim sledi inverzna transformacija pomoću modula 312 za reverznu transformaciju. Modul 313 za reverznu intra predikciju koristi informaciju o predikciji da bi odredio koji prediktor da se koristi za dati blok i modul 314 za reverznu kompenzaciju pokreta u stvari dodaje rezidual dobijen pomoću modula 312 referentnoj zoni dobijenoj iz seta referentnih slika 316. Opciono, primenjuje se filter 315 za deblokiranje da bi se uklonili efekti podele na blokove i poboljšao vizuelni kvalitet dekodirane slike. Isti filter za deblokiranje se primenjuje na dekoder, tako da, ukoliko nema gubitaka pri prenosu, koder i dekoder primenjuju isto procesiranje.
[0102] Slika 5 predstavlja blok dijagram dekodera 40 prema bar jednom primeru izvođenja pronalaska. Dekoder je predstavljen pomoću povezanih modula, svaki modul je prilagođen da implementira, na primer, u obliku programskih instrukcija koje će izvršavati CPU 211 uređaja 200, odgovarajući korak postupka koji implementira primer izvođenja pronalaska.
[0103] Dekoder 40 prima tok 401 bitova koji sadrži kodirane jedinice, svaka od njih se sastoji od zaglavlja koje sadrži informacije o parametrima kodiranja i tela koje sadrži kodirane video podatke. Kao što je objašnjeno pomoću Slike 4, kodirani video podaci se entropijski kodiraju, a indeksi prediktora vektora pokreta se kodiraju, za dati blok, sa predeterminisanim brojem bita. Primljeni kodirani video podaci se entropijski dekodiraju pomoću modula 402. Rrezidualni podaci se zatim dekvantizuju pomoću modula 403 i zatim se primenjuje reverzna transformacija pomoću modula 404 da bi se dobile vrednosti tačaka.
[0104] Podaci o modu se takođe entropijski dekodiraju i na osnovu moda se vrši INTRA tip dekodiranja ili INTER tip dekodiranja.
[0105] U slučaju INTRA moda, INTRA prediktor se određuje pomoću modula 405 za intra reverznu predikciju na osnovu moda intra predikcije specificiranom u toku bitova.
[0106] Ukoliko je mod INTER, vrši se ekstrakcija informacija o predikciji pokreta iz toka bitova da bi se našla referentna zona koju je koristio koder. Informacija o predikciji pokreta se sastoji od indeksa referentnog frejma i reziduala vektora pokreta. Prediktor vektora pokreta se dodaje rezidualnom vektoru pokreta u cilju dobijanja vektora pokreta pomoću modula 410 za dekodiranje vektora pokreta.
[0107] Modul 410 za dekodiranje vektora pokreta primenjuje dekodiranje vektora pokreta za svaki tekući blok kodiran predikcijom pokreta. Jednom kada se dobije indeks prediktora vektora pokreta za tekući blok, onda stvarna vrednost vektora pokreta povezana sa tekućim blokom može biti dekodirana i iskorišćena da se primeni reverzna kompenzacija pokreta pomoću modula 406. Vrši se ekstrakcija referentne zone na koju ukazuje dekodirani vektor pokreta iz referentne slike 408 da bi se primenila reverzna kompenzacija pokreta 406. Podaci 411 iz polja vektora pokreta se ažuriraju pomoću dekodiranog vektora pokreta u cilju njegovog korišćenja za inverznu predikciju sledećeg dekodiranog vektora pokreta.
[0108] Na kraju, dobija se dekodirani blok. Primenjuje se filter 407 za deblokiranje; slično primeni filtera 315 za deblokiranje na koderu. Na kraju se dekodirani video signal 409 dobija pomoću dekodera 40.
[0109] Slika 6 predstavlja dijagram toka u kom su ilustrovani koraci postupka u skladu sa prvim primerom izvođenja pronalaska za izvođenje seta prediktora informacije o potencijalnom pokretu pogodnih za kodiranje dela slike slike prema referentnom delu slike. U prvom koraku postupka, razmatra se 7 pozicija blokova (701 do 707). Ove pozicije odgovaraju prostornim i vremenskim pozicijama opisanim na Slici 1. Modul 708 proverava raspoloživost vektora pokreta 7 pozicija blokova i bira 4 vektora pokreta za prediktore vektora pokreta. U ovom modulu, vektor pokreta je raspoloživ kao prediktor ukoliko postoji i ukoliko vektor pokreta bloka nije Intra kodiran. Izbor i verifikacija 4 prediktora vektora pokreta su opisani pod sledećim uslovima:
• Ukoliko je "Levo" vektor pokreta (701) raspoloživ (ako postoji i ako ovaj blok nije Intra kodiran), vektor pokreta bloka "Levo" se odabira i koristi kao prediktor 1 (610).
• Ukoliko je “Gore” vektor pokreta (702) raspoloživ, vektor pokreta bloka “Gore” se odabira i koristi kao prediktor 2 (711).
• Ukoliko je “Gore Desno” vektor pokreta (703) raspoloživ, vektor pokreta bloka “Gore Desno” se odabira i koristi kao prediktor 3 (712).
• Ukoliko je “Dole Levo” vektor pokreta (704) raspoloživ, vektor pokreta bloka “Dole Levo” se odabira i koristi kao prediktor 4 (713).
• Ukoliko jedan (ili više) od ovih prediktora nije raspoloživ i ukoliko je “Gore Levo” vektor pokreta (705) raspoloživ, vektor pokreta bloka “Gore Levo” se dodaje u set odabranih prediktora vektora pokreta posle dodatog prostornog prediktora.
• Ukoliko je "H" vektor pokreta raspoloživ, vektor pokreta bloka "H" se odabira i koristi kao prediktor 5 (714). Ukoliko "H" blok nije raspoloživ, proverava se raspoloživost "kolociranog" vektora pokreta (vektora pokreta bloka na istom mestu u trenutnom bloku) i, ukoliko je kolocirani vektor pokreta raspoloživ, on se koristi kao vremenski prediktor. Provera raspoloživosti pomoću modula 708 zahteva 1 ciklus.
2
[0110] Pošto set prediktora vektora pokreta odabranih na početku procesa sadrži samo prostorne prediktore 1, 2, 3, 4, stoga je kompleksnost procesa 715 za izbor smanjena u poređenju sa procesom izbora prema stanju tehnike sa Slike 2 koji obuhvata 4 prostorna i 1 vremenski prediktor.
[0111] Proces potiskivanja se sastoji od poređenja svakog izabranog prediktora sa svim drugim izabranim prediktorima i uklanjanja onih izabranih prediktora koji su isti kao drugi izabrani prediktor (uz zadržavanje drugog izabranog prediktora čiji je uklonjen prediktor duplikat) da bi se dobio set prediktora u kome nijedan od prediktora nije duplikat nekog drugog. Proces potiskivanja za P slajsove uzima u obzir vrednosti vektora pokreta i indekse njihovih referentnih frejmova. U skladu sa tim, dve komponente vektora pokreta i indeksa njegovog referentnog frejma se porede sa svim odgovarajućim komponentama drugih vektora pokreta i samo ako su ove tri vrednosti iste, prediktor se uklanja iz seta (ili se ne dodaje u njega). Za B frejm, ovaj kriterijum može da se proširi na smer i liste. Dakle, smatra se da je prediktor duplikat prediktora ako koristi isti smer, iste liste (L0, L1, ili L0 i L1), iste indekse referentnog frejma i iste vrednosti vektora pokreta (MV_L0 i MV_L1 za bi predikciju) u setu izabranih vektora pokreta. Proces potiskivanja traje 1 ciklus kada treba da se poredi najviše 5 prediktora. Zaista, može se smatrati da 12 poređenja može da se izvrši u 1 ciklusu. Maksimalni broj poređenja za proces potiskivanja u najkompleksnijem slučaju je jednak sumi od 0 do N-1. Pošto je maksimalni broj prediktora na početku procesa potiskivanja 4 umesto 5, onda je maksimalni broj poređenja koje treba izvršiti 6 (tj. 3+2+1=6) u poređenju sa 10 kao što je za 5 izabranih prediktora prema stanju tehnike sa Slike 2. Na kraju ovog procesa 715 potiskivanja, generisan je redukovani set 716 prediktora. Redukovani set 716 prediktora vektora pokreta sadrži najviše 4 prediktora u poređenju sa 5 prema stanju tehnike.
[0112] Modul 717 za generisanje prediktora vektora pokreta generiše nove kandidate za prediktora na osnovu prediktora redukvanog seta prediktora vektora pokreta. Može se koristiti nekoliko šema za kreiranje takvih prediktora i jedna takva šema će kasnije biti opisana uz pozivanje na Slike 10(a) do (c). Može se smatrati da proces koji vrši modul za generisanje prediktora vektora pokreta traje bar 1 ciklus i proizvodi drugi set prediktora 718. Pošto set redukovanih prediktora 716 generalno sadrži manje prediktora od redukovanog seta 616 prediktora prema stanju tehnike prikazanom na Slici 2, u proseku se generiše manje kombinovanih prediktora i skaliranih prediktora u redukovanom setu 717 prediktora vektora pokreta u poređenju sa stanjem tehnike i kompleksnost procesa je smanjena.
[0113] Dalje, modul 721 za proces potiskivanja koji radi na sličan način kao modul 715 za proces potiskivanja, uklanja duple kandidate iz drugog seta 718 prediktora i redukovanog seta 716 prediktora poređenjem odgovarajućih komponenti vektora pokreta i povezanih parametara informacija o pokretu. Prema stanju tehnike prikazanom na Slici 2, trajanje ovog specifičnog procesa može dostići 3 ciklusa u zavisnosti od broja prediktora generisanih u drugom setu 718 prediktora, naročito u slučaju gde se primenjuje generisanje prediktora vektora pokreta prema aktuelnom HEVC dizajnu. Proces 721 potiskivanja pravi drugi redukovani set prediktora vektora pokreta 722.
[0114] Na kraju, vremenski prediktor 714 se poredi sa drugim redukovanim setom 722 prediktora vektora pokreta u modulu 719. Pri procesima potiskivanja i preuređivanja koje vrši modul 719, vremenski prediktor se poredi sa, najviše, 5 prediktora u cilju određivanja da li je vremenski prediktor duplikat prediktora. Ako nije duplikat prediktora, vremenski prediktor se umeće u listu prediktora neposredno pre zadnjeg prostornog prediktora koji nije duplikat. Vremenska pozicija je bila određena modulom 715 za proces potiskivanja i poslata u modul 719 za obradu, i odgovara broju prediktora u 715. Lista prediktora se skraćuje ukoliko sadrži više od 5 prediktora u cilju pravljenja finalnog seta prediktora 720. Može se primetiti da je maksimalni broj poređenja koje vrši modul 719 u najkompleksnijem slučaju 5, što je smanjenje u poređenju sa onim kod modula 619 za potiskivanje prema stanju tehnike prikazanom na Slici 2.
[0115] U varijantnom primeru izvođenja modul 719 za proces potiskivanja može raditi na isti način kao modul 619 za proces potiskivanja prema stanju tehnike. U tom slučaju vremenski prediktor se dodaje u set prediktora samo ako redukovani set 722 prediktora sadrži najviše 4 prediktora. Inače se dodaje na kraj liste prediktora.
[0116] Slika 7 prikazuje drugi primer izvođenja pronalaska. Glavna razlika prema primera izvođenja sa Slike 6 je da proces generisanja prediktora vektora pokreta koje vrši modul 817 traje 2 ciklusa umesto 1 ciklus kao u slučaju modula 717 sa Slike 6. U slučaju sa Slike 7, proces potiskivanja za uklanjanje prediktora duplikata drugog seta 818 prediktora se ne izvršava paralelno sa procesom 809 vremenskog skaliranja. Stoga se, na Slici 7, u modulu 819 za potiskivanje, vremenski prediktor 814 poredi sa oba, i sa prediktorima iz redukovanog seta 816 prediktora vektora pokreta, i sa prediktorima iz drugog seta 818 prediktora. U ovom procesu ako vremenski prediktor 814 nije duplikat prediktora vektora pokreta iz redukovanog seta 816 prediktora vektora pokreta, vremenski prediktor 814 se dodaje u redukovani set prediktora vektora pokreta posle prostornih prediktora. Zatim, prediktori iz drugog seta 818 prediktora se porede sa prediktorima iz redukovanog seta 816 prediktora vektora pokreta, sa vremenskim prediktorom 814 ako je dodat, i sa drugim prediktorima drugog seta 818 prediktora.
2
[0117] Prednost obrade prema primerima izvođenja sa Slike 6 ili Slike 7 je rezultat punog izvršavanja procesa 709 skaliranja paralelno sa prvim procesom 715 ili 815 potiskivanja i procesa 717 ili 817 generisanja prediktora vektora pokreta. U skladu sa kompleksnošću svakog procesa, dodatni proces 721 potiskivanja može biti uključen u postupak da bi se unapred odredio set bez duplikata u cilju smanjenja kompleksnosti finalnog procesa 719 potiskivanja. Dakle, u prvom primeru izvođenja pronalaska može se smatrati da je sveukupni proces potiskivanja podeljen na dva procesa potiskivanja implementiranih pomoću modula 721 i 719.
[0118] Proces paralelnog skaliranja ima povoljan uticaj na efikasnost kodiranja. Zaista, pošto se vremenski prediktor 714 ili 814 ne koristi za generisanje drugog seta prediktora 718 ili 818 ovo ima uticaj na generisanje prediktora vektora pokreta.
[0119] Koraci postupka za generisanje seta prediktora vektora pokreta u skladu sa trećim primerom izvođenja pronalaska su ilustrovani na dijagramu toka na Slici 8. Postupak u skladu sa trećim primerom izvođenja pronalaska dalje smanjuje uticaj na efikasnost kodiranja.
[0120] Modul 908 za izbor radi na sličan način kao odgovarajući moduli 708 i 808 za izbor prema prvim i drugim primerima izvođenja pronalaska da bi se izabrala 4 vektora pokreta 910 do 913, na osnovu njihove raspoloživosti, iz prostorne i vremenske pozicije blokova 901 do 907.
[0121] Glavna razlika je primena modula 923 za odluke o skaliranju. U modulu 923 za odluke o skaliranju se porede vremenske distance vremenskog vektora pokreta i vremenske distance vremenskog prediktora (prediktora broj 5). Za uni-direkcioni tip inter predikcije ovo znači da se porede razlika broja redosleda slika (eng. Picture Order Count, skr. POC) između vremenskog frejma (frejm H i kolocirani blokovi) i referentnog frejma na koji ukazuje vremenski vektor pokreta (H ili kolocirani) sa vremenskom distancom između tekućeg frejma i referentnog frejma vremenskog prediktora. Ukoliko su ove vremenske distance iste, modul 923 za odlučivanje o skaliranju vraća vrednost “Ne”. U protivnom, to znači da je potreban proces skaliranja, i modul 923 za odlučivanje o skaliranju vraća vrednost "Da". Za bi-direkcioni tip predikcije, modul 923 za odlučivanje poredi vremenske distance za svaku listu i vraćena odluka zavisi od odluka za obe liste. Tako, ako za obe liste nije potrebno skaliranje, onda modul 923 za odlučivanje o skaliranju vraća vrednost "Ne", a ako je bar jedan proces skaliranja potreban za jednu listu, onda modul 923 za odlučivanje o skaliranju vraća vrednost "Da".
[0122] Ukoliko modul 923 za odlučivanje o skaliranju vrati vrednost “Ne”, vremenski prediktor 5 (924) se koristi u procesu 915 potiskivanja. Stoga, generisanje prediktora 917 vektora pokreta koristi vrednost vremenskog prediktora 5 da generiše drugi set 918 prediktora. Zatim se primenjuje proces 921 potiskivanja na redukovani set prediktora 916 i set drugih
2
prediktora 918. Zatim, modul 925 za odlučivanje donosi odluku o obezbeđivanju finalnog seta prediktora vektora pokreta na osnovu odluke modula 923 za odlučivanje o skaliranju - tj. odluka koju je doneo modul 923 za odlučivanje o skaliranju se koristi da se odredi da li je ili nije redukovani set prediktora dobijen u procesu potiskivanja 921 finalni set prediktora – kada je modul 923 za odlučivanje vratio “Ne”, onda se odlučuje da je redukovani set prediktora dobijen u procesu potiskivanja 921 finalni set prediktora. Dakle, kada modul 923 za odlučivanje o skaliranju vrati “Ne” naznačujući da skaliranje nije potrebno, onda se izvođenje seta prediktora vrši na sličan način kao izvođenje seta prediktora kao što je ilustrovano na Slici 2.
[0123] Inače, ukoliko modul 923 za odlučivanje o skaliranju vrati vrednost “Da”, ukazujući da je vremenski prediktor skaliran u modulu 909 da bi se dobio vremenski prediktor broj 5 (914) odlučuje se da redukovani set prediktora dobijen u procesu potiskivanja 921 nije finalni set prediktora. U ovom slučaju modul 915 za proces potiskivanja ne koristi vremenski prediktor u procesu potiskivanja i modul 917 za generisanje prediktora vektora pokreta ne koristi vremenski prediktor za kreiranje novih prediktora. Stoga se, na sličan način kao u procesu ilustrovanom dijagramom toka sa Slike 6, proces 909 za skaliranje vremenskog prediktora 5 izvršava paralelno sa generisanjem prediktora vektora pokreta 917. Modul 925 za odlučivanje o skaliranju, posle drugog procesa potiskivanja, vraća vrednost “Da”. Dakle skalirani vremenski prediktor 914 se poredi sa prediktorima drugog redukovanog seta 922 prediktora u procesu potiskivanja 919. Kao u slučaju modula 719 za proces potiskivanja sa Slike 6, ukoliko vremenski prediktor 914 nije duplikat prediktora u drugom redukovanom setu prediktora, modul 919 za potiskivanje i preuređivanje umeće vremenski prediktor u set prediktora posle prvog redukovanog seta 916 prediktora da bi se dobio finalni set 920 prediktora.
[0124] Da rezimiramo ovaj primer izvođenja, proces 909 skaliranja se izvršava paralelno sa procesom 917 generisanja drugog seta 918 samo ukoliko vremenski prediktor treba da se skalira.
[0125] Ukoliko smatramo da generisanje prediktora 917 vektora pokreta traje 1 ciklus, i ukoliko vremenski prediktor nema potrebu za procesom skaliranja, potrebna su 4 ciklusa da bi se dobio set Merge, odnosno spajajućih prediktora, inače je potrebno 5 ciklusa. Stoga je proces redukovan za 2 ciklusa u najkompleksnijem slučaju, kao i u prvom primeru izvođenja. Glavna prednost ovog primera izvođenja u poređenju sa prethodnim je korišćenje vremenskog prediktora za generisanje drugog seta prediktora samo onda kada vremenski prediktor ne zahteva skaliranje. Stoga se može poboljšati efikasnost kodiranja u poređenju sa prvim primerom izvođenja.
2
[0126] U dodatnom primeru izvođenja, moguće je razmatrati kompleksnost procesa skaliranja. Na primer, moglo bi se znati da li proces skaliranja zahteva samo jedan ciklus. Jedan ciklus je potreban samo ukoliko znak prediktora vektora pokreta treba da se promeni. U tom slučaju, vremenski prediktor je raspoloživ u isto vreme kao i redukovani set 916 prediktora. Tako da se vremenski prediktor može koristiti u procesu 921 potiskivanja. U tom slučaju, modul 925 za odlučivanje o skaliranju vraća vrednost “Da” i moduli 922 i 919 nisu potrebni za dobijanje finalnog seta prediktora. Stoga je trajanje procesa izvođenja smanjeno za jedan ciklus, pošto proces potiskivanja 919 traje 1 ciklus.
[0127] Slika 9 je dijagram toka u kom je ilustrovan postupak za izvođenje seta prediktora vektora pokreta u skladu sa četvrtim primerom izvođenja pronalaska. Dijagram toka sa Slike 9 je baziran na onom sa Slike 6. Kao posledica toga, moduli 1001 do 1020 i 1022 sa Slike 9 su redom isti kao moduli 701 do 720 i 720 sa Slike 6. Razlike su u paralelnom korišćenju prediktora koji nisu duplikati dodavanjem ofseta kao što će biti opisano u generisanju prediktora vektora pokreta prema Slikama 10(a)-(c). Kada se definiše prvi prediktor 1 1010, modul 1023 generiše listu prediktora koji nisu duplikati. Kao što je objašnjeno prema Slici 10(c), ovaj proces se sastoji od dodavanja ofseta jednoj ili na obe komponente vektora pokreta prvog prediktora 1010. Set prediktora koji nisu duplikati 1024 sadrži 4 prediktora koji su svi međusobno različiti i različiti od prvog prediktora 1010 koji je raspoloživ posle provere raspoloživosti implementirane u modulu 1008 za proces izbora. Kao posledica toga, u ovom primeru izvođenja, set 1024 prediktora koji nisu duplikati, kada se dodaju prvom prediktoru 1010, sadrži 5 prediktora koji nisu duplikati, kao što je fiksirano za Merge mod. Generisanje prediktora koji nisu duplikati se izvršava paralelno sa procesom potiskivanja 1015. Modul 1025 za proces potiskivanja poredi set 1024 prediktora koji nisu duplikati sa redukovanim setom 1016 prediktora u cilju dobijanja samo 5 prediktora. Set 1026 prediktora koji nisu duplikati sadrži redukovani set 1016 prediktora praćen setom prediktora koji nisu duplikati generisanim u 1024. Može se primetiti da proces potiskivanja 1025 generalno zahteva maksimalno 6 poređenja. Najkompleksniji slučaj je kada redukovani set 1016 prediktora vektora pokreta sadrži 4 prediktora. Set 1024 prediktora koji nisu duplikati sadrži 4 prediktora. Teorijski, proces potiskivanja zahteva 16 poređenja u najkompleksnijem slučaju (4 prediktora iz redukovanog seta 1016 prediktora vektora pokreta sa 4 prediktora seta 1024 prediktora koji nisu duplikati). Međutim, prediktori vektora pokreta u setu 1024 prediktora koji nisu duplikati se razlikuju od prvog prediktora, tako da samo drugi, treći i četvrti prediktori iz redukovanog seta 1016 prediktora vektora pokreta moraju da se porede sa setom 1024 prediktora vektora pokreta koji nisu duplikati. Kao posledica toga, potrebno je 12 (4 puta 3) poređenja. Svi prediktori su
2
međusobno različiti u setu 1024 prediktora koji nisu duplikati, tako da u najkompleksnijem slučaju, ukoliko su 3 prva prediktora iz seta 1024 prediktora koji nisu duplikati jednaki sa 3 zadnja prediktora iz redukovanog seta 1016 prediktora vektora pokreta, može se pretpostaviti da je zadnji prediktor u 1024 različit od prediktora u redukovanom setu 1016 prediktora vektora pokreta. Dakle, potrebno je samo 9 (3 puta 3) poređenja.
[0128] Zatim, drugi set 1018 prediktora vektora pokreta se generiše pomoću modula 1017 za generisanje prediktora vektora pokreta. Proces 1021 za potiskivanje i preuređivanje proverava da li prediktori vektora pokreta iz drugog seta 1018 prediktora nisu duplikati u poređenju sa setom 1026 koji nisu duplikati i koji već sadrži 5 prediktora. Ukoliko je prediktor iz drugog seta 1018 prediktora različit od svih drugih, on se umeće na položaj broja prediktora u redukovanom setu 1016 prediktora (posle prediktora iz redukovanog seta 1016 prediktora vektora pokreta u listi). Sledeći koraci 1022, 1019 i 1020 rade na isti način kao obrada modula 722, 719 i 720 sa Slike 6.
[0129] Može se primetiti da generisanje prediktora 1023 koji nisu duplikati može biti dodato na kraju procesa izvođenja, posle procesa 1019 potiskivanja. Ovo bi zahtevalo dodatni proces potiskivanja koji zahteva jedan ciklus više i ne bi se dobio isti redosled u setu prediktora.
[0130] Četvrti primer izvođenja ima nekoliko prednosti. Prvo, u ovom primeru izvođenja, svaka pozicija prediktora ima vrednost. Stoga, taj postupak obezbeđuje robusniji proces u odnosu na aktuelni dizajn HEVC. Zaista, koder može koristiti indeks prediktora bez vrednosti na dekoderu što može izazvati ispad dekodera. Do ovoga može doći, na primer, kada dođe do grešaka u mreži.
[0131] Ovaj primer izvođenja kompenzuje gubitak efikasnosti kodiranja paralelnog skaliranja. Osim toga, ova modifikacija takođe kompenzuje gubitak efikasnosti kodiranja redukovanjem broja kandidata koje generiše modul 1017 za generisanje prediktora vektora pokreta. Sa ovim prediktorima koji nisu duplikati, samo 2 prediktora trebaju da se generišu u 1021. Stoga, proces potiskivanja 1021 treba samo 10 poređenja u najkompleksnijem slučaju. Dakle, potreban je samo jedan ciklus umesto 3 u najkompleksnijem slučaju aktuelnog HEVC dizajna prikazanog na Slici 2. Sa ovim pojednostavljenjem, treba samo 5 ciklusa u najkompleksnijem slučaju da bi se dobio set Merge prediktora umesto 11 za aktuelni HEVC dizajn.
[0132] Shvatljivo je da četvrti primer izvođenja sa Slike 9 može lako da se kombinuje sa trećim primerom izvođenja prikazanom na Slici 8.
[0133] Primeri procesa za generisanje sledećih vektora pokreta kao prediktora koji su implementirani modulima 717, 817, 917 i 1017 za generisanje prediktora vektora pokreta na Slikama 6, 7, 8 i 9 redom sada će biti opisani uz pozivanje na Slike 10(a)-(c). Aktuelni HEVC
2
dizajn koristi 3 šeme da bi se dodali novi prediktori na osnovu generisanja trenutnog seta. Prva šema se koristi za B slajsove. Generisanje prediktora vektora pokreta uključuje kombinovanje prediktora redukovanog seta 716, 816, 916, 1016 prediktora sa Slika 6, 7, 8 i 9 redom. Kombinovani prediktor se generiše biranjem vektora pokreta iz liste L0 prvog prediktora i biranjem vektora pokreta iz liste L1 od drugog prediktora. Na primer, prvi mogući kombinovani prediktor ima vektor pokreta (i ref. indeks) iz L0 od prvog prediktora sa 716 i vektor pokreta (i ref. indeks) od L1 od drugog prediktora sa 716. U aktuelnom HEVC dizajnu, može biti generisano 12 mogućih kombinovanih prediktora. Slika 10(a) prikazuje primer ovog procesa.
[0134] Druga šema se može koristiti samo za B slajsove. Skalirani prediktor obuhvata zamenu uni-direkcionih prediktora bi-direkcionim prediktorima. Ukoliko je prediktor iz 716 unidirekcioni, vektor pokreta se kreira u suprotnoj listi na osnovu inicijalnog vektora pokreta. Na primer, ukoliko je prvi prediktor sa 716 unidirekcioni i ukoliko ukazuje na L0 sa ref indeksom 0, vrednost njegovog vektora pokreta se skalira tako da ukazuje na ref. indeks 0 iz L1. Napravljeni prediktor sadrži ref. indeks 0 i vrednost vektora pokreta za L0 i ref. indeks 0 i skalirani vektor za listu L1. Ovaj novi bidirekcioni prediktor se dodaje drugom setu prediktora (718). Ovaj način generisanja prediktora je vrlo kompleksan, jer on mora da skalira vektore pokreta, tako da ovo povećava broj ciklusa za modul 717 (3 ciklusa). Tako se proces skaliranja može ograničiti tako da invertuje znak komponente vrednosti vektora pokreta, što može biti izvršeno u jednom ciklusu, umesto u 3 za klasičan proces skaliranja. Slika 10(b) prikazuje primer ovakvog generisanja.
[0135] Jedan drugi postupak generisanja novih prediktora vektora pokreta je promena bidirekcionih prediktora u unidirekcione prediktore. U tom slučaju, kada je prediktor bidirekcioni mogu se generisati 2 nova prediktora (po jedan za svaku listu). Ovo je proces niske kompleksnosti u poređenju sa procesom skaliranja vektora pokreta sa Slike 10(a).
[0136] U aktuelnom dizajnu HEVC, na kraj liste dodaje se vrednost "nulti vektor pokreta". Za Merge, nulta vrednost se podešava za oba Vektora pokreta L0 i L1. I ako je moguće, indeks referentnog frejma svake liste se inkrementira da bi se napravili drugi nulti prediktori. Tako se menja samo ref indeks. Ukoliko se N ref indeksa koristi u obe liste, onda se N nultih vektora može dodati u set prediktora. Slika 10(c) ilustruje primer ovakvog procesa generisanja prediktora vektora pokreta.
[0137] Štaviše, moguće je koristiti prediktore koji nisu duplikati dodavanjem jednog ili više ofseta komponentama ili na nekoliko komponenata jednog raspoloživog prediktora iz inicijalnog seta prediktora. Na primer, ukoliko je samo jedan prediktor u inicijalnom setu prediktora, moguće je da se generišu 4 prediktora koji su međusobno različiti. Na primer, ukoliko smatramo da je prediktor u listi unidirekcionalan, onda se prvi prediktor generiše dodavanjem vrednosti ofseta na jednu komponentu prvog vektora pokreta. Drugi prediktor se generiše dodavanjem inverznog ofseta prvoj komponenti. Treći se dobija dodavanjem ofseta drugoj komponenti i četvrti se dobija dodavanjem inverznog ofseta drugoj komponenti. Može se primetiti da se ovaj proces može primeniti na prvog kandidata, tako da se prediktor može izvesti pre procesa 715 potiskivanja.
[0138] Slika 11 prikazuje primer skaliranja za vremenski prediktor kao što je primenjen u modulima 709, 809, 909 i 1009 za skaliranje sa Slika 6, 7, 8, i 9 redom. Na ovoj slici, kolocirani vektor pokreta MVcol u referentnom frejmu Ref0 ukazuje na Ref2 sa POC (Picture Order Count) jednak N-3. Referentni frejm vremenskog prediktora MVt je bio određen i jednak je Ref0 (POC broj jednak N-1). Vremenska distanca iDiffPocD kolociranog vektora pokreta je jednaka POC od Ref2 manje POC od Ref0. Dakle, njegova vremenska distanca je jednaka:
iDiffPocD =(N-3) – (N-1) = 2
[0139] Na isti način, vremenska distanca iDiffPocB koja mora biti pokrivena vremenskim prediktorom je jednaka POC tekućeg frejma N umanjen za POC od Ref0:
iDiffPocB = (N) – (N-1) = 1
[0140] Teoretski, skaliranje vektora pokreta za vremenski prediktor je jednako:
MVt = (iDiffPocB * MVcol)/ iDiffPocD
[0141] Dakle, u ovom primeru, svaka komponenta (horizontalna i vertikalna) se deli sa 2. Međutim, u aktuelnom HEVC dizajnu, skaliranje vektora pokreta je dato sledećim procesom:
- Faktor skaliranja se određuje sledećom formulom:
iScale = (iDiffPocB * iX 32) >> 6;
1
- gde je iX
iX = (0x4000 abs(iDiffPocD /2)) / iDiffPocD;
- MVt je zatim dato sa:
MVt = (iScale * MVcol 127 (iScale * MVcol <0)) >> 8
[0142] U ovim formulama:
">>" predstavlja operator pomeranja
"abs" predstavlja funkciju koja vraća apsolutnu vrednost
"0x4000" predstavlja vrednost 16384
[0143] Primeri izvođenja pronalaska dakle obezbeđuju paralelni proces izvođenja sa ciljem da se redukuje broj ciklusa potreban da se izvede set prediktora vektora pokreta sa manjim uticajem na efikasnost kodiranja.
[0144] Iako je predmetni pronalazak bio opisan ovde gore sa pozivanjem na specifične primere izvođenja, predmetni pronalazak nije ograničen na specifične primere izvođenja, a modifikacije će biti očigledne stručnjaku iz oblasti koja se nalazi u okviru predmetnog pronalaska koji je definisan priloženim patentnim zahtevima. Mnoge dalje modifikacije i varijacije će se same sugerisati onima koji su stručnjaci iz odgovarajuće oblasti nakon konsultovanja prethodno navedenih ilustrativnih primera izvođenja, koji su dati samo kao primeri i bez namere da ograniče obim zaštite pronalaska, koji je određena isključivo priloženim patentnim zahtevima. Naročito se različite karakteristike iz različitih primera izvođenja mogu međusobno zameniti, gde je to svrsishodno.
[0145] U patentnim zahtevima, reč "sadrži" ne isključuje druge elemente ili korake, a neodređeni član "neki" ili "neka" ne isključuje množinu. Sama činjenica da su različite karakteristike navedene u međusobno različitim zavisnim patentnim zahtevima ne ukazuje da kombinacija tih karakteristika ne može biti podesno korišćena.
2

Claims (3)

Patentni zahtevi
1. Računarski-implementiran postupak za dobijanje bar jednog prediktora informacija o pokretu za kodiranje ili dekodiranje dela slike pomoću kompenzacije pokreta prema bar jednom referentnom delu slike, pri čemu za pomenuti deo slike koji treba da se kodira ili dekodira, postupak obuhvata:
obezbeđivanje za obradu:
jednog ili više prvih kandidata za prediktora informacije o pokretu koji obuhvata bar jednog kandidata za vremenski prediktor informacije o pokretu; i
drugih kandidata za prediktore informacije o pokretu koji obuhvataju bar jednog kandidata za prostornog prediktora informacije o pokretu i isključuje bilo kog kandidata za vremenski prediktor informacije o pokretu, pri čemu bar jedan od pomenutih drugih kandidata za prediktora informacije o pokretu sadrži informacije o pokretu bloka dole levo u odnosu na deo slike koji treba da se kodira ili dekodira u slučaju da je raspoloživa informacija o pokretu za blok dole levo;
obradu (808, 809) jednog ili više kandidata za prvi prediktor informacije o pokretu, pri čemu pomenuta obrada obuhvata skaliranje pomenutog jednog ili više kandidata za prvi prediktor informacije o pokretu;
obradu (808, 815, 817) kandidata za druge prediktore informacije o pokretu; i dobijanje (819), na osnovu kandidata (818, 814) za prediktore informacije o pokretu koji su rezultat obrade jednog ili više prvih kandidata za prediktore informacije o pokretu i obrade drugih kandidata za prediktore informacije o pokretu, seta (820) kandidata za prediktore informacije o pokretu koji se mogu koristiti za predikciju pomenutog dela slike iz referentnog dela slike, pri čemu pomenuto dobijanje obuhvata potiskivanje duplikata kandidata za prediktore informacije o pokretu;
pri čemu obrada drugih kandidata za prediktore informacije o pokretu obuhvata isključivanje jednog ili više duplikata između kandidata za druge prediktore informacije o pokretu, u slučaju gde su jedan ili više kandidata za druge prediktore informacije o pokretu isti (816), i generisanje (717, 817) jednog ili više dodatnih kandidata za prediktore informacije o pokretu na osnovu jednog ili više kandidata za druge prediktore informacije o pokretu odakle su jedan ili više duplikata bili isključeni.
2. Uređaj za izvođenje bar jednog kandidata za prediktora informacije o pokretu za kodiranje ili dekodiranje dela slike pomoću kompenzacije pokreta prema bar jednom referentnom delu slike, pri čemu uređaj obuhvata:
obezbeđivanje sredstva konfigurisanog za dobijanje:
jednog ili više kandidata za prve prediktore informacije o pokretu koji obuhvataju bar jednog kandidata za vremenski prediktor informacije o pokretu; i
drugih kandidata za prediktore informacije o pokretu koji obuhvataju bar jednog kandidata za prostorni prediktor informacije o pokretu i isključuje bilo kog kandidata za vremenski prediktor informacije o pokretu, pri čemu bar jedan od pomenutih kandidata za druge prediktore informacije o pokretu obuhvata informacije o pokretu bloka dole levo u odnosu na deo slike koji se kodira ili dekodira u slučaju da je raspoloživa informacija o pokretu za blok dole levo;
prvo sredstvo (808, 809) za obradu konfigurisano da obrađuje jednog ili više kandidata za prve prediktore informacije o pokretu, pri čemu pomenuta obrada obuhvata skaliranje pomenutog jednog ili više kandidata za prve prediktore informacije o pokretu; i
drugo sredstvo (808, 815, 817) za obradu konfigurisano da obrađuje druge kandidate za prediktore informacije o pokretu; i
sredstvo (819) za dobijanje seta konfigurisano da se dobije, na osnovu kandidata (818, 814) za prediktore informacije o pokretu koji su rezultat obrade jednog ili više kandidata za prve prediktore informacije o pokretu i obrade kandidata za druge prediktore informacije o pokretu, set (820) kandidata za prediktore informacije o pokretu koji se mogu koristiti za predikciju pomenutog dela slike iz referentnog dela slike, pri čemu dobijanje pomenutog seta obuhvata potiskivanje duplikata kandidata za prediktore informacije o pokretu;
pri čemu se drugo sredstvo za obradu može implementirati za isključivanje jednog ili više duplikata između kandidata za druge prediktore informacije o pokretu, u slučaju gde su jedan ili više kandidata za druge prediktore informacije o pokretu isti, i za generisanje jednog ili više dodatnih kandidata za prediktore informacije o pokretu na osnovu jednog ili više kandidata za druge prediktore informacije o pokretu između kojih su jedan ili više duplikata uklonjeni.
4
3. Kompjuterski program koji sadrži instrukcije koje, kada kompjuter izvršava program, dovode to toga da kompjuter izvršava postupak prema zahtevu 1.
RS20240016A 2011-08-17 2012-08-16 Postupak i uređaj za kodiranje sekvence slika i postupak i uređaj za dekodiranje sekvence slika RS65035B1 (sr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1114184.3A GB2493755B (en) 2011-08-17 2011-08-17 Method and device for encoding a sequence of images and method and device for decoding a sequence of images
EP20205753.5A EP3806470B1 (en) 2011-08-17 2012-08-16 Method and device for encoding a sequence of images and method and device for decoding a sequence of images

Publications (1)

Publication Number Publication Date
RS65035B1 true RS65035B1 (sr) 2024-02-29

Family

ID=44800466

Family Applications (3)

Application Number Title Priority Date Filing Date
RS20240016A RS65035B1 (sr) 2011-08-17 2012-08-16 Postupak i uređaj za kodiranje sekvence slika i postupak i uređaj za dekodiranje sekvence slika
RS20231242A RS64982B1 (sr) 2011-08-17 2012-08-16 Postupak i uređaj za kodiranje sekvence slika i postupak i uređaj za dekodiranje sekvence slika
RS20230919A RS64675B1 (sr) 2011-08-17 2012-08-16 Postupak i uređaj za enkodiranje i dekodiranje sekvence slika

Family Applications After (2)

Application Number Title Priority Date Filing Date
RS20231242A RS64982B1 (sr) 2011-08-17 2012-08-16 Postupak i uređaj za kodiranje sekvence slika i postupak i uređaj za dekodiranje sekvence slika
RS20230919A RS64675B1 (sr) 2011-08-17 2012-08-16 Postupak i uređaj za enkodiranje i dekodiranje sekvence slika

Country Status (16)

Country Link
US (7) US10306256B2 (sr)
EP (5) EP3806470B1 (sr)
JP (5) JP6109170B2 (sr)
KR (6) KR102042374B1 (sr)
CN (7) CN107277546B (sr)
BR (2) BR122020002131B8 (sr)
ES (5) ES2875926T3 (sr)
GB (1) GB2493755B (sr)
HR (3) HRP20231726T1 (sr)
HU (5) HUE043598T2 (sr)
PL (5) PL3806469T3 (sr)
PT (3) PT3806470T (sr)
RS (3) RS65035B1 (sr)
RU (5) RU2643450C1 (sr)
TR (1) TR201908328T4 (sr)
WO (1) WO2013023785A2 (sr)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2487197B (en) * 2011-01-11 2015-06-17 Canon Kk Video encoding and decoding with improved error resilience
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
US9571833B2 (en) 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
TWI511530B (zh) * 2014-12-09 2015-12-01 Univ Nat Kaohsiung 1St Univ Sc Distributed video coding system and decoder for distributed video coding system
US10368083B2 (en) * 2016-02-15 2019-07-30 Qualcomm Incorporated Picture order count based motion vector pruning
US11172203B2 (en) * 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
CN117336504A (zh) 2017-12-31 2024-01-02 华为技术有限公司 图像预测方法、装置以及编解码器
CN118509586A (zh) 2018-06-21 2024-08-16 瑞典爱立信有限公司 视频编码中具有子图块的图块分区
WO2019243534A1 (en) 2018-06-21 2019-12-26 Telefonaktiebolaget Lm Ericsson (Publ) Tile shuffling for 360 degree video decoding
CN118590646A (zh) 2018-06-21 2024-09-03 瑞典爱立信有限公司 灵活图块分区
WO2020003282A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Managing motion vector predictors for video coding
KR20240005240A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
TWI752331B (zh) 2018-06-29 2022-01-11 大陸商北京字節跳動網絡技術有限公司 當向Merge/AMVP添加HMVP候選時的部分/完全修剪
EP4325861A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and amvp
WO2020003278A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: fifo, constrained fifo
WO2020003261A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Selection from multiple luts
EP3794824A1 (en) 2018-06-29 2021-03-24 Beijing Bytedance Network Technology Co. Ltd. Conditions for updating luts
KR102840294B1 (ko) 2018-06-29 2025-07-30 두인 비전 컴퍼니 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
EP3815376A1 (en) 2018-07-02 2021-05-05 Beijing Bytedance Network Technology Co. Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
CN111064961B (zh) 2018-09-12 2023-06-09 北京字节跳动网络技术有限公司 视频处理方法和装置
US10958932B2 (en) 2018-09-12 2021-03-23 Qualcomm Incorporated Inter-prediction coding of video data using generated motion vector predictor list including non-adjacent blocks
CN109274966A (zh) * 2018-09-21 2019-01-25 华中科技大学 一种基于运动矢量的监控视频内容去重方法和系统
TWI829386B (zh) 2018-12-28 2024-01-11 日商Jvc建伍股份有限公司 影像編碼裝置、影像編碼方法、影像編碼程式、影像解碼裝置、影像解碼方法及影像解碼程式
JP7275286B2 (ja) 2019-01-10 2023-05-17 北京字節跳動網絡技術有限公司 Lut更新の起動
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147772A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Motion candidates derivation
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
EP3967039B1 (en) 2019-06-07 2024-10-30 Beijing Dajia Internet Information Technology Co., Ltd. Sub-block temporal motion vector prediction for video coding
WO2021058498A1 (en) * 2019-09-26 2021-04-01 Interdigital Vc Holdings France, Sas Extended motion information comparison
US12526443B2 (en) * 2022-01-13 2026-01-13 Qualcomm Incorporated Coding video data using out-of-boundary motion vectors

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129646A (ja) * 1994-11-02 1996-05-21 Matsushita Electric Ind Co Ltd 画像符号化方法、画像復号化方法、画像処理方法及びその装置
JPH1079949A (ja) 1996-09-04 1998-03-24 Oki Electric Ind Co Ltd 画像符号化装置、画像復号化装置及び画像伝送システム
EP0919099B1 (en) * 1997-03-14 2001-11-21 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Circuit for motion estimation in digitised video sequence encoders
KR100571687B1 (ko) 1999-02-09 2006-04-18 소니 가부시끼 가이샤 코딩 시스템 및 방법, 부호화 장치 및 방법, 복호화 장치및 방법, 기록 장치 및 방법, 및 재생 장치 및 방법
US7206448B2 (en) 2002-02-28 2007-04-17 At&T Corp. System and method for using pattern vectors for video and image coding and decoding
EP1418762A1 (en) * 2002-05-22 2004-05-12 Matsushita Electric Industrial Co., Ltd. Moving image encoding method, moving image decoding method, and data recording medium
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
BRPI0306684B1 (pt) * 2002-11-01 2018-03-13 Godo Kaisha Ip Bridge 1 “Método e aparelho de codificação de um sinal de imagem e método e aparelho de decodificação de um sinal de imagem”
US7450642B2 (en) 2002-11-13 2008-11-11 Sony Corporation Fast motion vector prediction method
US20060098886A1 (en) * 2003-01-10 2006-05-11 Koninklijke Philips Electronics N.V. Efficient predictive image parameter estimation
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8000392B1 (en) * 2004-02-27 2011-08-16 Vbrick Systems, Inc. Phase correlation based motion estimation in hybrid video compression
KR100587561B1 (ko) * 2004-04-08 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 구현하는 방법 및 장치
KR100631768B1 (ko) * 2004-04-14 2006-10-09 삼성전자주식회사 비디오 코딩에서 프레임간 예측방법 및 비디오 인코더와,비디오 디코딩방법 및 비디오 디코더
CA2553434C (en) 2004-04-23 2012-08-07 Sumitomo Electric Industries, Ltd. Coding method for motion-image data, decoding method, terminal equipment executing these, and two-way interactive system
CN101005620B (zh) * 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
DE102004061906A1 (de) * 2004-12-22 2006-07-13 Siemens Ag Bildencodierverfahren, sowie dazugehöriges Bilddecodierverfahren, Encodiervorrichtung und Decodiervorrichtung
JP2008538433A (ja) * 2005-04-12 2008-10-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 領域ベース複数パス動き推定及び時間的動きベクトル候補の更新を用いたビデオ処理
BRPI0619193A2 (pt) 2005-11-30 2011-09-20 Toshiba Kk Toshiba Corp método de codificação de imagem / decodificação de imagem, aparelho de codificação de imagem / decodificação de imagem
WO2007119198A1 (en) * 2006-04-14 2007-10-25 Nxp B.V. Motion estimation at image borders
CA2674438C (en) * 2007-01-08 2013-07-09 Nokia Corporation Improved inter-layer prediction for extended spatial scalability in video coding
KR101835342B1 (ko) * 2007-10-16 2018-03-07 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
ES2812473T3 (es) * 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
JP4697275B2 (ja) * 2008-07-30 2011-06-08 ソニー株式会社 動きベクトル検出装置、動きベクトル検出方法及びプログラム
US8675736B2 (en) * 2009-05-14 2014-03-18 Qualcomm Incorporated Motion vector processing
CN102450016A (zh) * 2009-05-26 2012-05-09 松下电器产业株式会社 运动图像处理装置和运动图像处理方法
CN102883160B (zh) * 2009-06-26 2016-06-29 华为技术有限公司 视频图像运动信息获取方法、装置及设备、模板构造方法
CN101605262B (zh) 2009-07-09 2011-11-09 杭州士兰微电子股份有限公司 可变块尺寸运动预测方法和装置
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
CN102577392A (zh) * 2009-10-20 2012-07-11 夏普株式会社 运动图像编码装置、运动图像解码装置以及数据结构
TWI566586B (zh) * 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
CN105898311A (zh) * 2009-12-01 2016-08-24 数码士有限公司 用于解码高分辨率图像的设备
CN101860754B (zh) * 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
KR101327636B1 (ko) 2010-02-03 2013-11-12 주식회사 팬택 무선통신 시스템에서 시스템 프레임 번호를 관리하는 장치 및 방법
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
GB2487200A (en) * 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
US8737480B2 (en) * 2011-01-14 2014-05-27 Motorola Mobility Llc Joint spatial and temporal block merge mode for HEVC
US9319716B2 (en) * 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
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

Also Published As

Publication number Publication date
TR201908328T4 (tr) 2019-06-21
EP3806469A2 (en) 2021-04-14
US20190215529A1 (en) 2019-07-11
EP3806470B1 (en) 2023-10-11
JP2019134455A (ja) 2019-08-08
HUE063247T2 (hu) 2024-01-28
CN107277545B (zh) 2020-03-17
PL2745515T3 (pl) 2019-09-30
RU2684753C1 (ru) 2019-04-12
ES2727629T3 (es) 2019-10-17
ES2962876T3 (es) 2024-03-21
WO2013023785A2 (en) 2013-02-21
EP3806468A3 (en) 2021-04-21
EP3806468A2 (en) 2021-04-14
EP3806470A2 (en) 2021-04-14
US20200366926A1 (en) 2020-11-19
EP2745515B1 (en) 2019-04-17
CN107277544B (zh) 2020-10-27
KR20190126463A (ko) 2019-11-11
RU2014110037A (ru) 2015-09-27
HUE064679T2 (hu) 2024-04-28
GB201114184D0 (en) 2011-10-05
CN107197306A (zh) 2017-09-22
EP3474552A1 (en) 2019-04-24
KR20180108924A (ko) 2018-10-04
CN107197306B (zh) 2020-06-23
ES2875926T3 (es) 2021-11-11
HUE054992T2 (hu) 2021-10-28
KR102038791B1 (ko) 2019-10-30
BR122020002131B1 (pt) 2023-08-15
US20200366927A1 (en) 2020-11-19
RU2643450C1 (ru) 2018-02-01
PT3806468T (pt) 2023-09-12
JP6821730B2 (ja) 2021-01-27
GB2493755B (en) 2016-10-19
BR122020002131B8 (pt) 2023-10-10
CN107277546A (zh) 2017-10-20
RS64982B1 (sr) 2024-01-31
US10306256B2 (en) 2019-05-28
JP6679782B2 (ja) 2020-04-15
CN107277543A (zh) 2017-10-20
KR102042374B1 (ko) 2019-11-07
JP2014527362A (ja) 2014-10-09
HUE064678T2 (hu) 2024-04-28
JP6679781B2 (ja) 2020-04-15
US20230089360A1 (en) 2023-03-23
RU2589402C2 (ru) 2016-07-10
RU2708440C1 (ru) 2019-12-06
CN103748880B (zh) 2017-06-09
PT3806470T (pt) 2023-11-16
KR101617740B1 (ko) 2016-05-18
PL3806469T3 (pl) 2024-03-18
EP3806469B1 (en) 2023-10-11
CN103748880A (zh) 2014-04-23
KR20140047157A (ko) 2014-04-21
PL3806468T3 (pl) 2024-01-15
US10771806B2 (en) 2020-09-08
CN107181960A (zh) 2017-09-19
KR102085498B1 (ko) 2020-03-05
BR112014002932A2 (pt) 2017-03-28
KR20180108925A (ko) 2018-10-04
EP3806469A3 (en) 2021-04-21
JP2017143529A (ja) 2017-08-17
HRP20240008T1 (hr) 2024-03-29
US20210392368A1 (en) 2021-12-16
KR20160054027A (ko) 2016-05-13
US11968390B2 (en) 2024-04-23
CN107277544A (zh) 2017-10-20
EP3474552B1 (en) 2021-05-05
EP3806468B1 (en) 2023-07-19
PT3806469T (pt) 2023-11-03
KR102027721B1 (ko) 2019-10-01
US11134264B2 (en) 2021-09-28
EP3806470A3 (en) 2021-04-21
GB2493755A (en) 2013-02-20
US20200366925A1 (en) 2020-11-19
JP2019115060A (ja) 2019-07-11
HRP20231726T1 (hr) 2024-03-15
JP6494675B2 (ja) 2019-04-03
ES2954263T3 (es) 2023-11-21
BR112014002932B1 (pt) 2022-06-07
ES2964571T3 (es) 2024-04-08
EP2745515A2 (en) 2014-06-25
PL3806470T3 (pl) 2024-03-18
CN107277545A (zh) 2017-10-20
HRP20231270T1 (hr) 2024-02-02
RU2720560C1 (ru) 2020-05-12
CN107181960B (zh) 2020-10-30
US20140321544A1 (en) 2014-10-30
KR20180110205A (ko) 2018-10-08
JP6109170B2 (ja) 2017-04-05
RS64675B1 (sr) 2023-11-30
US11134266B2 (en) 2021-09-28
CN107277546B (zh) 2020-03-17
HUE043598T2 (hu) 2019-08-28
KR101904404B1 (ko) 2018-10-05
CN107277543B (zh) 2020-03-17
PL3474552T3 (pl) 2021-10-25
US11729415B2 (en) 2023-08-15
WO2013023785A3 (en) 2013-05-23
US11134265B2 (en) 2021-09-28
JP2019115061A (ja) 2019-07-11

Similar Documents

Publication Publication Date Title
RS65035B1 (sr) Postupak i uređaj za kodiranje sekvence slika i postupak i uređaj za dekodiranje sekvence slika
WO2012168242A2 (en) Method and device for encoding a sequence of images and method and device for decoding a sequence of image