RS68030B1 - Uređaj za inter predikciju na osnovu dmvr-a - Google Patents
Uređaj za inter predikciju na osnovu dmvr-aInfo
- Publication number
- RS68030B1 RS68030B1 RS20260498A RSP20260498A RS68030B1 RS 68030 B1 RS68030 B1 RS 68030B1 RS 20260498 A RS20260498 A RS 20260498A RS P20260498 A RSP20260498 A RS P20260498A RS 68030 B1 RS68030 B1 RS 68030B1
- Authority
- RS
- Serbia
- Prior art keywords
- current block
- prediction
- case
- motion vector
- dmvr
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
[0001] Opis
[0003] POZADINA OTKRIVANJA
[0005] Oblast otkrivanja
[0007] Ovaj dokument odnosi se na tehnologiju kodiranje slike, a određenije, na postupak i uređaj za izvođenje inter predikcija na osnovu preciziranja vektora pokreta na strani dekodera (DMVR).
[0009] Stanje tehnike
[0011] Nedavno, potražnja za slikama i video zapisima visoke rezolucije i visokog kvaliteta kao što su slike i video zapisi 4K ili 8K ili veće ultravisoke definicije (UHD) raste u raznim oblastima. Kako podaci o slici i video zapisu postaju visoke rezolucije i visokog kvaliteta, količina informacija ili broj bitova koji se relativno prenosi raste u odnosu na postojeće podatke o slici i video zapisu. Prema tome, ako se podaci o slici prenose korišćenjem medijuma kao što je postojeća žičana ili bežična širokopojasna linija ili se podaci o slici i video zapisu čuvaju korišćenjem postojećeg medijuma za skladištenje, troškovi prenosa i troškovi skladištenja se povećavaju.
[0012] Osim toga, nedavno rastu interes i potražnja za imerzivnim medijima, kao što su virtuelna realnost (VR), sadržaj veštačke realnosti (AR) ili hologram. Raste emitovanje slike i video zapisa koji imaju karakteristike slike različite od onih stvarnih slika, kao što su slike igre.
[0013] Prema tome, postoji potreba za visokoefikasnom tehnologijom kompresije slike i video zapisa za efikasno komprimovanje i prenos ili skladištenje i informacija o reprodukciji slika i video zapisa visoke rezolucije i visokog kvaliteta koji imaju takve različite karakteristike. Dokument CHEN JET AL: "Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4)",13. JVET MEETING; 20190109 -20190118; MARRAKECH; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ),,no. JVET-M100216 February 2019 (2019-02-16) opisuje DMVR, BDOF i CIIP.
[0015] SUŠTINA
[0017] Ovo otkrivanje obezbeđuje postupak i uređaj za povećanje efikasnosti kodiranja slike.
[0018] Ovo otkrivanje takođe obezbeđuje postupak i uređaj za efikasnu inter predikciju.
[0019] Ovo otkrivanje takođe obezbeđuje postupak i uređaj za izvođenje inter predikcije na osnovu preciziranja vektora pokreta na strani dekodera (DMVR).
[0020] Ovo otkrivanje takođe obezbeđuje postupak i uređaj za izvođenje inter predikcije na osnovu dvosmernog optičkog toka (BDOF).
[0021] Ovo otkrivanje takođe obezbeđuje postupak i uređaj za poboljšanje performansi predikcije obezbeđivanjem uslova za određivanje da li primeniti DMVR za poboljšanje efikasnosti kodiranja slike i/ili uslova za određivanje da li primeniti BDOF.
[0022] Prema jednom aspektu obezbeđen je uređaj za dekodiranje slike prema patentnom zahtevu 1.
[0023] Prema nekom drugom aspektu obezbeđen je uređaj za kodiranje slike prema patentnom zahtevu 2.
[0024] Prema ovom otkrivanju, može se poboljšati ukupna efikasnost kompresije slike/video zapisa.
[0025] Prema ovom otkrivanju, može se smanjiti složenost izračunavanja i može se poboljšati ukupna efikasnost kodiranja efikasnom inter predikcijom.
[0026] Prema ovom otkrivanju, predloženi su razni uslovi primene kod primene DMVR i/ili BDOF informacija o preciziranju vektora tokom postupka kompenzacija kretanja kako bi se poboljšala efikasnost u smislu složenosti i performansi.
[0028] KRATAK OPIS NACRTA
[0030]
[0031] FIG.1 šematski prikazuje primer sistema za kodiranje video zapisa/slike na kojem se načini ostvarivanja ovog otkrivanja mogu primeniti.
[0032] FIG.2 je dijagram koji šematski objašnjava konfiguraciju uređaja za kodiranje video zapisa/slike koji je primenljiv na načinima ostvarivanja ovog dokumenta.
[0033] FIG.3 je dijagram koji šematski objašnjava konfiguraciju uređaja za dekodiranje video zapisa/slike koji je primenljiv na načinima ostvarivanja ovog dokumenta.
[0034] FIG.4 je dijagram koji objašnjava neki način ostvarivanja postupka izvođenja preciziranja vektora pokreta na strani dekodera (DMVR) u pravoj bi-predikciji.
[0035] FIG.5 je dijagram koji objašnjava neki način ostvarivanja postupka izvođenja preciziranja vektora pokreta na strani dekodera (DMVR) korišćenjem zbira apsolutnih razlika (SAD).
[0036] FIG.6 prikazuje primer prikaza postupka za izvođenje postupka dekodiranja proverom uslova primene DMVR-a i BDOF-a.
[0037] FIG.7 i 8 prikazuju drugi primer prikaza postupka za izvođenje postupka dekodiranja erom uslova primene DMVR-a i BDOF-a.
[0038] FIG.9 je dijagram toka koji šematski prikazuje postupak za kodiranje koji se može izvesti pomoću uređaja za kodiranje prema nekom načinu ostvarivanja ovog otkrivanja.
[0039] FIG.10 je dijagram toka koji šematski prikazuje postupak za dekodiranje koji se može izvesti pomoću uređaja za dekodiranje prema nekom načinu ostvarivanja ovog otkrivanja.
[0040] FIG.11 prikazuje primer sistema za strimovanje sadržaja na kojem se mogu primeniti načini ostvarivanja otkriveni u ovom otkrivanju.
[0042] OPIS PRIMERA NAČINA OSTVARIVANJA
[0044] Ovaj dokument može se modifikovati na različite načine i može imati različite načine ostvarivanja, i određeni načini ostvarivanja biće prikazani na crtežima i detaljno opisani. Izraz jednine uključuje izraze množine osim ako kontekst jasno ne ukazuje drugačije. Pojam, kao što je "uključuje" ili "ima" u ovoj specifikaciji, treba razumeti da označava postojanje karakteristike, broja, faze, operacije, elementa, dela, ili njihove kombinacije opisane u ovoj specifikaciji, a da ne isključuje postojanje ili mogućnost dodavanja jedne ili više drugih karakteristika, brojeva, faza, operacija, elemenata, delova ili njihove kombinacije.
[0045] U međuvremenu, elementi u nacrtu opisani u ovom dokumentu nezavisno su nacrtani radi lakšeg opisa koji se odnosi na različite određene funkcije. Ovo ne znači da je svaki od elemenata realizovan kao nezavisni hardver ili nezavisni softver. Na primer, najmanje dva od elemenata mogu se kombinovati radi obrazovanja jednog elementa, ili jedan element može se podeliti na više elemenata. Način ostvarivanja u kojem se elementi kombinuju i/ili dele takođe je uključen u obim zaštite ovog dokumenta osim ako ne odstupa od suštine ovog dokumenta.
[0046] U nastavku, poželjni načini ostvarivanja ovog dokumenta detaljno su opisani upućivanjem na prateće crteže. U nastavku, na crtežima, ista pozivna oznaka koristi se u istom elementu, a suvišan opis istog elementa može biti izostavljen.
[0047] Ovaj dokument odnosi se na kodiranje video zapisa/slike. Na primer, postupci/načini ostvarivanja opisani u ovom dokumentu mogu se primeniti na postupak opisan u raznovrsnom video kodiranju (VVC), EVC (osnovno video kodiranje) standardu, AOMedia Video 1 (AV1) standardu, standardu za audio video kodiranje 2. generacije (AVS2), ili standard za kodiranje video zapisa/slike sledeće generacije (pr. H.267 ili H.268, itd.).
[0048] Ovaj dokument predstavlja različite načine ostvarivanja kodiranja video zapisa/slike, a ti načini ostvarivanja mogu se izvesti međusobnim kombinovanjem osim ako nije drugačije napomenuto.
[0049] [0021] U ovom dokumentu, video zapis može da se odnosi na serije slika tokom vremena. Slika se uopšteno odnosi na jedinicu koja predstavlja jednu sliku u određenoj vremenskoj zoni, a isečak/pločica je jedinica koja čini deo slike u kodiranju. Isečak/pločica može da uključuje jednu ili više jedinica stabla za
kodiranje (CTU). Jedna slika može da se sastoji od jednog ili više isečaka/pločica. Jedna slika može da se sastoji od jedne ili više grupa pločica. Jedna grupa pločica može da uključuje jednu ili više pločica. Brik može da predstavlja pravougaonu oblast CTU redova unutar pločice u slici. Pločica može da se podeli na više brikova, od kojih se svaki sastoji od jednog ili više CTU redova unutar pločice. Pločica koja nije podeljena na više brikova može takođe da se naziva brik. Skeniranje brikova je specifično sekvencijalno uređivanje CTU-ova koje dele sliku u kojoj su CTU poređane uzastopno u CTU rasterskom skeniranju u briku, a brikovi unutar pločice su poređani uzastopno u rasterskom skeniranju brikova pločice, i pločice u slici su poređane uzastopno u rasterskom skeniranju pločica slike. Pločica je pravougaona površina CTU-ova unutar posebne kolone pločica i posebnog reda pločica u slici. Kolona pločica je pravougaona površina od CTU koje imaju visinu jednaku visini slike i širinu određenu sintaksičkim elementima u skupu parametara slike. Red pločica je pravougaona površina od CTU, koja ima visinu određenu sintaksičkim elementima u skupu parametara slike i širinu jednaku širini slike. Skeniranje pločica je specifični sekvencijalni redosled CTU-ova koje dele sliku u kojoj su CTU-ovi poređani uzastopno u CTU rasterskom skeniranju u pločici dok su pločice u slici poređane uzastopno u rasterskom skeniranju pločica slike. Isečak uključuje ceo broj brikova slike koja može biti isključivo sadržana u jednoj NAL jedinici. Isečak može da se sastoji ili od nekog broja kompletnih pločica ili samo od uzastopne sekvence kompletnih brikova jedne pločice. Grupe pločica i isečci mogu da se koriste naizmenično u ovom dokumentu. Na primer, u ovom dokumentu, grupa pločica/zaglavlje grupe pločica može da se naziva i isečak/zaglavlje isečka.
[0050] Piksel ili pel može da znači najmanja jedinica koja čini jednu sliku (ili sliku). Takođe, 'uzorak' može da se koristi kao pojam koji odgovara pikselu. Uzorak može uopšteno da predstavlja piksel ili vrednost piksela, a može da predstavlja samo piksel/vrednost piksela luma komponente ili samo piksel/vrednost piksela hroma komponente.
[0051] Jedinica može da predstavlja osnovnu jedinicu za obradu slike. Jedinica može da uključuje najmanje jedan od određene oblasti slike i informacija koje se odnose na tu oblast. Jedna jedinica može da uključuje jedan luma blok i dva hroma (npr. cb, cr) bloka. Jedinica može da se koristi naizmenično sa pojmovima kao što su blok ili površina u nekim slučajevima. U opštem slučaju, M×N blok može da uključuje uzorke (ili nizove uzoraka) ili skup (ili niz) koeficijenata transformacije M kolona i N redova.
[0052] U ovom dokumentu, oznaka "/" i "," treba da se tumači da označava "i/ili." Na primer, izraz "A/B" može da znači "A i/ili B." Dalje, "A, B" može da znači "A i/ili B." Dalje, "A/B/C" može da znači "najmanje jedno od A, B, i/ili C." Takođe, "A, B, C" može da znači "najmanje jedno od A, B, i/ili C."
[0053] Dalje, u ovom dokumentu, pojam "ili" treba da se tumači da označava "i/ili." Na primer, izraz "A ili B" može da obuhvata 1) samo A, 2) samo B, i/ili 3) i A i B. Drugim rečima, pojam "ili" u ovom dokumentu treba da se tumači da označava "dodatno ili alternativno."
[0054] FIG.1 šematski prikazuje primer sistema za kodiranje video zapisa/slike na kojem načini ostvarivanja ovog dokumenta mogu primeniti.
[0055] Upućivanjem na FIG.1, sistem za kodiranje video zapisa/slike može da uključuje prvi uređaj (izvorni uređaj) i drugi uređaj (prijemni uređaj). Izvorni uređaj može da prenese kodirane informacije ili podatke o video zapisu/slici u obliku datoteke ili strimovanja prijemnom uređaju preko digitalnog medijuma za skladištenje ili mreže.
[0056] Izvorni uređaj može da uključuje izvor video zapisa, uređaj za kodiranje i predajnik. Prijemni uređaj može da uključuje prijemnik, uređaj za dekodiranje i prikazivač. Uređaj za kodiranje može se nazvati uređaj za kodiranje video zapisa/slike, a uređaj za dekodiranje može se nazvati uređaj za dekodiranje video zapisa/slike. Predajnik može da bude uključen u uređaju za kodiranje. Prijemnik može da bude uključen u uređaju za dekodiranje. Prikazivač može da uključuje ekran, a ekran može da bude konfigurisan kao poseban uređaj ili eksterna komponenta.
[0057] Izvor video zapisa može da dobije video zapis/sliku postupkom snimanja, sinteze ili generisanja video zapisa/slike. Izvor video zapisa može da uključuje uređaj za snimanje video zapisa/slike i/ili uređaj za generisanje video zapisa/slike. Uređaj za snimanje video zapisa/slike može da uključuje, na primer, jednu ili više kamera, arhive video zapisa/slike uključujući prethodno snimljene video zapise/slike, i slično. Uređaj za generisanje video zapisa/slike može da uključuje, na primer, računare, tablete i pametne telefone, i može (elektronski) da generiše video zapis/sliku. Na primer, virtuelni video zapis/slika može da se generiše računarom ili slično. U ovom slučaju, postupak snimanja video zapisa/slike može se zameniti postupkom generisanja povezanih podataka.
[0058] Uređaj za kodiranje može da kodira ulazni video zapis/sliku. Uređaj za kodiranje može da izvede serije procedura kao što su predikcija, transformacija i kvantizacija za sabijanje i efikasnost kodiranja. Kodirani podaci (kodirane informacije o video zapisu/slici) mogu da se otpreme u obliku toka bitova.
[0059] Predajnik može da prenese kodirane informacije ili podatke o slici/slici emitovane u obliku toka bitova prijemniku prijemnog uređaja preko digitalnog medijuma za skladištenje ili mreže u obliku datoteke ili strimovanja. Digitalni medijum za skladištenje može da uključuje različite medijume za skladištenje kao što su USB, SD, CD, DVD, Blu-ray, HDD, SSD, i slično. Predajnik može da uključuje element za generisanje medijske datoteke preko unapred određenog formata datoteke i može da uključuje neki element za prenos preko radiodifuzne/komunikacione mreže. Prijemnik može da primi/izdvoji tok bitova i prenese primljeni tok bitova uređaju za dekodiranje.
[0060] Uređaj za dekodiranje može da dekodira video zapis/sliku izvođenjem niza procedura kao što su dekvantizacija, inverzna transformacija i predikcija koje odgovaraju operaciji uređaja za kodiranje.
[0061] Prikazivač može da prikaže dekodiran video zapis/sliku. Prikazan video zapis/slika može da se prikaže preko ekrana.
[0062] FIG.2 je šematski dijagram koji prikazuje konfiguraciju uređaja za kodiranje video zapisa/slike na kojem se način(i) ostvarivanja ovog dokumenta može(mogu) primeniti. U nastavku, uređaj za video kodiranje može da uključuje uređaj za kodiranje slike.
[0063] Upućivanjem na FIG.2, uređaj 200 za kodiranje uključuje razdelnik 210 slike, prediktor 220, rezidualni procesor 230 i entropijski koder 240, sabirač 250, filter 260 i memoriju 270. Prediktor 220 može da uključuje inter prediktor 221 i intra prediktor 222. Rezidualni procesor 230 može da uključuje transformator 232, kvantizator 233, dekvantizator 234 i inverzni transformator 235. Rezidualni procesor 230 može dalje da uključuje oduzimač 231. Sabirač 250 se može nazvati rekonstruktor ili generator rekonstruisanog bloka. Razdelnik 210 slike, prediktor 220, rezidualni procesor 230, entropijski koder 240, sabirač 250 i filter 260 mogu biti konfigurisani sa najmanje jednom komponentom hardvera (npr. čipset ili procesor kodera) prema nekom načinu ostvarivanja. Pored toga, memorija 270 može da uključuje bafer za dekodiranu sliku (DPB) ili može da bude konfigurisana sa digitalnim medijumom za skladištenje. Komponenta hardvera može dalje da uključuje memoriju 270 kao internu/eksternu komponentu.
[0064] Razdelnik 210 slike može da deli ulaznu sliku (ili sliku ili frejm) unetu u uređaj 200 za kodiranje na jedan ili više procesora. Na primer, procesor može se nazvati jedinica za kodiranje (CU). U ovom slučaju, jedinica za kodiranje može biti rekurzivno podeljena prema strukturi kvadratnog stabla, binarnog stabla ili ternarnog stabla (QTBTTT) iz jedinice stabla za kodiranje (CTU) ili najveće jedinice za kodiranje (LCU). Na primer, jedna jedinica za kodiranje može da se podeli na mnoštvo jedinica za kodiranje veće dubine na osnovu strukture kvadratnog stabla, strukture binarnog stabla i/ili ternarne strukture. U ovom slučaju, na primer, struktura kvadratnog stabla može prva se primeni dok se struktura binarnog stabla i/ili ternarna struktura može primeniti kasnije. Alternativno, struktura binarnog stabla može prvo da se primeni. Procedura kodiranja prema ovom dokumentu može da se izvede na osnovu finalne jedinice za kodiranje koja se više ne deli. U ovom slučaju, najveća jedinica za kodiranje može da se koristi kao finalna jedinica za kodiranje na osnovu efikasnosti kodiranja prema karakteristikama slike, ili po potrebi, jedinica za kodiranje može da bude rekurzivno podeljena na jedinice za kodiranje veće dubine, tako da jedinica za kodiranje koja ima optimalnu veličinu može da se koristi kao finalna jedinica za kodiranje. Ovde, procedura kodiranja može da uključuje proceduru predikcije, transformacije i rekonstrukcije, koje su objašnjene u nastavku. Kao drugi primer, procesor može dalje da uključuje prediktivnu jedinicu (PU) ili transformacionu jedinicu (TU). U ovom slučaju, prediktivna jedinica i transformaciona jedinica mogu biti podeljene ili izdvojene iz prethodno opisane finalne jedinice za kodiranje. Prediktivna jedinica može biti jedinica za predikciju uzorka, dok transformaciona jedinica može biti jedinica za izvođenje koeficijenta transformacije i/ili jedinica za izvođenje rezidualnog signala iz koeficijenta transformacije.
[0065] [0037] Jedinica može da se koristi naizmenično sa pojmovima kao što su blok ili površina u nekim slučajevima. U opštem slučaju, M×N blok može da predstavlja skup uzoraka ili koeficijente
transformacije koji se sastoje od M kolona i N redova. Uzorak može generalno da predstavlja piksel ili vrednost piksela, a može da predstavlja samo piksel/vrednost piksela luma komponente ili predstavlja samo piksel/vrednost piksela hroma komponente. Uzorak može da se koristi kao pojam koji odgovara jednoj slici (ili slici) za piksel ili pel.
[0066] U uređaju 200 za kodiranje, signal predikcije (prediktovani blok, niz uzoraka predikcije) poslat iz inter prediktora 221 ili intra prediktora 222 oduzima se od ulaznog signala slike (originalni blok, niz originalnih uzoraka) kako bi se generisao rezidualni signal rezidualni blok, niz rezidualnih uzoraka), i generisani rezidualni signal prenosi se transformatoru 232. U ovom slučaju, kao što je prikazano, jedinica za oduzimanje signala predikcije (prediktovani blok, niz uzoraka predikcije) od ulaznog signala slike (originalni blok, niz originalnih uzoraka) u koderu 200 može se nazvati oduzimač 231. Prediktor može da izvede predikciju na bloku koji se obrađuje (u nastavku, naziva se trenutni blok) i generiše prediktovani blok uključujući uzorke predikcije za trenutni blok. Prediktor može da odredi da li se primenjuje intra predikcija ili inter predikcija na trenutnom bloku ili CU osnovi. Kao što je opisano u nastavku u opisu svakog režima predikcije, prediktor može da generiše različite vrste informacija u vezi predikcije, kao što su informacije o režimu predikcije, i prenese generisane informacije entropijskom koderu 240.
[0067] Informacije o predikciji mogu da se kodiraju u entropijskom koderu 240 i otpreme u obliku toka bitova.
[0068] Intra prediktor 222 može da predvidi trenutni blok upućivanjem na uzorke u trenutnoj slici. Uzorci na koje je upućeno mogu da budu smešteni uz trenutni blok, ili mogu da budu smešteni udaljeno od trenutnog bloka u skladu sa režimom predikcije. U intra predikciji, režimi predikcije mogu da uključuju veći broj neusmerenih režima i mnoštvo usmerenih režima. Neusmereni režim može da uključuje, na primer, DC režim ili planarni režim. Usmereni režim može da uključuje, na primer, 33 usmerenih režima predikcije ili 65 usmerenih režima predikcije prema stepenu detalja smera predikcije. Međutim, ovo je samo primer, a manje ili više usmerenih režima predikcije može da se koristi zavisno od podešavanja. Intra prediktor 222 može da određuje režim predikcije primenjen na trenutnom bloku korišćenjem režima predikcije primenjenog na susednom bloku.
[0069] [0040] Inter prediktor 221 može izvesti prediktovani blok za trenutni blok na osnovu referentnog bloka (niz referentnih uzoraka) koji je naznačen vektorom pokreta na referentnoj slici. Ovde, da bi se smanjila količina informacija o pokretima preneta u režimu inter predikcije, informacije o pokretima mogu se predvideti u jedinicama blokova, podblokova ili uzoraka na osnovu korelacije informacija o pokretima između susednog bloka i trenutnog bloka. Informacije o pokretima mogu da uključuju vektor pokreta i indeks referentne slike. Informacije o pokretima mogu dalje da uključuju informacije o smeru inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju inter predikcije, susedni blok može da uključuje prostorni susedni blok koji postoji u trenutnoj slici i vremenski susedni blok koji postoji u referentnoj slici. Referentna slika koja uključuje referentni blok i referentna slika koja uključuje vremenski susedni blok mogu biti iste ili različite. Vremenski susedni blok može se nazvati kolociran
referentni blok, kolocirana CU (colCU), i slično, a referentna slika koja uključuje vremenski susedni blok može se nazvati kolocirana slika (colPic). Na primer, inter prediktor 221 može da konfiguriše listu kandidata za informacije o pokretima na osnovu susednih blokova, i generiše informacije koje pokazuju koji je kandidat korišćen da bi se izveo vektor pokreta i/ili indeks referentne slike trenutnog bloka. Inter predikcija može da se izvede na osnovu različitih režima predikcije. Na primer, u slučaju režima preskakanja i režima spajanja, inter prediktor 221 može da koristi informacije o pokretima susednog bloka kao informacije o pokretima trenutnog bloka. U režimu preskakanja, za razliku od režima spajanja, rezidualni signal možda se ne prenese. U slučaju režima predikcije vektora pokreta (MVP), vektor pokreta susednog bloka može da se koristi kao prediktor vektora pokreta i vektor pokreta trenutnog bloka može se naznačiti signalizacijom razlike vektora pokreta.
[0070] Prediktor 220 može da generiše signal predikcije na osnovu različitih postupaka predikcije opisanih u nastavku. Na primer, prediktor može ne samo da primeni intra predikciju ili inter predikciju da bi predvideo jedan blok, već i istovremeno da primeni i intra predikciju i inter predikciju. Ovo se može nazvati kombinovana inter i intra predikcija (CIIP). Pored toga, prediktor može da se zasniva na režimu predikcije kopije intra bloka (IBC) ili režimu palete za predikciju bloka. IBC režim predikcije ili režim palete može da se koristi za kodiranje sadržaja slike/video zapisa za igre ili slično, na primer, kodiranje sadržaja ekrana (SCC). IBC u osnovi izvodi predikciju u trenutnoj slici, ali može da bude izvedena slično inter predikciji po tome što se izvodi referentni blok u trenutnoj slici. To jest, IBC može da koristi najmanje jednu od tehnika inter predikcije opisanih u ovom dokumentu. Režim palete može se smatrati primerom intra kodiranja ili intra predikcije. Kada se primenjuje režim palete, vrednost uzorka u slici može da se signalizira na osnovu informacija o tabeli palete i indeksu palete.
[0071] Signal predikcije generisan pomoću prediktora (uključujući inter prediktor 221 i/ili intra prediktor 222) može da se koristi za generisanje rekonstruisanog signala ili za generisanje rezidualnog signala. Transformator 232 može da generiše koeficijente transformacije primenom tehnike transformacije na rezidualni signal. Na primer, tehnika transformacije može da uključuje najmanje jedno od diskretne kosinusne transformacije (DCT), diskretne sinusne transformacije (DST), karhunen-loève transformacije (KLT), transformacije zasnovane na grafikonu (GBT) ili uslovne nelinearne transformacije (CNT). Ovde, GBT predstavlja transformaciju dobijenu iz grafikona kada su informacije o vezi između piksela predstavljene grafikonom. CNT se odnosi na transformaciju generisanu na osnovu signala predikcije generisanog korišćenjem svih prethodno rekonstruisanih piksela. Pored toga, postupak transformacije može se primeniti na kvadratne piksel blokove koji su iste veličine ili se mogu primeniti na blokove koji su različite veličine od kvadratnih.
[0072] [0043] Kvantizator 233 može kvantizovati koeficijente transformacije i preneti ih entropijskom koderu 240, a entropijski koder 240 može da kodira kvantizovan signal (informacije o kvantizovanim koeficijentima transformacije) i pošalje tok bitova. Informacije o kvantizovanim koeficijentima
transformacije mogu se nazvati rezidualne informacije. Kvantizator 233 može da preuredi kvantizovane koeficijente transformacije tipa bloka u jednodimenzionalni vektorski oblik na osnovu redosleda skeniranja koeficijenata i da generiše informacije o kvantizovanim koeficijentima transformacije na osnovu kvantizovanih koeficijenata transformacije u jednodimenzionalnom vektorskom obliku.
[0073] Informacije o koeficijentima transformacije mogu se generisati. Entropijski koder 240 može da izvodi različite postupke kodiranja, kao što su, na primer, eksponencijalni Golomb, kontekstno-adaptivno kodiranje promenljive dužine (CAVLC), kontekstno-adaptivno binarno aritmetičko kodiranje (CABAC), i slično. Entropijski koder 240 može da kodira informacije potrebne za rekonstrukciju video zapisa/slike zajedno sa ili odvojeno od kvantizovanih koeficijenata transformacije (npr., vrednosti sintaksičkih elemenata, itd.). Kodirane informacije (npr., kodirane informacije o video zapisu/slici) mogu se preneti ili čuvati u jedinicama NAL-ova (sloja apstrakcije mreže) u obliku toka bitova. Informacije o video zapisu/slici mogu dalje da uključuju informacije o različitim skupovima parametara kao što su skup parametara za adaptaciju (APS), skup parametara slike (PPS), skup parametara za sekvencu (SPS) ili skup parametara video zapisa (VPS). Pored toga, informacije o video zapisu/slici mogu dalje da uključuju opšte informacije o ograničenjima. U ovom dokumentu, informacije i/ili sintaksički elementi preneti/signalizirani od uređaja za kodiranje uređaju za dekodiranje mogu da budu uključeni u informacije o video zapisu/slici. Informacije o video zapisu/slici mogu da se kodiraju pomoću gorepomenute procedure kodiranja i da budu uključene u toku bitova. Tok bitova može se preneti preko mreže ili može se čuvati u digitalnom medijumu za skladištenje. Mreža može da uključuje radiodifuznu mrežu i/ili komunikacionu mrežu, a digitalni medijum za skladištenje može da uključuje različite medijume za skladištenje kao što su USB, SD, CD, DVD, Blu-ray, HDD, SSD, i slično. Predajnik (nije prikazan) koji prenosi izlaz signala iz entropijskog kodera 240 i/ili memorije (nije prikazana) koja čuva signal, može biti uključen kao interni/eksterni element uređaja 200 za kodiranje, a alternativno, predajnik može da bude uključen u entropijskom koderu 240.
[0074] Kvantizovani koeficijenti transformacije koji izlaze iz kvantizatora 233 mogu da se koriste za generisanje signala predikcije. Na primer, rezidualni signal (rezidualni blok ili rezidualni uzorci) može se rekonstruisati primenom dekvantizacije i inverzne transformacije na kvantizovane koeficijente transformacije pomoću dekvantizatora 234 i inverznog transformatora 235. Sabirač 250 dodaje rekonstruisani rezidualni signal signalu predikcije koji izlazi iz inter prediktora 221 ili intra prediktora 222 kako bi se generisao rekonstruisani signal (rekonstruisana slika, rekonstruisani blok, niz rekonstruisanih uzoraka). Ako nema ostatka za blok koji se obrađuje, kao u slučaju gde se primenjuje režim preskakanja, prediktovani blok može da se koristi kao rekonstruisani blok. Sabirač 250 se može nazvati rekonstruktor ili generator rekonstruisanog bloka. Generisani rekonstruisani signal može da se koristi za intra predikciju sledećeg bloka koji se obrađuje unutar trenutne slike i kao što je opisano u nastavku, može da se koristi i za inter predikciju sledeće slike filtriranjem.
[0075] U međuvremenu, luma mapiranje sa hroma skaliranjem (LMCS) može da se primeni u kodiranju i/ili rekonstrukciji slike.
[0076] Filter 260 može da poboljša subjektivni/objektivni kvaliteti slike primenom filtriranja na rekonstruisani signal. Na primer, filter 260 može da generiše modifikovanu rekonstruisanu sliku primenom raznih postupaka filtriranja na rekonstruisanu sliku i čuva modifikovanu rekonstruisanu sliku u memoriji 270, posebno, u DPB memorije 270. Različiti postupci filtriranja mogu da uključuju, na primer, filtriranje za deblokiranje, adaptivno pomeranje uzorka, filter adaptivne petlje, bilateralni filter, i slično. Filter 260 može da generiše razne vrste informacija koje se odnose na filtriranje i prenese generisane informacije entropijskom koderu 240, kao što je opisano u nastavku u opisu svakog postupka filtriranja. Informacije koje se odnose na filtriranje mogu da se kodiraju u entropijskom koderu 240 i pošalju u obliku toka bitova.
[0077] Modifikovana rekonstruisana slika koja se prenosi memoriji 270 može da se koristi kao referentna slika u inter prediktoru 221. Ako se inter predikcija primenjuje pomoću uređaja za kodiranje, može se izbeći nepodudarnost predikcije između uređaja 200 za kodiranje i uređaja za dekodiranje i može se poboljšati efikasnost kodiranja.
[0078] DPB memorije 270 DPB može da čuva modifikovanu rekonstruisanu sliku kako bi se koristila kao referentna slika u inter prediktoru 221. Memorija 270 može da čuva informacije o pokretima bloka iz kojeg se informacije o pokretima unutar trenutne slike izvode (ili kodiraju) i/ili informacije o pokretima blokova u prethodno rekonstruisanoj slici. Sačuvane informacije o pokretima mogu se preneti inter prediktoru 221 i koristiti kao informacije o pokretima prostornog susednog bloka ili informacije o pokretima vremenskog susednog bloka. Memorija 270 može da čuva rekonstruisane uzorke rekonstruisanih blokova u trenutnoj slici i može da prenese rekonstruisane uzorke intra prediktoru 222.
[0079] FIG.3 je šematski dijagram koji prikazuje konfiguraciju uređaja za dekodiranje video zapisa/slike na kojem se način(i) ostvarivanja ovog dokumenta može(mogu) primeniti.
[0080] Upućivanjem na FIG.3, uređaj 300 za dekodiranje može da uključuje entropijski dekoder 310, rezidualni procesor 320, prediktor 330, sabirač 340, filter 350 i memoriju 360. Prediktor 330 može da uključuje inter prediktor 331 i intra prediktor 332. Rezidualni procesor 320 može da uključuje dekvantizator 321 i inverzni transformator 321. Entropijski dekoder 310, rezidualni procesor 320, prediktor 330, sabirač 340 i filter 350 mogu biti konfigurisani sa komponentom hardvera (npr., čipset ili procesor dekodera) prema nekom načinu ostvarivanja. Pored toga, memorija 360 može da uključuje bafer za dekodiranu sliku (DPB) ili može da bude konfigurisana digitalnim medijumom za skladištenje. Komponenta hardvera može dalje da uključuje memoriju 360 kao internu/eksternu komponentu.
[0081] [0051] Kada tok bitova koji uključuje informacije o video zapisu/slici predstavlja ulaz, uređaj 300 za dekodiranje može da rekonstruiše sliku koja odgovara postupku u kojem se obrađuju informacije o video zapisu/slici u uređaju za kodiranje sa FIG.2. Na primer, uređaj 300 za dekodiranje može da izvede
jedinice/blokove na osnovu informacija koje se odnose na podelu blokova dobijenih iz toka bitova. Uređaj 300 za dekodiranje može da izvede dekodiranje pomoću procesora primenjenog u uređaju za kodiranje. Prema tome, procesor za dekodiranje može biti, na primer, jedinica za kodiranje, a jedinica za kodiranje može da bude podeljena prema strukturi kvadratnog stabla, strukturi binarnog stabla, i/ili strukturi ternarnog stabla iz jedinice stabla za kodiranje ili najveće jedinice za kodiranje. Jedna ili više transformacionih jedinica može se izvesti iz jedinice za kodiranje. Rekonstruisani signal slike koji je dekodiran i poslat uređajem 300 za dekodiranje može da se reprodukuje pomoću uređaja za reprodukciju.
[0082] Uređaj 300 za dekodiranje može da prima signal koji izlazi iz uređaja za kodiranje sa FIG.2 u obliku toka bitova, i taj primljen signal može da se dekodira pomoću entropijskog dekodera 310. Na primer, entropijski dekoder 310 može da raščlani tok bitova kako bi se izvele informacije (npr., informacije o video zapisu/slici) potrebne za rekonstrukciju slike (ili rekonstrukciju slike). Informacije o video zapisu/slici mogu dalje da uključuju informacije o različitim skupovima parametara kao što su skup parametara za adaptaciju (APS), skup parametara slike (PPS), skup parametara za sekvencu (SPS) ili skup parametara video zapisa (VPS). Pored toga, informacije o video zapisu/slici mogu dalje da uključuju opšte informacije o ograničenjima. Uređaj za dekodiranje može dalje da dekodira sliku na osnovu informacija o skupu parametara i/ili opštih informacija o ograničenjima. Signalizirane/primljene informacije i/ili sintaksički elementi opisani u nastavku u ovom dokumentu mogu se dekodirati mogu dekodirati procedurom dekodiranja i dobiti iz toka bitova. Na primer, entropijski dekoder 310 dekodira informacije u toku bitova na osnovu postupka za kodiranje kao što je eksponencijalno Golomb kodiranje, CAVLC ili CABAC, i šalje sintaksičke elemente potrebne za rekonstrukciju slike i kvantizovane vrednosti koeficijenta transformacije za ostatak. Određenije, CABAC postupak entropijskog dekodiranja može da prima bin koji odgovara svakom sintaksičkom elementu u toku bitova, određuje kontekstni model koji koristi informacije o sintaksičkom elementu koje se dekodiraju, informacije dekodiranja o ciljnom bloku dekodiranja ili informacije o simbolu/binu dekodiranom u prethodnoj fazi, i izvede aritmetičko dekodiranje bina predikcijom mogućnosti pojave bina prema određenom kontekstnom modelu, i generiše simbol koji odgovara vrednosti svakog sintaksičkog elementa. U ovom slučaju, CABAC postupak entropijskog dekodiranja može da ažurira kontekstni model pomoću informacija o dekodiranom simbolu/binu za kontekstni model sledećeg simbola/bina nakon određivanja kontekstnog modela.
[0083] Informacije koje se odnose na predikciju među informacijama dekodiranim entropijskim dekoderom 310 mogu se obezbediti prediktoru (inter prediktor 332 i intra prediktor 331), a vrednost ostatka pri kojoj se izvodi entropijsko dekodiranje u entropijskom dekoderu 310, to jest, kvantizovani koeficijenti transformacije i povezane informacije o parametru mogu se uneti u rezidualni procesor 320. Rezidualni procesor 320 može da izvede rezidualni signal (rezidualni blok, rezidualni uzorci i niz rezidualnih uzoraka). Pored toga, informacije o filtriranje među informacijama dekodiranim entropijskim
dekoderom 310 mogu se obezbediti filteru 350. U međuvremenu, prijemnik (nije prikazan) za prijem signala koji izlazi iz uređaja za kodiranje može se dalje konfigurisati kao interni/eksterni element uređaja 300 za dekodiranje, ili prijemnik može da bude komponenta entropijskog dekodera 310. U međuvremenu, uređaj za dekodiranje prema ovom dokumentu može se nazvati uređaj za dekodiranje video zapisa/slike/slike, a uređaj za dekodiranje može da se klasifikuje u dekoder informacija (dekoder informacija video zapisa/slike/slike) i dekoder uzoraka (dekoder uzoraka video zapisa/slike/slike).
[0084] Dekoder informacija može da uključuje entropijski dekoder 310, dok dekoder uzoraka može da uključuje najmanje jedno od dekvantizatora 321, inverznog transformatora 322, sabirača 340, filtera 350, memorije 360, inter prediktora 332 i intra prediktora 331.
[0085] Dekvantizator 321 može da dekvantizuje kvantizovane koeficijente transformacije i otpremi koeficijente transformacije. Dekvantizator 321 može da preuredi kvantizovane koeficijente transformacije u obliku dvodimenzionalnog bloka. U ovom slučaju, preuređenje se može izvesti na osnovu redosleda skeniranja koeficijenata kojeg izvodi uređaj za kodiranje. Dekvantizator 321 može da izvede dekvantizaciju na kvantizovane koeficijente transformacije korišćenjem parametra kvantizacije (npr., informacije o veličini faze kvantizacije), i izvede koeficijente transformacije.
[0086] Inverzni transformator 322 obrnuto transformiše koeficijente transformacije da bi se dobio rezidualni signal (rezidualni blok, niz rezidualnih uzoraka).
[0087] Prediktor može da izvede predikciju na trenutnom bloku i generiše prediktovani blok koji uključuje uzorke predikcije za trenutni blok. Prediktor može da odredi da li se primenjuje intra predikcija ili inter predikcija na trenutnom bloku na osnovu informacija o predikciji koje izlaze iz entropijskog dekodera 310 i može da odredi određeni režim intra/inter predikcije.
[0088] Prediktor 320 može da generiše signal predikcije na osnovu različitih postupaka predikcije koji su opisani u nastavku. Na primer, prediktor može ne samo da primeni intra predikciju ili inter predikciju za predikciju jednog bloka, već može da primeni i intra predikciju i inter predikciju istovremeno. Ovo se može nazvati kombinovana inter i intra predikcija (CIIP). Pored toga, prediktor može da se zasniva na režimu predikcije kopije intra bloka (IBC) ili režimu palete za predikciju bloka. IBC režim predikcije ili režim palete može da se koristi za kodiranje sadržaja slike/video zapisa za igre ili slično, na primer, kodiranje sadržaja ekrana (SCC). IBC u osnovi izvodi predikciju u trenutnoj slici, ali se može izvesti slično inter predikciji tako što izvodi referentni blok u trenutnoj slici. To jest, IBC može da koristi najmanje jednu od tehnika inter predikcije opisanih u ovom dokumentu. Režim palete može se smatrati primerom intra kodiranja ili intra predikcije. Kada se primenjuje režim palete, vrednost uzorka unutar slike može se signalizirati na osnovu informacija o tabeli palete i indeksu palete.
[0089] [0057] Intra prediktor 331 može da predvidi trenutni blok upućivanjem na uzorke unutar trenutne slike. Referentni uzorci mogu da budu locirani susedno trenutnom bloku ili mogu da budu locirani odvojeno u skladu sa režimom predikcije. U intra predikciji, režimi predikcije mogu da uključuju veći broj
neusmerenih režima i više usmerenih režima. Intra prediktor 331 može da odredi režim predikcije primenjen na trenutnom bloku korišćenjem režima predikcije primenjenog na susednom bloku.
[0090] Inter prediktor 332 može da izvede prediktovani blok za trenutni blok na osnovu referentnog bloka (niz referentnih uzoraka) naznačenog vektorom pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacija o pokretima preneta u režimu inter predikcije, informacije o pokretima mogu se predvideti u jedinicama blokova, podblokova ili uzoraka na osnovu korelacije informacija o pokretima između susednog bloka i trenutnog bloka. Informacije o pokretima mogu da uključuju vektor pokreta i indeks referentne slike. Informacije o pokretima mogu dalje da uključuju informacije o smeru inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju inter predikcije, susedni blok može da uključuje prostorni susedni blok koji postoji u trenutnoj slici i vremenski susedni blok koji postoji u referentnoj slici. Na primer, inter prediktor 332 može da konfiguriše listu kandidata za informacije o pokretima na osnovu susednih blokova, i izvede vektor pokreta trenutnog bloka i/ili indeks referentne slike na osnovu primljenih informacija o izboru kandidata. Inter predikcija može se izvesti na osnovu različitih režima predikcije, i informacije o predikciji mogu da uključuju informacije koje naznačavaju režim inter predikcije za trenutni blok.
[0091] Sabirač 340 može da generiše rekonstruisan signal (rekonstruisana slika, rekonstruisani blok, niz rekonstruisanih uzoraka) dodavanjem dobijenog rezidualnog signala signalu predikcije (prediktovani blok, niz prediktovanih uzoraka) koji izlazi iz prediktora (uključujući inter prediktor 332 i/ili intra prediktor 331). Ako nema ostatka za blok koji se obrađuje, kao što je kada se primenjuje režim preskakanja, prediktovani blok može da se koristi kao rekonstruisani blok.
[0092] Sabirač 340 može se nazvati rekonstruktor ili generator rekonstruisanog bloka. Generisan rekonstruisan signal može da se koristi za intra predikciju sledećeg bloka koji se obrađuje unutar trenutne slike, i kao što je opisano u nastavku, može da se otpremi filtriranjem ili može da se koristi za inter predikciju sledeće slike.
[0093] U međuvremenu, luma mapiranje sa hroma skaliranjem (LMCS) može se primeniti u postupku dekodiranja slike.
[0094] Filter 350 može da poboljša subjektivni/objektivni kvaliteti slike primenom filtriranja na rekonstruisanom signalu. Na primer, filter 350 može da generiše modifikovanu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku i da čuva modifikovanu rekonstruisanu sliku u memoriji 360, posebno, u DPB memorije 360. Različiti postupci filtriranja mogu da uključuju, na primer, filtriranje za deblokiranje, adaptivno pomeranje uzorka, filter adaptivne petlje, bilateralni filter, i slično.
[0095] [0063] (Modifikovana) rekonstruisana slika koja se čuva u DPB memorije 360 može da se koristi kao referentna slika u inter prediktoru 332. Memorija 360 može da čuva informacije o pokretima bloka iz kojeg se informacije o pokretima izvode (ili dekodiraju) unutar trenutne slike i/ili informacije o
pokretima blokova unutar prethodno rekonstruisane slike. Sačuvane informacije o pokretima mogu se preneti inter prediktoru 260 da bi se koristile kao informacije o pokretima prostornog susednog bloka ili informacije o pokretima vremenskog susednog bloka. Memorija 360 može da čuva rekonstruisane uzorke rekonstruisanih blokova unutar trenutne slike i prenese rekonstruisane uzorke intra prediktoru 331.
[0096] U ovom otkrivanju, načini ostvarivanja opisani za filter 260, inter prediktor 221 i intra prediktor 222 uređaja 200 za kodiranje mogu se primeniti na isti način ili tako da odgovaraju filteru 350, inter prediktoru 332 i intra prediktoru 331 uređaja 300 za dekodiranje. Isto se može primeniti i na jedinicu 332 i intra prediktor 331.
[0097] Kao što je prethodno opisano, u izvođenju video kodiranja, predikcija se izvodi radi poboljšanja efikasnosti kompresije. Prediktovani blok koji uključuje uzorke predikcije za trenutni blok, to jest, ciljni blok kodiranja, može da se generiše predikcijom. U ovom slučaju, prediktovani blok uključuje uzorke predikcije u prostornom domenu (ili domenu piksela). Prediktovani blok izvodi se na identičan način u uređaju za kodiranje i uređaju za dekodiranje. Uređaj za kodiranje može da poboljša efikasnost kodiranja slike signalizacijom, uređaju za dekodiranje, informacija o ostatku (rezidualne informacije) između originalnog bloka i prediktovanog bloka, pre nego vrednost originalnog uzorka samog originalnog bloka. Uređaj za dekodiranje može da izvede rezidualni blok uključujući rezidualne uzorke na osnovu rezidualnih informacija, može da generiše rekonstruisan uključuju rekonstruisane uzorke dodavanjem rezidualnog bloka i prediktovanog bloka, i može da generiše rekonstruisanu sliku koja uključuje rekonstruisane blokove.
[0098] Rezidualne informacije mogu da se generišu procedurom transformacije i kvantizacije. Na primer, uređaj za kodiranje može da izvede rezidualni blok između originalnog bloka i prediktovanog bloka, može da izvede koeficijente transformacije izvođenjem procedure transformacije na rezidualnim uzorcima (niz rezidualnih uzoraka) uključenim u rezidualnom bloku, može da izvede kvantizovane koeficijente transformacije izvođenjem procedure kvantizacije na koeficijentima transformacije, i može da signalizira povezane rezidualne informacije uređaju za dekodiranje (kroz tok bitova). U ovom slučaju, rezidualne informacije mogu da uključuju informacije kao što su informacije o vrednostima, informacije o položaju, šema transformacije, jezgro transformacije i parametar kvantizacije kvantizovanih koeficijenata transformacije. Uređaj za dekodiranje može da izvede postupak dekvantizacije/inverzne transformacije na osnovu rezidualnih informacija i može da izvede rezidualne uzorke (ili rezidualne blokove). Uređaj za dekodiranje može da generiše rekonstruisanu sliku na osnovu prediktovanog bloka i rezidualnog bloka. Osim toga, uređaj za kodiranje može da izvede rezidualni blok transformacijom dekvantizacijom/inverznom transformacijom kvantizovanih koeficijenata transformacije za referencu za inter predikciju naknadne slike, i može da generiše rekonstruisanu sliku.
[0099] U međuvremenu, kao što je prethodno opisano, intra predikcija ili inter predikcija može se primeniti prilikom izvođenja predikcije na trenutnom bloku. U nastavku je opisan slučaj primene inter predikcije na trenutnom bloku.
[0100] Prediktor (određenije, inter prediktor) uređaja za kodiranje/dekodiranje može izvesti uzorke predikcije izvođenjem inter predikcije u jedinicama bloka. Inter predikcija može biti predikcija izvedena postupkom koji zavisi od elemenata podataka (npr. vrednosti uzorka ili informacije o pokretima) slike(a) pre nego od trenutne slike. Ako se primenjuje inter predikcija na trenutnom bloku, prediktovani blok (niz uzoraka predikcije) za trenutni blok može se izvesti na osnovu referentnog bloka (niz referentnih uzoraka) naznačenog vektorom pokreta na referentnoj slici na koju upućuje indeks referentne slike. U ovom slučaju, kako bi se smanjila količina informacija o pokretima prenetih u režimu inter predikcije, informacije o pokretima trenutnog bloka mogu se predvideti u jedinicama bloka, podbloka ili uzorka na osnovu korelacije informacija o pokretima između susednog bloka i trenutnog bloka. Informacije o pokretima mogu da uključuju vektor pokreta i indeks referentne slike. Informacije o pokretima mogu dalje da uključuju informacije o tipu inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju primene inter predikcije, susedni blok može da uključuje prostorni susedni blok koji je prisutan u trenutnoj slici i vremenski susedni blok koji je prisutan u referentnoj slici. Referentna slika koja uključuje referentni blok i referentna slika koja uključuje vremenski susedni blok mogu biti međusobno iste ili međusobno različite. Vremenski susedni blok može se nazvati kolociran referentni blok ili kolocirana CU (colCU), itd., a referentna slika koja uključuje vremenski susedni blok može se nazvati kolocirana slika [0069] (colPic). Na primer, lista kandidata za informacije o pokretima može da se konfiguriše na osnovu susednih blokova trenutnog bloka, i mogu da se signaliziraju informacije o zastavici ili indeksu koje naznačavaju koji se kandidat bira (koristi) kako bi se izveo vektor pokreta i./ili indeks referentne slike trenutnog bloka. Inter predikcija se može izvesti na osnovu različitih režima predikcije, a na primer, u slučaju režima preskakanja i režima spajanja, informacije o pokretima trenutnog bloka mogu biti iste kao informacije o pokretima izabranog susednog bloka. U slučaju režima preskakanja, za razliku od režima spajanja, može da se ne prenosi rezidualni signal. U slučaju režima predikcije vektora pokreta (MVP), vektor pokreta izabranog susednog bloka može da se koristi kao prediktor vektora pokreta i može da se signalizira razlika vektora pokreta. U ovom slučaju, vektor pokreta trenutnog bloka može se izvesti korišćenjem sume prediktora vektora pokreta i razlike vektora pokreta.
[0101] [0070] Informacije o pokretima mogu dalje da uključuju L0 informacije o pokretima i/ili L1 informacije o pokretima prema tipu inter-predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). L0-usmereni vektor pokreta može se nazvati L0 vektor pokreta ili MVL0, a L1-usmereni vektor pokreta može se nazvati L1 vektor pokreta ili MVL1. Predikcija na osnovu L0 vektora pokreta može se nazvati L0 predikcija, predikcija na osnovu L1 vektora pokreta može se nazvati L1 predikcija, i predikcija na osnovu i L0 vektora pokreta i L1 vektora pokreta može se nazvati bi-predikcija. Ovde, L0 vektor pokreta može da označava
vektor pokreta povezan sa listom referentnih slika L0 dok L1 vektor pokreta može da označava vektor pokreta povezan sa listom referentnih slika L1. Lista referentnih slika L0 može da uključuje slike pre trenutne slike u izlaznom redosledu dok lista referentnih slika L1 može da uključuje slike nakon trenutne slike u izlaznom redosledu, kao referentne slike. Prethodne slike mogu se nazvati (referentna) slika unapred, a naknadne slike mogu se nazvati obrnuta (referentna) slika. Lista referentnih slika L0 može dalje da uključuje slike nakon trenutne slike u izlaznom redosledu kao referentne slike. U ovom slučaju, prethodne slike mogu se prvo indeksirati u listi referentnih slika L0 dok se naknadne slike mogu potom indeksirati. Lista referentnih slika L1 može dalje da uključuje slike pre trenutne slike u izlaznom redosledu kao referentne slike. U ovom slučaju, naknadne slike se mogu prvo indeksirati u listi referentnih slika L1 dok se prethodne slike mogu potom indeksirati. Ovde, izlazni redosled može da odgovara redosledu brojača redosleda prikazivanja slika (POC).
[0102] Dalje, različiti režimi inter predikcije mogu da se koriste u primeni inter predikcije na trenutnom bloku. Na primer, mogu da se koriste različiti režimi koji uključuju režim spajanja, režim preskakanja, režim predikcije vektora pokreta (MVP), afini režim, režim istorijske predikcije vektora pokreta (HMVP), i slično. Režim preciziranja vektora pokreta na strani dekodera (DMVR), režim adaptivne rezolucije vektora pokreta (AMVR), dvosmerni optički tok (BDOF) itd., mogu se koristiti dalje kao pomoćni režim. Afini režim može se nazvati režim predikcije afinih pokreta. MVP režim može se nazvati režim napredne predikcije vektora pokreta (AMVP). U ovom otkrivanju, neki režimi i/ili kandidati informacija o pokretima izvedeni pomoću nekih režima mogu biti uključeni u jednom od kandidata u vezi informacija o pokretima drugih režima.
[0103] Informacije o režimu predikcije koje naznačavaju režim inter predikcije trenutnog bloka mogu da se signaliziraju iz uređaja za kodiranje uređaju za dekodiranje. U ovom slučaju, informacije o režimu predikcije mogu biti uključene u tok bitova i može ih primiti uređaj za dekodiranje. Informacije o režimu predikcije mogu da uključuju informacije o indeksu koje naznačavaju jedan od više režima kandidata. Alternativno, režim inter predikcije može se naznačiti hijerarhijskom signalizacijom informacija o zastavici. U ovom slučaju, informacije o režimu predikcije mogu da uključuju jednu ili više zastavica. Na primer, da li se primenjuje režim preskakanja može se naznačiti signalizacijom zastavice preskakanja, da li se primenjuje režim spajanja može se naznačiti signalizacijom zastavice spajanja kada se ne primenjuje režim preskakanja, a kada se ne primenjuje režim spajanja naznačeno je da se primenjuje MVP režim ili se može dalje signalizirati zastavica za dodatnu podelu. Afini režim može da se signalizira kao nezavisni režim, ili može da se signalizira kao zavisni režim od režima spajanja ili MVP režima. Na primer, afini režim može da uključuje afini režim spajanja i afini MVP režim.
[0104] [0073] Dalje, informacije o pokretima trenutnog bloka mogu se koristiti u primeni inter predikcije na trenutnom bloku. Uređaj za kodiranje može izvesti optimalne informacije o pokretima za trenutni blok pomoću procedure procene pokreta. Na primer, uređaj za kodiranje može da pretraži sličan referentni
blok koji ima visoku korelaciju u jedinicama frakcionog piksela u okviru prethodno određenog opsega pretrage u referentnoj slici korišćenjem originalnog bloka u originalnoj slici za trenutni blok, i izvede informacije o pokretima kroz pretraživani referentni blok. Sličnost bloka može se izvesti na osnovu razlike vrednosti uzoraka zasnovanih na fazi. Na primer, sličnost bloka može se izračunati na osnovu zbira apsolutnih razlika (SAD) između trenutnog bloka (ili šablona trenutnog bloka) i referentnog bloka (ili šablona referentnog bloka). U ovom slučaju, informacije o pokretima mogu se izvesti na osnovu referentnog bloka koji ima najmanji SAD u oblasti pretrage. Izvedene informacije o pokretima mogu se signalizirati uređaju za dekodiranje prema različitim postupcima na osnovu režima inter predikcije.
[0105] Prediktovani blok za trenutni blok može se izvesti na osnovu informacija o pokretima izvedenih prema režimu inter predikcije. Prediktovani blok može da uključuje uzorke predikcije (niz uzoraka predikcije) trenutnog bloka. Ako vektor pokreta (MV) trenutnog bloka označava delimičnu jedinicu uzorka, može se izvesti procedura interpolacije i mogu se izvesti uzorci predikcije trenutnog bloka na osnovu referentnih uzoraka jedinice delimičnog uzorka u referentnoj slici pomoću procedure interpolacije. Ako se primenjuje afina inter predikcija na trenutni blok, uzorci predikcije mogu se generisati na osnovu MV uzorka/podbloka-jedinice. Ako se primenjuje bi-predikcija, uzorci predikcije izvedeni putem ponderisanog zbira ili ponderisanog proseka uzoraka predikcije izvedenih na osnovu L0 predikcija (tj., predikcija koja koristi referentnu sliku u listi referentnih slika L0 i MVL0) i uzoraka predikcije (prema fazi) izvedenih na osnovu L1 predikcije (tj., predikcija koja koristi referentnu sliku u listi referentnih slika L1 i MVL1) mogu da se koriste kao uzorci predikcije trenutnog bloka. Kada se primenjuje bi-predikcija, ako su referentna slika korišćena za L0 predikciju i referentna slika korišćena za L1 predikciju smeštene u različitim vremenskim pravcima na osnovu trenutne slike (tj., ako predikcija odgovara bi-predikciji i dvosmernoj predikciji), može se nazvati prava bi-predikcija.
[0106] Rekonstruisani uzorci i rekonstruisane slike mogu da se generišu na osnovu izvedenih uzoraka predikcije, i nakon toga, može se izvesti procedura kao što je filtriranje u petlji, itd., kao što je prethodno opisano.
[0107] U međuvremenu, budući da se pokret trenutnog bloka predviđa na osnovu vektora pokreta susednog bloka bez razlike vektora pokreta (MVD) u režimu preskakanja i/ili režimu spajanja, režim preskakanja i/ili režim spajanja pokazuje ograničenje u predikciji pokreta. Kako bi se poboljšalo ograničenje režima preskakanja i/ili režima spajanja, vektor pokreta može se precizirati primenom režima preciziranja vektora pokreta na strani dekodera (DMVR), režima dvosmernog optičkog toka (BDOF), itd. DMVR i BDOF režimi mogu da se koriste kada se prava bi-predikcija primenjuje na trenutnom bloku.
[0108] FIG.4 je dijagram za opisivanje načina ostvarivanja postupka izvođenja preciziranja vektora pokreta na strani dekodera (DMVR) u predikciji pravih parova.
[0109] DMVR je postupak u kojem dekoder izvodi predikciju pokreta preciziranjem informacija o pokretima susednog bloka. Kada se primenjuje DMVR, dekoder može izvesti precizirane informacije o pokretima poređenjem troškova na osnovu šablona generisanog korišćenjem informacija o pokretima susednog bloka u režimu spajanja/preskakanja. U ovom slučaju, preciznost predikcije pokreta može se povećati i performanse poređenja mogu se poboljšati bez dodatnih informacija o signalizaciji.
[0110] U ovom otkrivanju, radi lakšeg opisa, uglavnom je opisan uređaj za dekodiranje, ali DMVR prema načinu ostvarivanja ovog otkrivanja može se izvesti u istom postupku čak u uređaju za kodiranje.
[0111] Upućivanjem na FIG.4, uređaj za dekodiranje može da izvede blokove predikcije (tj., referentne blokove) naznačene sa list0 i list1-usmereni inicijalni vektori pokreta (ili informacije o pokretima) (npr., MV0 i MV1) i generiše šablon (ili bilateralni šablon) ponderisanim zbirom (npr., usrednjavanje) izvedenih uzoraka predikcije (faza 1). Ovde, inicijalni vektori pokreta (MV0 i MV1) mogu da predstavljaju vektore pokreta izvedene korišćenjem informacija o pokretima susednog bloka u režimu spajanja/preskakanja.
[0112] Pored toga, uređaj za dekodiranje može da izvede vektore pokreta (npr., MV0' i MV1') za minimiziranje razlike između šablona i površine uzorka referentne slike pomoću operacije uparivanja šablona (faza 2). Ovde, površina uzorka može da označava susednu površinu inicijalnog bloka predikcije u referentnoj slici i površina uzorka može se nazvati susedna površina, referentna površina, površina pretrage, opseg pretrage, prostor pretrage, itd. Operacija uparivanja šablona može da uključuje operaciju izračunavanja vrednosti merenja troškova između šablona i površine uzorka e referentne slike. Na primer, zbir apsolutnih razlika (SAD) može da se koristi za merenje troškova. Kao jedan primer, kao funkcija troškova, može da se koristi normalizovani SAD. U ovom slučaju, trošak uparivanja može biti dat kao SAD(T – srednja vrednost(T), 2 * P[x] - 2 * srednja vrednost(P[x])). Ovde, T predstavlja šablon i P[x] predstavlja blok u oblasti pretrage. Pored toga, vektor pokreta za izračunavanje minimalnog troška šablona za svaku od dve referentne slike može se razmatrati kao ažurirani vektor pokreta (koji zamenjuje inicijalni vektor pokreta). Kao što je prikazano na FIG.8, uređaj za dekodiranje može da generiše krajnji rezultat bilateralne predikcije (tj. krajnji blok bilateralne predikcije) korišćenjem ažuriranih vektora pokreta MV0' i MV1'. Kao neki način ostvarivanja, višestruka iteracija za izvođenje ažuriranog (ili novog) vektora pokreta može da se koristi za dobijanje krajnjeg rezultata bilateralne predikcije.
[0113] U nekom načinu ostvarivanja, uređaj za dekodiranje može pozvati DMVR postupak kako bi se poboljšala tačnost inicijalne predikcije kompenzacije pokreta (tj., predikcija kompenzacije pokreta pomoću uobičajenog režima spajanja/preskakanja). Na primer, uređaj za dekodiranje može izvesti DMVR postupak kada režim predikcije trenutnog bloka predstavlja režim spajanja ili režim preskakanja i kada se bilateralna bi-predikcija, u kojoj se bilateralne referentne slike nalaze u suprotnim smerovima u odnosu na trenutnu sliku u redosledu prikaza, primenjuje na trenutnom bloku.
[0114] FIG.5 je dijagram za opis načina ostvarivanja postupka izvođenja preciziranja vektora pokreta na strani dekodera (DMVR) korišćenjem zbira apsolutnih razlika (SAD).
[0115] Kao što je prethodno opisano, uređaj za dekodiranje može da izmeri trošak uparivanja korišćenjem SAD u izvođenju DMVR. Kao jedan način ostvarivanja, na FIG.5, opisan je postupak za preciziranje vektora pokreta izračunavanjem prosečnog zbira apsolutne razlike (MRSAD) između uzoraka predikcije u dve referentne slike bez generisanja šablona. Drugim rečima, postupak sa FIG.5 prikazuje način ostvarivanja bilateralnog uparivanja koje koristi MRSAD.
[0116] Upućivanjem na FIG.5, uređaj za dekodiranje može da izvede susedni piksel piksela (uzorka) naznačenog sa list0 (L0) usmerenim vektorom pokreta MV0 na L0 referentnoj slici i izvede susedni piksel piksela (uzorka) naznačenog sa list1 (L1) usmerenim vektorom pokreta MV1 na L1 referentnoj slici. Pored toga, uređaj za dekodiranje može da izmeri trošak uparivanja izračunavanjem MRSAD između L0 bloka predikcije (tj., L0 referentni blok) identifikovanog vektorom pokreta koji označava susedni piksel izveden na L0 referentnoj slici i L1 bloka predikcije (tj., L1 referentni blok) identifikovanog vektorom pokreta koji označava susedni piksel izveden na L1 referentnoj slici. U ovom slučaju, uređaj za dekodiranje može odabrati tačku pretrage (tj., oblast pretrage koja ima minimalni SAD između L0 bloka za predikciju i L1 bloka za predikciju) koja ima minimalni trošak kao precizirani par vektora pokreta. Drugim rečima, precizirani par vektora pokreta može da uključuje precizirani L0 vektor pokreta koji označava položaj piksela (L0 blok za predikciju) koji ima minimalni trošak u L0 referentnoj slici i precizirani L1 vektor pokreta koji označava položaj piksela (L1 blok za predikciju) koji ima minimalni trošak u L1 referentnoj slici.
[0117] Kao način ostvarivanja, u izračunavanju troška uparivanja, nakon što se oblasti pretrage referentne slike postavi, jednostrana predikcija može se izvesti korišćenjem regularnog 8 tap DCTIF filtera interpolacije. Dalje, kao jedan primer, 16-bitna preciznost može da se koristi za izračunavanje MRSAD i operacije isecanja i/ili zaokruživanja ne moraju se primeniti pre izračunavanja MRSAD razmatranjem unutrašnjeg bafera.
[0118] Kada se primenjuje prava bi-predikcija na trenutnom bloku kao što je prethodno opisano, BDOF se može koristiti za preciziranje signala bi-predikcije. Kada se bi-predikcija primenjuje na trenutnom bloku, dvosmerni optički tok (BDOF) može da se koristi za izračunavanje poboljšanih informacija o pokretima i generisanje uzoraka predikcije na osnovu izračunatih informacija o pokretima. Na primer, BDOF se može primeniti na nivou 4 x 4 podbloka. Drugim rečima, BDOF se može izvesti u jedinicama 4 x 4 podblokova u trenutnom bloku. Alternativno, BDOF se može primeniti samo na luma komponentu. Alternativno, BDOF se može primeniti samo na hroma komponentu i primeniti na luma komponentu i hroma komponentu.
[0119] [0088] BDOF režim zasniva se na konceptu optičkog toka pretpostavljajući da je pokret predmeta uglađen kao što je naznačeno nazivom BDOF režima. Preciziranje pokreta (v<x>, v<y>) može se izračunati
minimiziranjem vrednosti razlike između L0 i L1 uzoraka predikcije za svaki od 4 x 4 podblokova. Pored toga, preciziranje pokreta može da se koristi za podešavanje vrednosti uzoraka bi-predikcije u 4 x 4 podblokovima.
[0120] U međuvremenu, može se videti da DMVR i BDOF kao tehnike koje izvode predikciju preciziranjem informacija o pokretima (u ovom slučaju, prava bi-predikcija predstavlja slučaj izvođenja predikcije/kompenzacije pokreta u referentnoj slici drugog smera na osnovu slike trenutnog bloka) u vreme primene prave bi-predikcije je tehnika preciziranja koja ima sličan koncept po tome što se pretpostavlja da je pokret predmeta u slici izveden prethodno određenom brzinom i u prethodno određenom smeru. Međutim, kada se izvodi prava bi-predikcija, budući da se uslov za primenu DMVR i uslov za primenu BDOF međusobno razlikuju, treba da se izvede postupak provere uslova više puta za svaku tehniku. Stoga, ovo otkrivanje predlaže postupak koji može poboljšati efikasnost u pogledu složenosti i performansi dekodera poboljšanjem postupka provere uslova u određivanju režima predikcije primenjenog na trenutnom bloku.
[0121] Tabela 1 dole prikazuje uslov za primenu DMVR tokom uobičajene prave bi-predikcije. Kada su svi dole navedeni uslovi ispunjeni, može se primeniti DMVR.
[0122] [Tabela 1]
[0123] - sps_dmvr_enabled_flag postavlja se na 1. : Signalizacija pomoću SPS
[0125] - merge_flag[ xCb ][ yCb ] jednako je 1. : Primenjeno u slučaju MERGE/SKIP
[0126] - mmvd_flag[ xCb ][ yCb ] jednako je 0. : Primenjeno u slučaju da nije MMVD
[0127] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1. : Dvosmerna predikcija
[0128] - DiffPicOrderCnt (currPic, RefPicList0 [refldxLO]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0. : TrueBi, i razlike od trenutne slike i dvosmerne referentne slike međusobno su iste (u nastavku, "razlika referentnih slika" može predstavljati gorepomenuto značenje).
[0129] - CbHeight je veće od ili jednako 8. : U slučaju da je dužina bloka (ili veličina) veća od Praga (npr.8) (ovde, Prag može biti različito prikazan)
[0130] - CbHeight*CbWidth je veće od ili jednako 64. : U slučaju da je veličina bloka (ili dimenzija) veća od Praga (pr.64) (ovde, Prag može biti različito prikazan)
[0132] [0091] Upućivanjem na Tabelu 1, 1) da li primeniti DMVR može se odrediti na osnovu informacija o zastavici (npr., sps_dmvr_enabled_flag) signaliziranih u sintaksi skupa parametara za sekvencu (SPS). Ovde, informacije o zastavici (npr., sps_dmvr_enabled_flag) mogu da predstavljaju da li je omogućen DMVR zasnovan na pravoj bi-predikciji. Na primer, ako je sps_dmvr_enabled_flag jednako 1 (tj., kada je
omogućen DMVR zasnovan na pravoj bi-predikciji), može se odrediti da je ispunjen uslov za onemogućavanje DMVR.
[0133] 2) Da li primeniti DMVR može se odrediti na osnovu informacija o zastavici (npr., merge_flag) koje predstavljaju da li se inter predikcija izvodi korišćenjem režima spajanja/režima preskakanja. Na primer, ako je merge_flag jednako 1 (tj., kada se inter predikcija izvodi korišćenjem režima spajanja/režima preskakanja), može se odrediti da je ispunjen uslov za primenu režima spajanja/režima preskakanja.
[0134] 3) Da li primeniti DMVR može se odrediti na osnovu informacija o zastavici (npr., mmvd_flag) koje predstavljaju da li se inter predikcija izvodi korišćenjem režima spajanja sa režimom razlike vektora pokreta (MMVD). Na primer, ako je mmvd_flag jednako 0 (tj., kada se ne koristi MMVD režim), može se odrediti da je ispunjen uslov za primenu MMVD režima.
[0135] 4) Da li primeniti DMVR može se odrediti na osnovu toga da li se koristi bilateralna predikcija (bipredikcija). Ovde, bilateralna predikcija može da predstavlja inter predikciju koja se izvodi na osnovu referentnih slika koje postoje u različitim smerovima na osnovu trenutne slike. Na primer, ako su predFlagL0[0][0] = 1 i predFlagL0[1][1] = 1, može se odrediti da se primenjuje bilateralna predikcija i može se odrediti da je ispunjen uslov za izvođenje bilateralne predikcije.
[0136] 5) Da li primeniti DMVR može se odrediti na osnovu toga da li se izvodi prava bi-predikcija i da li su rastojanja između trenutne slike i bilateralnih referentnih slika ista. Drugim rečima, može se odrediti da li su rastojanje između trenutne slike i L0 referentne slike (tj., referentna slika u listi referentnih slika L0) i rastojanje između trenutne slike i L1 referentne slike (tj., referentna slika u listi referentnih slika L1) ista. Na primer, kada je DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList]1 [ refIdxL1 ] ) = 0, određuje se da se izvodi prava bi-predikcija i da su rastojanja između trenutne slike i bilateralnih referentnih slika ista kako bi se odredilo da je ispunjen uslov za da su rastojanja bilateralnih referentnih slika ista.
[0137] 6) Da li primeniti DMVR može se odrediti na osnovu toga da li je visina trenutnog bloka veća od praga. Na primer, ako je visina trenutnog bloka jednaka ili veća od 8, može se odrediti da je ispunjen uslov veličine (visine) trenutnog bloka.
[0138] 7) Da li primeniti DMVR može se odrediti na osnovu toga da li je veličina trenutnog bloka veća od praga. Na primer, ako je veličina trenutnog bloka, visina * širina jednaka ili veća od 64, može se odrediti da je ispunjen uslov veličine (visina * širina) trenutnog bloka.
[0139] Uređaj za dekodiranje može da odredi da li primeniti DMVR zavisno od toga da li su ispunjeni uslovi 1) do 7) iz Tabele 1 gore. Drugim rečima, ako su ispunjeni uslovi 1) do 7) iz Tabele 1 gore, uređaj za dekodiranje može izvesti pravu bi-predikciju primenom DMVR i čak ako bilo koji od uslova iz Tabele 1 gore nije ispunjen, uređaj za dekodiranje ne primenjuje DMVR.
[0140] Tabela 2 dole prikazuje uslov za primenu BDOF tokom uobičajene prave bi-predikcija. Ako su svi dole navedeni uslovi ispunjeni, može se primeniti BDOF.
[0141] [Tabela 2]
[0142] - sps_bdof_enabled_flag jednako je 1. : Signalizacija pomoću SPS
[0143] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1. : Dvosmerna predikcija - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1 [ refIdxL1 ] ) je manje od 0. : TrueBi
[0144] - MotionModelIdc[ xCb ][ yCb ] jednako je 0. : U slučaju ne-afine
[0145] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0. : subblock && w >=8 && h>=8
[0147] - GbiIdx[ xCb ][ yCb ] jednako je 0. : U slučaju da je GBi indeks zadat
[0148] - cldx jednako je 0. : Primenjen na Luma samo
[0150] Upućivanjem na Tabelu 2 gore, 1) da li primeniti BDOF može se odrediti na osnovu informacija o zastavici (npr., sps_bdof_enabled_flag) signaliziranih u sintaksi skupa parametara za sekvencu (SPS). Ovde, informacije o zastavici (npr., sps_dmvr_enabled_flag) mogu da predstavljaju da li je omogućen BDOF zasnovan na pravoj bi-predikciji. Na primer, ako je sps_bdof_enabled_flag jednako 1 (tj., ako je BDOF zasnovan na pravoj bi-predikciji omogućen), može se odrediti da je ispunjen uslov za onemogućavanje BDOF.
[0151] 2) Da li primeniti BDOF može se odrediti na osnovu toga da li se koristi bilateralna predikcija. Ovde, bilateralna predikcija može da predstavlja inter predikciju izvedenu na osnovu referentnih slika koje postoje u različitim pravcima na osnovu trenutne slike. Na primer, ako su i predFlagL0] i predFlagL1 jednaki 1, može se odrediti da je primenjena bilateralna predikcija i može se odrediti da je ispunjen uslov za izvođenje bilateralne predikcije.
[0152] 3) Da li primeniti BDOF može se odrediti na osnovu toga da li se izvodi prava bi-predikcija. Drugim rečima, može se odrediti da li se L0 referentna slika (tj., referentna slika u listi referentnih slika L0) i L1 referentna slika (tj., referentna slika u listi referentnih slika L1) nalaze u vremenski različitim pravcima na osnovu trenutne slike. Na primer, ako je DiffPicOrderCnt(currPic, refPicList0[refIdxL0]) * DiffPicOrderCnt(currPic, refPicList1[refIdxL1]) manje od 0, određuje se da se bilateralne referentne slike nalaze u različitim pravcima na osnovu trenutne slike kako bi se odredilo da je ispunjen uslov za izvođenje prave vi-predikcije.
[0153] [0103] 4) Da li primeniti BDOF može se odrediti na osnovu toga da li se koristi afini režim. Ovde, da li se koristi afini režim može se odrediti izvođenjem MotionModelIdc. Na primer, ako je izvedeni
MotionModelIdc jednak 0, može se odrediti da se ne koristi afini režim i, u ovom slučaju, može se odrediti da je ispunjen uslov za primenu afinog režima.
[0154] 5) Da li primeniti BDOF može se odrediti na osnovu informacija o zastavici (npr., merge_subblock_flag) koje predstavljaju da li se inter predikcija izvodi u jedinicama podblokova. Na primer, ako je merge_subblock_flag jednako 0 (tj., ako režim spajanja nije primenjen u jedinicama podblokova), može se odrediti da je ispunjen uslov za primenu režima spajanja u jedinicama podblokova.
[0155] 6) Da li primeniti BDOF može se odrediti na osnovu toga da li postoji GBi. Ovde, da li postoji GBi može se odrediti na osnovu informacija o GBi indesku (npr., GbiIdx). Na primer, ako je GbiIdx jednak 0 (tj., kada je GbiIdx zadat), može se odrediti da je ispunjen uslov za postojanje GBi.
[0156] 7) Da li primeniti BDOF može se odrediti na osnovu toga da li trenutni blok predstavlja luma blok uključujući luma komponentu. Na primer, ako indeks (npr., cIdx) koji pokazuje da li je trenutni blok luma blok (tj., ako trenutni blok predstavlja luma blok), može se odrediti da je ispunjen uslov da je trenutni blok luma blok.
[0157] Uređaj za dekodiranje može odrediti da li primeniti DMVR zavisno od toga da li su uslovi 1) do 7) iz gornje Tabele 2 ispunjeni. Drugim rečima, ako su ispunjeni uslovi 1) do 7) iz gornje Tabele 2, uređaj za dekodiranje može izvesti pravu bi-predikciju primenom BDOF i čak ako nije ispunjen bilo koji od uslova iz gornje Tabele 2, uređaj za dekodiranje ne primenjuje BDOF.
[0158] Kao što je prethodno opisano, neki od uslova primene DMVR i BDOF su isti dok su neki slični ili različiti. U uobičajenoj šemi, budući da se izvodi provera uslova za svaku tehniku čak i ako je uslov isti, raste složenost za izvođenje bi-predikcije. Stoga, ovo otkrivanje predlaže efikasan uslov za primenu DMVR i BDOF tokom bi-predikcije.
[0159] Ako se režim spajanja/preskakanja uporedi sa AMVP režimom, režim spajanja/preskakanja ima relativno manju tačnost od AMVP režima, i kao rezultat, preciziranje informacija o pokretima korišćenjem DMVR postupka je efikasno u pogledu performansi. Međutim, BDOF režim može se primeniti čak i u AMVP režimu pored režima spajanja/preskakanja za razliku od DMVR, i kao takav, složenost izvođenja BDOF u osnovu na performanse može porasti ako se primenjuje BDOF u AMVP režimu. Prema tome, način ostvarivanja predlaže postupak za primenu čak i BDOF u režimu spajanja/preskakanja slično DMVR.
[0160] U ovom slučaju, kao jedan način ostvarivanja predložen u ovom otkrivanju, uslov primene BDOF može da uključuje uslove prikazane u donjoj Tabeli 3.
[0161] [Tabela 3]
[0162] - sps_bdof_enabled_flag jednako je 1.
[0164] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0165] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0166] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) manje je od 0.
[0167] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0169] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0170] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0171] - cldx jednako je 0.
[0173] Upućivanjem na gornju Tabelu 3, da li primeniti BDOF može se odrediti na osnovu informacija o zastavici (npr., merge _flag) koje predstavljaju da li se inter predikcija izvodi korišćenjem režim spajanja/režim preskakanja. Na primer, ako je merge_flag jednako 1 (tj., kada se inter predikcija izvodi korišćenjem režima spajanja/režima preskakanja), može se odrediti da je ispunjen uslov za primenu režima spajanja/režima preskakanja. Prema tome, BDOF se takođe može primeniti u režimu spajanja/preskakanja slično kao DMVR.
[0174] Drugim rečima, u načinu ostvarivanja, zajedno sa uslovom primenjenim u slučaju režima spajanja/preskakanja, da li primeniti BDOF može se odrediti na osnovu uslova primenjenog ako je omogućen BDOF, uslova primenjenog u slučaju bilateralne predikcije, uslova primenjenog ako je izvedena prava bi-predikcija, uslova primenjenog ako je korišćena afina predikcija, uslova primenjenog ako nije primenjen režim spajanja na osnovu podblokova, uslova primenjenog ako je GBi indeks zadat i uslova primenjenog ako trenutni blok predstavlja luma blok.
[0175] Prema tome, uređaj za dekodiranje može da odredi da li su ispunjeni svi uslovi navedeni u gornjoj Tabeli 3 i ako su ispunjeni svi uslovi, uređaj za dekodiranje može izvesti pravu bi-predikciju primenom BDOF. Čak i ako nije ispunjen neki od uslova navedenih u gornjoj Tabeli 3, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može takođe da primeni uslove iz gornje Tabele 3 dok uređaj za kodiranje može izvesti pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0176] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u gornjoj Tabeli 3 može se nezavisno primeniti na DMVR i BDOF ili se može primeniti pod istim uslovom za DMVR i BDOF.
[0177] U međuvremenu, ako su uslovi navedeni u načinu ostvarivanja isti kao uslovi opisani u gornjim Tabelama 1 i 2 gore, detaljna operacija ili značenje se slično primenjuje, i kao rezultat, detaljan opis za svaki uslov biće izostavljen. Dalje, biće izostavljen dupliran sadržaj čak i u načinima ostvarivanja koji su opisani u nastavku.
[0178] [0116] Uređaj za kodiranje/dekodiranje može da se konfiguriše pomoću različitih vrsta hardvera i preferencija odnosa složenosti i performansi može biti različita. Stoga, način ostvarivanja predlaže
postupak koji može da precizira informacije o pokretima primenom DMVR čak i u AMVP režimu pored režima spajanja/preskakanja.
[0179] U ovom slučaju, kao jedan način ostvarivanja predložen u ovom otkrivanju, uslov primene DMVR može da uključuje uslove naveden u Tabeli 4 dole.
[0180] [Tabela 4]
[0181] - sps_dmvr_enabled_flag postavlja se na 1. (Izbrisati uslove ograničene na režim SPAJANJA / PRESKAKANJA))
[0182] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0183] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0184] - DiffPicOrderCnt (currPic, RefPicList0 [refldxLO]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0185] - CbHeight je veće od ili jednako 8.
[0186] - CbHeight*CbWidth je veće od ili jednako 64.
[0188] Upućivanjem na prethodnu Tabelu 4, postupak za određivanje da li primeniti DMVR može se izostaviti na osnovu informacija o zastavici (npr., merge _flag) koje predstavljaju da li se inter predikcija izvodi korišćenjem režima spajanja/režima preskakanja. Kao takav, izostavljanjem uslova za primenu režima spajanja/režima preskakanja, DMVR se može primeniti čak i u AMVP režimu pored režima spajanja/režima preskakanja.
[0189] Prema prethodnoj Tabeli 4, da li primeniti DMVR može se odrediti na osnovu uslova primenjenog ako je DMVR omogućen, uslova primenjenog ako se MMVD režim ne koristi, uslova primenjenog u slučaju bilateralne predikcije, uslova primenjenog u slučaju prave bi-predikcije u kojoj su rastojanja između trenutne slike i bilateralnih referentnih slika ista, uslova primenjenog ako je visina trenutnog bloka jednaka ili veća od 8, i uslova primenjenog ako je veličina (visina * širina) trenutnog bloka jednaka ili veća od 64.
[0190] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u gornjoj Tabeli 4 ispunjeni i ako su ispunjeni svi uslovi, uređaj za dekodiranje može izvesti pravu bi-predikciju primenom DMVR. Čak i ako neki od uslova navedenih u gornjoj Tabeli 4 nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može da primeni i uslove iz gornje Tabele 4 dok uređaj za kodiranje može izvesti pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0191] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u gornjoj Tabeli 4 može se nezavisno primeniti na DMVR i BDOF ili se može primeniti pod istim uslovom za DMVR i BDOF.
[0192] U međuvremenu, kao jedan način ostvarivanja ovog otkrivanja, i DMVR i BDOF mogu se primeniti na normalni režim spajanja. Drugim rečima, DMVR i BDOF mogu se primeniti kada se režim napredne predikcije vremenskog vektora pokreta (ATMVP) ne koristi, afini režim se ne koristi i CPR se ne koristi. U ovom slučaju, uslovi primene DMVR mogu da uključuju uslove navedene u Tabeli 5 dole.
[0193] [Tabela 5]
[0196]
[0198] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0. : subblock && w >=8 && h>=8
[0200] Upućivanjem na Tabelu 5 gore, da li su ispunjeni uslov primenjen ako se afini režim ne koristi (npr., ako je MotionModelIdc jednako 0) i uslov primenjen ako se režim spajanja na osnovu podblokova ne koristi (npr., ako je merge_subblock_flag jednako 0) određuje se za primenu DMVR samo u normalnom režimu spajanja.
[0201] Dalje, u načinu ostvarivanja, zajedno sa uslovom za korišćenje afinog režima i uslovom za korišćenje režima spajanja na osnovu podblokova, može se odrediti da li primeniti DMVR na osnovu uslova primenjenog ako je omogućen DMVR, uslova primenjenog ako se koristi režim spajanja/režim preskakanja, uslova primenjenog ako se ne koristi MMVD režim, uslova primenjenog u slučaju bilateralne predikcije, uslova primenjenog u slučaju prave bi-predikcije u kojoj su rastojanje između trenutne slike i bilateralnih referentnih slika isti, uslova primenjenog ako je visina trenutnog bloka jednaka ili veća od 8, i uslova primenjenog ako je veličina (visina * širina) trenutnog bloka jednaka ili veća od 64.
[0202] [0125] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi ispunjeni uslovi navedeni u gornjoj Tabeli 5 i ako su ispunjeni svi uslovi, uređaj za dekodiranje može izvesti pravu bi-predikciju primenom DMVR. Ako nije ispunjen čak jedan od uslova navedenih u gornjoj Tabeli 5, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može da primeni i uslove iz gornje Tabele 5
i uređaj za kodiranje može da izvede pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0203] Uslov za primenu režima spajanja na osnovu podblokova (npr., merge_subblock_flag) među uslovima primene iz gornje Tabele 5 uključuje dupliran uslov među uobičajenim uslovima DMVR primene. Prema tome, kao jedan način ostvarivanja ovog otkrivanja, može se ukloniti uslov dupliran sa uslovom (npr., merge_subblock_flag) za primenu režima spajanja na osnovu podblokova. U ovom slučaju, odgovarajući uslov može se ukloniti kao što je predloženo u donjoj Tabeli 6.
[0204] [Tabela 6]
[0205] - sps_dmvr_enabled_flag postavlja se na 1.
[0207] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0208] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0209] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0210] - DiffPicOrderCnt (currPic, RefPicList0 [refldxLO]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0211] - MotionModelIdc[ xCb ][ yCb ] jednako je 0. : !Affine
[0213] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0. : subblock && w >=8 && h>=8
[0215] Upućivanjem na prethodnu Tabelu 6, režim spajanja na osnovu podblokova može se primeniti ako je veličina trenutnog bloka jednaka ili veća od 8 x 8. Prema tome, budući da uslov (npr., merge_subblock_flag = 0) za primenu režima spajanja na osnovu podblokova uključuje uslov koji se odnosi na veličinu trenutnog bloka, mogu se isključiti uslovi (npr., CbHeight i CbHeight*CbWidth) koji se odnose na veličinu trenutnog bloka među uslovima primene uobičajenog DMVR. Na primer, mogu se izostaviti uslov da li je visina trenutnog bloka jednaka ili veća od 8 i uslov da li je visina * širina trenutnog bloka jednaka ili veća od 64 i da li primeniti DMVR može se odrediti korišćenjem preostalih uslova navedenih u gornjoj Tabeli 6.
[0216] Drugim rečima, uređaj za dekodiranje može da odredi da li su ispunjeni svi uslovi navedeni u gornjoj Tabeli 6 i ako su ispunjeni svi uslovi, uređaj za dekodiranje može izvesti pravu bi-predikciju primenom DMVR. Ako nije ispunjen čak jedan od uslova navedenih u gornjoj Tabeli 6, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može takođe da primeni uslove iz gornje Tabele 6 i uređaj za kodiranje može da izvede pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0217] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u gornjoj Tabeli 5 ili 6 može se nezavisno primeniti na DMVR i BDOF ili se može primeniti pod istim uslovom za DMVR i BDOF.
[0218] Kao jedan način ostvarivanja ovog otkrivanja, kako bi se povećala tačnost vektora pokreta u maloj složenosti, kada je veličina bloka mala, ne mogu se primeniti tehnike preciziranja kao što su DMVR i BDOF. U uobičajenoj šemi, tehnika preciziranja može se primeniti ako trenutni blok predstavlja blok koji je jednak ili veći od 8 x 8 i u slučaju DMVR tehnika preciziranja, kada je veličina trenutnog bloka velika, preciziranje je primenjeno podelom trenutnog bloka na 16 x 16 jedinice, i kao rezultat, DMVR se ne može primeniti na blok manji od 16 x 16. U ovom slučaju, uslov primene DMVR-a može da uključuje uslove predstavljene u Tabeli 7 dole.
[0219] [Tabela 7]
[0220] - sps_dmvr_enabled_flag postavlja se na 1.
[0222] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0223] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0224] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0225] - DiffPicOrderCnt (currPic, RefPicList0 [refldxLO]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0226] - CbHeight je veće od ili jednako 16.
[0228] - CbWidth je veće od ili jednako 16.
[0230] Upućivanjem na Tabelu 7 gore, DMVR ne može se primeniti na blok koji je manji od 16 x 16 promenom uslova (npr., CbHeight i CbWidth) koji se odnose na veličinu trenutnog bloka. Na primer, mogu da se koriste uslov primenjen kada je visina trenutnog bloka (npr., CbHeight) jednaka ili veća od 16 i uslov primenjen kada je širina trenutnog bloka (npr., CbWidth) jednaka ili veća od 16. Ako su ispunjeni uslovi primene koji se odnose na veličinu trenutnog bloka (tj., ako je veličina trenutnog bloka jednaka ili veća od 16 x 16, može se primeniti DMVR, a ako nisu ispunjeni uslovi primene koji se odnose na veličinu trenutnog bloka (tj., kada je veličina trenutnog bloka manja od 16 x 16), ne može da se primeni DMVR.
[0231] Dalje, u načinu ostvarivanja, zajedno sa uslovima (npr., CbHeight i CbWidth) koji se odnose na veličinu trenutnog bloka, da li primeniti DMVR može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 7 gore.
[0232] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 7 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može izvesti pravu bi-predikciju primenom DMVR. Ako čak jedan od uslova navedenih u Tabeli 7 gore nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 7 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0233] Kao jedan način ostvarivanja ovog otkrivanja, kada trenutni blok predstavlja blok koji je manji od 16 x 16, BDOF ne može da se primeni pored DMVR. U ovom slučaju, uslov primene BDOF može da uključuje uslove date u Tabeli 8 dole.
[0234] [Tabela 8]
[0235] - sps_bdof_enabled_flag jednako je 1.
[0236] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0237] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0.
[0238] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0239] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0241] - CbHeight je veće od ili jednako 16
[0242] - CbWidth je veće od ili jednako 16
[0243] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0244] - cldx jednako je 0.
[0246] Upućivanjem na Tabelu 8 gore, BDOF ne može se primeniti na blok koji je manji od 16 x 16 promenom uslova (npr., CbHeight i CbWidth) koji se odnose na veličinu trenutnog bloka. Na primer, mogu da se koriste uslov primenjen ako je visina trenutnog bloka (npr., CbHeight) jednak ili veća od 16 i uslov primenjen ako je širina trenutnog bloka (npr., CbWidth) jednaka ili veća od 16. Ako su ispunjeni uslovi primene koji se odnose na veličinu trenutnog bloka (tj., kada je veličina trenutnog bloka jednaka ili veća od 16 x 16, BDOF može se primeniti, a ako uslovi primene koji se odnose na veličinu trenutnog bloka nisu ispunjeni (tj., kada je veličina trenutnog bloka manja od 16 x 16), BDOF ne može da se primeni.
[0247] Dalje, u načinu ostvarivanja, zajedno sa uslovima (npr., CbHeight i CbWidth) koji se odnose na veličinu trenutnog bloka, da li primeniti BDOF može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 8 gore.
[0248] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 8 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom BDOF. Ako čak jedan od uslova navedenih u Tabeli 8 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 8 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0249] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u Tabeli 7 ili 8 gore može se nezavisno primeniti na DMVR i BDOF ili može se primeniti pod istim uslovom za DMVR i BDOF.
[0250] Kao što je prethodno opisano, DMVR primenjuje se kada su rastojanja između trenutne slike i bilateralnih referentnih slika ista, dok se BDOF kontinuirano primenjuje u slučaju prave bi-predikcije čak i ako su rastojanja između trenutne slike i bilateralnih referentnih slika različita. Prema tome, ovo otkrivanje predlaže postupak koji može integralno primeniti uslov, koji se odnosi na rastojanje bilateralnih referentnih slika, na DMVR i BDOF kako bi se povećala efikasnost kodiranja.
[0251] Kao jedan način ostvarivanja predložen u ovom otkrivanju, uslov primene BDOF može da uključuje uslove date u Tabeli 9 dole.
[0252] [Tabela 9]
[0253] - sps_bdof_enabled_flag jednako je 1.
[0254] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0256] - DiffPicOrderCnt (currPic, RefPicList0 [refldxLO]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0 : Prava bi, i rastojanja dvosmernih referentnih slika međusobno su jednaki
[0257] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0258] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0260] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0261] - cldx jednako je 0.
[0263] Upućivanjem na Tabelu 9 gore, uslov koji se odnosi na rastojanje referentnih slika među uslovima primene BDOF (npr., DiffPicOrderCnt) menja se da bi se slično primenio odgovarajući uslov na DMVR i BDOF. Na primer, određuje se da li je DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) -DiffPicOrderCnt(currPic, RefPicList]1 [ refIdxL1 ]) jednako 0 kako bi se odredilo da li su ista rastojanje između trenutne slike i L0 referentne slike (tj., referentne slike u listi referentnih slika L0) i rastojanje između trenutne slike i L1 referentne slike (tj., referentne slike u listi referentnih slika L1). Drugim rečima, BDOF se može primeniti samo ako su rastojanja između trenutne slike i bilateralnih referentnih slika ista. Stoga, kako se dodaje uslov pod kojim se izvodi prava bi-predikcija i rastojanja bilateralnih referentnih slika su ista, opseg primene BDOF-a je ograničen, čime se štedi na složenosti dekodiranja.
[0264] Dalje, u načinu ostvarivanja, zajedno sa uslovima (npr., DiffPicOrderCnt) koji se odnose na rastojanje referentnih slika, da li primeniti BDOF može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 9 gore.
[0265] [0143] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 9 gore ispunjeni, i ako su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju
primenom BDOF. Ako čak jedan od uslova navedenih u Tabeli 9 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 9 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0266] Kao jedan način ostvarivanja predložen u ovom otkrivanju, uslov primene DMVR može da uključuje uslove date u Tabeli 10 dole.
[0267] [Tabela 10]
[0268] - sps_dmvr_enabled_flag postavlja se na 1.
[0269] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0270] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0271] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0272] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0. : TrueBi
[0273] - CbHeight je veće od ili jednako 8
[0274] - CbHeight*CbWidth je veće od ili jednako 64
[0276] Upućivanjem na Tabelu 10 gore, uslov koji se odnosi na rastojanje referentnih slika među uslovima primene DMVR (npr., DiffPicOrderCnt) menja se da bi se slično primenio odgovarajući uslov na DMVR i BDOF. Na primer, određuje se da li je DiffPicOrderCnt( currPic, refPicList0[ refldxL0 ] ) * DiffPicOrderCnt(currPic, refPicList1[ refIdxL1 ]) manje od 0 kako bi se odredilo da li se primenjuje prava bi-predikcija u kojoj su bilateralne referentne slike smeštene u različitim pravcima na osnovu trenutne slike. Drugim rečima, DMVR može da se kontinuirano primenjuje u slučaju prave bi-predikcije čak i ako rastojanja između trenutne slike i bilateralnih referentnih slika nisu ista. Stoga, kako se primenjuje uslov za izvođenje prave bi-predikcije, vektor pokreta izveden s obzirom na složenost dekodiranja može da se koristi bez skaliranja čak i ako su rastojanja bilateralnih referentnih slika različita.
[0277] Dalje, u načinu ostvarivanja, zajedno sa uslovom (npr., DiffPicOrderCnt) koji se odnosi na rastojanje referentnih slika, da li primeniti DMVR može se odrediti na osnovu preostalih uslova primene navedeni u Tabeli 10 gore.
[0278] [0147] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 10 gore ispunjeni i, ako su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom DMVR. Ako čak jedan od uslova navedenih u Tabeli 10 gore nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele
10 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0279] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u Tabeli 9 ili 10 gore može se nezavisno primeniti na DMVR i BDOF ili može se primeniti pod istim uslovom za DMVR i BDOF.
[0280] U međuvremenu, u svakom referentnom bloku, može se javiti slučaj gde se izvodi kompenzacija pokreta ponderisanim zbirom promenom svetla. U ovom slučaju, budući da se pojava može odrediti pomoću GBi ili kompenzacije lokalnog osvetljenja (LIC), uslovi primene DMVR i BDOF mogu se odrediti s obzirom na GBi ili LIC uslov.
[0281] Kao jedan način ostvarivanja ovog otkrivanja, predložen je postupak za određivanje da li primeniti DMVR s obzirom na GBi i LIC uslove. U ovom slučaju, uslov primene DMVR može da uključuje uslove date u Tabeli 11 dole.
[0282] [Tabela 11]
[0283] - sps_dmvr_enabled_flag postavlja se na 1.
[0284] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0285] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0287] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0288] - DiffPicOrderCnt (currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0289] - CbHeight je veće od ili jednako 8.
[0291] - CbHeight*CbWidth je veće od ili jednako 64.
[0292] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0293] - LICFlag jednako je 0.
[0295] Upućivanjem na Tabelu 11, moguće je odrediti da li primeniti DMVR dodavanjem GBi uslova (npr., GbiIdx) i LIC uslova (npr., LICFlag). Ovde, GBi može da predstavlja generalizovanu bi-predikciju koja može da primeni različite težine na L0 predikciju i L1 predikciju i, na primer, predstavlja generalizovanu bi-predikciju korišćenjem GbiIdx. GbiIdx može postojati u slučaju bi-predikcije i predstavlja indeks težine bi-predikcije. Na primer, GbiIdx se može izvesti iz susednog bloka u režimu spajanja, ili signalizirati iz uređaja za kodiranje uređaju za dekodiranje preko GbiIdx sintaksičkog elementa (npr., gbi_idx) u MVP režimu. Na primer, GbiIdx može da označava masu w primenjenu na L1 predikciju i, u ovom slučaju, masa (1-w) može se primeniti na L0 predikciju. Kao drugi primer, GbiIdx može da označava masu w primenjenu na L0 predikciju i, u ovom slučaju, masa (1-w) može se primeniti na L1 predikciju.
[0296] Prema Tabeli 11, ako je GbiIdx jednako 0 (tj., ako je GbiIdx zadato), može se odrediti da ispunjava GBi uslov, a ako je LICFlag jednako 0 (tj., ako LIC postoji, može se odrediti da ispunjava LIC uslov.
[0297] Dalje, u načinu ostvarivanja, zajedno sa GBi uslovom (npr., GbiIdx) i LIC uslovom (npr., LICFlag), da li primeniti DMVR može se odrediti na osnovu preostalih uslova primene navedeni u Tabeli 11 gore.
[0298] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 11 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom DMVR. Ako čak jedan od uslova navedenih u Tabeli 11 gore nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 11 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0299] Kao jedan način ostvarivanja ovog otkrivanja, predložen je postupak za određivanje da li primeniti BDOF s obzirom na GBi i LIC uslove. U ovom slučaju, uslov primene BDOF može da uključuje uslove date u Tabeli 12 dole.
[0300] [Tabela 12]
[0301] - sps_bdof_enabled_flag jednako je 1.
[0302] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0304] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0.
[0305] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0306] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0307] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0308] - LICFlag jednako je 0.
[0310] - cIdx jednako je 0.
[0312] Prema Tabeli 12 gore, da li primeniti BDOF može se odrediti dodavanjem LIC uslova (npr., LICFlag) zajedno sa uobičajenim GBi uslovom (npr., GbiIdx). Na primer, ako je GbiIdx jednako 0 (tj., ako je GbiIdx zadato), određuje se da je ispunjen uslov za postojanje GBi, a ako je LICFlag jednako 0 (tj., ako postoji LIC), može se odrediti da je ispunjen uslov za postojanje LIC.
[0313] Prema tome, u načinu ostvarivanja, zajedno sa GBi uslovom (npr., GbiIdx) i LIC uslovom (npr., LICFlag), da li primeniti BDOF može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 12 gore.
[0314] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 12 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom BDOF. Ako čak jedan od uslova navedenih u Tabeli 12 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 12 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0315] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u Tabeli 11 ili 12 gore može se nezavisno primeniti na DMVR i BDOF ili se može primeniti pod istim uslovom za DMVR i BDOF.
[0316] U međuvremenu, budući da DMVR i BDOF izvode informacije o pokretima pomoću postupka preciziranja u uređaju za dekodiranje, javlja se problem složenosti dekodiranja. Prema tome, ovo otkrivanje predlaže postupak koji može da smanji složenost dekodiranja omogućavanjem da se odredi da li primeniti DMVR i BDOF korišćenjem indeks spajanja. U ovom slučaju, budući i da DMVR i da BDOF izvode preciziranje vektora pokreta u ograničenom opsegu, efekat preciziranja može se smanjiti kada je vektor pokreta netačan. Prema tome, ovo otkrivanje predlaže postupak koji može ograničeno primeniti DMVR i BDOF samo ako je mala vrednost koja označava indeks spajanja s obzirom na efikasnost preciziranja.
[0317] Ovde, indeks spajanja može biti sintaksički element signaliziran iz uređaja za kodiranje uređaju za dekodiranje. Na primer, uređaj za kodiranje/dekodiranje može da konfiguriše listu kandidata spajanja na osnovu susednih blokova trenutnog bloka kada se režim spajanja/režim preskakanja primenjuje na trenutnom bloku. U ovom slučaju, uređaj za kodiranje može izabrati optimalnog kandidata spajanja među kandidatima spajanja uključenim u listu kandidata spajanja na osnovu troška distorzije brzine (RD) i informacija o indeksu spajanja signala koje naznačavaju odabranog kandidata spajanja uređaju za dekodiranje. Uređaj za dekodiranje može odabrati kandidat spajanja primenjen na trenutnom bloku na osnovu liste kandidata spajanja i informacija o indeksu spajanja.
[0318] Kao jedan način ostvarivanja ovog otkrivanja, postupak za određivanje da li primeniti DMVR korišćenjem indeksa spajanja, može da uključuje uslove date u Tabeli 13 dole.
[0319] [Tabela 13]
[0320] - sps_dmvr_enabled_flag postavlja se na 1.
[0322] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0323] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0324] - merge_idx[ xCb ][ yCb ] < 2.
[0325] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0326] - DiffPicOrderCnt (currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0327] - CbHeight je veće od ili jednako 8.
[0328] - CbHeight*CbWidth je veće od ili jednako 64.
[0330] Upućivanjem na Tabelu 13 gore, da li primeniti DMVR može se odrediti dodavanjem uslova za indeks spajanja (npr., merge_idx). Na primer, ako je indeks spajanja (npr., merge_idx) manji od 2, može se odrediti da je ispunjen uslov za indeks spajanja. Ovde, vrednost (prag) indeksa spajanja može se postaviti na 2, ali ovo je samo jedan primer i odgovarajuća vrednost može se promeniti u skladu sa efikasnošću kodiranja.
[0331] Prema tome, u načinu ostvarivanja, zajedno sa uslovom za indeks spajanja (npr., merge_idx), može se odrediti da li primeniti DMVR na osnovu preostalih uslova primene navedenih u Tabeli 13 gore.
[0332] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 13 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom DMVR. Ako čak jedan od uslova navedenih u Tabeli 13 gore nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 13 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0333] Kao jedan način ostvarivanja ovog otkrivanja, postupak za određivanje da li primeniti BDOF korišćenjem indeks spajanja može da uključuje uslove date u Tabeli 14 dole.
[0334] [Tabela 14]
[0336] - sps_bdof_enabled_flag jednako je 1.
[0337] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0338] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic,
[0341]
[0342] Upućivanjem na Tabelu 14 gore, da li primeniti BDOF može se odrediti dodavanjem uslova za primenu režima spajanja/režima preskakanja (npr., merge_flag) i uslova za indeks spajanja (npr., merge_idx). Na primer, ako merge_flag nije 1 (tj., kada se inter predikcija izvodi korišćenjem režima spajanja/režima preskakanja) i ako merge_idex nije jednak ili veći od 2, samo ako je vrednost indeksa spajanja mala, može se odrediti da je ispunjen uslov za ograničenu primenu BDOF. Drugim rečima, ako je merge _flag jednako 1 (tj., kada se inter predikcija izvodi korišćenjem režima spajanja/režima preskakanja) i ako je merge_idex manje od 2, samo ako je vrednost indeksa spajanja mala, može se odrediti da je uslov za indeks spajanja ispunjen i može se primeniti BDOF. Ovde, vrednost (prag) indeksa spajanja može se postaviti na 2, ali ovo je samo jedan primer i odgovarajuća vrednost može se promeniti u skladu sa efikasnošću kodiranja.
[0343] Drugim rečima, u načinu ostvarivanja, zajedno sa uslovom za primenu režima spajanja/režima preskakanja (npr., merge _flag) i uslovom za indeks spajanja (npr., merge_idx), da li primeniti BDOF može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 14 gore.
[0344] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 14 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom BDOF. Ako čak jedan od uslova navedeni u Tabeli 14 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 14 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0345] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u Tabeli 13 ili 14 gore može se nezavisno primeniti na DMVR i BDOF ili se može primeniti pod istim uslovom za DMVR i BDOF.
[0346] U međuvremenu, u režimu spajanja/preskakanja, informacije o pokretima mogu se precizirati pomoću MMVD i, u ovom slučaju, budući da složenost dekodiranja raste, DMVR se ne izvodi kada se primenjuje MMVD. Međutim, kad se primeni DMVR bez uzimanja u obzir MMVD, DMVR može se primeniti bez MMVD uslova razmatranjem poboljšanja performansi. U ovom slučaju, prema nekom načinu ostvarivanja ovog otkrivanja, uslov primene DMVR može da uključuje uslove date u Tabeli 15 dole.
[0347] [Tabela 15]
[0348] - sps_dmvr_enabled_flag postavlja se na 1.
[0350] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0352] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0354] - DiffPicOrderCnt (currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0355] - CbHeight je veće od ili jednako 8.
[0356] - CbHeight*CbWidth je veće od ili jednako 64.
[0358] Upućivanjem na Tabelu 15 gore, može se isključiti uslov (npr., mmvd _flag) za primenu MMVD režima među uslovima primene uobičajenog DMVR. Drugim rečima, može se izostaviti postupak za određivanje da li je mmvd_flag jednako 0 (tj., da li se MMVD režim ne koristi) i da li primeniti DMVR može se odrediti na osnovu uslova navedenih u Tabeli 15 gore.
[0359] Drugim rečima, uređaj za dekodiranje može da odredi da li su ispunjeni svi uslovi navedeni u Tabeli 15 gore (isključujući uslov (npr., mmvd_flag) za primenu MMVD režima) i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom DMVR. Ako čak jedan od uslova navedenih u Tabeli 15 gore nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 15 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0360] Dalje, nasuprot načinu ostvarivanja iz Tabele 15 opisane gore, kada se informacije o pokretima preciziraju pomoću MMVD u režimu spajanja/preskakanja, da li se izvodi BDOF može se odrediti razmatranjem složenosti dekodiranja. Prema tome, ovo otkrivanje predlaže postupak za određivanje da li primeniti BDOF razmatranjem MMVD uslova. U ovom slučaju, prema nekom načinu ostvarivanja ovog otkrivanja, uslov primene BDOF može da uključuje uslove date u Tabeli 16 dole.
[0361] [Tabela 16]
[0362] - sps_bdof_enabled_flag jednako je 1.
[0363] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0364] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0.
[0365] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0366] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0368] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0369] - mmvd_flag[ xCb ][ yCb ] jednako je 0
[0370] - cIdx jednako je 0.
[0372] [0175] Upućivanjem na Tabelu 16 gore, BDOF ne može da se primeni kada se informacije o pokretima preciziraju pomoću MMVD dodavanjem uslova (npr., mmvd_flag) za primenu MMVD režima. Na primer,
kada je mmvd_flag jednako 0 (tj., kada se MMVD režim ne koristi), može se odrediti da je ispunjen uslov za primenu MMVD režima.
[0373] Prema tome, u načinu ostvarivanja, zajedno sa uslovom (npr., mmvd_flag) za primenu MMVD režima, da li primeniti BDOF može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 16 gore.
[0374] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 16 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom BDOF. Ako čak jedan od uslova navedenih u Tabeli 16 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 16 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0375] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u Tabeli 15 ili 16 gore može se nezavisno primeniti na DMVR i BDOF ili može se primeniti pod istim uslovom za DMVR i BDOF.
[0376] U međuvremenu, u slučaju AMVP, može se primeniti tehnika rezolucije adaptivnog vektora pokreta (AMVR). U ovom slučaju, ako je rezolucija vektora pokreta visoka, tj., kada je obezbeđeno celobrojno-pel zaokruživanje ili 4 celobrojno-pel zaokruživanje, možda nije prikladno primeniti tehniku u slučaju BDOF za izvođenje preciziranja u ograničenoj oblasti. Prema tome, ovo otkrivanje predlaže postupak koji može da odredi izvođenje BDOF u skladu sa AMVR uslovom. U ovom slučaju, prema nekom načinu ostvarivanja ovog otkrivanja, uslov primene BDOF može da uključuje uslove date u Tabeli 17 dole.
[0377] [Tabela 17]
[0378] - sps_bdof_enabled_flag jednako je 1.
[0379] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0380] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0.
[0381] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0383] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0384] - amvr_flag != 0
[0385] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0386] - cIdx jednako je 0.
[0387] Upućivanjem na Tabelu 17 gore, da li primeniti BDOF može se odrediti dodavanjem AMVR uslova (npr., amvr_flag). Ovde, amvr_flag mogu biti informacije koje predstavljaju rešenje rastojanja vektora pokreta (MVD). Na primer, u slučaju gde je amvr_flag jednako 0, slučaj može da ukazuje na to da se rezolucija MVD izvodi u jedinicama 1/4 uzorka (četvrtina-luma-uzorka), a u slučaju gde amvr_flag nije jednako 0, slučaj može da ukazuje na to da se rezolucija MVD izvodi u jedinicama celobrojnog-lumauzorka ili četiri-luma-uzorka. Alternativno, tome obrnuti slučaj može se odrediti. Prema nekom načinu ostvarivanja, kao što je prikazano u Tabeli 20 gore, u slučaju gde amvr_flag nije jednako 0, može se postaviti uslov da se BDOF primenjuje. Drugim rečima, u slučaju gde je amvr_flag jednako 0, može se ograničiti da se ne primenjuje BDOF.
[0388] Prema tome, u načinu ostvarivanja, zajedno sa AMVR uslovom (npr., amvr_flag), može se odrediti da li primeniti BDOF na osnovu preostalih uslova primene navedenih u Tabeli 17 gore.
[0389] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 17 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom BDOF. Ako čak jedan od uslova navedenih u Tabeli 17 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 17 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0390] U međuvremenu, DMVR i BDOF mogu se signalizirati u sintaksi skupa parametara za sekvencu (SPS). Tabela 18 dole prikazuje jedan primer sintaksičkog elementa koji pokazuje da li je omogućen DMVR signaliziran preko SPS sintakse i da li je omogućen BDOF.
[0391] [Tabela 18]
[0392] seq_parameter_set_rbsp( ) { Deskriptor
[0395]
[0398] Upućivanjem na Tabelu 18 gore, sps_dmvr_enabled_flag može se signalizirati u SPS sintaksi i da li je DMVR zasnovan na pravoj bi-predikciji omogućen može se predstaviti na osnovu sintaksičkog elementa. Na primer, u slučaju gde je sps_dmvr_enabled_flag jednako 1, slučaj može da pokazuje da je omogućen DMVR zasnovan na pravoj bi-predikciji i u slučaju gde je sps_dmvr_enabled_flag jednako 0, slučaj može da pokazuje da nije omogućen DMVR zasnovan na pravoj bi-predikciji.
[0399] Dalje, sps_bdof_enabled_flag može se signalizirati u SPS sintaksi i da li je omogućen BDOF zasnovan na pravoj bi-predikciji može se predstaviti na osnovu sintaksičkog elementa. Na primer, u slučaju gde je sps_bdof_enabled_flag jednako 1, slučaj može da pokazuje da je omogućen BDOF zasnovan na pravoj bi-predikciji, a u slučaju gde je sps_bdof_enabled_flag jednako 0, slučaj može da pokazuje da nije omogućen BDOF zasnovan na pravoj bi-predikciji.
[0400] Kao što je prikazano in Tabeli 18, uslovi primene DMVR i BDOF mogu se proveriti korišćenjem sintaksičkog elementa (npr., sps_dmvr_enabled _flag) koji predstavlja da li je omogućen DMVR i sintaksičkog elementa (npr., sps_bdof_enabled_flag) koji predstavlja da li je omogućen BDOF.
[0401] FIG.6 prikazuje jedan primer koji prikazuje postupak za izvođenje postupka dekodiranja proverom uslova primene DMVR i BDOF.
[0402] Kao što je prikazano u Tabeli 18, postupak sa FIG.6 može se primeniti prilikom korišćenja sintaksičkog elementa (npr., sps_dmvr_enabled_flag) koji predstavlja da li je omogućen DMVR i sintaksičkog elementa (npr., sps_bdof_enabled _flag) koji predstavlja da li je omogućen BDOF.
[0403] Upućivanjem na FIG.6, uređaj za dekodiranje može izvesti informacije o pokretima (npr., vektor pokreta, indeks referentne slike, itd.) za trenutni blok (S600).
[0404] Uređaj za dekodiranje može da proveri primenu DMVR (S610). U ovom slučaju, uslov primene DMVR može se proveriti na osnovu sintaksičkog elementa (npr., sps_dmvr_enabled_flag) koji predstavlja da li je omogućen DMVR. Na primer, kada je omogućen DMVR (npr., kada je sps_dmvr_enabled_flag jednako 1), može se proveriti uslov primene DMVR.
[0405] Uređaj za dekodiranje može da odredi da li se primenjuje DMVR postupak u skladu s tim da li je ispunjen uslov primene DMVR (S620).
[0406] Ako su ispunjeni svi uslovi primene DMVR, uređaj za dekodiranje može izvesti informacije o preciziranim pokretima primenom DMVR postupka (S630). Ako najmanje jedan od uslova primene DMVR nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR postupak.
[0407] Uređaj za dekodiranje može da izvede uzorke predikcije trenutnog bloka na osnovu informacija o pokretima izvedenih (nisu precizirani) kada se informacije o preciziranim pokretima ili DMVR izveden pri primeni DMVR ne primenjuje (S640).
[0408] Pored toga, uređaj za dekodiranje može da proveri uslov primene BDOF (S650). U ovom slučaju, uslov primene BDOF DMVR može se proveriti na osnovu sintaksičkog elementa (npr., sps_bdof_enabled _flag) koji predstavlja da li je omogućen BDOF. Na primer, ako je omogućen DMVR (npr., ako je sps_bdof_enabled_flag jednako 1), može se proveriti uslov primene DMVR.
[0409] Ako su ispunjeni svi uslovi primene BDOF, uređaj za dekodiranje može da precizira uzorke predikcije primenom BDOF postupka (S670). Ako najmanje jedan od uslova primene BDOF nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF postupak.
[0410] Uređaj za dekodiranje može izvesti rezidualne uzorke za trenutni blok (S680) i izvesti rekonstruisane uzorke na osnovu preciziranih uzoraka predikcije izvedenih prilikom primene rezidualnih uzoraka i BDOF ili uzoraka predikcije (nisu precizirani) izvedenih kada se ne primenjuje BDOF (S690).
[0411] Ovo otkrivanje predlaže različite načine ostvarivanja koji mogu da poboljšaju efikasnost kodiranja i smanje složenost harmonizacijom uslova uzajamne primene DMVR i BDOF u vreme primene DMVR i BDOF kao što je prethodno opisano. Prilikom provere uslova primene DMVR i BDOF prema načinima ostvarivanja ovog otkrivanja i primenom uslova primene na postupak dekodiranja, odgovarajući uslovi mogu se odvojeno proveriti i primeniti, ali uslovi primene mogu se proveriti odjednom kako bi se poboljšala efikasnost kodiranja. Drugim rečima, ovo otkrivanje predlaže postupak koji može da integriše i proveri uslove primene DMVR i BDOF odjednom.
[0412] Kao jedan način ostvarivanja ovog otkrivanja, informacije (npr., ) koje pokazuju da li primeniti preciziranje u uređaju za dekodiranje u sintaksi skupa parametara za sekvencu (SPS) signaliziraju se kako bi se izveo postupak provere uslova primene DMVR/BDOF. Dalje, Tabela 19 prikazuje jedan primer sintaksičkog elementa (npr., sps_refinement_enabled_flag) koji predstavlja da li primeniti preciziranje u uređaju za dekodiranje signaliziranom pomoću SPS sintakse.
[0413] [Tabela 19]
[0416]
[0419] [0199] Upućivanjem na Tabelu 19 gore, sps_refinement_enabled_flag može se signalizirati u SPS sintaksi i može da pokazuje da li je preciziranje primenljivo u uređaju za dekodiranje na osnovu sintaksičkog elementa. Na primer, ako sps_refinement_enabled_flag postoji (tj., ako je sps_refinement_enabled_flag tačno), može se odrediti da je preciziranje primenljivo u uređaju za dekodiranje. U ovom slučaju, uređaj za dekodiranje dobija sps_dmvr_enabled_flag sintaksički element koji pokazuje da li je DMVR omogućen
i sps_bdof_enabled_flag sintaksički element koji pokazuje da li je BDOF omogućen kako bi se odredili uslovi primene DMVR i BDOF.
[0420] FIG.7 i 8 prikazuju drugi primer koji ilustruje postupak za izvođenje postupka dekodiranja proverom uslova primene DMVR i BDOF.
[0421] Postupak sa FIG.7 i postupak sa FIG.8 mogu se primeniti ako se koristi sintaksički element (npr., sps_refinement_enabled_flag) koji pokazuje da li je preciziranje primenljivo u uređaju za dekodiranje, kao što je prikazano u Tabeli 19 gore. Dalje, biće izostavljen opis dupliranog sadržaja na FIG.7 i 8 sa FIG.
[0422] 6 opisane gore.
[0423] Upućivanjem na FIG.7, može se videti da se uslovi primene proveravaju odjednom u prethodnoj fazi bez provere odgovarajućih uslova primene DMVR i BDOF poređenjem sa postupkom na FIG.6 gore. Kao jedan način ostvarivanja, u fazi S710 sa FIG.7, uređaj za dekodiranje može da proverava preciziranje uslova primene. U ovom slučaju, preciziranje uslova primene može se proveriti na osnovu sps_refinement_enabled_flag prikazanog u Tabeli 19 gore. Na primer, uređaj za dekodiranje može da dobije sps_dmvr_enabled_flag sintaksički element koji pokazuje da li je DMVR omogućen i sps_bdof_enabled_flag sintaksički element koji pokazuje da li je BDOF omogućen ako je sps_refinement_enabled_flag jednako 1 i da proveri uslove primene DMVR i BDOF na osnovu dobijenih sintaksičkih elemenata.
[0424] Dalje, upućivanjem na FIG.8, uslovi primene se proveravaju odjednom u prethodnoj fazi bez provere odgovarajućih uslova primene DMVR i BDOF poređenjem sa postupkom sa FIG.6 gore i postupak provere uzoraka (uslov primene BDOF) može se izvesti u odnosu na drugačiji uslov. Kao jedan način ostvarivanja, u fazi S810 sa FIG.8, uređaj za dekodiranje može da proverava uslov primene preciziranja. Nakon toga, u fazi S850 na FIG.8, uređaj za dekodiranje može da dodatno, jednostavno proveri uslov primene BDOF koji ima uslov koji se razlikuje od uslova primene preciziranja.
[0425] U međuvremenu, ako je visina ili veličina (Visina * Širina) trenutnog bloka manja od određene dužine ili određene veličine, odnos izračunavanja množenje/sabiranje za kompenzaciju pokreta raste. Prema tome, u nekom načinu ostvarivanja ovog otkrivanja, primena BDOF na blok koji ima malu visinu ili malu veličinu može se ograničiti kao u uslovu primene DMVR kako bi se smanjio najgori slučaj. U ovom slučaju, uslov primene BDOF može da uključuje uslove date u Tabeli 20 dole.
[0426] [Tabela 20]
[0427] - sps_bdof_enabled_flag jednako je 1.
[0429] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0431] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0.
[0432] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0433] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0434] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0436] - CbHeight je veće od ili jednako 8. : U slučaju da je dužina bloka (ili veličina) veća od Praga (ovde, Prag može biti različito prikazan)
[0437] - CbHeight*CbWidth je veće od ili jednako 64. : U slučaju da je veličina bloka (ili dimenzija) veća od Praga (ovde, Prag može biti različito prikazan)
[0438] - cIdx jednako je 0.
[0440] Upućivanjem na Tabelu 20 gore, BDOF ne može da se primeni na bloku koji je manji od određene veličine dodavanjem uslova (npr., CbHeight i CbWidth) koji se odnose na veličinu trenutnog bloka. Na primer, mogu da se koriste uslov primenjen ako je visina trenutnog bloka (npr., CbHeight) jednaka ili veća od 8 i uslov primenjen ako je veličina trenutnog bloka (npr., CbHeight* CbWidth) jednaka ili veća od 64. Ako su ispunjeni uslovi primene koji se odnose na veličinu trenutnog bloka (tj., ako je visina trenutnog bloka jednaka ili ako je veća od 8 i visina * širina trenutnog bloka jednaka ili veća od 64), BDOF se može primeniti, a ako uslovi primene koji se odnose na veličinu trenutnog bloka nisu ispunjeni, BDOF se ne može primeniti.
[0441] Dalje, u načinu ostvarivanja, zajedno sa uslovima (npr., CbHeight i CbHeight*CbWidth) koji se odnose na veličinu trenutnog bloka, da li primeniti BDOF može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 20 gore.
[0442] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 20 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom BDOF. Ako čak jedan od uslova navedenih u Tabeli 20 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 20 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0443] [0208] U međuvremenu, ako je MMVD primenjen na trenutnom bloku, informacije o pokretima mogu se izvesti na osnovu informacija (npr., mmvd indeks) o MMVD. Ovde, informacije o MMVD mogu da uključuju indeks osnovnog MV, indeks rastojanja, indeks pravca, i slično. Određenije, indeks rastojanja (određenije, mmvd_distance_index[xCb][yCb]) može da se koristi za pokazivanje rastojanja od osnovnog MV i, na primer, indeksi rastojanja 0 do 7 mogu se predstaviti kao {1/4, 1/2, 1, 2, 4, 8, 16, 32}, tim redom. U određivanju preciziranja informacija o pokretima u DMVR i BDOF, da li se preciziranje izvodi s obzirom na susedni piksel (susedni uzorak) i, u ovom slučaju, ako je rastojanje između susednog piksela i
osnovnog MV veliko, vrednost indeksa rastojanja takođe raste. U takvom slučaju, teško je da razmatranje susednog piksela pomaže u poboljšanju performansi DMVR i BDOF. Prema tome, ovo otkrivanje predlaže postupak koji može da odredi da li primeniti DMVR i BDOF prema vrednosti indeksa rastojanja (određenije, mmvd_distance_index[xCb][yCb]).
[0444] Kao jedan način ostvarivanja ovog otkrivanja, da li primeniti DMVR može se odrediti razmatranjem indeksa rastojanja i, u ovom slučaju, uslov primene DMVR može da uključuje uslove date u Tabeli 21 dole.
[0445] [Tabela 21]
[0446] - sps_dmvr_enabled_flag postavlja se na 1.
[0448] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0449] - mmvd_flag[ xCb ][ yCb ] jednako je 1 i mmvd_distance_index[ xCb ][ yCb ] > 4.
[0450] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0451] - DiffPicOrderCnt (currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0452] - CbHeight je veće od ili jednako 8.
[0454] - CbHeight*CbWidth je veće od ili jednako 64.
[0456] Upućivanjem na Tabelu 21 gore, uslov (npr., mmvd_flag) koji se odnosi na MMVD među uslovima primene DMVR menja se da bi se ograničeno primenio DMVR u MMVD režimu. Na primer, ako je mmvd_flag jednako 1 i mmvd_distance_index veći od 4, može se odrediti da je ispunjen uslov indeksa rastojanja za MMVD. Prema tome, ako je MMVD režim primenjen, da li primeniti DMVR može se odrediti prema vrednosti indeksa rastojanja (određenije, mmvd_distance_index[xCb][yCb]).
[0457] Ovde, vrednost (prag) mmvd_distance_index može se postaviti na 4, ali ovo je samo jedan primer te odgovarajuća vrednost može se promeniti na različite vrednosti u skladu sa performansama i efikasnošću kodiranja.
[0458] Prema tome, u načinu ostvarivanja, zajedno sa uslovom (npr., mmvd_flag) za primenu MMVD i uslovom indeksa rastojanja (npr., mmvd_distance_index) za MMVD, da li primeniti DMVR može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 21 gore.
[0459] [0213] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 21 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom DMVR. Ako čak jedan od uslova navedenih u Tabeli 21 gore nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele
21 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0460] Dalje, kao jedan način ostvarivanja ovog otkrivanja, da li primeniti BDOF može se odrediti razmatranjem indeksa rastojanja i, u ovom slučaju, uslov primene BDOF može da uključuje uslove date u Tabeli 22 dole.
[0461] [Tabela 22]
[0462] - sps_bdof_enabled_flag jednako je 1.
[0463] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0464] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0.
[0465] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0466] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0467] - !merge_flag ∥ (merge_flag && mmvd_flag[ xCb ][ yCb ] jednako je 1 i mmvd_distance_index[ xCb ][ yCb ] > 4)
[0468] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0470] - cIdx jednako je 0.
[0472] Upućivanjem na Tabelu 22 gore, BDOF može se ograničeno primeniti u MMVD režimu dodavanjem uslova za primenu režima spajanja/režima preskakanja (npr., merge _flag) i uslova (npr., mmvd_flag i mmvd_distance_index) koji se odnose na MMVD. Na primer, ako merge _flag ne postoji (tj., ako merge _flag nije jednako 1) ili ako je merge _flag jednako 1, mmvd_flag jednako 1 i mmvd_distance_index veći od 4, može se odrediti da je ispunjen uslov ograničene primene BDOF u MMVD režimu. Prema tome, ako je primenjen MMVD režim, da li primeniti BDOF može se odrediti prema vrednosti indeksa rastojanja (npr., mmvd_distance_index[xCb][yCb]).
[0473] Ovde, vrednost (praga) mmvd_distance_index može se postaviti na 4, ali ovo je samo jedan primer i odgovarajuća vrednost može se promeniti u različite vrednosti u skladu sa performansama i efikasnošću kodiranja.
[0474] Prema tome, u načinu ostvarivanja, zajedno sa uslovom za primenu režima spajanja/režima preskakanja (npr., merge _flag) i uslovom koji se odnosi na MMVD (npr., mmvd_flag, mmvd_distance_index), da li primeniti BDOF može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 22 gore.
[0475] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 22 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom BDOF. Ako čak jedan od uslova navedenih u Tabeli 22 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 22 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0476] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u Tabeli 21 ili 22 gore može se nezavisno primeniti na DMVR i BDOF ili se može primeniti pod istim uslovom za DMVR i BDOF.
[0477] U međuvremenu, kombinovani režim intra-inter predikcije (CIIP) istovremenog izvođenja intra predikcije i inter predikcije može se primeniti na trenutnom bloku kao što je prethodno opisano. U ovom slučaju, blok za predikciju (inter blok) u kojem se izvodi inter predikcija kombinuje se sa postupkom intra predikcije da bi se konačno generisale vrednosti uzorka predikcije, čime se poboljšava tačnost predikcije. Međutim, budući da su DMVR i BDOF tehnike preciziranja inter bloka, primena CIIP režima možda nije potrebna u smislu performansi u poređenju sa složenošću. Prema tome, ovo otkrivanje predlaže postupak koji može da odredi da li primeniti DMVR i BDOF razmatranjem CIIP.
[0478] Kao jedan način ostvarivanja ovog otkrivanja, da li primeniti DMVR može se odrediti razmatranjem CIIP i, u ovom slučaju, uslov primene DMVR može da uključuje uslove date u Tabeli 23 dole.
[0479] [Tabela 23]
[0480] - sps_dmvr_enabled_flag postavlja se na 1.
[0481] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0482] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0484] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0485] - DiffPicOrderCnt (currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0486] - CbHeight je veće od ili jednako 8.
[0487] - CbHeight*CbWidth je veće od ili jednako 64.
[0488] - ciip_flag jednako je 0. : To jest, ako se ne primenjuje CIIP, DMVR se može primeniti.
[0490] [0222] Upućivanjem na Tabelu 23 gore, DMVR se može ograničeno primeniti u skladu s tim da li primeniti CIIP dodavanjem uslova za primenu CIIP režima (npr., ciip_flag). Na primer, ako je ciip_flag
jednako 0 (tj., ako se CIIP režim ne primenjuje), DMVR se može primeniti određivanjem da li je ispunjen uslov za primenu CIIP režima.
[0491] Prema tome, u načinu ostvarivanja, zajedno sa uslovom (npr., ciip_flag) za primenu CIIP režima, da li primeniti DMVR može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 23 gore.
[0492] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 23 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju primenom DMVR. Ako čak jedan od uslova navedenih u Tabeli 23 gore nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 23 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0493] Dalje, kao jedan način ostvarivanja ovog otkrivanja, da li primeniti BDOF može se odrediti razmatranjem CIIP i, u ovom slučaju, uslov primene BDOF može da uključuje uslove date u Tabeli 24 dole.
[0494] [Tabela 24]
[0495] - sps_bdof_enabled_flag jednako je 1.
[0496] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0498] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0.
[0499] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0500] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0501] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0502] - ciip_flag jednako je 0. : To jest, ako se ne primenjuje CIIP, BDOF se može primeniti.
[0504] - cIdx jednako je 0.
[0506] Upućivanjem na Tabelu 24 gore, BDOF može se ograničeno primeniti u skladu s tim da li primeniti CIIP dodavanjem uslova za primenu CIIP režima (npr., ciip_flag). Na primer, ako je ciip_flag jednako 0 (tj., ako se CIIP režim ne primenjuje), BDOF se može primeniti određivanjem da je ispunjen uslov za primenu CIIP režima.
[0507] Prema tome, u načinu ostvarivanja, zajedno sa uslovom (npr., ciip_flag) za primenu CIIP režima, da li primeniti BDOF može se odrediti na osnovu preostalih uslova primene navedenih u Tabeli 24 gore.
[0508] [0228] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u Tabeli 24 gore ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da primeni pravu bi-predikciju
primenom BDOF. Ako čak jedan od uslova navedenih u Tabeli 24 gore nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje može, takođe, da primeni uslove iz Tabele 24 gore i uređaj za kodiranje može da primeni pravu bi-predikciju pomoću odgovarajućeg postupka u uređaju za dekodiranje.
[0509] Postupak za izvođenje prave bi-predikcije na osnovu uslova navedenih u Tabeli 23 ili 24 gore može se nezavisno primeniti na DMVR i BDOF ili se može primeniti pod istim uslovom za DMVR i BDOF.
[0510] Postupci navedeni u Tabelama 3 do 24 prema načinu ostvarivanja ovog otkrivanja opisanom gore mogu se primeniti u kombinaciji. Drugim rečima, da li primeniti DMVR i BDOF može se odrediti proverom uslova primene preciziranja i uslovi prikazani u Tabeli 25 dole mogu se primeniti.
[0511] [Tabela 25]
[0512] DMVR - sps_dmvr_enabled_flag postavlja se na 1.
[0513] - merge_flag[ xCb ][ yCb ] jednako je 1.
[0515] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0516] - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0517] - DiffPicOrderCnt (currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0519] - CbHeight je veće od ili jednako 8.
[0520] - CbHeight*CbWidth je veće od ili jednako 64.
[0521] BDOF - sps_bdof_enabled_flag jednako je 1.
[0522] - predFlagL0[ xSbIdx ][ ySbIdx ] i predFlagL1[ xSbIdx ][ ySbIdx ] jednaki su 1.
[0523] - DiffPicOrderCnt( currPic, refPicList0[ refIdxL0 ] ) * DiffPicOrderCnt( currPic, refPicList1[ refIdxL1 ] ) je manje od 0.
[0524] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0526] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0527] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0528] - cIdx jednako je 0.
[0529] DMVR - predFlagL0[0][0]=1 i predFlagL0[1][1]=1.
[0530] BDOF - DiffPicOrderCnt (currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt (currPic, RefPicList1 [ refIdxL1 ] ) jednako je 0.
[0531] - mmvd_flag[ xCb ][ yCb ] jednako je 0.
[0532] - MotionModelIdc[ xCb ][ yCb ] jednako je 0.
[0534] - merge_subblock_flag[ xCb ][ yCb ] jednako je 0.
[0536] - GbiIdx[ xCb ][ yCb ] jednako je 0.
[0538] Upućivanjem na Tabelu 25 gore, mogu da se koriste uslov u bilateralnoj predikciji kada je DMVR ili BDOF primenjen, uslov primenjen u slučaju prave bi-predikcije u kojoj su rastojanja između trenutne slike i bilateralnih referentnih slika ista, uslov primenjen ako se ne koristi MMVD režim, uslov primenjen ako se ne izvodi afina predikcija, uslov primenjen ako se primenjuje režim spajanja na osnovu podblokova i uslov primenjen ako je zadat GBi indeks. Drugim rečima, da li primeniti DMVR ili BDOF može se odrediti u skladu s tim da li su ispunjeni uslovi.
[0539] Dalje, može se dodati uslov za određivanje da li se primenjuje režim spajanja za DMVR ili određivanje da li trenutni blok predstavlja luma blok za BDOF.
[0540] Uslovi primene navedeni u Tabeli 25 gore su primeri i očigledno je da se različiti uslovi navedeni u gorepomenutim načinima ostvarivanja (načini ostvarivanja u Tabelama 3 do 24 gore) mogu koristiti u kombinaciji.
[0541] FIG.9 je dijagram toka koji šematski prikazuje postupak za kodiranje koji se može izvesti pomoću uređaja za kodiranje prema nekom načinu ostvarivanja ovog otkrivanja.
[0542] Postupak otkriven na FIG.9 može se izvesti pomoću uređaja 200 za kodiranje opisanog na FIG.2. Određenije, faze S900 do S930 sa FIG.9 mogu se izvesti pomoću prediktora 220 i inter prediktora 221 opisanog na FIG.2, a faza S940 sa FIG.9 može se izvesti pomoću rezidualnog procesora 230 opisanog na FIG.2, dok se faza S850 sa FIG.9 može izvesti pomoću entropijskog kodera 240 opisanog na FIG.2. Dalje, postupak opisan na FIG.9 može da uključuje prethodno opisane načine ostvarivanja u ovom otkrivanju. Prema tome, biće izostavljeno ili pojednostavljeno detaljno objašnjenje sadržaja duplirano za prethodno opisane načine ostvarivanja na FIG.9.
[0543] Upućivanjem na FIG.9, uređaj za kodiranje može da odredi da li je ispunjen uslov primene DMVR za primenu preciziranja vektora pokreta na trenutnom bloku (S900).
[0544] Odnosno, uređaj za kodiranje može da odredi da li se primenjuje preciziranje vektora pokreta uzimajući u obzir efikasnost kodiranja, složenost i performanse predikcije. U ovom slučaju, uređaj za kodiranje može da odredi da li primeniti preciziranje na trenutnom bloku korišćenjem različitih uslova primene opisanih u Tabeli 1 do Tabele 25 kao gore.
[0545] [0238] Kao jedan način ostvarivanja, uređaj za kodiranje može, kao uslov primene DMVR, da koristi da li se režim predikcije u kojem se kombinuju inter predikcija i intra predikcija primenjuje na trenutnom bloku. Odnosno, ako se režim predikcije u kojem se kombinuju inter predikcija i intra predikcija ne
primenjuje na trenutnom bloku, uređaj za kodiranje može da odredi da je ispunjen uslov primene DMVR.
[0546] Ovde, da li se režim predikcije u kojem se kombinuju inter predikcija i intra predikcija primenjuje na trenutnom bloku može se predstaviti informacijama o zastavici kombinovane inter i intra predikcije (CIIP) (npr., ciip_flag). Na primer, ako je vrednost ciip_flag jednaka 0, može se pokazati da CIIP režim (tj., režim predikcije u kojem se kombinuju inter predikcija i intra predikcija) nije primenjen na trenutnom bloku, dok ako je vrednost ciip_flag jednaka 1, može se pokazati da se CIIP režim primenjuje na trenutnom bloku. Alternativno se može odrediti obrnuto.
[0547] Uređaj za kodiranje može da odredi vrednost ciip_flag zavisno od toga da li se CIIP režim primenjuje na trenutnom bloku, i da kodira i signalizira ove informacije uređaju za dekodiranje.
[0548] Dalje, prema nekom načinu ostvarivanja, uređaj za kodiranje može dalje da uključuje sledeće uslove kao uslove primene DMVR.
[0550] 1) Slučaj gde je DMVR-zasnovana inter bi-predikcija omogućena, na primer, slučaj gde je vrednost sps_dmvr_enabled_flag jednaka 1
[0552] 2) Slučaj gde je režim spajanja primenjen na trenutnom bloku, na primer, slučaj gde je vrednost merge _flag jednaka 1
[0554] 3) Slučaj gde je režim spajanja sa režimom razlike vektora pokreta (MMVD) nije primenjen na trenutnom bloku, na primer, slučaj gde je vrednost mmvd_flag jednaka 0
[0556] 4) Slučaj gde je bi-predikcija koja je izvedena na osnovu L0 referentne slike i L1 referentne slike primenjena na trenutnom bloku, na primer, slučaj predFlagL0[0][0]=1 i predFlagL0[1][1]=1
[0557] 5) Slučaj gde su rastojanje od L0 referentne slike i rastojanje od L1 referentne slike međusobno ista na osnovu trenutne slike, na primer, slučaj gde je DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList1 [ refIdxL1 ] ) jednako 0
[0559] 6) Slučaj gde je vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednako je 0, na primer, slučaj gde je GbiIdx jednako 0
[0561] 7) Slučaj gde je visina trenutnog bloka jednaka ili veća od 8, na primer, slučaj gde je CbHeight jednako ili veće od 8
[0563] 8) Slučaj gde je širina trenutnog bloka jednaka ili veća od 8, na primer, slučaj gde je CbWidth jednako ili veće od 8, i
[0564] 9) Slučaj gde je visina x širina trenutnog bloka veća od 8x8, na primer, slučaj gde je CbHeight * CbWidth veće od 64
[0566] Uređaj za kodiranje može da odredi da je uslov primene DMVR ispunjen u slučaju da je ispunjeno najmanje jedno ili sve od 1) do 9).
[0567] Ovde, u određivanju da li je ispunjen uslov primene DMVR, nabrojani uslovi DMVR primene su samo primerni, i uslovi u Tabeli 1 do Tabele 25, kao što je prethodno opisano, mogu se kombinovati i koristiti na razne načine.
[0568] Ako se odredi da su ispunjeni uslovi primene CIIP režima i/ili uslovi DMVR primene od 1) do 9), uređaj za kodiranje može da odredi minimalni zbir apsolutnih razlika (SAD) na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka (S910). Uređaj za kodiranje može izvesti preciziran L0 vektor pokreta i preciziran L1 vektor pokreta trenutnog bloka na osnovu minimalnog SAD (S920).
[0569] Ovde, L0 vektor pokreta i L1 vektor pokreta mogu biti vektor pokreta u L0 pravcu predikcije i vektor pokreta u L1 pravcu predikcije izvedeni primenom režima spajanja / režima preskakanja na trenutnom bloku. Na primer, uređaj za kodiranje može da odredi da li je primenjen režim preskakanja ili režim spajanja na trenutnom bloku. U slučaju da je režim preskakanja ili režim spajanja primenjen na trenutnom bloku, uređaj za kodiranje može da konstruiše listu kandidata spajanja na osnovu susednih blokova trenutnog bloka. Istovremeno, moguće je izvesti referentni blok koji ima razliku od trenutnog bloka, koja je minimalna ili jednaka ili manja od određene reference, među referentnim blokovima naznačenih kandidatima spajanja uključenim u listu kandidata spajanja. U ovom slučaju, može se odabrati kandidat spajanja koji se odnosi na izvedeni referentni blok, i informacije o indeksu spajanja koje naznačavaju odabranog kandidata spajanja mogu se generisati i signalizirati uređaju za dekodiranje. Istovremeno, informacije o pokretima (vektor pokreta, indeks referentne slike, i slično) trenutnog bloka mogu se izvesti korišćenjem informacija o pokretima (vektor pokreta, indeks referentne slike, i slično) izabranog kandidata spajanja. Drugim rečima, L0 vektor pokreta i L1 vektor pokreta trenutnog bloka može se izvesti na osnovu vektora pokreta susednog bloka naznačenog indeksom spajanja među susednim blokovima trenutnog bloka.
[0570] Dalje, na primer, u slučaju da je režim spajanja primenjen na trenutnom bloku, uređaj za kodiranje može da odredi da li je bi-predikcija primenjena na kandidatu spajanja (tj., susedni blok) koji je naznačen indeksom spajanja. U slučaju da je bi-predikcija primenjena na susednom bloku koji je naznačen indeksom spajanja, uređaj za kodiranje može izvesti informacije o pokretima koje uključuju vektor pokreta u L0 pravcu predikcije i vektor pokreta u L1 pravcu predikcije susednog bloka koji je naznačen indeksom spajanja.
[0571] [0247] Kao jedan način ostvarivanja, uređaj za kodiranje može izračunati površinu uzorka koja ima minimalni SAD između uzoraka predikcije (tj., L0 uzorci predikcije) u L0 referentnoj slici izvedenoj na
osnovu L0 vektora pokreta i uzoraka predikcije (tj., L1 uzorci predikcije) u L1 referentnoj slici izvedenoj na osnovu L1 vektora pokreta. Dalje, uređaj za kodiranje može da izvede DMVR-zasnovano preciziranje za L0 vektor pokreta i L1 vektor pokreta na osnovu površine uzorka koja ima minimalno SAD. Budući da je postupak izračunavanja minimalnog SAD i izvođenja preciziranja objašnjen upućivanjem na FIG.4 i 5, biće izostavljen njegov detaljni opis.
[0572] Istovremeno, u izvođenju DMVR-zasnovanog preciziranja, uređaj za kodiranje može izvesti preciziran L0 vektor pokreta i preciziran L1 vektor pokreta izvođenjem preciziranja u slučaju da su rastojanje između L0 referentne slike i trenutne slike i rastojanje između L1 referentne slike i trenutne slike međusobno ista.
[0573] Uređaj za kodiranje može izvesti uzorke predikcije za trenutni blok na osnovu preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta (S930).
[0574] Prema nekom načinu ostvarivanja, uređaj za kodiranje može da odredi da li je ispunjen uslov primene BDOF za primenu preciziranja na uzorcima predikcije trenutnog bloka. Odnosno, uređaj za kodiranje može primeniti preciziranje na signalu predikcije s obzirom na efikasnost kodiranja, složenost i performanse predikcije. U ovom slučaju, uređaj za kodiranje može da odredi da li primeniti preciziranje na uzorcima predikcije trenutnog bloka korišćenjem različitih uslova primene objašnjenih upućivanjem na Tabelu 1 do Tabele 25 kao gore.
[0575] Na primer, kao uslov primene BDOF, uređaj za kodiranje može da koristi da li je režim predikcije u kojem se kombinuju inter predikcija i intra predikcija, primenjen na trenutnom bloku. Kao što je prethodno opisano, u slučaju da je vrednost informacija o zastavici CIIP (npr., ciip_flag) jednaka 0, uređaj za kodiranje može da odredi da je ispunjen uslov primene BDOF.
[0576] Dalje, prema nekom načinu ostvarivanja, uređaj za kodiranje može dalje da uključuje sledeće uslove kao uslove primene BDOF.
[0578] 1) Slučaj gde je BDOF-zasnovana inter predikcija omogućena, na primer, slučaj gde je vrednost sps_bdof_enabled_flag jednaka 1
[0580] 2) Slučaj gde režim spajanja zasnovan na podblokovima nije primenjen na trenutnom bloku, na primer, slučaj gde je vrednost merge_subblock_flag jednaka 0
[0582] 3) Slučaj gde je primenjena bi-predikcija koja se izvodi na osnovu L0 referentne slike i L1 referentne slike na trenutnom bloku, na primer, slučaj predFlagL0=1 i predFlagL1=1
[0584] 4) Slučaj gde su rastojanje od L0 referentne slike i rastojanje od L1 referentne slike međusobno jednaka na osnovu trenutne slike, na primer, slučaj gde je DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList1 [ refIdxL1 ] ) jednako 0
[0585] 5) Slučaj gde je vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednaka 0, na primer, slučaj gde je GbiIdx jednako 0
[0587] 6) Slučaj gde je afini režim nije primenjen na trenutnom bloku, na primer, MotionModelIdc jednako je 0
[0589] 7) Slučaj gde je visina trenutnog bloka jednaka ili veća od 8, na primer, slučaj gde je CbHeight jednako ili veće od 8
[0591] 8) Slučaj gde je širina trenutnog bloka jednaka ili veća od 8, na primer, slučaj gde je CbWidth jednako ili veće od 8, i
[0593] 9) Slučaj gde je visina x širina trenutnog bloka veća od 8x8, na primer, slučaj gde je CbHeight * CbWidth veće od 64
[0595] Uređaj za kodiranje može da odredi da je ispunjen uslov primene BDOF u slučaju da je ispunjen najmanje jedan ili svi 1) do 9).
[0596] Ovde, u određivanju da li je ispunjen uslov primene BDOF, nabrojani BDOF uslovi primene su samo primeri, i uslovi u Tabeli 1 do Tabele 25, kao što je prethodno opisano, mogu se kombinovati i koristiti na razne načine.
[0597] Ako se odredi da su ispunjeni uslovi primene CIIP režima i/ili uslovi BDOF primene od 1) do 9), uređaj za kodiranje može da primeni postupak BDOF predikcije uzoraka na uzorcima predikcije trenutnog bloka. Prema tome, performanse predikcije mogu se poboljšati izvođenjem preciziranih uzoraka predikcije.
[0598] Uređaj za kodiranje može izvesti rezidualne uzorke na osnovu uzoraka predikcije (S940), i može da kodira informacije o slici koje uključuju informacije o rezidualnim uzorcima (S950).
[0599] Odnosno, uređaj za kodiranje može izvesti rezidualne uzorke na osnovu originalnih uzoraka trenutnog bloka i uzoraka predikcije trenutnog bloka. Dalje, uređaj za kodiranje može da generiše informacije o rezidualnim uzorcima. Ovde, informacije o rezidualnim uzorcima mogu da uključuju informacije o vrednostima, informacije o položaju, tehniku transformacije, jezgro transformacije i informacije o parametrima kvantizacije za kvantizovane koeficijente transformacije izvedene izvođenjem transformacije i kvantizacije rezidualnih uzoraka.
[0600] Uređaj za kodiranje može da kodira i otpremi informacije o rezidualnim uzorcima u obliku toka bitova, i može preneti izlazne informacije uređaju za dekodiranje preko mreže ili medijuma za skladištenje.
[0601] Dalje, uređaj za kodiranje može da kodira i otpremi informacije izvedene u gorepomenutim fazama S900 do S930 u obliku toka bitova. Na primer, CIIP informacije o zastavici, informacije o zastavici o omogućenom DMVR, informacije o zastavici spajanja, MMVD informacije o zastavici, informacije o zastavici o omogućenom BDOF i informacije o zastavici spajanja zasnovanom na podblokovima mogu biti uključene u informacije o slici koje se kodiraju, i kodirane informacije o slici mogu da se signaliziraju uređaju za dekodiranje.
[0602] FIG.10 je dijagram toka koji šematski prikazuje postupak za dekodiranje koji se može izvesti pomoću uređaja za dekodiranje prema nekom načinu ostvarivanja ovog otkrivanja.
[0603] Postupak otkriven na FIG.10 može se izvesti pomoću uređaja 300 za dekodiranje opisanog na FIG.3. Određenije, faze S1000 do S1030 sa FIG.10 mogu se izvesti pomoću prediktora 330 i inter prediktora 332 opisanog na FIG.3, i faza S1040 sa FIG.10 može se izvesti pomoću sabirača 340 opisanog na FIG.3. Dalje, postupak opisan na FIG.10 može da uključuje prethodno opisane načine ostvarivanja u ovom otkrivanju. Prema tome, biće izostavljeno ili pojednostavljeno detaljno objašnjenje sadržaja duplirano za prethodno opisane načine ostvarivanja na FIG.10.
[0604] Upućivanjem na FIG.10, uređaj za dekodiranje može da odredi da li je ispunjen uslov primene DMVR za primenu preciziranja vektora pokreta na trenutnom bloku (S1000).
[0605] U ovom slučaju, uređaj za dekodiranje može da odredi da li primeniti preciziranje na trenutnom bloku korišćenjem raznih uslova primene opisanih u Tabeli 1 do Tabele 25 kao gore.
[0606] Kao jedan način ostvarivanja, uređaj za dekodiranje može da koristi da li se primenjuje režim predikcije u kojem se kombinuju inter predikcija i intra predikcija na trenutnom bloku kao uslov primene DMVR. Odnosno, ako režim predikcije u kojem se kombinuju inter predikcija i intra predikcija nije primenjen na trenutnom bloku, uređaj za dekodiranje može da odredi da je ispunjen uslov primene DMVR.
[0607] Ovde, da li se režim predikcije u kojem se kombinuju inter predikcija i intra predikcija primenjuje na trenutnom bloku, mogu pokazati informacije o zastavici kombinovane inter i intra predikcija (CIIP) (npr., ciip_flag). Na primer, ako je vrednost ciip_flag jednak 0, može se predstaviti da CIIP režim (tj., režim predikcije u kojem su kombinovane inter predikcija i intra predikcija) nije primenjen na trenutnom bloku, dok ako je vrednost ciip_flag jednaka 1, može se predstaviti da je CIIP režim primenjen na trenutnom bloku. Alternativno, može se odrediti obrnuto.
[0608] Na primer, uređaj za dekodiranje može dobiti tok bitova iz uređaja za kodiranje, i može da dekodira CIIP informacije o zastavici uključene u toku bitova. Dalje, uređaj za dekodiranje može da odredi da je ispunjen uslov primene DMVR u slučaju da je vrednost CIIP informacija o zastavici jednaka 0.
[0609] Dalje, prema nekom načinu ostvarivanja, uslov primene DMVR može dalje da uključuje sledeće uslove.
[0610] 1) Slučaj gde je DMVR-zasnovana inter bi-predikcija omogućena, na primer, slučaj gde je vrednost sps_dmvr_enabled_flag jednaka 1
[0612] 2) Slučaj gde je režim spajanja primenjen na trenutnom bloku, na primer, slučaj gde je vrednost merge_flag jednaka 1
[0614] 3) Slučaj gde režim spajanja sa režimom razlike vektora pokreta (MMVD) nije primenjen na trenutnom bloku, na primer, slučaj gde je vrednost mmvd_flag jednaka 0
[0616] 4) Slučaj gde je bi-predikcija koja je izvedena na osnovu L0 referentne slike i L1 referentne slike primenjen na trenutnom bloku, na primer, slučaj predFlagL0[0][0]=1 i predFlagL0[1][1]=1
[0617] 5) Slučaj gde su rastojanje od L0 referentne slike i rastojanje od L1 referentne slike međusobno ista na osnovu trenutne slike, na primer, slučaj gde je DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList1 [ refIdxL1 ] ) jednako 0
[0619] 6) Slučaj gde je vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednaka 0, na primer, slučaj gde je GbiIdx jednako 0
[0621] 7) Slučaj gde je visina trenutnog bloka jednaka ili veća od 8, na primer, slučaj gde je CbHeight jednako ili veće od 8
[0623] 8) Slučaj gde je širina trenutnog bloka jednaka ili veća od 8, na primer, slučaj gde je CbWidth jednako ili veće od 8, i
[0625] 9) Slučaj gde je visina x širina trenutnog bloka veća od 8x8, na primer, slučaj gde je CbHeight * CbWidth veće od 64
[0627] Uređaj za dekodiranje može da odredi da je ispunjen uslov primene DMVR u slučaju da je ispunjen najmanje jedan ili svi od 1) do 9).
[0628] Ovde, u određivanju dali je ispunjen uslov primene DMVR, nabrojani DMVR uslovi primene su samo primeri, i uslovi u Tabeli 1 do Tabele 25, kao što je prethodno opisano, mogu se kombinovati i koristiti na razne načine.
[0629] Ako se odredi da su ispunjeni uslovi primene CIIP režima i/ili uslovi primene DMVR od 1) do 9), uređaj za dekodiranje može da izvede minimalni zbir apsolutnih razlika (SAD) na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka (S1010). Uređaj za dekodiranje može da izvede preciziran L0 vektor pokreta i preciziran L1 vektor pokreta trenutnog bloka na osnovu minimalnog SAD (S1020).
[0630] Ovde, L0 vektor pokreta i L1 vektor pokreta mogu biti vektor pokreta u L0 pravcu predikcije i vektor pokreta u L1 pravcu predikcije izvedeni primenom režima spajanja / režima preskakanja za trenutni blok. Na primer, uređaj za dekodiranje može da odredi da li je režim preskakanja ili režim spajanja primenjen na trenutnom bloku. U slučaju da je režim preskakanja ili režim spajanja primenjen na trenutnom bloku, uređaj za dekodiranje može da konstruiše listu kandidata spajanja na osnovu susednih blokova trenutnog bloka. Istovremeno, jedan kandidat spajanja može se odabrati iz liste kandidata spajanja na osnovu informacija o indeksu spajanja koje se signaliziraju iz uređaja za kodiranje. Uređaj za dekodiranje može da izvede informacije o pokretima (vektor pokreta, indeks referentne slike, i slično) trenutnog bloka korišćenjem informacija o pokretima (vektor pokreta, indeks referentne slike, i slično) izabranog kandidata spajanja. Odnosno, informacije o pokretima kandidata spajanja izabrane pomoću indeksa spajanja među kandidatima spajanja uključenim u listu kandidata spajanja mogu da se koriste kao informacije o pokretima trenutnog bloka. Drugim rečima, L0 vektor pokreta i L1 vektor pokreta trenutnog bloka može se izvesti na osnovu vektora pokreta susednog bloka naznačenog indeksom spajanja među susednim blokovima trenutnog bloka.
[0631] Dalje, na primer, u slučaju da je režim spajanja primenjen na trenutnom bloku, uređaj za dekodiranje može da odredi da li se bi-predikcija primenjuje na kandidatu spajanja (tj., susedni blok) naznačenom indeksom spajanja. U slučaju da se bi-predikcija primenjuje na susednom bloku naznačenom indeksom spajanja, uređaj za dekodiranje može izvesti informacije o pokretima koje uključuju vektor pokreta u L0 pravcu predikcije i vektor pokreta u L1 pravcu predikcije susednog bloka naznačenog indeksom spajanja.
[0632] Kao jedan način ostvarivanja, uređaj za dekodiranje može da izračuna površinu uzorka koja ima minimalni SAD između uzoraka predikcije (tj., L0 uzorci predikcije) u L0 referentnoj slici izvedenoj na osnovu L0 vektora pokreta i uzoraka predikcije (tj., L1 uzorci predikcije) u L1 referentnoj slici izvedenoj na osnovu L1 vektora pokreta. Dalje, uređaj za dekodiranje može da izvede DMVR-zasnovano preciziranje za L0 vektor pokreta i L1 vektor pokreta na osnovu površine uzorka koji ima minimalni SAD. Budući da su postupak izračunavanja minimalnog SAD i izvođenje preciziranja objašnjeni upućivanjem na FIG.4 i 5, njihovo detaljno objašnjenje biće izostavljeno.
[0633] Istovremeno, u izvođenju DMVR-zasnovanog preciziranja, uređaj za dekodiranje može izvesti preciziran L0 vektor pokreta i preciziran L1 vektor pokreta izvođenjem preciziranja u slučaju da su rastojanje između L0 referentne slike i trenutne slike i rastojanje između L1 referentne slike i trenutne slike međusobno ista.
[0634] Uređaj za dekodiranje može izvesti uzorke predikcije za trenutni blok na osnovu preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta (S 1030).
[0635] Prema nekom načinu ostvarivanja, uređaj za dekodiranje može da odredi da li je ispunjen uslov primene BDOF za primenu preciziranje na uzorcima predikcije trenutnog bloka.
[0636] U ovom slučaju, uređaj za dekodiranje može da odredi da li primeniti preciziranje na uzorcima predikcije trenutnog bloka korišćenjem različitih uslova primene objašnjenih upućivanjem na Tabelu 1 do Tabele 25 kao gore.
[0637] Na primer, uređaj za dekodiranje može da koristi da li se režim predikcije u kojem se kombinuju inter predikcija i intra predikcija primenjuje na trenutnom bloku, kao uslov primene BDOF. Kao što je prethodno opisano, u slučaju da je vrednost CIIP informacija o zastavici (npr., ciip_flag) dobijena iz toka bitova jednaka 0, uređaj za dekodiranje može da odredi da je ispunjen uslov primene BDOF.
[0638] Dalje, prema nekom načinu ostvarivanja, uslovi primene BDOF mogu dalje da uključuju sledeće uslove.
[0640] 1) Slučaj gde je BDOF-zasnovana inter predikcija omogućena, na primer, slučaj gde je vrednost sps_bdof_enabled_flag jednaka 1
[0642] 2) Slučaj gde režim spajanja zasnovan na podblokovima nije primenjen na trenutnom bloku, na primer, slučaj gde je vrednost merge_subblock_flag jednaka 0
[0644] 3) Slučaj gde je bi-predikcija koja se izvodi na osnovu L0 referentne slike i L1 referentne slike primenjena na trenutnom bloku, na primer, slučaj predFlagL0=1 i predFlagL1=1
[0646] 4) Slučaj gde su rastojanje od L0 referentne slike i rastojanje od L1 referentne slike međusobno jednaka na osnovu trenutne slike, na primer, slučaj gde je DiffPicOrderCnt(currPic, RefPicList0 [refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList1 [ refIdxL1 ] ) jednako 0
[0648] 5) Slučaj gde je vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednaka 0, na primer, slučaj gde je GbiIdx jednako je 0
[0650] 6) Slučaj gde afini režim nije primenjen na trenutnom bloku, na primer, MotionModelIdc jednako je 0
[0652] 7) Slučaj gde je visina trenutnog bloka jednaka ili veća od 8, na primer, slučaj gde je CbHeight jednako ili veće od 8
[0654] 8) Slučaj gde je širina trenutnog bloka jednaka ili veća od 8, na primer, slučaj gde je CbWidth jednako ili veće od 8, i
[0656] 9) Slučaj gde je visina x širina trenutnog bloka veća od 8x8, na primer, slučaj gde je CbHeight * CbWidth veće od 64
[0657] Uređaj za dekodiranje može da odredi da je ispunjen uslov primene BDOF u slučaju da je ispunjen najmanje jedan ili svi od 1) do 9).
[0658] Ovde, u određivanju da li je ispunjen uslov primene BDOF, nabrojani BDOF uslovi primene su samo primeri, a uslovi u Tabeli 1 do Tabele 25, kao što je prethodno opisano, mogu se kombinovati i koristiti na razne načine.
[0659] Ako se odredi da su ispunjeni uslovi primene CIIP režima i/ili uslovi primene BDOF od 1) do 9), uređaj za dekodiranje može da primeni postupak BDOF predikcije uzoraka na uzorcima predikcije trenutnog bloka. Prema tome, performanse predikcije mogu se poboljšati izvođenjem preciziranih uzoraka predikcije.
[0660] Uređaj za dekodiranje može da generiše rekonstruisane uzorke za trenutni blok na osnovu uzoraka predikcije (S1040).
[0661] Kao jedan način ostvarivanja, uređaj za dekodiranje može direktno da koristi uzorke predikcije kao rekonstruisane uzorke u skladu sa režimom predikcije, ili može da generiše rekonstruisane uzorke dodavanjem rezidualnih uzoraka uzorcima predikcije.
[0662] U slučaju da postoji rezidualni uzorak za trenutni blok, uređaj za dekodiranje može da primi informacije o ostatku za trenutni blok. Informacije o ostatku mogu da uključuju koeficijente transformacije za rezidualne uzorke. Uređaj za dekodiranje može izvesti rezidualne uzorke (ili niz rezidualnih uzoraka) za trenutni blok na osnovu rezidualnih informacija. Uređaj za dekodiranje može da generiše rekonstruisane uzorke na osnovu uzoraka predikcije i rezidualnih uzoraka, i može da izvede rekonstruisani blok ili rekonstruisanu sliku na osnovu rekonstruisanih uzoraka.
[0663] U gorepomenutim načinima ostvarivanja, iako su postupci opisani na osnovu dijagrama toka u obliku serija ili faza ili jedinica, načini ostvarivanja ovog dokumenta nisu ograničeni na redosled faza, a neke od faza mogu se izvesti drugačijim redosledom od onog drugih faza ili se mogu izvesti istovremeno sa drugim fazama. Osim toga, stručnjaci u ovoj oblasti razumeće da faze prikazane u dijagramu toka nisu isključive i da faze mogu da uključuju dodatne faze ili da se jedna ili više faza u dijagramu toka može obrisati bez uticaja na obim zaštite ovog dokumenta.
[0664] Gorepomenut postupak prema ovom dokumentu može se realizovati u obliku softvera, a uređaj za kodiranje i/ili uređaj za dekodiranje prema ovom dokumentu može biti uključen u uređaju za izvođenje obrade slike, na primer, TV, računar, pametni telefon, set-top boks ili uređaj za prikazivanje.
[0665] [0288] U ovom dokumentu, kada se načini ostvarivanja realizuju u obliku softvera, gorepomenuti postupak može se realizovati kao modul (postupak, funkcija, itd.) za izvođenje gorepomenute funkcije. Modul može da se čuva u memoriji i izvrši procesorom. Memorija se može smestiti unutar ili van procesora i može da se poveže sa procesorom na različite dobro poznate načine. Procesor može da uključuje integrisana kola specifične namene (ASIC), druge čipsetove, logička kola i/ili uređaje za obradu podataka. Memorija može da uključuje memoriju samo za čitanje (ROM), memoriju sa slučajnim
pristupom (RAM), fleš memoriju, memorijske kartice, medijume za skladištenje i/ili druge uređaje za skladištenje. To jest, načini ostvarivanja opisani u ovom dokumentu mogu se realizovati i izvesti na procesoru, mikroprocesoru, kontroleru ili čipu. Na primer, funkcionalne jedinice prikazane na crtežima mogu se realizovati i izvesti na računaru, procesoru, mikroprocesoru, kontroleru ili čipu. U ovom slučaju, informacije (npr., informacije o instrukcijama) ili algoritmi za takvu realizaciju mogu se čuvati u digitalnom medijumu za skladištenje.
[0666] Pored toga, uređaj za dekodiranje i uređaj za kodiranje na kojima se ovaj dokument primenjuje mogu biti uključeni u primopredajnik za multimedijalno emitovanje, mobilni komunikacioni terminal, video uređaj za kućni bioskop, video uređaj za digitalni bioskop, kameru za nadzor, uređaj za video ćaskanje i uređaj za komunikaciju u realnom vremenu kao što je video komunikacija, mobilni uređaj za strimovanje, medijum za skladištenje, kamkorder, uređaj za pružanje usluge video na zahtev (VoD), (OTT) video uređaj na vrhu, uređaj za pružanje usluge internet strimovanja, trodimenzionalni (3D) video uređaj, uređaj za virtualnu stvarnost (VR), uređaj za proširenu realnost (AR), video uređaj za telefoniju, terminal za prevozna sredstva (npr., terminal za vozilo (uključujući autonomno vozilo), terminal za avion i terminal za brod), i medicinski video uređaj, i slično, i može da se koristi za obradu video signala ili signala podataka. Na primer, (OTT) video uređaj na vrhu može da uključuje konzolu za igre, Blu-ray plejer, TV sa pristupom Internetu, sistem kućnog bioskopa, pametan telefon, tablet računar i digitalni video rekorder (DVR).
[0667] Pored toga, postupak za obradu na kojem se primenjuje ovaj dokument može se proizvesti u obliku programa kojeg izvršava računar i može da se čuva u računarski čitljivom medijumu za snimanje. Multimedijalni podaci koji imaju strukturu podataka prema ovom dokumentu mogu se takođe čuvati u računarski čitljivom medijumu za snimanje. Računarski čitljiv medijum za snimanje uključuje sve vrste uređaja za skladištenje u kojem se čuvaju računarski čitljivi podaci. Računarski čitljiv medijum za snimanje može da uključuje Blu-ray disk (BD), univerzalnu serijsku magistralu (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetnu traku, disketu i optički uređaj za skladištenje podataka, na primer. Osim toga, računarski čitljiv medijum za snimanje uključuje medijume izvedene u obliku nosača (npr., prenos preko Interneta). Pored toga, tok bitova generisan pomoću postupka za kodiranje može da se čuva u računarski čitljivom medijumu za snimanje ili može da se prenese preko žičanih ili bežičnih komunikacionih mreža.
[0668] Pored toga, način ostvarivanja ovog dokumenta može se izvesti kao proizvod računarskog programa korišćenjem programskog koda. Programski kod može se izvesti na računaru prema nekom načinu ostvarivanja ovog dokumenta. Programski kod može se čuvati na računarski čitljivom nosaču.
[0669] FIG.11 prikazuje primer sistema za strimovanje sadržaja na kojem se mogu primeniti načini ostvarivanja opisani u ovom dokumentu.
Claims (14)
1. [0293] Upućivanjem na FIG.11, sistem za strimovanje sadržaja na kojem se primenjuju načini ostvarivanja ovog dokumenta može generalno da uključuje server za kodiranje, server za strimovanje, veb server, medijume za skladištenje, korisnički uređaj i multimedijalni ulazni uređaj.
[0294] Server za kodiranje komprimuje ulaz sadržaja iz multimedijalnih ulaznih uređaja kao što su pametni telefon, kamera, kamkorder, itd. u digitalne podatke da bi se generisao tok bitova i preneo tok bitova serveru za strimovanje. Kao drugi primer, u slučaju gde multimedijalni ulazni uređaji kao što su pametni telefoni, kamere, kamkorderi, itd. direktno generišu tok bitova, može se izostaviti server za kodiranje.
[0295] Tok bitova može se generisati postupkom za kodiranje ili postupkom za generisanje toka bitova na kojem se primenjuje(u) način(i) ostvarivanja ovog dokumenta, a server za strimovanje može privremeno da čuva tok bitova u postupku prenosa ili prijema toka bitova.
[0296] Server za strimovanje prenosi multimedijalne podatke korisničkom uređaju na osnovu zahteva korisnika preko veb servera, a veb server služi kao medijum za informisanje korisnika usluga. Kada korisnik zahteva željenu uslugu od veb servera, veb server je isporučuje serveru za strimovanje, i server za strimovanje prenosi multimedijalne podatke korisniku. U ovom slučaju, sistem za strimovanje sadržaja može da uključuje zaseban upravljački server. U ovom slučaju, upravljački server služi za kontrolu komande/odgovora između uređaja u sistemu za strimovanje sadržaja.
[0297] Server za strimovanje može da primi sadržaj iz skladišta medija i/ili servera za kodiranje. Na primer, kada server za kodiranje primi sadržaj, taj sadržaj može biti primljen u realnom vremenu. U ovom slučaju, kako bi se obezbedila neometana usluga strimovanja, server za strimovanje može da čuva tok bitova za prethodno određeno vreme.
[0298] Primeri korisničkog uređaja mogu da uključuju mobilni telefon, pametni telefon, laptop računar, terminal za digitalno emitovanje, ličnog digitalnog asistenta (PDA), prenosivi multimedijalni plejer (PMP), navigaciju, slejt računar, tablet računare, ultrabukove, nosive uređaje (npr. pametni satovi, pametne naočare, ekrane montirane na glavi), digitalne TV, desktop računare, digital signage, i slično.
[0299] Svaki server u sistemu za strimovanje sadržaja može da radi kao distributivni server, a u tom slučaju podaci primljeni od strane svakog servera mogu se distribuirati.
[0300] Dalji načini ostvarivanja opisani u sledećim numerisanim pasusima:
1. Postupak za dekodiranje slike kojeg izvodi uređaj za dekodiranje, pri čemu taj postupak za dekodiranje slike obuhvata:
određivanje da li je ispunjen uslov primene preciziranja vektora pokreta na strani dekodera (DMVR) za primenu preciziranja vektora pokreta na trenutnom bloku;
izvođenje minimalnog zbira apsolutnih razlika (SAD) na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka u slučaju da je ispunjen uslov primene DMVR; izvođenje preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta za trenutni blok na osnovu minimalnog SAD;
izvođenje uzoraka predikcije za trenutni blok na osnovu preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta; i
generisanje rekonstruisanih uzoraka za trenutni blok na osnovu uzoraka predikcije, pri čemu određivanje da li je ispunjen uslov primene DMVR određuje da je ispunjen uslov primene DMVR u slučaju da režim predikcije u kojem se kombinuju inter predikcija i intra predikcija nije primenjen na trenutnom bloku.
2. Postupak za dekodiranje slike prema stavu 1, koji dalje obuhvata dobijanje, iz toka bitova, informacije o zastavici kombinovane inter i intra predikcije (CIIP) koje pokazuju da li se režim predikcije u kojem se kombinuju inter predikcija i intra predikcija primenjuje na trenutnom bloku,
pri čemu određivanje da li je ispunjen uslov primene DMVR određuje da je ispunjen uslov primene DMVR u slučaju da je vrednost CIIP informacije o zastavici jednaka 0.
3. Postupak za dekodiranje slike prema stavu 1, pri čemu određivanje da li je ispunjen uslov primene DMVR određuje da 1) inter bi-predikcija na osnovu DMVR je omogućena, 2) režim spajanja je primenjen na trenutnom bloku, 3) režim spajanja sa režimom razlike vektora pokreta (MMVD) nije primenjen na trenutnom bloku, 4) bi-predikcija, koja je izvedena na osnovu L0 referentne slike i L1 referentne slike, primenjena je na trenutnom bloku, 5) rastojanje od L0 referentne slike i rastojanje od L1 referentne slike su međusobno ista na osnovu trenutne slike, 6) vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednaka je 0, 7) visina trenutnog bloka jednaka je ili veća od 8, ili 8) visina x širina trenutnog bloka veća je od 8x8, i pri čemu određivanje da li je ispunjen uslov primene DMVR određuje da je uslov primene DMVR ispunjen u slučaju da su ispunjeni svi od 1) do 8).
4. Postupak za dekodiranje slike prema stavu 1, koji dalje obuhvata:
određivanje da li je ispunjen uslov primene dvosmernog optičkog toka (BDOF) za primenu preciziranja na uzorcima predikcije; i
primena postupka BDOF predikcije uzoraka na uzorcima predikcije u slučaju da je ispunjen uslov primene BDOF.
5. Postupak za dekodiranje slike prema stavu 4, pri čemu određivanje da li je ispunjen uslov primene BDOF određuje da je uslov primene BDOF ispunjen u slučaju da je vrednost CIIP informacija o zastavici koje su dobijene iz toka bitova jednaka 0.
6. Postupak za dekodiranje slike prema stavu 4, pri čemu određivanje da li je ispunjen uslov primene BDOF određuje da 1) inter predikcija na osnovu BDOF je omogućena, 2) režim spajanja zasnovan na podblokovima nije primenjen na trenutnom bloku, 3) bi-predikcija, koja je izvedena na osnovu L0 referentne slike i L1 referentne slike, primenjena je na trenutnom bloku, 4) rastojanje od L0 referentne slike i rastojanje od L1 referentne slike međusobno su jednaka na osnovu trenutne slike, 5) vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednaka je 0, 6) afini režim nije primenjen na trenutnom bloku, 7) visina trenutnog bloka jednaka je ili veća od 8, ili 8) visina x širina trenutnog bloka veća je od 8x8, i
pri čemu određivanje da li je ispunjen uslov primene BDOF određuje da je ispunjen uslov primene BDOF u slučaju da su ispunjeni svi od 1) do 8).
7. Postupak za dekodiranje slike prema stavu 1, pri čemu izvođenje minimalnog SAD obuhvata:
izračunavanje površine uzorka koja ima minimalni SAD između uzoraka predikcije u L0 referentnoj slici koja je izvedena na osnovu L0 vektora pokreta i uzoraka predikcije u L1 referentnoj slici koja je izvedena na osnovu L1 vektora pokreta; i
izvođenje preciziranja za L0 vektor pokreta i L1 vektor pokreta na osnovu površine uzorka koja ima minimalni SAD.
8. Postupak za dekodiranje slike prema stavu 7, koji dalje obuhvata određivanje da li je režim spajanja primenjen na trenutnom bloku,
pri čemu, u slučaju da je režim spajanja primenjen na trenutnom bloku, L0 vektor pokreta i L1 vektor pokreta izvode se na osnovu vektora pokreta susednog bloka naznačenog indeksom spajanja među susednim blokovima trenutnog bloka, i preciziran L0 vektor pokreta i preciziran L1 vektor pokreta izvode se u slučaju da su rastojanje između L0 referentne slike i trenutne slike i rastojanje između L1 referentne slike i trenutne slike međusobno ista.
9. Postupak za dekodiranje slike prema stavu 8, koji dalje obuhvata određivanje da li se bipredikcija primenjuje na susednom bloku naznačenom indeksom spajanja u slučaju da je režim spajanja primenjen na trenutnom bloku,
pri čemu, u slučaju da je bi-predikcija primenjena na susednom bloku naznačenom indeksom spajanja, vektor pokreta susednog bloka naznačen indeksom spajanja uključuje vektor pokreta u L0 pravcu predikcije i vektor pokreta u L1 pravcu predikcije.
10. Postupak za kodiranje slike koje izvodi uređaj za kodiranje slike, pri čemu taj postupak za kodiranje slike obuhvata:
određivanje da li je ispunjen uslov primene preciziranja vektora pokreta na strani dekodera (DMVR) za primenu preciziranja vektora pokreta na trenutnom bloku; izvođenje minimalnog zbira apsolutnih razlika (SAD) na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka u slučaju da je ispunjen uslov primene DMVR; izvođenje preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta za trenutni blok na osnovu minimalnog SAD;
izvođenje uzoraka predikcije za trenutni blok na osnovu preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta;
izvođenje rezidualnih uzoraka na osnovu uzoraka predikcije; i
kodiranje informacija o slici koje uključuju informacije o rezidualnim uzorcima, pri čemu određivanje da li je ispunjen uslov primene DMVR određuje da je uslov primene DMVR ispunjen u slučaju da režim predikcije u kojem se kombinuju inter predikcija i intra predikcija nije primenjen na trenutnom bloku.
11. Postupak za kodiranje slike prema stavu 10, pri čemu informacije o slici uključuju informacije o zastavici kombinovane inter i intra predikcije (CIIP) koje pokazuju da li se režim predikcije u kojem se kombinuju inter predikcija i intra predikcija primenjuje na trenutnom bloku, i da li se kodira.
12. Postupak za kodiranje slike prema stavu 11, pri čemu određivanje da li je ispunjen uslov primene DMVR određuje da je ispunjen uslov primene DMVR u slučaju da je vrednost CIIP informacija o zastavici jednaka 0.
13. Postupak za kodiranje slike prema stavu 10, koji dalje obuhvata:
određivanje da li je ispunjen uslov primene dvosmernog optičkog toka (BDOF) za primenu preciziranja na uzorcima predikcije; i
primena postupka BDOF predikcije uzoraka na uzorcima predikcije u slučaju da je ispunjen uslov primene BDOF.
14. Postupak za kodiranje slike prema stavu 13, pri čemu određivanje da li je ispunjen uslov primene BDOF određuje da je ispunjen uslov primene BDOF u slučaju da je vrednost CIIP informacija o zastavici uključenih u informacije o slici jednaka 0.
Patentni zahtevi
1. Uređaj za dekodiranje kako bi se dekodirala slika, pri čemu taj uređaj za dekodiranje obuhvata:
memoriju; i
najmanje jedan procesor povezan sa memorijom, pri čemu je najmanje jedan procesor konfigurisan da:
dobije informacije o zastavici kombinovane inter i intra predikcije, CIIP, iz toka bitova; odredi (S1000) da li je ispunjen uslov primene preciziranja vektora pokreta na strani dekodera, DMVR, za primenu preciziranja vektora pokreta na trenutnom bloku; izvede (S1010) minimalni zbir apsolutnih razlika, SAD, na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka na osnovu slučaja gde je ispunjen uslov primene DMVR; izvede (S1020) preciziran L0 vektor pokreta i preciziran L1 vektor pokreta za trenutni blok na osnovu minimalnog SAD na osnovu slučaja gde je ispunjen uslov primene DMVR; izvede (S1030) uzorke predikcije za trenutni blok na osnovu preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta i na osnovu slučaja gde je ispunjen uslov primene DMVR; i generiše (S1040) rekonstruisane uzorke za trenutni blok na osnovu uzoraka predikcije, pri čemu je DMVR primenjen na trenutnom bloku na osnovu slučaja u kojem vrednost zastavice o omogućenom DMVR 1, slučaja u kojem CIIP režim nije primenjen na trenutnom bloku, slučaja u kojem su rastojanje od L0 referentne slike i rastojanje od L1 referentne slike međusobno ista na osnovu trenutne slike, slučaja u kojem je režim spajanja primenjen na trenutnom bloku, slučaja u kojem režim spajanja sa režimom razlike vektora pokreta, MMVD, nije primenjen na trenutnom bloku, slučaja u kojem se bi-predikcija koja se izvodi na osnovu L0 referentne slike i L1 referentne slike primenjuje na trenutnom bloku, slučaja u kojem je visina trenutnog bloka veće od ili jednaka 8, i slučaja u kojem je visina x širina trenutnog bloka veća od ili jednaka 8x8,
pri čemu izvođenje uzoraka predikcije uključuje određivanje da li je ispunjen uslov primene dvosmernog optičkog toka, BDOF, za primenu preciziranja na uzorcima predikcije, pri čemu je BDOF primenjen na uzorcima predikcije na osnovu slučaja u kojem je vrednost zastavice o omogućenom BDOF jednaka 1, slučaja u kojem CIIP režim nije primenjen na trenutnom bloku, slučaja u kojem je L0 referentna slika smeštena u suprotnom smeru u
odnosu na L1 referentnu sliku na osnovu trenutne slike, slučaja u u kojem je bi-predikcija izvedena na osnovu L0 referentne slike i L1 referentne slike primenjena na trenutnom bloku, slučaja u kojem trenutni blok predstavlja luma komponentu, slučaja u kojem je vrednost informacija koje se odnose na model pokreta jednaka 0, slučaja u kojem režim spajanja zasnovan na podblokovima nije primenjen na trenutnom bloku, i slučaja u kojem je vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednaka 0,
pri čemu se CIIP informacije o zastavici odnose na to da li je CIIP režim primenjen na trenutnom bloku,
pri čemu CIIP režim nije primenjen na trenutnom bloku ako je vrednost CIIP informacija o zastavici jednaka 0, i
pri čemu se informacije koje se odnose na model pokreta odnose na to da li je afini režim primenjen na trenutnom bloku.
2. Uređaj za kodiranje kako bi se kodirala slika, pri čemu taj uređaj za kodiranje obuhvata:
memoriju; i
najmanje jedan procesor povezan sa memorijom, pri čemu je najmanje jedan procesor konfigurisan da:
odredi (S900) da li je ispunjen uslov primene preciziranja vektora pokreta na strani dekodera, DMVR, za primenu preciziranja vektora pokreta na trenutnom bloku;
izvede (S920) minimalni zbir apsolutnih razlika, SAD, na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka na osnovu slučaja gde je ispunjen uslov primene DMVR; izvede (S920) preciziran L0 vektor pokreta i preciziran L1 vektor pokreta za trenutni blok na osnovu minimalnog SAD na osnovu slučaja gde je ispunjen uslov primene DMVR; izvede (S930) uzorke predikcije za trenutni blok na osnovu preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta i na osnovu slučaja gde je ispunjen uslov primene DMVR; izvede (S940) rezidualne uzorke na osnovu uzoraka predikcije; i
kodira (S950) informacije o slici koje uključuju informacije o rezidualnim uzorcima i informacije o zastavici kombinovane inter i intra predikcije, CIIP,
pri čemu se DMVR primenjuje na trenutnom bloku na osnovu slučaja u kojem vrednost zastavice o omogućenom DMVR 1, slučaja u kojem CIIP režim nije primenjen na trenutnom bloku, slučaja u kojem su rastojanje od L0 referentne slike i rastojanje od L1 referentne slike međusobno ista na osnovu trenutne slike, slučaja u kojem je režim spajanja primenjen na trenutnom bloku, slučaja u kojem režim spajanja sa režimom razlike vektora pokreta, MMVD, nije primenjen na trenutnom bloku, slučaj u kojem je bi-predikcija koja se izvodi na osnovu L0 referentne slike i L1 referentne slike primenjena na trenutnom bloku, slučaja u kojem je
visina trenutnog bloka veća od ili jednaka 8, i slučaja u kojem je visina x širina trenutnog bloka veća od ili jednaka 8x8,
pri čemu izvođenje uzoraka predikcije uključuje određivanje da li je ispunjen uslov primene dvosmernog optičkog toka, BDOF, za primenu preciziranja na uzorcima predikcije, pri čemu je BDOF primenjen na uzorcima predikcije na osnovu slučaja u kojem je vrednost zastavice o omogućenom BDOF jednaka 1, slučaja u kojem CIIP režim nije primenjen na trenutnom bloku, slučaja u kojem je L0 referentna slika smeštena u suprotnom smeru u odnosu na L1 referentnu sliku na osnovu trenutne slike, slučaja u u kojem je bi-predikcija koja je izvedena na osnovu L0 referentne slike i L1 referentne slike primenjena na trenutnom bloku, slučaja u kojem trenutni blok predstavlja luma komponentu, slučaja u kojem je vrednost informacija koje se odnose na model pokreta jednaka 0, slučaja u kojem režim spajanja zasnovan na podblokovima nije primenjen na trenutnom bloku, i slučaja u kojem je vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednaka 0,
pri čemu se CIIP informacije o zastavici odnose na to da li je CIIP režim primenjen na trenutnom bloku,
pri čemu CIIP režim nije primenjen na trenutnom bloku ako je vrednost CIIP informacija o zastavici jednaka 0, i
pri čemu se informacije koje se odnose na model pokreta odnose na to da li je afini režim primenjen na trenutnom bloku.
3. Uređaj za prenos podataka za informacije o slici, pri čemu taj uređaj obuhvata:
najmanje jedan procesor konfigurisan da dobije tok bitova informacija o slici koje uključuju informacije o rezidualnim uzorcima i informacije o zastavici kombinovane inter i intra predikcije, CIIP,
pri čemu se tok bitova generiše na osnovu određivanja (S900) da li je ispunjen uslov primene preciziranja vektora pokreta na strani dekodera, DMVR, za primenu preciziranja vektora pokreta na trenutnom bloku, izvođenja (S910) minimalnog zbira apsolutnih razlika, SAD, na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka na osnovu slučaja gde je ispunjen uslov primene DMVR, izvođenja (S920) preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta za trenutni blok na osnovu minimalnog SAD na osnovu slučaja gde je ispunjen uslov primene DMVR, izvođenja (S930) uzoraka predikcije za trenutni blok na osnovu preciziranog L0 vektora pokreta i preciziranog L1 vektora pokreta i na osnovu slučaja gde je ispunjen uslov primene DMVR, izvođenja (S940) rezidualnih uzoraka na osnovu uzoraka predikcije, kodiranja (S950) informacija o slici koje uključuju informacije o rezidualnim uzorcima; i
predajnik konfigurisan da prenosi podatke koji obuhvataju tok bitova informacija o slici koje uključuju informacije o rezidualnim uzorcima i CIIP informacije o zastavici,
pri čemu je DMVR primenjen na trenutnom bloku na osnovu slučaja u kojem vrednost zastavice o omogućenom DMVR 1, slučaja u kojem CIIP režim nije primenjen na trenutnom bloku, slučaja u kojem su rastojanje od L0 referentne slike i rastojanje od L1 referentne slike međusobno ista na osnovu trenutne slike, slučaja u kojem je režim spajanja primenjen na trenutnom bloku, slučaja u kojem režim spajanja sa režimom razlike vektora pokreta, MMVD, nije primenjen na trenutnom bloku, slučaja u kojem je bi-predikcija koja se izvodi na osnovu L0 referentne slike i L1 referentne slike primenjena na trenutnom bloku, slučaja u kojem je visina trenutnog bloka veća od ili jednaka 8, i slučaja u kojem je visina x širina trenutnog bloka veća od ili jednaka 8x8, pri čemu izvođenje uzoraka predikcije uključuje određivanje da li je ispunjen uslov primene BDOF za primenu preciziranja na uzorcima predikcije,
pri čemu je BDOF primenjen na uzorcima predikcije na osnovu slučaja u kojem je vrednost zastavice o omogućenom BDOF jednaka 1, slučaja u kojem CIIP režim nije primenjen na trenutnom bloku, slučaja u kojem je L0 referentna slika smeštena u suprotnom smeru u odnosu na L1 referentnu sliku na osnovu trenutne slike, slučaja u u kojem je bi-predikcija koja je izvedena na osnovu L0 referentne slike i L1 referentne slike primenjena na trenutnom bloku, slučaja u kojem trenutni blok predstavlja luma komponentu, slučaja u kojem je vrednost informacija koje se odnose na model pokreta jednaka 0, slučaja u kojem režim spajanja zasnovan na podblokovima nije primenjen na trenutnom bloku, i slučaja u kojem je vrednost informacija o indeksu težine bi-predikcije trenutnog bloka jednaka 0,
pri čemu se CIIP informacije o zastavici odnose na to da li je CIIP režim primenjen na trenutnom bloku,
pri čemu CIIP režim nije primenjen na trenutnom bloku ako je vrednost CIIP informacija o zastavici jednaka 0, i
pri čemu se informacije koje se odnose na model pokreta odnose na to da li je afini režim primenjen na trenutnom bloku.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962809722P | 2019-02-24 | 2019-02-24 | |
| EP24200129.5A EP4459986B1 (en) | 2019-02-24 | 2020-02-07 | Dmvr-based inter-prediction device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RS68030B1 true RS68030B1 (sr) | 2026-05-29 |
Family
ID=72144372
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RS20260498A RS68030B1 (sr) | 2019-02-24 | 2020-02-07 | Uređaj za inter predikciju na osnovu dmvr-a |
Country Status (14)
| Country | Link |
|---|---|
| US (4) | US11627323B2 (sr) |
| EP (3) | EP3913921B1 (sr) |
| JP (4) | JP7425079B2 (sr) |
| KR (2) | KR20250041186A (sr) |
| CN (5) | CN113574891B (sr) |
| ES (2) | ES2993149T3 (sr) |
| FI (1) | FI3913921T3 (sr) |
| HR (2) | HRP20260600T1 (sr) |
| HU (1) | HUE069501T2 (sr) |
| MX (3) | MX2021010158A (sr) |
| PL (2) | PL4459986T3 (sr) |
| RS (1) | RS68030B1 (sr) |
| SI (1) | SI3913921T1 (sr) |
| WO (1) | WO2020171444A1 (sr) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3922028B1 (en) * | 2019-03-08 | 2025-09-03 | Beijing Dajia Internet Information Technology Co., Ltd. | Bi-directional optical flow and decoder-side motion vector refinement for video coding |
| PL3941060T3 (pl) * | 2019-03-12 | 2023-12-27 | Lg Electronics Inc. | Sposób i urządzenie inter-predykcji oparte na dmvr i bdof |
| CN121442090A (zh) * | 2019-03-12 | 2026-01-30 | 北京达佳互联信息技术有限公司 | 组合帧间和帧内预测模式的受约束和调节的应用 |
| EP3932054B1 (en) * | 2019-03-20 | 2024-04-24 | Huawei Technologies Co., Ltd. | Method and apparatus for prediction refinement with optical flow for an affine coded block |
| KR102772250B1 (ko) * | 2019-03-22 | 2025-02-25 | 엘지전자 주식회사 | Dmvr 기반의 인터 예측 방법 및 장치 |
| WO2020257365A1 (en) * | 2019-06-17 | 2020-12-24 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatuses for decoder-side motion vector refinement in video coding |
| CN112135141A (zh) | 2019-06-24 | 2020-12-25 | 华为技术有限公司 | 视频编码器、视频解码器及相应方法 |
| US11223840B2 (en) * | 2019-08-19 | 2022-01-11 | Tencent America LLC | Method and apparatus for video coding |
| US11917165B2 (en) * | 2021-08-16 | 2024-02-27 | Tencent America LLC | MMVD signaling improvement |
| US11805245B2 (en) * | 2021-08-16 | 2023-10-31 | Mediatek Inc. | Latency reduction for reordering prediction candidates |
| WO2023055176A1 (ko) * | 2021-10-01 | 2023-04-06 | 엘지전자 주식회사 | 디코더 사이드 움직임 벡터 리파인먼트 기반 영상 코딩 방법 및 장치 |
| WO2023088472A1 (en) * | 2021-11-22 | 2023-05-25 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
| WO2023104083A1 (en) * | 2021-12-07 | 2023-06-15 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
| WO2023131047A1 (en) * | 2022-01-05 | 2023-07-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
| US12160564B2 (en) * | 2022-04-11 | 2024-12-03 | Tencent America LLC | Bilateral matching with affine motion |
| US12413745B2 (en) * | 2022-04-12 | 2025-09-09 | Qualcomm Incorporated | Bi-directional prediction boundary pixel padding with out-of-picture-boundary motion vectors |
| US12568241B2 (en) * | 2023-02-10 | 2026-03-03 | Tencent America LLC | Bi-prediction with CU level weight (BCW) |
| US12363314B1 (en) * | 2023-07-21 | 2025-07-15 | Zoom Communications, Inc. | Constructing motion vector candidates list for video coding |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011129672A2 (ko) * | 2010-04-16 | 2011-10-20 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
| US11638027B2 (en) * | 2016-08-08 | 2023-04-25 | Hfi Innovation, Inc. | Pattern-based motion vector derivation for video coding |
| WO2018174618A1 (ko) * | 2017-03-22 | 2018-09-27 | 한국전자통신연구원 | 참조 블록을 사용하는 예측 방법 및 장치 |
| US10477237B2 (en) * | 2017-06-28 | 2019-11-12 | Futurewei Technologies, Inc. | Decoder side motion vector refinement in video coding |
| KR102628361B1 (ko) * | 2018-11-12 | 2024-01-23 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 인터-예측을 위한 대역폭 제어 방법 |
| WO2020098780A1 (en) * | 2018-11-16 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Reference size for inter prediction interpolation |
| CN118509602A (zh) * | 2018-12-31 | 2024-08-16 | 韩国电子通信研究院 | 图像编码/解码方法和发送比特流的方法 |
| PT3909247T (pt) * | 2019-02-08 | 2024-05-13 | Beijing Dajia Internet Information Tech Co Ltd | Método e dispositivo para aplicação seletiva de refinamento de vetor de movimento do lado do descodificador para codificação de vídeo |
| CN113545065B (zh) * | 2019-03-06 | 2023-12-12 | 北京字节跳动网络技术有限公司 | 转换后的单向预测候选的使用 |
-
2020
- 2020-02-07 PL PL24200129.5T patent/PL4459986T3/pl unknown
- 2020-02-07 EP EP20759829.3A patent/EP3913921B1/en active Active
- 2020-02-07 ES ES20759829T patent/ES2993149T3/es active Active
- 2020-02-07 WO PCT/KR2020/001785 patent/WO2020171444A1/ko not_active Ceased
- 2020-02-07 KR KR1020257008269A patent/KR20250041186A/ko active Pending
- 2020-02-07 HR HRP20260600TT patent/HRP20260600T1/hr unknown
- 2020-02-07 EP EP26158777.8A patent/EP4718841A3/en active Pending
- 2020-02-07 CN CN202080021404.2A patent/CN113574891B/zh active Active
- 2020-02-07 CN CN202410280423.7A patent/CN118200548A/zh active Pending
- 2020-02-07 CN CN202410277282.3A patent/CN118175304A/zh active Pending
- 2020-02-07 ES ES24200129T patent/ES3069895T3/es active Active
- 2020-02-07 KR KR1020217026104A patent/KR102783514B1/ko active Active
- 2020-02-07 FI FIEP20759829.3T patent/FI3913921T3/fi active
- 2020-02-07 HR HRP20241566TT patent/HRP20241566T1/hr unknown
- 2020-02-07 PL PL20759829.3T patent/PL3913921T3/pl unknown
- 2020-02-07 RS RS20260498A patent/RS68030B1/sr unknown
- 2020-02-07 CN CN202410277353.XA patent/CN118175305A/zh active Pending
- 2020-02-07 HU HUE20759829A patent/HUE069501T2/hu unknown
- 2020-02-07 MX MX2021010158A patent/MX2021010158A/es unknown
- 2020-02-07 CN CN202410280096.5A patent/CN118200547A/zh active Pending
- 2020-02-07 JP JP2021549543A patent/JP7425079B2/ja active Active
- 2020-02-07 SI SI202030534T patent/SI3913921T1/sl unknown
- 2020-02-07 EP EP24200129.5A patent/EP4459986B1/en active Active
-
2021
- 2021-08-20 MX MX2024014611A patent/MX2024014611A/es unknown
- 2021-08-20 MX MX2024014612A patent/MX2024014612A/es unknown
- 2021-08-24 US US17/410,371 patent/US11627323B2/en active Active
-
2023
- 2023-02-28 US US18/115,113 patent/US12003735B2/en active Active
- 2023-09-28 JP JP2023167521A patent/JP7543512B2/ja active Active
-
2024
- 2024-04-30 US US18/650,478 patent/US12348733B2/en active Active
- 2024-08-21 JP JP2024139454A patent/JP7783363B2/ja active Active
-
2025
- 2025-05-30 US US19/223,506 patent/US20250294160A1/en active Pending
- 2025-11-27 JP JP2025206767A patent/JP2026026223A/ja active Pending