RS66495B1 - Inter predikcioni postupak i uređaj zasnovan na dmvr i bdof - Google Patents

Inter predikcioni postupak i uređaj zasnovan na dmvr i bdof

Info

Publication number
RS66495B1
RS66495B1 RS20250140A RSP20250140A RS66495B1 RS 66495 B1 RS66495 B1 RS 66495B1 RS 20250140 A RS20250140 A RS 20250140A RS P20250140 A RSP20250140 A RS P20250140A RS 66495 B1 RS66495 B1 RS 66495B1
Authority
RS
Serbia
Prior art keywords
prediction
bdof
image
motion vector
dmvr
Prior art date
Application number
RS20250140A
Other languages
English (en)
Inventor
Naeri Park
Junghak Nam
Hyeongmoon Jang
Original Assignee
Lg Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lg Electronics Inc filed Critical Lg Electronics Inc
Publication of RS66495B1 publication Critical patent/RS66495B1/sr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Description

Opis
POZADINA OVOG OTKRIVANJA
Oblast ovog otkrivanja
[0001] Ovaj dokument se odnosi na tehnologiju kodiranja slike, i konkretnije, na postupak i uređaj za izvođenje predikcije na osnovu rafinisanja vektora pokreta sa strane dekodera (DMVR) i bi-usmerenog optičkog protoka (BDOF).
Povezano stanje tehnike
[0002] Zahtevi za slike i video zapise visoke rezolucije i visokog kvaliteta, kao što su slike i video zapisi u ultravisokoj definiciji (UHD) od 4K ili 8K i više, poslednjih godina su u porastu u raznim oblastima. Kako slika i video zapis postaju visoke rezolucije i visokog kvaliteta, količina informacija ili broj bitova koji se prenose relativno je povećan u poređenju sa postojećim podacima o slikama i video zapisima. Shodno tome, ako se slikovni podaci prenose putem medija kao što su postojeće žičane ili bežične širokopojasne linije, ili se slikovni i video podaci čuvaju koristeći postojeći medijum za čuvanje podataka, troškovi prenosa i čuvanja će takođe biti povećani.
[0003] Dodatno, interesovanja i zahtevi za imersivnim medijumima, kao što su virtuelna stvarnost (VR), veštačka stvarnost (AR) sadržaji ili hologrami, u poslednje vreme su u porastu. Povećava se emitovanje slika i videa sa slikama koje imaju karakteristike različite od stvarnih slika, kao što su slike iz igara.
[0004] Shodno tome, postoji potreba za tehnologijom kompresije slika i video zapisa visoke efikasnosti kako bi se efikasno kompresovale i prenosile ili čuvale i reprodukovale informacije o slikama i video zapisima visoke rezolucije i visokog kvaliteta sa tako različitim karakteristikama. Dokument: ESENLIK (HUAWEI) S ET AL, "Description of Core Experiment 9 (CE9): Decoder Side Motion Vector Derivation", no. m42832, (20180420), 122. MPEG MEETING; 20180416 -20180420; SAN DIEGO; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, URL: http://phenix.int-evry.fr/mpeg/doc_end_user/dokuments/122_San%20Diego/wgll/m42832-JVET-J1029-vl-JVET-J1029.zip JVET-J1029.doc, (20180420), se odnosi na izvođenje pokreta vektora sa strane dekodera. Dokument: UNNO (KDDI-RESEARCH) K ET AL, "Non-CE4: An applying condition of BDOF", no. JVET-P0546 ; m50517, (20190927), 16. JVET MEETING; 20191001 20191011; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ),, URL: http://phenix.intevry.fr/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P0546-v2.zip JVET-P0546.docx, (20190927), se odnosi na uslove za BDOF.
KRATAK SADRŽAJ OVOG PRONALASKA
[0005] Ovaj dokument obezbeđuje postupak i uređaj za povećanje efikasnosti kodiranja slike.
[0006] Ovaj dokument takođe obezbeđuje postupak i uređaj efikasne inter predikcije.
[0007] Ovaj dokument takođe obezbeđuje postupak i uređaj za izvođenje inter predikcije na osnovu rafinisanja vektora pokreta sa strane dekodera (DMVR).
[0008] Ovaj dokument takođe obezbeđuje postupak i uređaj za izvođenje inter predikcije na osnovu bi-usmerenog optičkog protoka (BDOF).
[0009] Ovaj dokument takođe obezbeđuje postupak i uređaj za pojačavanje učinka predikcije obezbeđivanjem uslova za određivanje da li se primenjuje DMVR za pojačavanje efikasnosti kodiranja slike i/ili uslova za određivanje o primeni BDOF.
[0010] Prema jednom aspektu ovog dokumenta, obezbeđen je uređaj za dekodiranje slike prema patentnom zahtevu 1.
[0011] Prema drugom aspektu ovog dokumenta, obezbeđen je uređaj za kodiranje slika prema patentnom zahtevu 2. U dodatnom aspektu, obezbeđen je uređaj prema patentnom zahtevu 4.
[0012] Prema ovom dokumentu, može da se poveća celokupna efikasnost kompresije slike/video zapisa.
[0013] Prema ovom dokumentu, složenost proračuna može biti smanjena, a ukupna efikasnost kodiranja može biti poboljšana kroz efikasnu inter predikciju.
[0014] Prema ovom dokumentu, predloženi su različiti uslovi primene DMVR-a i/ili BDOF-a za usavršavanje informacija o pokretu tokom postupka kompenzacije pokreta, kako bi se poboljšala efikasnost u smislu složenosti i učinka.
KRATAK OPIS CRETŽA
[0015]
FIG.1 šematski ilustruje primer sistema kodiranja video zapisa/slike koji može da se primenjuje na načine ostvarivanja ovog dokumenta.
FIG.2 predstavlja dijagram koji šematski objašnjava konfiguraciju uređaja za kodiranje video zapisa/slike koji može da se primenjuje na načini ostvarivanja ovog dokumenta.
FIG.3 predstavlja dijagram koji šematski objašnjava konfiguraciju uređaja za dekodiranje video zapisa/slike koji može da se primenjuje na načine ostvarivanja ovog dokumenta.
FIG.4 predstavlja dijagram koji objašnjava način ostvarivanja postupka izvođenja rafinisanja vektora pokreta sa strane dekodera (DMVR) u istinskoj bi-predikciji.
FIG.5 predstavlja dijagram koji objašnjava način ostvarivanja postupka izvođenja rafinisanja vektora pokreta sa strane dekodera (DMVR) korišćenjem zbira apsolutnih razlika (SAD).
FIG.6 ilustruje primer koji predstavlja postupak za izvođenje postupka dekodiranja putem proveravanja uslova za primenu DMVR i BDOF.
FIGS.7 i 8 ilustruju drugi primer koji predstavlja postupak za izvođenje postupka dekodiranja putem proveravanja uslova za primenu DMVR i BDOF.
FIG.9 predstavlja dijagram ilustrovan kako bi se objasnio koncept BDOF.
FIG.10 predstavlja dijagram tok postupka koji šematski ilustruje postupak kodiranja koji može da izvede uređaj za kodiranje prema nekom načinu ostvarivanja ovog dokumenta.
FIG.11 predstavlja dijagram tok postupka koji šematski ilustruje postupak dekodiranja koji može da izvede uređaj za dekodiranje prema nekom načinu ostvarivanja ovog dokumenta.
FIG.12 ilustruje primer sistema za protok sadržaja na koji načini ostvarivanja otkriveni u ovom dokumentu mogu da se primenjuju.
OPIS PRIMERA NAČINA OSTVARIVANJA
[0016] Ovaj dokument može biti modifikovan na različite načine i može imati različite načine ostvarivanja, a ove su detaljno opisani i crtežima ilustrovani konkretni načini ostvarivanja.
Međutim, nije predviđeno da se ovaj dokument ograniči na konkretne načine ostvarivanja. Termini koji su uobičajeno korišćeni u ovoj specifikaciji se koriste za opisivanje specifičnog načina ostvarivanja. Izraz u jednini uključuje i množinu, osim ako nije drugačije jasno izraženo iz konteksta. Pojam, kao što su 'uključuju' ili 'imaju' u ovoj specifikaciji, bi trebalo tumačiti kao ukazivanje na postojanje osobine, broja, faze, operacije, elementa, dela ili njihove kombinacije opisane u specifikaciji i ona ne isključuje postojanje ili mogućnost dodavanja jedne ili više drugih osobina, brojeva, faza, operacija, elemenata, delova ili njihovih kombinacija.
[0017] U međuvremenu, elementi na crtežima opisani u ovom dokumentu su nezavisno ilustrovani radi lakšeg opisivanja različitih karakterističnih funkcija. To ne znači da se svaki od elemenata primenjuje kao zaseban hardver ili zaseban softver. Na primer, najmanje dva elementa mogu biti kombinovana u jedan element, ili jedan element može biti podeljen na više elemenata.
[0018] U nastavku, poželjni načini ostvarivanja ovog dokumenta biće opisani detaljnije uz pozivanje na prateće crteže. Na crtežima će se koristiti iste pozivne oznake za iste elemente, a suvišan opis istog elementa može biti izostavljen.
[0019] FIG.1 šematski ilustruje primer sistema kodiranja video zapisa/slike na koji načini ostvarivanja ovog dokumenta mogu da se primenjuju.
[0020] Pozivanjem na Fig.1, sistem za kodiranje slike/video zapisa može da uključuje prvi uređaj (izvorni uređaj) i drugi uređaj (prijemni uređaj). Taj izvorni uređaj može da isporučuje kodirane informacije o video zapisu/slici ili podatke u obliku datoteke ili strimovanja do prijemnog uređaja preko digitalnog medijuma za čuvanje podataka ili mreže.
[0021] Izvorni uređaj može uključivati izvor video zapisa, uređaj za kodiranje i transmiter.
Prijemni uređaj može uključivati prijemnik, uređaj za dekodiranje i prikazivač. Uređaj za kodiranje može biti nazvan uređaj za kodiranje video zapisa/slika, a uređaj za dekodiranje može biti nazvan uređaj za dekodiranje video zapisa/slika. Transmiter može biti uključen u uređaj za kodiranje. Prijemnik može biti uključen u uređaj za dekodiranje. Prikazivač može uključivati displej, a displej može biti konfigurisana kao zaseban uređaj ili spoljašnju komponentu.
[0022] Izvor video zapisa može da dobije video zapis/sliku putem postupka snimanja, sinteze ili generisanja video zapisa/slike. Izvor video zapisa može uključivati 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 uključivati, na primer, jednu ili više kamera, arhive video zapisa /slika koje uključuju prethodno snimljeni video zapis/slike i slično. Uređaj za generisanje video zapisa/slike može uključivati, na primer, računare, tablete i pametne telefone, i može (elektronski) generisati video zapis/slike. Na primer, virtuelni video zapis/slika može biti generisana putem računara ili sličnog uređaja. U ovom slučaju, proces snimanja video zapisa/slike može biti zamenjen postupkom generisanja povezanih podataka.
[0023] Uređaj za kodiranje može kodirati ulazni video zapis/sliku. Uređaj za kodiranje može izvršiti niz postupaka kao što su predikcija, transformacija i kvantizacija kako bi se postigla efikasnost kompresije i kodiranja. Kodirani podaci (kodirani video/podaci o slici) mogu biti izlaz u obliku protoka bitova.
[0024] Transmiter može prenositi informacije o kodiranoj slici/slici ili podatke izlaznog protoka bitova prijemniku prijemnog uređaja putem digitalnog medijuma za čuvanje podataka ili mreže u obliku datoteke ili strimovanja. Digitalni medijum za čuvanje podataka može uključivati različite medijume za čuvanje podataka kao što su USB, SD, CD, DVD, Blu-ray, HDD, SSD i slični. Transmiter može uključivati element za generisanje medijske datoteke kroz unapred određeni format datoteke i može uključivati element za prenos putem emitovanja/komunikacione mreže. Prijemnik može primiti/izvući protok bitova i preneti primljeni protok bitova uređaju za dekodiranje.
[0025] Uređaj za dekodiranje može da dekodira video zapis/sliku izvođenjem niza postupaka kao što su dekvantizacija, inverzna transformacija i predikcija, koje odgovaraju operacijama uređaja za kodiranje.
[0026] Prikazivač može da obezbedi dekodirani video zapis/sliku. Dobijeni video zapis/slika može biti prikazan preko displeja.
[0027] Ovaj dokument se odnosi na kodiranje video zapisa/slika. Na primer, postupci/načini ostvarivanja opisani u ovom dokumentu mogu se primeniti na postupke opisane u standardima za kodiranje video zapisa/slika kao što su svestrano kodiranje video zapisa (VVC), EVC (esencijalno kodiranje video zapisa), AOMedia Video 1 (AV1), drugi vek kodiranja audio i video zapisa (AVS2), ili standardi za kodiranje video zapisa/slika naredne generacije (npr. H.267 ili H.268, itd.).
[0028] Ovaj dokument predstavlja razne načine ostvarivanja kodiranja video zapisa/slika, i ti načini ostvarivanja mogu da se izvedu u međusobnoj kombinaciji osim ukoliko nije drugačije napomenuto.
[0029] U ovom dokumentu, video zapis se može odnositi na seriju slika tokom vremena. Slika se generalno odnosi na jedinicu koja predstavlja jednu sliku u određenom vremenskom intervalu, dok je odsečak/pločica jedinica koja čini deo slike u kodiranju. Odsečak/pločica može uključivati jednu ili više jedinica stabla za kodiranje (CTU). Jedna slika može se sastojati od jednog ili više odsečaka/pločica. Jedna slika može se sastojati od jednog ili više grupa pločica. Jedna grupa pločica može uključivati jedan ili više pločica. Brik može predstavljati pravougaoni region redova CTU-a unutar pločica u slici. Pločica se može podeliti na više brikova, od kojih svaki čini jedan ili više redova CTU-a unutar pločica. Pločica koja nije podeljena na više brikova može se takođe nazvati brikom. Sken brika je specifičan sekvencijalni redosled CTU-a koji deli sliku, pri čemu su CTU-i raspoređeni uzastopno u CTU rasterskom skenu unutar brika, brikovi unutar pločica su raspoređeni uzastopno u rasterskom skenu brikova pločica, a pločice u slici su raspoređene uzastopno u rasterskom skenu pločica slike. Pločica je pravougaoni region CTU-a unutar određene kolone pločica i određenog reda pločica u slici. Pločica kolona je pravougaoni region CTU-a čija je visina jednaka visini slike, a širina je određena sintaksičkim elementima u setu parametara slike. Pločica red je pravougaoni region CTU-a čija je visina određena sintaksičkim elementima u setu parametara slike, a širina je jednaka širini slike. Sken pločice je specifičan sekvencijalni redosled CTU-a koji deli sliku, pri čemu su CTU-i raspoređeni uzastopno u CTU rasterskom skenu unutar pločica, dok su pločica-ovi u slici raspoređeni uzastopno u rasterskom skenu pločica slike. Odsečak uključuje ceo broj brikova slike koji mogu biti isključivo sadržani u jednom NAL objektu. Odsečak može da se sastoji od broja kompletnijih pločica ili samo od uzastopnog niza kompletnijih brikova jedne pločice. Grupe pločica i odsečci mogu se koristiti naizmenično u ovom dokumentu. Na primer, u ovom dokumentu, grupa pločica/zaglavlje grupe pločica može biti nazvano odsečak/zaglavlje odsečka.
[0030] Piksel ili pel može označavati najmanju jedinicu koja čini jednu sliku (ili sliku). Takođe, „uzorak” se može koristiti kao pojam koji odgovara pikselu. Uzorak obično predstavlja piksel ili vrednost piksela, i može predstavljati samo piksel/vrednost piksela komponente luma ili samo piksel/vrednost piksela komponente hrome.
[0031] Jedinica može predstavljati osnovnu jedinicu obrade slike. Jedinica može uključivati najmanje jedan specifičan region slike i informacije povezane sa tim regionom. Jedna jedinica može uključivati jedan luma blok i dva hroma bloka (npr. cb, cr). Jedinica se u nekim slučajevima može koristiti naizmenično sa terminima kao što su blok ili površina. U opštem slučaju, M×N blok može uključivati uzorak (ili nizove uzoraka) ili skup (ili niz) transformacionih koeficijenata sa M kolona i N redova.
[0032] U ovom dokumentu, pojam "/" i "," bi trebalo da se tumači da tako da označava "i/ili." Na primer, izraz "A/B" može da označava "A i/ili B." Dodatno, "A, B" može da označava "A i/ili B." Dodatno, "A/B/C" može da označava "najmanje jedan od A, B, i/ili C." Takođe, "A, B, C" može da označava "najmanje jedan od A, B, i/ili C."
[0033] Dodatno, u ovom dokumentu, pojam "ili" bi trebalo da se tumači da tako 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 bi trebalo da se tumači da tako da označava "dodatno ili alternativno."
[0034] FIG.2 je šematski dijagram koji ilustruje konfiguraciju uređaja za kodiranje video zapisa/slike na koji se mogu primeniti načini ostvarivanja iz ovog dokumenta. U nastavku, uređaj za kodiranje video zapisa može uključivati uređaj za kodiranje slika.
[0035] Pozivajući se na FIG.2, uređaj 200 za kodiranje uključuje razdelnik 210 slike, prediktor 220, preostali procesor 230, entropijski koder 240, sabirač 250, filter 260 i memoriju 270.
Prediktor 220 može uključivati inter prediktor 221 i intra prediktor 222. Preostali procesor 230 može uključivati transformator 232, kvantizator 233, dekvantizator 234 i inverzni transformator 235. Preostali procesor 230 može dodatno da uključuje oduzimač 231. Sabirač 250 može biti nazvan rekonstruktivni blok generator. Razdelnik 210 slike, prediktor 220, preostali procesor 230, entropijski koder 240, sabirač 250 i filter 260 mogu biti konfigurisani od strane najmanje jedne komponente hardvera (npr. čipset kodera ili procesor) prema nekom načinu ostvarivanja. Pored toga, memorija 270 može uključivati bafer za dekodiranu sliku (DPB) ili može biti konfigurisana putem digitalnog medijuma za čuvanje podataka. Komponenta hardvera može dodatno da uključuje memoriju 270 kao internu/eksternu komponentu.
[0036] Razdelnik 210 slike može podeliti ulaznu sliku (ili sliku ili okvir) unetu u uređaj 200 za kodiranje na jednu ili više procesora. Na primer, procesor može biti nazvan kodirajuća jedinica (CU). U tom slučaju, kodirajuća jedinica može biti rekurzivno podeljena prema strukturi kvadratnog stabla, binarnog stabla, ili ternarnog stabla (QTBTTT), počevši od jedinice stabla za kodiranje (CTU) ili najveće jedinice kodiranja (LCU). Na primer, jedna kodirajuća jedinica može biti podeljena na više kodirajućih jedinica dublje dubine zasnovane na strukturi kvadratnog stabla, binarnog stabla i/ili ternarnog stabla. U tom slučaju, na primer, struktura kvadratnog stabla može se primeniti prvo, a binarna struktura i/ili ternarna struktura može se primeniti kasnije. Alternativno, binarna struktura može se primeniti prva. Kodirajući postupak prema ovom dokumentu može se izvoditi na osnovu na finalne kodirajuće jedinice koja više nije podeljena. U tom slučaju, najveća kodirajuća jedinica može se koristiti kao finalna kodirajuća jedinica, zasnovana na efikasnosti kodiranja prema karakteristikama slike, ili, ako je potrebno, kodirajuća jedinica može biti rekurzivno podeljena na kodirajuće jedinice dublje dubine, a kodirajuća jedinica optimalne veličine može se koristiti kao finalna kodirajuća jedinica. Ovde, kodirajući postupak može uključivati postupak predikcije, transformacije i rekonstrukcije, koji će biti opisani kasnije. Kao još jedan primer, procesor može dodatno da uključuje prediktivnu jedinicu (PU) ili transformacionu jedinicu (TU). U tom slučaju, prediktivna jedinica i transformaciona jedinica mogu biti podeljene ili izdvojene iz prethodno pomenute finalne kodirajuće jedinice. Prediktivna jedinica može biti jedinica za predikciju uzorka, a transformaciona jedinica može biti jedinica za dobijanje transformacionih koeficijenata i/ili jedinica za dobijanje preostalog signala iz transformacionih koeficijenata.
[0037] Jedinica se može koristiti naizmenično sa terminima kao što su blok ili površina u nekim slučajevima. U opštem slučaju, M×N blok može predstavljati skup uzoraka ili transformacionih koeficijenata sastavljenih od M kolona i N redova. Uzorak obično predstavlja piksel ili vrednost piksela, može predstavljati samo piksel/vrednost piksela komponente luma ili samo piksel/vrednost piksela komponente hroma. Uzorak se može koristiti kao pojam koji odgovara jednoj slici (ili slici) za piksel ili pel.
[0038] U uređaju 200 za kodiranje, signal predikcije (predikcioni blok, prediktivni uzorak niz) koji izlazi iz inter prediktora 221 ili intra prediktora 222 oduzima se od ulaznog signal slike (originalni blok, niz originalnog uzorka) kako bi se generisao preostali signal (preostali blok, preostali uzorak niz), a generisani preostali signal se šalje transformatoru 232. U ovom slučaju, kao što je prikazano, jedinica za oduzimanje signala predikcije (predikcioni blok, niz predikcioni uzorak) od ulaznog signala slike (originalni blok, niz originalnog uzorka) u koderu 200 može se nazvati oduzimač 231. Prediktor može izvršiti predikciju na bloku koji se obrađuje (dalje nazvanom trenutni blok) i generisati predikcioni blok koji uključuje prediktivne uzorke za trenutni blok. Prediktor može odrediti da li će se primeniti intra predikcija ili inter predikcija na osnovu trenutnog bloka ili CU. Kao što je opisano kasnije u objašnjenju svakog načina predikcije, prediktor može generisati različite informacije povezane sa predikcijom, kao što su informacije o načinu predikcije, i preneti generisane informacije entropijskom koderu 240. Informacije o predikciji mogu biti kodirane u entropijskom koderu 240 i izlaziti u obliku protoka bitova.
[0039] Intra prediktor 222 može predvideti trenutni blok pozivajući se na uzorke u trenutnoj slici. Pomenuti uzorci mogu biti locirani u blizini trenutnog bloka ili mogu biti locirani odvojeno, u zavisnosti od načina predikcije. U intra predikciji, načini predikcije mogu uključivati brojne neusmerene režime rada i brojne usmerene režime rada. Neusmereni režim rada može uključivati, na primer, DC način i planarni način. Usmereni način može uključivati, na primer, 33 usmerena načina predikcije ili 65 usmerenih načina predikcije, u zavisnosti od stepena detalja u pravcu predikcije. Međutim, ovo je samo primer, i mogu se koristiti više ili manje usmerenih načina predikcije u zavisnosti od podešavanja. Intra prediktor 222 može odrediti način predikcije koji se primenjuje na trenutni blok koristeći način predikcije koji je primenjen na susedni blok.
[0040] Inter prediktor 221 može izvesti prediktivni blok za trenutni blok na osnovu referentnog bloka (referentni uzorak niz) koji je definisan vektorom pokreta na referentnoj slici. Ovde, kako bi se smanjila količina informacija o pokretu koje se prenose u inter predikciji, informacije o pokretu mogu biti predviđene u jedinicama blokova, podblokova ili uzoraka na osnovu korelacije informacija o pokretu između susednog bloka i trenutnog bloka. Informacije o pokretu mogu uključivati vektor pokreta i indeks referentne slike. Informacije o pokretu mogu dodatno uključivati informacije o pravcu inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju inter predikcije, susedni blok može uključivati prostorni susedni blok prisutan u trenutnoj slici i vremenski susedni blok prisutan 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 biti nazvan kolocirani referentni blok, kolocirana kodirajuća jedinica (colCU), itd., a referentna slika koja uključuje vremenski susedni blok može biti nazvana kolocirana slika (colPic). Na primer, inter prediktor 221 može konfigurisati listu kandidata za informacije o pokretu na osnovu susednih blokova i generisati informacije koje označavaju koji kandidat se koristi za izvođenje vektora pokreta i/ili indeksa referentne slike trenutnog bloka. Inter predikcija može biti izvršena na osnovu različitih načina predikcije. Na primer, u slučaju režima preskakanja i režima spajanja, inter prediktor 221 može koristiti informacije o pokretu susednog bloka kao informacije o pokretu trenutnog bloka. U režimu preskakanja, za razliku od režima spajanja, preostali signal se ne prenosi. U slučaju režima predikcije vektora pokreta (MVP), vektor pokreta susednog bloka može se koristiti kao prediktor vektora pokreta, a vektor pokreta trenutnog bloka može biti označen signaliziranjem razlike u vektoru pokreta.
[0041] Prediktor 220 može generisati signal predikcije na osnovu različitih postupaka predikcije koji su opisani u nastavku. Na primer, prediktor može ne samo primeniti intra predikciju ili inter predikciju da predvidi jedan blok, već takođe može simultano primeniti oba, intra predikciju i inter predikciju. Ovo se naziva kombinovana inter i intra predikcija (CIIP).
Pored toga, prediktor može biti na osnovu režima predikcije kopije unutrašnjeg bloka (IBC) ili režimu paleta za predikciju bloka. Režim rada IBC predikcije ili paleta mogu se koristiti za kodiranje sadržaja slike/video zapisa u igrama ili sličnim aplikacijama, na primer, za kodiranje sadržaja ekrana (SCC). IBC suštinski vrši predikciju u trenutnoj slici, ali može biti izvedena slično inter predikciji, jer se referentni blok izvodi u trenutnoj slici. Dakle, IBC može koristiti najmanje jednu od tehnika inter predikcije koje su opisane u ovom dokumentu. Režim rada paleta može se smatrati primerom intra kodiranja ili intra predikcije. Kada se primeni režim rada paleta, vrednost uzorka unutar slike može biti signalizirana na osnovu informacija sa tabele paleta tabele i indeksa paleta.
[0042] Signal predikcije generisan od strane prediktora (uključujući inter prediktor 221 i/ili intra prediktor 222) može se koristiti za generisanje rekonstruisanog signala ili za generisanje preostalog signala. Transformator 232 može generisati transformacione koeficijente primenom transformacione tehnike na preostali signal. Na primer, transformaciona tehnika može uključivati najmanje jedan od: diskretna kosinusnu transformaciju (DCT), diskretnu sinusnu transformaciju (DST), Karhunen-Loève transformaciju (KLT), transformaciju zasnovanu na grafu (GBT), ili uslovno nelinearnu transformaciju (CNT). Ovde, GBT označava transformaciju dobijenu iz grafa kada su informacije o vezi između piksela predstavljene grafom. CNT se odnosi na transformaciju generisanu na osnovu signala predikcije dobijenog korišćenjem svih prethodno rekonstruisanih piksela. Pored toga, transformacioni proces može biti primenjen na kvadratne blokove piksela iste veličine ili na blokove sa promenljivom veličinom umesto kvadratnih.
[0043] Kvantizator 233 može kvantizovati transformacione koeficijente i preneti ih entropijskom koderu 240, koji može kodirati kvantizovani signal (informacije o kvantizovanim transformacionim koeficijentima) i generisati protok bitova. Informacije o kvantizovanim transformacionim koeficijentima mogu se nazvati preostalim informacijama. Kvantizator 233 može preurediti kvantizovane transformacione koeficijente tipa bloka u jednostruki vektorski oblik na osnovu redosleda skeniranja koeficijenata i generisati informacije o kvantizovanim transformacionim koeficijentima na osnovu kvantizovanih transformacionih koeficijenata u jednostruko vektorskom obliku. Informacije o transformacionim koeficijentima mogu biti generisane. Entropijski koder 240 može primeniti različite postupke kodiranja, kao što su, na primer, eksponencijalni Golomb, kontekstualno-adaptivno kodiranje promenljive dužine (CAVLC), kontekstualno-adaptivno binarno aritmetičko kodiranje (CABAC) i slično. Entropijski koder 240 može kodirati informacije potrebne za rekonstrukciju video zapisa/slike, osim kvantizovanih transformacionih koeficijenata (npr. vrednosti sintaksičkih elemenata, itd.), zajedno ili odvojeno. Kodirane informacije (npr. kodirani informacije o video zapisu/slici) mogu biti prenete ili pohranjene u jedinicama NAL (sloja apstrakcije mreže) u obliku protoka bitova. Informacije o video zapisu/slici mogu dodatno uključivati informacije o različitim skupovima parametara kao što su skup parametara za adaptaciju (APS), skup parametara za sliku (PPS), skup parametara za sekvencu (SPS) ili skup parametara za video (VPS). Pored toga, informacije o video zapisu/slici mogu dodatno uključivati opšte informacije o ograničenjima. U ovom dokumentu, informacije i/ili sintaksički elementi preneti/signalizirani sa uređaja za kodiranje na uređaj za dekodiranje mogu biti uključeni u informacije o video zapisu/slici. Informacije o video zapisu/slici mogu biti kodirane kroz prethodno opisani postupak kodiranja i uključene u protok bitova. Protok bitova može biti prenesen preko mreže ili pohranjen u digitalnom medijumu za čuvanje podataka. Mreža može uključivati mrežu za emitovanje i/ili komunikacionu mrežu, a digitalni medijum za čuvanje podataka može uključivati različite medijume za čuvanje podataka kao što su USB, SD, CD, DVD, Blu-ray, HDD, SSD i slično. Transmiter (nije prikazan) koji prenosi izlaz signala iz entropijskog kodera 240 i/ili jedinice za čuvanje podataka (nije prikazana) koji čuva signal može biti uključen kao unutrašnji/spoljašnji element uređaja 200 za kodiranje, a alternativno, transmiter može biti uključen u entropijski koder 240.
[0044] Kvantizovani transformacioni koeficijenti koji izlaze iz kvantizatora 233 mogu se koristiti za generisanje signala predikcije. Na primer, preostali signal (preostali blok ili preostali uzorci) može se rekonstruisati primenom dekvantizacije i inverzne transformacije na kvantizovane transformacione koeficijente kroz dekvantizator 234 i inverzni transformator 235. Sabirač 250 dodaje rekonstruisani preostali signal na signal predikcije koji izlazi iz inter prediktora 221 ili intra prediktora 222 kako bi generisao rekonstruisani signal (rekonstruisanu sliku, rekonstruisani blok, rekonstruisani niz uzoraka). Ako ne postoji ostatak za blok koji treba obraditi, kao što je slučaj kada se primeni režim rada preskakanja, prediktivni blok može biti korišćen kao rekonstruisani blok. Sabirač 250 može biti nazvan rekonstruktor ili generator rekonstruisanih blokova. Generisani rekonstruisani signal može biti korišćen za intra predikciju sledećeg bloka koji treba obraditi u trenutnoj slici i može biti korišćen za inter predikciju sledeće slike kroz filtriranje, kao što je opisano u nastavku.
[0045] U međuvremenu, mapiranje luma skaliranjem hroma (LMCS) može da se primenjuje tokom kodiranja i/ili rekonstrukcije slike.
[0046] Filter 260 može poboljšati subjektivan/objektivan kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 260 može generisati modifikovanu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku i sačuvati modifikovanu rekonstruisanu sliku u memoriji 270, tačnije, u DPB memorije 270. Različiti postupci filtriranja mogu uključivati, na primer, deblokirajuće filtriranje, adaptivni pomeraj uzorka, filter adaptivne petlje, bilateralni filter i slične tehnike. Filter 260 može generisati različite informacije povezane sa filtriranjem i preneti te generisane informacije entropijskom koderu 240, kako je objašnjeno kasnije u opisu svakog postupka filtriranja. Informacije povezane sa filtriranjem mogu biti kodirane od strane entropijskog kodera 240 i izlaziti u obliku protoka bitova.
[0047] Modifikovana rekonstruisana slika preneta u memoriju 270 može se koristiti kao referentna slika u inter prediktoru 221. Kada se primeni inter predikcija kroz uređaj za kodiranje, može se izbeći neslaganje u predikciji između uređaja 200 za kodiranje i uređaja za dekodiranje, čime se poboljšava efikasnost kodiranja.
[0048] DPB memorije 270 može čuvati modifikovanu rekonstruisanu sliku koja se koristi kao referentna slika u inter prediktoru 221. Memorija 270 može čuvati informacije o kretanju bloka iz kojeg su informacije o kretanju u trenutnoj slici izvedene (ili kodirane) i/ili informacije o kretanju blokova u slici koji su već rekonstruisani. Pohranjene informacije o kretanju mogu biti prenete inter prediktoru 221 i korišćene kao informacije o kretanju prostorno susednog bloka ili informacije o kretanju vremenski susednog bloka. Memorija 270 može čuvati rekonstruisane uzorke blokova u trenutnoj slici i može preneti te rekonstruisane uzorke intra prediktoru 222.
[0049] FIG.3 je šematski dijagram koji ilustruje konfiguraciju uređaja za dekodiranje video zapisa/slike koji može da se primenjuje na načini ostvarivanja ovog dokumenta.
[0050] Pozivajući se na FIG.3, uređaj 300 za dekodiranje može uključivati entropijski dekoder 310, preostali procesor 320, prediktor 330, sabirač 340, filter 350 i memoriju 360. Prediktor 330 može uključivati inter prediktor 331 i intra prediktor 332. Preostali procesor 320 može uključivati dekvantizator 321 i inverzni transformator 321. Entropijski dekoder 310, preostali procesor 320, prediktor 330, sabirač 340 i filter 350 mogu biti konfigurisani od strane hardverske komponente (npr. dekoderski čipset ili procesor) prema određenom načinu implementacije. Pored toga, memorija 360 može uključivati bafer dekodirane slike (DPB) ili može biti konfigurisana pomoću digitalnog skladišnog medija. Hardverska komponenta može dodatno uključivati memoriju 360 kao internu/eksternu komponentu.
[0051] Kada se ulazni protok bitova koji uključuje informacije o video zapisu/slici obradi, uređaj 300 za dekodiranje može rekonstruisati sliku koja odgovara procesu u kojem su informacije o video zapisu/slici obrađene u uređaju za kodiranje sa Fig.2. Na primer, uređaj 300 za dekodiranje može izvoditi jedinice/blokove na osnovu informacija o podeli blokova dobijenih iz protoka bitova. Uređaj 300 za dekodiranje može izvršiti dekodiranje koristeći procesor primenjen u uređaju za kodiranje. Dakle, procesor dekodiranja može biti kodirajuća jedinica, na primer, i kodirajuća jedinica može biti podeljena prema strukturi kvadratnog stabla, binarnog stabla i/ili ternarnog stabla iz kodirajuće jedinice ili najveće kodirajuće jedinice. Jedna ili više transformacionih jedinica mogu biti izvedene iz kodirajuće jedinice. Rekonstruisani signal slike, dekodiran i izdat putem uređaja 300 za dekodiranje, može biti reprodukovan putem uređaja za reprodukciju.
[0052] Uređaj 300 za dekodiranje može primiti signal izlazni iz uređaja za kodiranje sa FIG.2 u obliku protoka bitova, a primljeni signal može biti dekodiran putem entropijskog dekodera 310. Na primer, entropijski dekoder 310 može analizirati protok bitova kako bi izveo informacije (npr. informacije o video zapisu/slici) potrebne za rekonstrukciju slike. Informacije o video zapisu/slici mogu dodatno uključivati informacije o raznim skupovima parametara kao što su skup parametara za adaptaciju (APS), skup parametara slike (PPS), skup parametara sekvence (SPS) ili skup parametara videa (VPS). Pored toga, informacije o video zapisu/slici mogu dodatno obuhvatiti opšte informacije o ograničenjima. Uređaj za dekodiranje može takođe dekodirati sliku na osnovu informacija o parametrima i/ili opštim informacijama o ograničenjima.
Informacije koje su signalizirane/primljene i/ili sintaksički elementi opisani kasnije u ovom dokumentu mogu biti dekodirani kroz postupak dekodiranja i dobijeni iz protoka bitova. Na primer, entropijski dekoder 310 dekodira informacije u protoku bitova na osnovu kodirajućeg postupks kao što su eksponencijalni Golomb kodiranje, CAVLC ili CABAC, i izlazni sintaksički elementi potrebni za rekonstrukciju slike i kvantizovane vrednosti transformacionih koeficijenata za ostatak. Konkretno, CABAC dekodiranje entropije može primiti bin koji odgovara svakom sintaksičkom elementu u protoku bitova, odrediti model konteksta koristeći informacije o ciljanom sintaksičkom elementu za dekodiranje, dekodirati informacije ciljanog bloka za dekodiranje ili informacije o simbolu/binu dekodiranim u prethodnoj fazi, i izvršiti aritmetičko dekodiranje na binu predikcijom verovatnoće pojave bita prema određenom modelu konteksta, čime se generiše simbol koji odgovara vrednosti svakog sintaksičkog elementa. U ovom slučaju, CABAC dekodiranje entropije može ažurirati model konteksta koristeći informacije o dekodiranom simbolu/binu za model konteksta sledećeg simbola/bina nakon što je model konteksta određen. Informacije povezane sa predikcijom među informacijama koje dekodira entropijski dekoder 310 mogu biti prosleđene prediktoru (inter prediktoru 332 i intra prediktoru 331), a preostala vrednost na kojoj je izvedeno dekodiranje entropije u dekoderu entropije 310, tj. kvantizovani transformacioni koeficijenti i povezane parametarske informacije, mogu biti unete u preostali procesor 320. Preostali procesor 320 može izvoditi preostali signal (preostali blok, preostale uzorke, niz preostalih uzoraka). Pored toga, informacije o filtriranju među informacijama koje dekodira entropijski dekoder 310 mogu biti prosleđene filteru 350.
Međutim, prijemnik (koji nije prikazan) za prijem signala izlaznog iz uređaja za kodiranje može biti dodatno konfigurisan kao interna/eksterna komponenta uređaja 300 za dekodiranje, ili prijemnik može biti komponenta entropijskog dekodera 310. Takođe, uređaj za dekodiranje prema ovom dokumentu može biti označen kao uređaj za dekodiranje video zapisa/slike, i uređaj za dekodiranje može biti klasifikovan u dekoder informacija (dekoder informacija video zapisa/slike) i dekoder uzorka (dekoder uzorka video zapisa/slike). Dekoder informacija može uključivati entropijski dekoder 310, a dekoder uzorka može uključivati najmanje jedan od dekvantizatora 321, inverznog transformatora 322, sabirača 340, filtera 350, memorije 360, inter prediktora 332 i intra prediktora 331.
[0053] Dekvantizator 321 može dekvantizovati kvantizovane transformacione koeficijente i izbaciti transformacione koeficijente. Dekvantizator 321 može reorganizovati kvantizovane transformacione koeficijente u obliku dvodimenzionalnog bloka. U tom slučaju, reorganizacija može biti izvršena na osnovu reda skeniranja koeficijenata koji je primenjen u uređaju za kodiranje. Dekvantizator 321 može izvršiti dekvantizaciju na kvantizovanim transformacionim koeficijentima koristeći parametar kvantizacije (npr. informacije o veličini koraka kvantizacije) i dobiti transformacione koeficijente.
[0054] Inverzni transformator 322 inverzno transformiše transformacionih koeficijenata kako bi dobio preostali signal (preostali blok, niz preostalih uzoraka).
[0055] Prediktor može izvršiti predikciju na trenutnom bloku i generisati prediktivni blok koji uključuje predikcione uzorke za trenutni blok. Prediktor može odrediti da li se primenjuje intra predikcija ili inter predikcija na trenutni blok na osnovu informacija o predikcionom izlazu iz entropijskog dekodera 310 i može odabrati specifičan intra/inter predikcioni režim.
[0056] Prediktor 320 može generisati signal predikcije na osnovu različitih postupaka predikcije opisanim u nastavku. Na primer, prediktor ne samo da primenjuje intra predikciju ili inter predikciju za predviđanje jednog bloka, već može istovremeno primeniti intra predikciju i inter predikciju. Ovo se naziva kombinovana inter i intra predikcija (CIIP). Pored toga, prediktor može biti na osnovu režima predikcije pomoću kopije intra bloka (IBC) ili režimu palete za predikciju bloka. IBC režim predikcije ili režim palete mogu biti korišćeni za kodiranje sadržaja slike/video zapisa u igrama ili sličnim aplikacijama, na primer, kodiranje sadržaja ekrana (SCC).
IBC suštinski vrši predikciju u trenutnoj slici, ali se može izvoditi slično inter predikciji jer se referentni blok izvodi u trenutnoj slici. To znači da IBC može koristiti 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 primeni režim palete, vrednost uzorka unutar slike može biti signalizirana na osnovu informacija o tabeli paleta i indeksa palete.
[0057] Intra prediktor 331 može predvideti trenutni blok pozivajući se na uzorke u trenutnoj slici. Pomenuti uzorci mogu biti locirani u blizini trenutnog bloka ili mogu biti smešteni dalje, u zavisnosti od režima predikcije. U intra predikciji, režimi predikcije mogu uključivati nekoliko neusmerenih režima i nekoliko usmerenih režima. Intra prediktor 331 može odrediti režim predikcije koji se primenjuje na trenutni blok koristeći režim predikcije koji je primenjen na susedni blok.
[0058] Inter prediktor 332 može izvesti predikciju bloka za trenutni blok na osnovu referentnog bloka (niza referentnih uzoraka) koji je označen vektorom pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacija o pokretu koje se prenose u inter predikcionom režimu, informacije o pokretima mogu biti predviđene u jedinicama blokova, podblokova ili uzoraka na osnovu korelacije informacija o pokretima između susednog bloka i trenutnog bloka. Informacije o pokretima mogu uključivati vektor pokreta i indeks referentne slike. Informacije o pokretima mogu dodatno obuhvatiti informacije o pravcu inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju inter predikcije, susedni blok može uključivati prostorni susedni blok prisutan u trenutnoj slici i vremenski susedni blok prisutan u referentnoj slici. Na primer, inter prediktor 332 može konfigurisati listu kandidata za informacije o pokretima na osnovu susednih blokova i izvoditi vektor pokreta trenutnog bloka i/ili indeks referentne slike na osnovu primljenih informacija o izboru kandidata. Inter predikcija može se izvršiti na osnovu različitih režima predikcije, a informacije o predikciji mogu uključivati informacije koje označavaju režim inter predikcije za trenutni blok.
[0059] Sabirač 340 može generisati rekonstruisani signal (rekonstruisana slika, rekonstruisani blok, niz rekonstruisanih uzoraka) čime se dodaje dobijeni preostali signal izlazu signala predikcije (prediktivni blok, niz predikcionih uzoraka) koji dolazi iz prediktora (uključujući inter prediktor 332 i/ili intra prediktor 331). Ako ne postoji ostatak za blok koji treba da se obradi, kao što je slučaj kada je primenjen režim preskakanja, prediktivni blok se može koristiti kao rekonstruisani blok.
[0060] Sabirač 340 može se nazivati rekonstruktorom ili generatorom rekonstruisanih blokova. Generisani rekonstruisani signal može biti korišćen za intra predikciju sledećeg bloka koji treba da se obradi u trenutnoj slici, može biti izlazni kroz filtriranje kao što je opisano u nastavku, ili može biti korišćen za inter predikciju sledeće slike.
[0061] U međuvremenu, luma mapiranje hroma skaliranjem (LMCS) može da se primenjuje u postupku dekodiranja slika.
[0062] Filter 350 može poboljšati subjektivni/objektivni kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 350 može generisati modifikovanu rekonstruisanu sliku primenom različitih filtrirajućih postupaka na rekonstruisanu sliku i smeštati modifikovanu rekonstruisanu sliku u memoriju 360, konkretno u DPB memorije 360. Različiti postupci filtriranja mogu uključivati, na primer, filtriranje deblokiranjem, adaptivni pomeraj uzorka, filter adaptivne petlje, bilateralni filter i slični postupci.
[0063] (Modifikovana) rekonstruisana slika smeštena u DPB memorije 360 može biti korišćena kao referentna slika u inter prediktoru 332. Memorija 360 može čuvati informacije o pokretima o bloku iz kojeg su informacije o pokretima u trenutnoj slici izvedene (ili dekodirane) i/ili informacije o pokretima o blokovima u slici koji su već rekonstruisani. Čuvane informacije o pokretima mogu biti prenete inter prediktoru 332 kako bi se koristile kao informacije o pokretima prostornog susednog bloka ili informacije o pokretima vremenskog susednog bloka. Memorija 360 može čuvati rekonstruisane uzorke rekonstruisanih blokova u trenutnoj slici i preneti rekonstruisane uzorke intra prediktoru 331.
[0064] U ovom dokumentu, načini ostvarivanja opisani u filteru 260, inter prediktoru 221, i intra prediktoru 222 uređaja 200 za kodiranje mogu biti isti kao ili se na odgovarajući način primeniti na filter 350, inter prediktor 332, i intra prediktor 331 uređaja 300 za dekodiranje. Isto može važiti i za jedinicu 332 i intra prediktor 331.
[0065] Kao što je prethodno opisano, u izvođenju kodiranja videa, predikcija se vrši kako bi se poboljšala efikasnost kompresije. Prediktivni blok, koji uključuje predikcione uzorke za trenutni blok, odnosno ciljani kodirajući blok, može biti generisan kroz predikciju. U ovom slučaju, prediktivni blok uključuje predikcione uzorke u prostornom domenu (ili domenu piksela).
Prediktivni blok je identično izveden u uređaju za kodiranje i uređaju za dekodiranje. Uređaj za kodiranje može poboljšati efikasnost kodiranja slike signaliziranjem uređaju za dekodiranje informacija o ostatku (preostalim informacijama) između originalnog bloka, a ne originalne vrednosti uzorka samog originalnog bloka, i prediktivnog bloka. Uređaj za dekodiranje može izvršiti preostali blok uključujući preostale uzorke zasnovane na preostalim informacijama, može generisati rekonstruisane uzorke dodajući preostali blok i prediktivni blok, i može generisati rekonstruisanu sliku koja uključuje rekonstruisane blokove.
[0066] Preostale informacije mogu biti generisane kroz postupak transformacije i kvantizacije. Na primer, uređaj za kodiranje može izvršiti preostali blok između originalnog bloka i prediktivnog bloka, može izvršiti transformacione koeficijente primenom transformacionog postupka na preostale uzorke (niz preostalih uzoraka) koji su uključeni u preostali blok, može izvršiti kvantizovane transformacione koeficijente primenom kvantizacionog postupka na transformacione koeficijente, i može signalizirati povezane preostale informacije uređaju za dekodiranje (kroz protok bitova). U ovom slučaju, preostale informacije mogu uključivati informacije kao što su vrednost informacija, informacije o lokaciji, transformacioni shematski podaci, transformaciona jezgra i parametri kvantizacije kvantizovanih transformacionih koeficijenata. Uređaj za dekodiranje može izvršiti dekvantizaciju/inverznu transformaciju na osnovu preostalih informacija i može generisati preostale uzorke (ili preostali blok). Uređaj za dekodiranje može generisati rekonstruisanu sliku na osnovu prediktivnog bloka i preostalog bloka. Dodatno, uređaj za kodiranje može izvršiti preostali blok dekvantizovanjem/inverzno transformišući kvantizovane transformacione koeficijente za referencu u inter predikciji sledeće slike, i može generisati rekonstruisanu sliku.
[0067] U međuvremenu, kao što je prethodno opisano, intra predikcija ili inter predikcija može se primeniti prilikom izvršavanja predikcije na trenutnom bloku. U nastavku će biti opisan slučaj primene inter predikcije na trenutni blok. U međuvremenu, kao što je prethodno opisano, intra predikcija ili inter predikcija može se primeniti prilikom izvršavanja predikcije na trenutnom bloku. U nastavku će biti opisan slučaj primene inter predikcije na trenutni blok.
[0068] Prediktor (tačnije, inter prediktor) uređaja za kodiranje/uređaja za dekodiranje može izvršiti predikcione uzorke primenom inter predikcije u jedinicama bloka. Inter predikcija predstavlja predikciju izvedenu postupkom zavisnim od elemenata podataka (npr. vrednosti uzoraka ili informacija o pokretu) slike(a) osim trenutne slike. Kada se primeni inter predikcija na trenutni blok, prediktivni blok (niz predikcionih uzoraka) za trenutni blok može biti izveden na osnovu referentnog bloka (niza referentnih uzoraka) specifičnog za vektor pokreta na referentnoj slici označenoj referentnim indeksom slike. Kako bi se smanjila količina informacija o pokretu koje se prenose u inter predikcionom režimu, informacije o pokretu trenutnog bloka mogu biti prediktivne u jedinicama bloka, podbloka ili uzorka, na osnovu korelacije informacija o pokretu između susednog bloka i trenutnog bloka. Informacije o pokretu mogu uključivati vektor pokreta i referentni indeks slike. Informacije o pokretu mogu dodatno uključivati tip inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). Kada se primeni inter predikcija, susedni blok može uključivati prostorni susedni blok koji se nalazi u trenutnoj slici i vremenski susedni blok koji se nalazi 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 nazivati imenima kao što su kolocirani referentni blok, kolocirani CU (colCU), itd., a referentna slika koja uključuje vremenski susedni blok može se nazivati kolociranom slikom (colPic). Na primer, lista kandidata za informacije o pokretu može biti konfigurisana na osnovu susednih blokova trenutnog bloka, a signalizirane informacije o zastavici ili indeksu mogu ukazivati koji je kandidat odabran (korišćen) u cilju izvođenja vektora pokreta i/ili referentnog indeksa FIG. trenutnog bloka. Inter predikcija može se izvršiti na osnovu različitih predikcionih režima, a na primer, u slučaju režima preskakanja i režima spajanja, informacije o pokretu trenutnog bloka mogu biti iste kao informacije o pokretu odabranog susednog bloka. U slučaju režima preskakanja, preostali signal se možda neće preneti, za razliku od režima spajanja. U slučaju režima predikcije vektora pokreta, vektor pokreta odabranog susednog bloka može se koristiti kao vektor pokreta prediktora, a razlika vektora pokreta može biti signalizirana. U tom slučaju, vektor pokreta trenutnog bloka može biti izveden korišćenjem zbira vektora pokreta prediktora i razlike vektora pokreta.
[0069] Informacije o pokretu mogu dodatno da uključuju L0 informacije o pokretu i/ili L1 informacije o pokretu u zavisnosti od tipa inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). L0-usmereni vektor pokreta može se nazivati L0 vektor pokreta ili MVL0, dok L1-usmereni vektor pokreta može biti nazvan L1 vektor pokreta ili MVL1. Predikcija zasnovana na L0 vektoru pokreta može se nazivati L0 predikcija, dok predikcija zasnovana na L1 vektoru pokreta može biti nazvana L1 predikcija. Predikcija koja koristi oba vektora pokreta, L0 i L1, može se označiti kao bi-predikcija. Ovde, L0 vektor pokreta može označavati vektor pokreta povezan sa referentnom slikom iz liste L0, dok L1 vektor pokreta može označavati vektor pokreta povezan sa referentnom slikom iz liste L1. Lista referentnih slika L0 može uključivati slike koje prethode trenutnoj slici u izlaznom redu, dok lista referentnih slika L1 može uključivati slike koje slede trenutnu sliku u izlaznom redu. Prethodne slike mogu se označiti kao napredne (referentne) slike, dok slike koje slede mogu biti označene kao reverzne (referentne) slike. Lista referentnih slika L0 može dodatno uključivati slike koje slede trenutnu sliku u izlaznom redu kao referentne slike. U tom slučaju, prethodne slike mogu biti prve indeksirane u listi L0, a zatim sledeće slike mogu biti indeksirane. Lista referentnih slika L1 može dodatno uključivati slike koje prethode trenutnoj slici u izlaznom redu kao referentne slike. U tom slučaju, sledeće slike mogu biti prve indeksirane u listi L1, a zatim prethodne slike mogu biti indeksirane. Ovde, izlazni red može odgovarati redu broja slika (POC).
[0070] Dodatno, različiti načini inter predikcije mogu biti korišćeni prilikom primene inter predikcije na trenutni blok. Na primer, različiti načini uključuju režim spajanja, režim preskakanja, režim vektora pokreta predikcija (MVP), afini režim, režim predikcije istorijskog vektora pokreta (HMVP) i drugi. Takođe, kao pomoćni načini mogu biti korišćeni režim rafinisanja vektora pokreta sa strane dekodera (DMVR), režim rezolucije adaptivnog vektora pokreta (AMVR), bi-usmereni optički protok (BDOF) i drugi. Afini režim može biti označen kao režim predikcije afinog pokreta. MVP mode može biti nazvan režim predikcije naprednih pokreta vektora (AMVP). U ovom dokumentu, neki načini i/ili kandidati za informacije o pokretu izvedeni nekim načinima mogu biti uključeni u jednu od informacija koje de odnose na kandidate drugih režima.
[0071] Informacije iz režima predikcije koji označava inter predikciju trenutnog bloka mogu biti signalizirane od strane uređaja za kodiranje uređaju za dekodiranje. U tom slučaju, informacije iz režima predikcije mogu biti uključene u protok bitova i primljene od strane uređaja za dekodiranje. Informacije iz režima predikcije mogu uključivati indeks informacije koje označavaju jedan od više kandidata za režim. Alternativno, režim inter predikcije može biti indikovan kroz hijerarhijsko signaliziranje informacija o zastavicama. U tom slučaju, informacije iz režima predikcije mogu uključivati jednu ili više zastavica. Na primer, da li se primenjuje režim preskakanja može biti označeno signaliziranjem zastavice preskakanja, da li se primenjuje režim spajanja može biti označeno signaliziranjem zastavice spajanja kada režim preskakanja nije primenjen, a da li se primenjuje MVP mode ili neka dodatna zastavica za razlikovanje može biti signalizirana kada režim spajanja nije primenjen. Afini režim može biti signaliziran kao nezavisan režim ili kao zavistan režim od režima spajanja ili MVP režima. Na primer, afini režim može uključivati afini režim spajanja i afini MVP režim.
[0072] Dodatno, informacije o pokretu trenutnog bloka mogu biti korišćene u primeni inter predikcije na trenutni blok. Uređaj za kodiranje može izvesti optimalne informacije o pokretu za trenutni blok kroz postupak procene pokreta. Na primer, uređaj za kodiranje može pretraživati sličan referentni blok koji ima visoku korelaciju u jedinicama frakcionog piksela unutar unapred određenog opsega pretrage na referentnoj slici koristeći originalni blok u originalnoj slici za trenutni blok i izvesti informacije o pokretu kroz pronađeni referentni blok. Sličnost između blokova može se izvesti na osnovu razlike faze uzoraka vrednosti. Na primer, sličnost blokova može biti izračunata na osnovu zbira apsolutnih razlika (SAD) između trenutnog bloka (ili šablona trenutnog bloka) i referentnog bloka (ili šablona referentnog bloka). U tom slučaju, informacije o pokretu mogu biti izvedene na osnovu referentnog bloka koji ima najmanji SAD u oblasti pretrage. Izvedene informacije o pokretu mogu biti signalizirane uređaju za dekodiranje prema različitim postupcima, zavisno od režima inter predikcije.
[0073] Prediktivni blok za trenutni blok može biti izveden na osnovu informacija o pokretu izvedenih prema režimu inter predikcije. Prediktivni blok može uključivati predikcione uzorke (niz predikcionih uzoraka) trenutnog bloka. Kada vektor pokreta (MV) trenutnog bloka ukazuje na frakcionu uzorak jedinicu, može se izvesti postupak interpolacije, a predikcioni uzorci trenutnog bloka mogu biti izvedeni na osnovu referentnih uzoraka frakcione uzorak jedinice u referentnoj slici putem postupka interpolacije. Kada se afina inter predikcija primenjuje na trenutni blok, predikcioni uzorci mogu biti generisani na osnovu MV uzorka/podbloka. Kada se primeni bi-predikcija, predikcioni uzorci izvedeni kroz ponderisani zbir ili ponderisanu sredinu predikcionih uzoraka izvedenih na osnovu L0 predikcije (tj. predikcije korišćenjem referentne slike u referentnoj listi slika L0 i MVL0) i predikcioni uzorci izvedeni na osnovu L1 predikcije (tj. predikcije korišćenjem referentne slike u referentnoj listi slika L1 i MVL1) mogu se koristiti kao predikcioni uzorci trenutnog bloka. Kada se primeni bi-predikcija, ako su referentne slike korišćene za L0 i L1 predikciju locirane u različitim vremenskim pravcima u odnosu na trenutnu sliku (tj. ako predikcija odgovara bi-predikciji i bi-usmerenoj predikciji), ovo može biti označeno kao prava bi-predikcija.
[0074] Rekonstruisane uzorke i rekonstruisane slike mogu biti generisane na osnovu izvedenih predikcionih uzoraka a zatim, postupak kao što je filtriranje unutar petlje itd. može da se izvede kao što je prethodno opisano.
[0075] U međuvremenu, budući da su pokreti trenutnog bloka prediktivno zasnovani na vektoru pokreta susednog bloka bez razlike u vektoru pokreta (MVD) u režimu preskakanja i/ili režimu spajanja, režim preskakanja i/ili režim spajanja pokazuju ograničenje u predikciji pokreta. Da bi se poboljšala ograničenja režima preskakanja i/ili režima spajanja, vektor pokreta može biti rafinisan primenom režima rafinisanja vektora pokreta sa strane dekodera (DMVR), režima Biusmerenog optičkog protoka (BDOF), itd. DMVR i BDOF režimi mogu se koristiti kada se primenjuje prava bi-predikcija na trenutni blok. Ovi režimi omogućavaju bolju tačnost predikcije pokreta, smanjujući greške u proceni pokreta između referentnih slika koje su u različitim vremenskim pravcima, posebno kada se koristi bi-usmerena predikcija.
[0076] FIG.4 predstavlja dijagram koji opisuje način ostvarivanja postupka izvođenja rafinisanja vektora pokreta sa strane dekodera (DMVR) u predikciji tačnog para.
[0077] DMVR je postupak u kojem dekoder vrši predikciju pokreta rafinisanjem informacija o pokretu susednog bloka. Kada se DMVR primeni, dekoder može izvoditi rafinisane informacije o pokretu putem poređenja troškova po šablonu generisanom korišćenjem informacija o pokretu susednog bloka u režimu spajanja/preskakanja. U ovom slučaju, preciznost predikcije pokreta može biti povećana, a učinak kompresije poboljšan bez potrebe za dodatnim signalizacijama.
[0078] U ovom dokumentu, radi lakšeg objašnjenja, uređaj za dekodiranje je uglavnom opisan, ali DMVR prema načinu ostvarivanja iz ovog dokumenta može se primeniti u istom postupku i u uređaju za kodiranje.
[0079] Pozivajući se na FIG.4, uređaj za dekodiranje može izvoditi predikcione blokove (tj. referentne blokove) identifikovane pomoću list0 i list1-usmerenih početnih vektora pokreta (ili informacija o pokretu) (npr., MV0 i MV1) i generisati šablon (ili bilateralni šablon) pomoću ponderisanog zbira (npr., proseka) izvedenih predikcionih uzoraka (faza 1). Ovde, početni vektori pokreta (MV0 i MV1) mogu predstavljati vektore pokreta izvedene korišćenjem informacija o pokretu susednog bloka u režimu spajanja/preskakanja.
[0080] Pored toga, uređaj za dekodiranje može izvoditi vektor pokreta (npr., MV0' i MV1') kako bi minimizirao razliku između šablona i uzorkovanog područja referentne slike kroz operaciju poređenja šablona (faza 2). Ovde, uzorkovano područje može označavati susedno područje početnog predikcionog bloka u referentnoj slici, a uzorkovano područje može se nazvati susednim područjem, referentnim područjem, pretraživačkim područjem, pretraživačkim opsegom, pretraživačkim prostorom, itd. Operacija poređenja šablona može uključivati operaciju izračunavanja vrednosti troškova između šablona i uzorkovanog područja referentne slike. Na primer, zbir apsolutnih razlika (SAD) može se koristiti kao mera troškova. Kao jedan primer, kao funkcija troškova može se koristiti normalizovani SAD. U tom slučaju, trošak poređenja može biti dat kao SAD(T - srednja vrednost(T), 2 * P[x] - 2 * srednja vrednost(P[x])). Ovde, T predstavlja šablon, a P[x] predstavlja blok u pretraživačkom području. Pored toga, vektor pokreta za izračunavanje minimalnog troškova šablona za svaku od dve referentne slike može se smatrati ažuriranim vektorom pokreta (koji zamenjuje početni vektor pokreta). Kao što je prikazano na FIG.8, uređaj za dekodiranje može generisati konačan bilateralni predikcioni rezultat (tj. konačni bilateralni predikcioni blok) koristeći ažurirane vektore pokreta MV0' i MV1'. Kao način ostvarivanja, može se koristiti višekratna iteracija za dobijanje ažuriranog (ili novog) vektora pokreta kako bi se dobio konačni bilateralni predikcioni rezultat.
[0081] U jednom načinu ostvarivanja, uređaj za dekodiranje može pozvati DMVR proces kako bi poboljšao preciznost početne predikcije kompenzacije pokreta (tj. predikcija kompenzacije pokreta kroz konvencionalni režim spajanja/preskakanja). Na primer, uređaj za dekodiranje može izvršiti DMVR proces kada je način predikcije trenutnog bloka režim spajanja ili režim preskakanja, i kada je primenjena bilateralna bi-predikcija u kojoj se bilateralne referentne slike nalaze u suprotnim pravcima na osnovu trenutne slike u redosledu prikaza, za trenutni blok.
[0082] FIG.5 predstavlja dijagram koji objašnjava način ostvarivanja postupka izvođenja rafinisanja vektora pokreta sa strane dekodera (DMVR) korišćenjem zbira apsolutnih razlika (SAD).
[0083] Kao što je prethodno opisano, uređaj za dekodiranje može meriti trošak poređenja koristeći SAD prilikom izvršavanja DMVR procesa. Kao jedan način ostvarivanja, na FIG.5 biće opisan postupak za rafinisanje vektora pokreta izračunavanjem srednjeg zbira apsolutnih razlika (MRSAD) između predikcionih uzoraka u dve referentne slike, bez generisanja šablona. Drugim rečima, postupak sa FIG.5 prikazuje način ostvarivanja bilateralnog poređenja korišćenjem MRSAD.
[0084] Pozivajući se na FIG.5, uređaj za dekodiranje može izvoditi susedni piksel od piksela (uzorka) označenog list0 (L0) smernim vektorom pokreta MV0 na L0 referentnoj slici i izvoditi susedni piksel od piksela (uzorka) označenog list1 (L1) smernim vektorom pokreta MV1 na L1 referentnoj slici. Pored toga, uređaj za dekodiranje može meriti trošak poređenja izračunavanjem MRSAD između L0 predikcionog bloka (tj. L0 referentnog bloka) identifikovanog vektorom pokreta koji označava susedni piksel izveden na L0 referentnoj slici i L1 predikcionog bloka (tj. L1 referentnog bloka) identifikovanog vektorom pokreta koji označava susedni piksel izveden na L1 referentnoj slici. U tom slučaju, uređaj za dekodiranje može izabrati pretraživačku tačku (tj. pretraživačko područje koje ima minimalni SAD između L0 predikcionog bloka i L1 predikcionog bloka) sa minimalnim troškom kao rafinisan vektor pokreta par. Drugim rečima, rafinisan vektor pokreta par može uključivati rafinisan L0 vektor pokreta koji označava položaj piksela (L0 predikcionog bloka) sa minimalnim troškom u L0 referentnoj slici i rafinisan L1 vektor pokreta koji označava položaj piksela (L1 predikcionog bloka) sa minimalnim troškom u L1 referentnoj slici.
[0085] Kao način ostvarivanja, prilikom izračunavanja troška poređenja, nakon što je pretraživačko područje referentne slike postavljeno, može se izvršiti jednostrana predikcija korišćenjem regularnog 8-tap DCTIF interpolacionog filtera. Dodatno, kao jedan primer, može se koristiti 16-bitna preciznost za izračunavanje MRSAD-a, a operacije obrezivanja i/ili zaokruživanja se možda neće primeniti pre izračunavanja MRSAD-a, uzimajući u obzir internu bafer memoriju.
[0086] Kada se primeni prava bi-predikcija na trenutni blok, kao što je prethodno opisano, BDOF (bi-usmereni optical flow) može se koristiti za rafinisanje bi-signalnih predikcija. Kada se bipredikcija primeni na trenutni blok, bi-usmereni optički protok (BDOF) može se koristiti za izračunavanje poboljšanih informacija o pokretu i generisanje predikcionih uzoraka na osnovu izračunatih informacija o pokretu. Na primer, BDOF može se primeniti na nivou 4 × 4 podbloka. Drugim rečima, BDOF može se izvršiti u jedinicama od 4 × 4 podbloka unutar trenutnog bloka. Alternativno, BDOF može se primeniti samo na luma komponentu. Takođe, BDOF može se primeniti samo na hroma komponentu, ili na obe, luma i hroma komponente.
[0087] BDOF režim je zasnovan na konceptu optičkog protoka, čime je pretpostavka da je kretanje objekta glatko, što je naznačeno imenom BDOF režima. Rafinisanje pokreta (vx, vy) može se izračunati svođenjem na minimum razlike između L0 i L1 predikcionih uzoraka za svaki od 4 × 4 podbloka. Pored toga, rafinisanje pokreta može se koristiti za prilagođavanje vrednosti bi-predikcionih uzoraka u 4 × 4 podblokovima.
[0088] U međuvremenu, može se primetiti da su DMVR i BDOF tehnike koje vrše predikciju rafinisanjem informacija o pokretu (u ovom slučaju, prava bi-predikcija predstavlja slučaj primene predikcije/pokretnosti u referentnoj slici u suprotnom pravcu na osnovu slike trenutnog bloka) u trenutku primene prave bi-predikcije, i da su tehnike rafinisanja koje imaju sličan koncept u tom što se pretpostavlja da se kretanje objekta na slici odvija unapred zadatom brzinom i u unapred zadatom pravcu. Međutim, kada se izvrši prava bi-predikcija, budući da su uslovi za primenu DMVR-a i BDOF-a različiti, proces provere tih uslova mora biti izvršen više puta za svaku tehniku. Stoga, ovaj dokument predlaže postupak koji može poboljšati efikasnost u smislu složenosti dekodera i učinka poboljšanjem procesa provere uslova u određivanju načina predikcije primenjenog na trenutni blok.
[0089] Tabela 1 u nastavku prikazuje uslov za primenu DMVR tokom konvencionalne stvarne bipredikcije. Kada su svi uslovi navedeni u nastavku ispunjeni, DMVR može da se primenjuje.
[Tabela 1]
[0090] Pozivajući se na tabelu 1, 1) da li će se primeniti DMVR može se odrediti na osnovu informacija o zastavici (npr., sps_dmvr_enabled_flag) signaliziranih u sintaksi seta parametara sekvenci (SPS). Ovde, informacije o zastavici (npr., sps_dmvr_enabled_flag) mogu predstavljati da li je prava bi-predikcija zasnovana na DMVR omogućena. Na primer, kada je sps_dmvr_enabled_flag postavljen na 1 (tj. kada je prava bi-predikcija zasnovana na DMVR omogućena), može se utvrditi da je uslov za omogućavanje DMVR-a ispunjen.
[0091] 2) Da li će se primeniti DMVR može se odrediti na osnovu informacija o zastavici (npr., merge_flag) koje predstavljaju da li se inter predikcija vrši korišćenjem režima spajanja/režima preskakanja. Na primer, kada je merge_flag postavljen na 1 (tj. kada se inter predikcija vrši korišćenjem režima spajanja/režima preskakanja), može se utvrditi da je uslov za primenu režima spajanja/režima preskakanja ispunjen.
[0092] 3) Da li će se primeniti DMVR može se odrediti na osnovu informacija o zastavici (npr., mmvd_flag) koje predstavljaju da li se inter predikcija vrši korišćenjem režima spajanja sa razlikom vektora pokreta (MMVD režim). Na primer, kada je mmvd_flag postavljen na 0 (tj. kada MMVD režim nije korišćen), može se utvrditi da je uslov za primenu MMVD režima ispunjen.
[0093] 4) Da li će se primeniti DMVR može se odrediti na osnovu toga da li se koristi bilateralna predikcija (bi-predikcija). Ovde, bilateralna predikcija može predstavljati inter predikciju koja se vrši korišćenjem referentnih slika koje postoje u različitim pravcima na osnovu trenutne slike. Na primer, kada su predFlagL0[0][0] = 1 i predFlagL0[1][1] = 1, može se utvrditi da je primenjena bilateralna predikcija i da je uslov za primenu bilateralne predikcije ispunjen.
[0094] 5) Da li će se primeniti DMVR može se odrediti na osnovu toga da li se vrši prava bipredikcija i da li su rastojanja između trenutne slike i bilateralnih referentnih slika ista. Drugim rečima, može se utvrditi da li je rastojanje između trenutne slike i L0 referentne slike (tj. referentne slike u listi referentnih slika L0) isto kao rastojanje između trenutne slike i L1 referentne slike (tj. referentne slike u listi referentnih slika L1). Na primer, kada je DiffPicOrderCnt(currPic, RefPicList0[refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList1[refIdxL1]) = 0, utvrđuje se da je izvršena prava bi-predikcija i da su rastojanja između trenutne slike i bilateralnih referentnih slika ista, čime se potvrđuje da je uslov za jednaka rastojanja između bilateralnih referentnih slika ispunjen.
[0095] 6) Da li će se primeniti DMVR može se odrediti na osnovu toga da li je visina trenutnog bloka veća od donje granične vrednosti. Na primer, kada je visina trenutnog bloka jednaka ili veća od 8, može se utvrditi da je uslov za veličinu trenutnog bloka (visinu) ispunjen.
[0096] 7) Da li će se primeniti DMVR može se odrediti na osnovu toga da li je veličina trenutnog bloka veća od donje granične vrednosti. Na primer, kada je veličina trenutnog bloka, visina * širina, jednaka ili veća od 64, može se utvrditi da je uslov za veličinu trenutnog bloka (visina * širina) ispunjen.
[0097] Uređaj za dekodiranje može odrediti da li će primeniti DMVR u zavisnosti od toga da li su uslovi 1) do 7) iz prethodne tabele 1 ispunjeni. Drugim rečima, kada su uslovi 1) do 7) iz tabele 1 ispunjeni, uređaj za dekodiranje može izvršiti pravu bi-predikciju primenom DMVR-a, a kada bilo koji od uslova iz tabele 1 nije ispunjen, uređaj za dekodiranje ne primenjuje DMVR.
[0098] Tabela 2 u nastavku prikazuje uslove za primenu BDOF tokom konvencionalne prave bipredikcije. Kada su svi uslovi navedeni u tabeli ispunjeni, može se primeniti BDOF.
[Tabela 2]
[0099] Pozivajući se na tabelu 2 iznad, 1) da li će se primeniti BDOF može se odrediti na osnovu informacija o zastavici (npr., sps_bdof_enabled_flag) signaliziranih u sintaksi seta parametara sekvenci (SPS). Ovde, informacije o zastavici (npr., sps_bdof_enabled_flag) mogu predstavljati da li je prava bi-predikcija zasnovana na BDOF omogućena. Na primer, kada je sps_bdof_enabled_flag postavljen na 1 (tj. kada je prava bi-predikcija zasnovana na BDOF omogućena), može se utvrditi da je uslov za omogućavanje BDOF-a ispunjen.
[0100] 2) Da li će se primeniti BDOF može se odrediti na osnovu toga da li se koristi bilateralna predikcija. Ovde, bilateralna predikcija može predstavljati inter predikciju koja se vrši korišćenjem referentnih slika koje postoje u različitim pravcima na osnovu trenutne slike. Na primer, kada su oba predFlagL0 i predFlagL1 postavljena na 1, može se utvrditi da je primenjena bilateralna predikcija i da je uslov za primenu bilateralne predikcije ispunjen.
[0101] 3) Da li će se primeniti BDOF može se odrediti na osnovu toga da li se vrši prava bipredikcija. Drugim rečima, može se utvrditi da li su L0 referentna slika (tj. referentna slika u listi referentnih slika L0) i L1 referentna slika (tj. referentna slika u listi referentnih slika L1) smeštene u vremenski različitim pravcima u odnosu na trenutnu sliku. Na primer, kada je DiffPicOrderCnt(currPic, refPicList0[refIdxL0]) * DiffPicOrderCnt(currPic, refPicList1[refIdxL1]) manji od 0, utvrđuje se da su bilateralne referentne slike smeštene u različitim pravcima u odnosu na trenutnu sliku, čime se potvrđuje da je uslov za primenu prave bi-predikcije ispunjen.
[0102] 4) Da li će se primeniti BDOF može se odrediti na osnovu toga da li se koristi afini režim. Ovde, da li se afini režim koristi može se utvrditi izvođenjem MotionModelIdc. Na primer, kada je izvedeni MotionModelIdc jednak 0, može se utvrditi da afini režim nije korišćen, a u tom slučaju može se zaključiti da je uslov za primenu afini režima ispunjen.
[0103] 5) Da li će se primeniti BDOF može se odrediti na osnovu informacija o zastavici (npr., merge_subblock_flag) koje predstavljaju da li se inter predikcija vrši u jedinicama podblokova. Na primer, kada je merge_subblock_flag postavljen na 0 (tj. kada režim spajanja nije primenjen u jedinicama podblokova), može se utvrditi da je uslov za primenu režima spajanja u jedinicama podblokova ispunjen.
[0104] 6) Da li će se primeniti BDOF može se odrediti na osnovu toga da li GBi postoji. Ovde, da li GBi postoji može se utvrditi na osnovu informacija o indeksu GBi (npr., GbiIdx). Na primer, kada je GbiIdx postavljen na 0 (tj. kada je GbiIdx podrazumevan), može se utvrditi da je uslov za postojanje GBi ispunjen.
[0105] 7) Da li će se primeniti BDOF može se odrediti na osnovu toga da li je trenutni blok luma blok koji uključuje luma komponentu. Na primer, kada je indeks (npr., cIdx) koji označava da li je trenutni blok luma blok (tj. kada je trenutni blok luma blok), može se utvrditi da je uslov za to da je trenutni blok luma blok ispunjen.
[0106] Uređaj za dekodiranje može da odredi da li će primeniti DMVR na osnovu toga da li su ispunjeni uslovi 1) do 7) iz prethodne tabele 2. Drugim rečima, kada su uslovi 1) do 7) iz prethodne tabele 2 ispunjeni, uređaj za dekodiranje može da izvrši pravu bi-predikciju primenom BDOF, a kada bilo koji od uslova iz prethodne tabele 2 nije ispunjen, uređaj za dekodiranje ne primenjuje BDOF.
[0107] Kao što je prethodno opisano, neki od uslova za primenu DMVR-a i BDOF-a su isti, dok su neki slični ili različiti. U konvencionalnoj šemi, pošto se provera uslova vrši za svaku tehniku čak i kada su uslovi isti, složenost za izvođenje bi-predikcije se povećava. Stoga, ovo otkriće predlaže efikasan uslov za primenu DMVR-a i BDOF-a tokom bi-predikcije.
[0108] Kada se režim spajanja/preskakanja uporedi sa AMVP režimom, režim spajanja/preskakanja ima relativno nižu tačnost u odnosu na AMVP režim, te stoga, usavršavanje informacija o pokretu korišćenjem DMVR postupka daje bolje rezultate u pogledu učinka. Međutim, BDOF režim može da se primeni čak i u AMVP režimu, pored toga što je primenjen na režim spajanja/preskakanja, za razliku od DMVR-a, i u tom slučaju složenost izvođenja BDOF-a u odnosu na performanse može da se poveća kada se BDOF primeni u AMVP režimu. Shodno tome, način ostvarivanja predlaže postupak za primenu BDOF-a u režimu spajanja/preskakanja, slično kao i za DMVR.
[0109] U ovom slučaju, kao način ostvarivanja predložen u ovom otkriću, uslov za primenu BDOF-a može uključivati uslove prikazane u Tabeli 3 u nastavku.
[Tabela 3]
[0110] Pozivajući se na prethodnu tabelu 3, da li će se primeniti BDOF može se odrediti na osnovu informacija o zastavici (npr. merge_flag) koja predstavlja da li je inter predikcija izvedena korišćenjem režima spajanja/režima preskakanja. Na primer, kada je merge_flag 1 (tj. kada je inter predikcija izvedena korišćenjem režima spajanja/režima preskakanja), može se odrediti da je uslov za primenu režima spajanja/režima preskakanja ispunjen. Shodno tome, BDOF se može primeniti i u režimu spajanja/režimu preskakanja, slično kao i DMVR.
[0111] Drugim rečima, u tom načinu ostvarivanja, zajedno sa uslovom koji se primenjuje u slučaju režima spajanja/režima preskakanja, da li će se primeniti BDOF može se odrediti na osnovu uslova koji se primenjuju kada je BDOF omogućen, uslova koji se primenjuju u slučaju bilateralne predikcije, uslova koji se primenjuju kada se vrši prava bi-predikcija, uslova koji se primenjuju kada se koristi afina predikcija, uslova koji se primenjuju kada režim spajanja zasnovan podblok unije primenjen, uslova koji se primenjuju kada je GBi indeks podrazumevan, i uslova koji se primenjuju kada je trenutni blok luma blok.
[0112] Shodno tome, uređaj za dekodiranje može odrediti da li su svi uslovi navedeni u prethodnoj tabeli 3 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može izvršiti pravu bi-predikciju primenom BDOF-a. Kada bilo koji od uslova navedenih u prethodnoj tabeli 3 nije ispunjen, uređaj za dekodiranje može da ne primeni BDOF. Uređaj za kodiranje može takođe primeniti uslove iz prethodne tabele 3 i uređaj za kodiranje može izvršiti pravu bi-predikciju putem odgovarajućeg postupka u uređaju za dekodiranje.
[0113] Postupak za izvođenje prave bi-predikcije zasnovane na uslovima navedenim u prethodnoj tabeli 3 može se nezavisno primeniti na DMVR i BDOF ili se može primeniti pod istim uslovom za DMVR i BDOF.
[0114] U međuvremenu, kada su uslovi navedeni u tom načinu ostvarivanja isti kao uslovi opisani u prethodnim tabelama 1 i 2, detaljna operacija ili značenje se primenjuju na sličan način, te će detaljan opis za svaki uslov biti izostavljen. Dodatno, duplicirani sadržaji čak i u načinima ostvarivanja koji će biti opisani u nastavku biće izostavljeni.
[0115] Uređaj za kodiranje/dekodiranje može biti konfigurisan različitim hardverom, a preferencija odnosa složenosti i učinka može biti različita. Stoga, način ostvarivanja predlaže postupak koji može usavršiti informacije o pokretu primenom DMVR-a čak i u AMVP režimu, pored toga što je primenjen na režim spajanja/režim preskakanja.
[0116] U ovom slučaju, kao način ostvarivanja predložen u ovom otkriću, uslov za primenu DMVR-a može uključivati uslove prikazane u Tabeli 4 u nastavku.
[Tabela 4]
[0117] Pozivajući se na prethodnu tabelu 4, postupak određivanja da li primeniti DMVR može biti na osnovu informacija o zastavici (npr. merge_flag) koja predstavlja da li je inter predikcija izvedena korišćenjem režima spajanja/režima preskakanja. Na taj način, izostavljanjem uslova za primenu režima spajanja/režima preskakanja, DMVR može biti primenjen čak i u AMVP režimu, pored toga što je primenjen na režim spajanja/režim preskakanja.
[0118] Prema prethodnoj tabeli 4, da li će se primeniti DMVR može se odrediti na osnovu uslova koji se primenjuju kada je DMVR omogućen, uslova koji se primenjuju kada MMVD režim nije korišćen, uslova koji se primenjuju u slučaju bilateralne predikcije, uslova koji se primenjuju u slučaju prave bi-predikcije u kojoj su rastojanja između trenutne slike i bilateralnih referentnih slika ista, uslova koji se primenjuju kada je visina trenutnog bloka jednaka ili veća od 8, i uslova koji se primenjuju kada je veličina (visina * širina) trenutnog bloka jednaka ili veća od 64.
[0119] Drugim rečima, uređaj za dekodiranje može odrediti da li su svi uslovi navedeni u prethodnoj tabeli 4 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može izvršiti pravu bi-predikciju primenom DMVR. Kada bilo koji od uslova navedenih u prethodnoj tabeli 4 nije ispunjen, uređaj za dekodiranje ne može primeniti DMVR. Uređaj za kodiranje takođe može primeniti uslove iz prethodne tabele 4 i uređaj za kodiranje može izvršiti pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0120] Postupak za izvođenje prave bi-predikcije, zasnovan na uslovima navedenim u tabeli 4 gore, može se nezavisno primeniti na DMVR i BDOF ili može biti primenjen pod istim uslovima za DMVR i BDOF.
[0121] U međuvremenu, kao 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 napredni vremenski vektor pokreta predikcija (ATMVP) režim nije korišćen, afini režim nije korišćen, i CPR nije korišćen. U ovom slučaju, uslov primene DMVR može uključivati uslove prikazane u tabeli 5 u nastavku.
[Tabela 5]
[0122] Pozivajući se na tabelu 5 gore, da li je uslov primenjen kada afini režim nije korišćen (npr., kada je MotionModelIdc 0) i da li je uslov primenjen kada režim spajanja zasnovan na
podblokovima nije korišćen (npr., kada je merge_subblock_flag 0) određuje se da se DMVR primeni samo u normalnom režimu spajanja.
[0123] Dodatno, u tom načinu ostvarivanja, zajedno sa uslovom za to da li je afini režim korišćen i uslovom za to da li je režim spajanja zasnovan na podblokovima korišćen, da li će se primeniti DMVR može se odrediti na osnovu uslova primenjenom kada je DMVR omogućen, uslovu primenjenom kada je režim spajanja/režim preskakanja korišćen, uslovu primenjenom kada MMVD režim nije korišćen, uslovu primenjenom u slučaju bilateralne predikcije, uslovu primenjenom u slučaju prave bi-predikcije u kojoj su rastojanja između trenutne slike i bilateralne referentne slike ista, uslovu primenjenom kada je visina trenutnog bloka jednaka ili veća od 8, i uslovu primenjenom kada je veličina (visina * širina) trenutnog bloka jednaka ili veća od 64.
[0124] Drugim rečima, uređaj za dekodiranje može odrediti da li su svi uslovi navedeni u tabeli 5 gore ispunjeni, i kada su svi uslovi ispunjeni, uređaj za dekodiranje može izvršiti pravu bipredikciju primenom DMVR. Kada bilo koji od uslova navedenih u tabeli 5 gore nije ispunjen, uređaj za dekodiranje ne može primeniti DMVR. Uređaj za kodiranje takođe može primeniti uslove iz tabele 5 gore i uređaj za kodiranje može izvršiti pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0125] Uslov za to da li primeniti režim spajanja zasnovan na podblokovima (npr., merge_subblock_flag) među uslovima primene iz tabele 5 gore uključuje duplicirani uslov među konvencionalnim uslovima primene DMVR. Shodno tome, kao način ostvarivanja ovog otkrivanja, uslov koji je dupliciran sa uslovom (npr., merge_subblock_flag) za to da li primeniti režim spajanja zasnovan na podblokovima može biti uklonjen. U ovom slučaju, odgovarajući uslov može biti uklonjen kako je predloženo u tabeli 6 u nastavku.
[Tabela 6]
[0126] Pozivajući se na prethodnu tabelu 6, režim spajanja zasnovan na podblokovima može se primeniti kada je veličina trenutnog bloka jednaka ili veća od 8 x 8. Shodno tome, pošto uslov (npr., merge_subblock_flag = 0) za to da li primeniti režim spajanja zasnovan na podblokovima uključuje uslov vezan za veličinu trenutnog bloka, uslovi (npr., CbHeight i CbHeight*CbWidth) vezani za veličinu trenutnog bloka među uslovima primene konvencionalnog DMVR mogu biti isključeni. Na primer, uslov za to da li je visina trenutnog bloka jednaka ili veća od 8 i uslov za to da li je visina * širina trenutnog bloka jednaka ili veća od 64 mogu biti izostavljeni, a da li primeniti DMVR može se odrediti korišćenjem preostalih uslova navedenih u prethodnoj tabeli 6 gore.
[0127] Drugim rečima, uređaj za dekodiranje može odrediti da li su svi uslovi navedeni u prethodnoj tabeli ispunjeni, i kada su svi uslovi ispunjeni, uređaj za dekodiranje može izvršiti pravu bi-predikciju primenom DMVR. Kada bilo koji od uslova navedenih u prethodnoj tabeli 6 nije ispunjen, uređaj za dekodiranje ne može primeniti DMVR. Uređaj za kodiranje takođe može primeniti uslove iz prethodne tabele 6 i uređaj za kodiranje može izvršiti pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0128] Postupak za izvođenje prave bi-predikcije zasnovan na uslovima navedenim u prethodnim tabelama 5 i 6 može nezavisno da se primenjuje na DMVR i BDOF ili može da se primenjuje pod istim uslovima za DMVR i BDOF.
[0129] Kao način ostvarivanja ovog otkrivanja, kako bi se povećala tačnost vektora pokreta pri niskoj složenosti, kada je veličina bloka mala, tehnike rafinisanja kao što su DMVR i BDOF možda neće biti primenjene. U konvencionalnoj shemi, tehnika rafinisanja može se primeniti kada je trenutni blok koji je jednak ili veći od 8 x 8, a u slučaju DMVR tehnike rafinisanja, kada je veličina trenutnog bloka velika, rafinisanje se primenjuje razdvajanjem trenutnog bloka na jedinice od 16 × 16, i kao rezultat toga, DMVR možda neće biti primenjen na blok koji je manji od 16 × 16. U ovom slučaju, uslov primene DMVR može uključivati uslove prikazane u tabeli 7 u nastavku.
[Tabela 7]
[0130] Pozivajući se na prethodnu tabelu 7, DMVR možda neće biti primenjen na blok koji je manji od 16 x 16 promenom uslova (npr., CbHeight i CbWidth) vezanih za veličinu trenutnog bloka. Na primer, 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 mogu biti korišćeni. Kada su uslovi primene vezani za veličinu trenutnog bloka ispunjeni (tj. kada je veličina trenutnog bloka jednaka ili veća od 16 x 16), DMVR može biti primenjen, a kada uslovi primene vezani za veličinu trenutnog bloka nisu ispunjeni (tj. kada je veličina trenutnog bloka manja od 16 x 16), DMVR možda neće biti primenjen.
[0131] Dodatno, u tom načinu ostvarivanja, zajedno sa uslovima (npr., CbHeight i CbWidth) koji se odnose na veličinu trenutnog bloka, da li primeniti DMVR može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 7.
[0132] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 7 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom DMVR-a. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 7 nije ispunjen, uređaj za dekodiranje ne može da primenjuje DMVR. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 7 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0133] Kao način ostvarivanja ovog otkrivanja, kada je trenutni blok onaj blok koji je manji od 16 x 16, BDOF može da se ne primenjuje pored DMVR. U ovom slučaju, uslov za primenu BDOF može da uključuje uslove prikazane u tabeli 8 u nastavku.
[Tabela 8]
[0134] Pozivajući se na prethodnu tabelu 8, BDOF možda neće biti primenjen 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, 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 mogu biti korišćeni. Kada su uslovi za primenu vezani za veličinu trenutnog bloka ispunjeni (tj. kada je veličina trenutnog bloka jednaka ili veća od 16 x 16), BDOF može biti primenjen, a kada uslovi za primenu vezani za veličinu trenutnog bloka nisu ispunjeni (tj. kada je veličina trenutnog bloka manja od 16 x 16), BDOF možda neće biti primenjen.
[0135] Dodatno, u tom načinu ostvarivanja, zajedno sa uslovima (npr., CbHeight i CbWidth) koji se odnose na veličinu trenutnog bloka, da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 8.
[0136] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 8 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 8 nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 8 i uređaj za kodiranje može da izvodi pravu bipredikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0137] Postupak za izvođenje prave bi-predikcije zasnovan na uslovima navedenim u prethodnim tabeli 7 ili 8 može nezavisno da se primenjuje na DMVR i BDOF ili može da se primenjuje pod istim uslovima za DMVR i BDOF.
[0138] Kao što je prethodno opisano, DMVR se primenjuje kada su rastojanja između trenutne slike i bilateralnih referentnih slika ista, dok se BDOF kontinuirano primenjuje u slučaju prave bipredikcije, čak i kada su rastojanja između trenutne slike i bilateralnih referentnih slika različita.
Shodno tome, ovo otkriće predlaže postupak koji može integralno primeniti uslov vezan za bilateralno rastojanje referentnih slika na DMVR i BDOF u cilju povećanja efikasnosti kodiranja.
[0139] Kao način ostvarivanja predložen u ovom otkrivanju, uslov za primenu BDOF može da uključuje uslove predstavljanje u tabeli 9 u nastavku.
[Tabela 9]
[0140] Pozivajući se na prethodnu tabelu 9, uslov vezan za rastojanje referentne slike među uslovima za primenu BDOF (npr., DiffPicOrderCnt) je promenjen kako bi se na sličan način primenio odgovarajući uslov i na DMVR i na BDOF. Na primer, da bi se odredilo da li je DiffPicOrderCnt(currPic, RefPicListO[refIdxL0]) - DiffPicOrderCnt(currPic, RefPicList1[refIdxL1]) jednako 0, utvrđuje se da li su rastojanja 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) ista. Drugim rečima, BDOF može biti primenjen samo kada su rastojanja između trenutne slike i bilateralnih referentnih slika ista. Kao rezultat toga, kako bi se dodao uslov u kojem se vrši prava bi-predikcija i rastojanja bilateralnih referentnih slika su ista, opseg primene BDOF-a je ograničen, čime se štedi složenost dekodiranja.
[0141] Dodatno, u tom načinu ostvarivanja, zajedno sa uslovima (npr., DiffPicOrderCnt) koji se odnose na rastojanje referentne slike, da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 9.
[0142] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 9 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 9 nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 9 i uređaj za kodiranje može da izvodi pravu bipredikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0143] Kao način ostvarivanja predložen u ovom otkrivanju, uslov za primenu DMVR može da uključuje uslove prikazane u tabeli 10 u nastavku.
[Tabela 10]
[0144] Pozivajući se na prethodnu tabelu 10, uslov koji se odnosi na rastojanje referentne slike među uslovima za primenu DMVR (npr., DiffPicOrderCnt) se menja kako bi se se slično primenio odgovarajući uslov na DMVR i BDOF. Na primer, utvrđuje se da li je DiffPicOrderCnt(currPic, refPicList0[refIdxL0]) * DiffPicOrderCnt(currPic, refPicList1[refIdxL1]) manji od 0 kako bi se odredilo da li se vrši prava bi-predikcija u kojoj su bilateralne referentne slike locirane u različitim pravcima u odnosu na trenutnu sliku. Drugim rečima, DMVR može biti kontinuirano primenjen u slučaju prave bi-predikcije, čak i kada rastojanja između trenutne slike i bilateralnih referentnih slika nisu ista. Kao rezultat toga, kako bi se primenio uslov za to da li se vrši prava bipredikcija, vektor pokreta izveden uzimajući u obzir složenost dekodiranja može biti korišćen bez skaliranja, čak i kada su rastojanja bilateralnih referentnih slika različita.
[0145] Dodatno, u tom načinu ostvarivanja, zajedno sa ovim uslovom (npr., DiffPicOrderCnt) koji se odnose na rastojanje referentne slike, da li primeniti DMVR može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 10.
[0146] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 10 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom DMVR-a. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 10 nije ispunjen, uređaj za dekodiranje ne može da primenjuje DMVR. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 10 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0147] Postupak za izvođenje prave bi-predikcije zasnovan na uslovima navedenim u prethodnoj tabeli 9 ili 10 može nezavisno da se primenjuje na DMVR i BDOF ili može da se primenjuje pod istim uslovima za DMVR i BDOF.
[0148] U međuvremenu, u svakom referentnom bloku može doći do slučaja u kojem se kompenzacija pokreta vrši pomoću ponderisanog zbira usled promene osvetljenja. U ovom slučaju, pošto fenomen može biti određen GBi ili lokalnom kompenzacijom osvetljenja (LIC), uslov za primenu DMVR i BDOF može se odrediti uzimajući u obzir uslov GBi ili LIC.
[0149] Kao način ostvarivanja ovog otkrivanja, predložen je postupak za određivanje da li primeniti DMVR uzimajući u obzir GBi i LIC uslove. U ovom slučaju, uslov za primenu DMVR može da uključuje uslove prikazane u tabeli 11 u nastavku.
[Tabela 11]
[0150] Pozivajući se 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 predstavljati generalizovanu bipredikciju koja može primeniti različite težine na L0 predikciju i L1 predikciju, i na primer, predstavlja generalizovanu bi-predikciju koristeći GbiIdx. GbiIdx može postojati u slučaju bipredikcije i predstavljati indeks težine bi-predikcije. Na primer, GbiIdx može biti izveden iz susednog bloka u režimu spajanja, ili signaliziran od uređaja za kodiranje ka uređaju za dekodiranje putem GbiIdx sintaksičkog elementa (npr., gbi_idx) u MVP režimu. Kao primer, GbiIdx može označiti težinu w primenjenu na L1 predikciju, a u tom slučaju, težina (1-w) može biti primenjena na L0 predikciju. Kao drugi primer, GbiIdx može označiti težinu w primenjenu na L0 predikciju, a u tom slučaju, težina (1-w) može biti primenjena na L1 predikciju.
[0151] Prema tabeli 11, ako je GbiIdx 0 (tj. ako je GbiIdx podrazumevani), može se odrediti da je GBi uslov ispunjen, a ako je LICFlag 0 (tj. ako LIC postoji), može se odrediti da je LIC uslov ispunjen.
[0152] Dodatno, u tom načinu ostvarivanja, zajedno sa GBi uslovom (npr., GbiIdx) i LIC uslovom (npr., LICFlag), da li primeniti DMVR može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 11.
[0153] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 11 ispunjeni, i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom DMVR-a. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 11 nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 11, a uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0154] Kao način ostvarivanja ovog otkrivanja, predložen je postupak za određivanje da li da se primeni BDOF razmatranjem GBi i LIC uslova. U ovom slučaju, uslov za primenu BDOF može da uključuje uslove prikazane u tabeli 12 u nastavku.
[Tabela 12]
[0155] Prema prethodnoj tabeli 12, da li da se primeni BDOF može se odrediti dodavanjem LIC uslova (npr., LICFlag) zajedno sa konvencionalnim GBi uslovom (npr., GbiIdx). Na primer, kada je GbiIdx 0 (tj. kada je GbiIdx podrazumevani), može se odrediti da je uslov za postojanje GBi ispunjen, a kada je LICFlag 0 (tj. kada LIC postoji), može se odrediti da je uslov za postojanje LIC ispunjen.
[0156] Shodno tome, u tom načinu ostvarivanja, zajedno sa GBi uslovom (npr., GbiIdx) iLIC uslovom (npr., LICFlag), da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 12.
[0157] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 12 ispunjeni, i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 12 nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 12, a uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0158] Postupak za izvođenje prave bi-predikcije zasnovan na uslovima navedenim u prethodnim tabelama 11 ili 12 može nezavisno da se primenjuje na DMVR i BDOF ili može da se primenjuje pod istim uslovima za DMVR i BDOF.
[0159] U međuvremenu, pošto DMVR i BDOF izvode informacije o pokretu kroz proces rafinisanja u uređaju za dekodiranje, javlja se problem složenosti dekodiranja. Shodno tome, ovo otkriće predlaže postupak koji može smanjiti složenost dekodiranja omogućavajući da li primeniti DMVR i BDOF bude određeno korišćenjem indeksa spajanja. U ovom slučaju, pošto i DMVR i BDOF vrše rafinisanje vektora pokreta u ograničenom opsegu, efekat rafinisanja može biti smanjen kada je vektor pokreta netačan. Shodno tome, ovo otkriće predlaže postupak koji može ograničeno primeniti DMVR i BDOF samo kada je vrednost koja označava indeks spajanja mala, uzimajući u obzir efikasnost rafinisanja.
[0160] Ovde, indeks spajanja može biti sintaksički element koji uređaj za kodiranje signalizira uređaju za dekodiranje. Na primer, uređaj za kodiranje/uređaj za dekodiranje može konfigurisati listu kandidata za spajanje na osnovu susednih blokova trenutnog bloka kada se režim spajanja/režim preskakanja primenjuje na trenutni blok. U ovom slučaju, uređaj za kodiranje može odabrati optimalnog kandidata za spajanje među kandidatima uključenim u listu kandidata za spajanje, na osnovu rate-distortion (RD) troškova, i signalizirati informacije o indeksu spajanja koje označavaju odabranog kandidata za spajanje uređaju za dekodiranje.
Uređaj za dekodiranje može odabrati kandidat za spajanje primenjen na trenutni blok, na osnovu liste kandidata za spajanje i informacija o indeksu spajanja.
[0161] Kao način ostvarivanja ovog otkrivanja, postupak za određivanje da li primeniti DMVR korišćenjem indeksa spajanja uključuje uslove prikazane u tabeli 13 u nastavku.
[Tabela 13]
[0162] Pozivajući se na prethodnu tabelu 13, da li primeniti DMVR može se odrediti dodavanjem uslova za indeks spajanja (npr., merge_idx). Na primer, kada je indeks spajanja (npr., merge_idx) manji od 2, može se odrediti da je uslov za indeks spajanja ispunjen. Ovde, vrednost (donja granična vrednost) indeksa spajanja može biti postavljena na 2, ali ovo je samo jedan primer, i odgovarajuća vrednost može biti promenjena u zavisnosti od efikasnosti kodiranja.
[0163] Shodno tome, u tom načinu ostvarivanja, zajedno sa uslovom za indeks spajanja (npr., merge_idx), da li primeniti DMVR može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 13.
[0164] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 13 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom DMVR-a. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 13 nije ispunjen, uređaj za dekodiranje ne može da primenjuje DMVR. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 13 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0165] Kao način ostvarivanja ovog otkrivanja, postupak za određivanje da li da se primeni BDOF korišćenjem indeksa spajanja može da uključuje uslove predstavljene u tabeli 14 u nastavku.
[Tabela 14]
[0166] Pozivajući se na Tabelu 14 gore, da li da se primeni BDOF može da se odredi dodavanjem uslova za to da li je primenjen režim spajanja/režim preskakanja (npr., merge_flag) i uslov za indeks spajanja (npr., merge_idx). Na primer, kada merge_flag nije 1 (tj. kada se inter predikcija vrši korišćenjem režima spajanja/režima preskakanja) i merge_idx nije veći ili jednak 2, samo ako je vrednost indeksa spajanja mala, može se odrediti da je uslov za ograničeno primenjivanje BDOF-a ispunjen. Drugim rečima, kada je merge_flag 1 (tj. kada se inter predikcija vrši korišćenjem režima spajanja/režima preskakanja) i merge_idx je manji od 2, samo ako je vrednost indeksa spajanja mala, može se odrediti da je uslov za indeks spajanja ispunjen i BDOF se može primeniti. Ovde, vrednost (donja granična vrednost) indeksa spajanja može biti postavljena na 2, ali ovo je samo jedan primer, a odgovarajuća vrednost može biti promenjena u zavisnosti od efikasnosti kodiranja.
[0167] Drugim rečima, u tom načinu ostvarivanja, zajedno sa ovim uslovom da li je primenjen režim spajanja/režim preskakanja (npr., merge_flag) i uslovom za indeks spajanja (npr., merge_idx), da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 14.
[0168] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 14 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 14 nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 14 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0169] Postupak za izvođenje prave bi-predikcije zasnovan na uslovima navedenim u prethodnoj tabeli 13 ili 14 može nezavisno da se primenjuje na DMVR i BDOF ili može da se primenjuje pod istim uslovima za DMVR i BDOF.
[0170] U međuvremenu, u režimu spajanja/režimu preskakanja, informacije o pokretu mogu biti rafinisane kroz MMVD, i u ovom slučaju, pošto se složenost dekodiranja povećava, DMVR se ne primenjuje kada se MMVD primeni. Međutim, kada se DMVR primeni bez razmatranja MMVD, DMVR se može primeniti bez MMVD uslova uzimajući u obzir poboljšanje učinka. U ovom slučaju, prema nekom načinu ostvarivanja ovog otkrivanja, uslov za primenu DMVR-a može da uključuje uslove prikazane u tabeli 15 u nastavku.
[Tabela 15]
[0171] Pozivajući se na prethodnu tabelu15, uslov (npr., mmvd_flag) za to da li primeniti MMVD režim među uslovima za primenu konvencionalnog DMVR-a može biti isključen. Drugim rečima, proces određivanja da li je mmvd_flag 0 (tj. da li MMVD režim nije korišćen) može biti izostavljen, i da li primeniti DMVR može da se odredi na osnovu uslova navedenih u prethodnoj tabeli 15.
[0172] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj Tabeli 15 ispunjeni (isključujući uslov (npr., mmvd_flag) za to da li primeniti MMVD režim), i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom DMVR-a. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 15 nije ispunjen, uređaj za dekodiranje ne može da primeni DMVR. Uređaj za kodiranje takođe može da primeni uslove iz prethodne tabele 15, i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0173] Dodatno, suprotno opisanom načinu ostvarivanja iz prethodne tabele 15, kada se informacije o pokretu rafinišu kroz MMVD u režimu spajanja/režimu preskakanja, da li da se primeni BDOF može da se odredi razmatranjem složenosti dekodiranja. Shodno tome, ovo otkriće predlaže postupak za određivanje da li da se primeni BDOF uzimajući u obzir MMVD uslov. U ovom slučaju, prema nekom načinu ostvarivanja ovog otkrivanja, uslov za primenu BDOF može da uključuje uslove prikazane u tabeli 16 u nastavku.
[Tabela 16]
[0174] Pozivajući se na prethodnu tabelu 16, BDOF se možda neće primeniti kada se informacije o pokretu rafinišu kroz MMVD dodajući uslov (npr., mmvd_flag) za to da li primeniti MMVD režim. Na primer, kada je mmvd_flag 0 (tj. kada MMVD režim nije korišćen), može da se odredi da je uslov za to da li primeniti MMVD režim ispunjen.
[0175] Shodno tome, u tom načinu ostvarivanja, zajedno sa ovim uslovom (npr., mmvd_flag) za to da li primeniti MMVD režim, da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 16.
[0176] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 16 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 16 nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 16 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0177] Postupak za izvođenje prave bi-predikcije zasnovan na uslovima navedenim u
prethodnim tabelama 15 ili 16 može nezavisno da se primenjuje na DMVR i BDOF ili može da se primenjuje pod istim uslovima za DMVR i BDOF.
[0178] U međuvremenu, u slučaju AMVP, može se primeniti tehnika adaptivna rezolucija vektora pokreta(AMVR). U ovom slučaju, kada je rezolucija vektora pokreta visoka, tj. kada je obezbeđeno zaokruživanje na celokupni piksel ili zaokruživanje na 4 celokupna piksela, možda neće biti odgovarajuće primeniti tehniku u slučaju BDOF za izvođenje rafinisanja u ograničenom prostoru. Shodno tome, ovo otkriće predlaže postupak koji može odrediti primenu BDOF prema uslovima AMVR. U ovom slučaju, prema jednom načinu ostvarivanja ovog otkrića, uslov za primenu BDOF može uključivati uslove prikazane u tabeli 17 u nastavku.
[Tabela 17]
[0179] Pozivajući se na prethodnu tabelu 17, da li da se primeni BDOF može da se odredi dodavanjem AMVR uslova (npr., amvr_flag). Ovde, amvr_flag može predstavljati informaciju koja označava rešenje razlike u vektoru pokreta (MVD). Na primer, u slučaju kada je amvr_flag 0, ovaj slučaj može ukazivati na to da je rezolucija MVD izvedena u jedinicama 1/4 uzorka (četvrtina-luma-uzorka), dok u slučaju kada amvr_flag nije 0, može ukazivati na to da je rezolucija MVD izvedena u jedinicama celokupnog-luma-uzorka ili četiri-luma-uzorka.
Alternativno, može se odrediti obrnuti slučaj. Prema jednom načinu ostvarivanja, kao što je prikazano u prethodnoj tabeli 20, u slučaju kada amvr_flag nije 0, može se postaviti uslov da se BDOF primeni. Drugim rečima, u slučaju kada je amvr_flag 0, primena BDOF može biti ograničena i neće se primeniti.
[0180] Shodno tome, u tom načinu ostvarivanja, zajedno sa AMVR uslovom (npr., amvr flag), da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 17.
[0181] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u tabeli 17 ispunjeni, i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bipredikciju primenom BDOF. Kada bilo koji od uslova navedenih u Tabeli 17 nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje takođe može da primeni uslove iz tabele 17 i može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0182] U međuvremenu, DMVR i BDOF mogu biti signalizirani u sintaksi sekvencijalnog parametarskog skupa (SPS). Tabela 18 u nastavku prikazuje jedan primer sintaksičkog elementa koji označava da li je DMVR signaliziran kroz SPS sintaksu i da li je BDOF omogućen.
[0183] Pozivajući se na tabelu 18 iznad, sps_dmvr_enabled_flag može biti signaliziran u SPS sintaksi i da li je omogućen DMVR zasnovan na stvarnoj bi-predikciji može biti predstavljeno na osnovu sintaksičkog elementa. Na primer, u slučaju kada je sps_dmvr_enabled_flag postavljen na 1, to može značiti da je omogućen DMVR zasnovan na stvarnoj bi-predikciji, dok u slučaju kada je sps_dmvr_enabled_flag postavljen na 0, to može značiti da DMVR zasnovan na stvarnoj bi-predikciji nije omogućen.
[0184] Dodatno, sps_bdof_enabled_flag može biti signaliziran u SPS sintaksi i da li je BDOF zasnovan na stvarnoj bi-predikciji omogućen može biti predstavljeno na osnovu sintaksičkog elementa. Na primer, u slučaju kada je sps_bdof_enabled_flag postavljen na 1, to može značiti da je BDOF zasnovan na stvarnoj bi-predikciji omogućen, dok u slučaju kada je sps_bdof_enabled_flag postavljen na 0, to može značiti da BDOF zasnovan na stvarnoj bipredikciji nije omogućen.
[0185] Kao što je prikazano u tabeli 18, uslovi za primenu DMVR i BDOF može se proveriti korišćenjem sintaksičkog elementa (npr. sps_dmvr_enabled_flag) koji predstavlja da li je DMVR omogućen, i sintaksičkog elementa (npr. sps_bdof_enabled_flag) koji predstavlja da li je BDOF omogućen.
[0186] FIG.6 ilustruje primer koji prikazuje postupak za izvođenje dekodiranja proverom uslova za primenu DMVR i BDOF.
[0187] Kao što je prikazano u tabeli 18, postupak sa FIG.6 može se primeniti kada se koristi sintaksički element (npr. sps_dmvr_enabled_flag) koji predstavlja da li je DMVR omogućen, i sintaksički element (npr. sps_bdof_enabled_flag) koji predstavlja da li je BDOF omogućen.
[0188] Pozivajući se na FIG.6, uređaj za dekodiranje može da izvodi informacije o pokretu (npr., vektoru pokreta, indeks referentne slike, itd.) za trenutni blok (S600).
[0189] Uređaj za dekodiranje može proveriti primenu DMVR (S610). U ovom slučaju, uslov za primenu DMVR-a može se proveriti na osnovu sintaksičkog elementa (npr. sps_dmvr_enabled_flag) koji predstavlja da li je DMVR omogućen. Na primer, kada je DMVR omogućen (npr. kada je sps_dmvr_enabled_flag postavljen na 1), uslov za primenu DMVR može da se proveri.
[0190] Uređaj za dekodiranje može odrediti da li da primeni DMVR proces u zavisnosti od toga da li je uslov za primenu DMVR ispunjen (S620).
[0191] Kada su svi uslovi za primenu DMVR ispunjeni, uređaj za dekodiranje može da izvodi rafinisane informacije o pokretu primenom DMVR postupka (S630). Kada najmanje jedan od uslova za primenu DMVR nije ispunjen, uređaj za dekodiranje ne može da primenjuje DMVR postupak.
[0192] Uređaj za dekodiranje može da izvodi predikcione uzorke trenutnog bloka na osnovu informacija o pokretu izvedenim (ne rafinisanim) kada rafinisane informacije o pokretu nisu dostupne, ili DMVR se primenjuje kada primena DMVR-a nije izvršena (S640).
[0193] Pored toga, uređaj za dekodiranje može da proverava uslovu za primenu BDOF (S650). U ovom slučaju, uslov za primenu BDOF DMVR može biti proveren na osnovu sintaksičkog elementa (npr., sps_bdof_enabled_flag) koji predstavlja da li je BDOF omogućen. Na primer, kada je DMVR omogućen (npr., when sps_bdof_enabled_flag is 1), uslov za primenu DMVR može biti proveren.
[0194] Kada su svi uslovi za primenu BDOF ispunjeni, uređaj za dekodiranje može rafinisati predikcione uzorke primenom BDOF postupka (S670). Kada najmanje jedan od uslova za primenu BDOF nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF postupak.
[0195] Uređaj za dekodiranje može da izvodi preostale uzorke za trenutni blok (S680) i izvodi rekonstruisane uzorke na osnovu rafinisanih predikcionih uzoraka izvedenih prilikom primene preostalih uzoraka i BDOF, ili predikcionih uzoraka (ne rafinisanim) izvedenih kada BDOF nije primenjen (S690).
[0196] Ovo otkrivanje predlaže različite načine ostvarivanja koji mogu poboljšati efikasnost kodiranja i smanjiti složenost harmonizovanjem međusobnih uslova za primenu DMVR i BDOF prilikom njihove primene, kao što je prethodno opisano. Prilikom proveravanja uslova za primenu DMVR i BDOF prema načinima ostvarivanja ovog otkrivanja i primene tih uslova u postupku dekodiranja, odgovarajući uslovi mogu biti posebno provereni i primenjeni, ali uslov za primenu može biti proveren odjednom kako bi se poboljšala efikasnost kodiranja. Drugim rečima, ovo otkrivanje predlaže postupak koji integriše i proverava uslov za primenu DMVR-a i BDOF odjednom.
[0197] Kao način ostvarivanja ovog otkrivanja, informacija (npr.,) koja označava da li je primena rafinisanja u uređaju za dekodiranje u sintaksi sekvencijalnog parametarskog seta (SPS) signalizirana za izvođenje postupka provere uslova za primenu DMVR/BDOF. Zatim, tabela 19 prikazuje jedan primer sintaksičkog elementa (npr., sps_refinement_enabled_flag) koji predstavlja da li primeniti rafinisanje u uređaju za dekodiranje, signalizirano kroz SPS sintaksu.
[0198] Pozivajući se na prethodnu tabelu 19, sps_refinement_enabled_flag može biti signaliziran u SPS sintaksi i može predstavljati da li je rafinisanje primenljivo u uređaju za dekodiranje na osnovu sintaksičkog elementa. Na primer, kada sps_refinement_enabled_flag postoji (tj. kada je sps_refinement_enabled_flag postavljen na stvarni), može se odrediti da je rafinisanje primenljivo u uređaju za dekodiranje. U ovom slučaju, uređaj za dekodiranje dobija sintaksički element sps_dmvr_enabled_flag koji predstavlja da li je DMVR omogućen i sintaksički element sps_bdof_enabled_flag koji predstavlja da li je BDOF omogućen kako bi se odredio uslov za primenu DMVR i BDOF.
[0199] FIG.7 i 8 ilustruju još jedan primer koji prikazuje postupak za izvođenje dekodiranja proverom uslova za primenu DMVR i BDOF.
[0200] Postupak sa FIG.7 i postupak sa FIG.8 mogu se primeniti kada se koristi sintaksički element (npr., sps_refinement_enabled_flag) koji predstavlja da li je rafinisanje primenljivo u uređaju za dekodiranje, kao što je prikazano u prethodnoj tabeli 19. Dodatno, opis dupliciranih sadržaja sa FIG.7 i 8 sa FIG.6, koja je prethodno opisana, biće ispunjen.
[0201] Pozivajući se na FIG.7, može se videti da se uslovi za primenu proveravaju odjednom u prethodnoj fazi, bez potrebe za proverom odgovarajućih uslova za primenu DMVR-a i BDOF-a, upoređujući sa postupkom sa prethodne FIG.6. Kao način ostvarivanja, u fazi S710 sa FIG.7, uređaj za dekodiranje može proveriti uslov za primenu rafinisanja. U ovom slučaju, uslov za primenu rafinisanja može biti proveren na osnovu sps_refinement_enabled_flag prikazanog u prethodnoj tabeli 19. Na primer, uređaj za dekodiranje može dobiti sintaksički element sps_dmvr_enabled_flag koji predstavlja da li je DMVR omogućen i sintaksički element sps_bdof_enabled_flag koji predstavlja da li je BDOF omogućen kada je sps_refinement_enabled_flag postavljen na 1 i proveriti uslove za primenu DMVR i BDOF na osnovu dobijenih sintaksičkih elemenata.
[0202] Dodatno, pozivajući se na FIG.8, uslovi za primenu se proveravaju odjednom u prethodnoj fazi, bez potrebe za proverom odgovarajućih uslova za primenu DMVR i BDOF, upoređujući sa postupkom sa prethodne FIG.6, a jednostavan postupak provere (uslov za primenu BDOF) može se izvršiti u odnosu na različit uslov. Kao način ostvarivanja, u fazi S810 sa FIG.8, uređaj za dekodiranje može proveriti uslov za primenu rafinisanja. Nakon toga, u fazi S850 sa FIG.8, uređaj za dekodiranje može dodatno jednostavno proveriti uslov za primenu BDOF koji ima uslov različit od uslova za primenu rafinisanja.
[0203] U međuvremenu, kada je visina ili veličina (Visina * Širina) trenutnog bloka manja od određene dužine ili određene veličine, odnos za izračunavanje množenja/dodavanja za kompenzaciju pokreta raste. Shodno tome, u jednom načinu ostvarivanja ovog otkrivanja, primena BDOF na blok sa malom visinom ili malom veličinom može biti ograničena, kao što je uslov za primenu DMVR, kako bi se smanjio najgori slučaj. U ovom slučaju, uslov za primenu BDOF može uključivati uslove prikazane u tabeli 20 u nastavku.
[Tabela 20]
[0204] Pozivajući se na prethodnu tabelu 20, BDOF možda neće biti primenjen na blok koji je manji od određene veličine dodavanjem uslova (npr., CbHeight i CbWidth) koji se odnose na veličinu trenutnog bloka. Na primer, uslov koji se primenjuje kada je visina trenutnog bloka (npr., CbHeight) jednaka ili veća od 8, i uslov koji se primenjuje kada je veličina trenutnog bloka (npr., CbHeight * CbWidth) jednaka ili veća od 64 mogu se koristiti. Kada su uslovi za primenu koji se odnose na veličinu trenutnog bloka ispunjeni (tj. kada je visina trenutnog bloka jednaka ili veća od 8 i visina * širina trenutnog bloka jednaka ili veća od 64), BDOF može biti primenjen, a kada uslovi za primenu koji se odnose na veličinu trenutnog bloka nisu ispunjeni, BDOF možda neće biti primenjen.
[0205] Dodatno, u tom načinu ostvarivanja, zajedno sa uslovima (npr., CbHeight i CbHeight*CbWidth) koji se odnose na veličinu trenutnog bloka, da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 20.
[0206] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 20 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 20 nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 20 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0207] U međuvremenu, kada se MMVD primeni na trenutni blok, informacije o pokretu mogu se izvesti na osnovu informacija (npr., mmvd indeks) o MMVD. Ovde, informacije o MMVD mogu uključivati indeks osnovnog MV, indeks rastojanja, indeks pravca i slično. Konkretno, indeks rastojanja (tačnije, mmvd_distance_index[xCb][yCb]) može se koristiti za predstavljanje rastojanja od osnovnog MV, a na primer, indeksi rastojanja 0 do 7 mogu biti predstavljeni kao {1/4, 1/2, 1, 2, 4, 8, 16, 32}, redom. Pri određivanju rafinisanja informacija o pokretu u DMVR-u i BDOF-u, da li se rafinisanje izvodi razmatranjem susednog piksela (susedni uzorak) i u ovom slučaju, kada 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 doprinosi poboljšanju učinka DMVR i BDOF. Shodno tome, ovo otkrivanje predlaže postupak koji može odrediti da li primena DMVR i BDOF prema vrednosti indeksa rastojanja (tačnije, mmvd_distance_index[xCb][yCb]).
[0208] Kao način ostvarivanja ovog otkrivanja, da li primeniti DMVR može da se odredi razmatranjem indeksa rastojanja, a u ovom slučaju, uslov za primenu DMVR može da uključuje uslove prikazane u tabeli 21 u nastavku.
[Tabela 21]
[0209] Pozivajući se na prethodnu tabelu 21, uslov (npr., mmvd_flag) koji je vezan za MMVD među uslovima za primenu DMVR-a je promenjen kako bi se ograničeno primenio DMVR u MMVD režimu. Na primer, kada je mmvd_flag postavljen na 1 i mmvd_distance_index veći od 4, može se odrediti da je uslov za indeks rastojanja MMVD ispunjen. Shodno tome, kada se primeni MMVD režim, da li će DMVR biti primenjen može se odrediti prema vrednosti indeksa rastojanja (tačnije, mmvd_distance_index[xCb][yCb]).
[0210] Ovde, vrednost (donja granična vrednost) mmvd_distance_index može biti postavljena na 4, ali ovo je samo jedan primer i odgovarajuća vrednost može biti promenjena na različite vrednosti u zavisnosti od učinka i efikasnosti kodiranja.
[0211] Shodno tome, u tom načinu ostvarivanja, zajedno sa ovim uslovom (npr., mmvd_flag) za primenu MMVD i uslovom za indeks rastojanja (npr., mmvd_distance_index) MMVD, da li će DMVR biti primenjen može se odrediti na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 21.
[0212] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 21 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom DMVR. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 21 nije ispunjen, uređaj za dekodiranje ne može da primenjuje DMVR. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 21 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0213] Dodatno, kao način ostvarivanja ovog otkrivanja, da li da se primeni BDOF može da se odredi razmatranjem indeksa rastojanja i u ovom slučaju, uslov za primenu BDOF može da uključuje uslove prikazane u tabeli 22 u nastavku.
[Tabela 22]
[0214] Pozivajući se na prethodnu tabelu 22, DOF može biti ograničeno primenjen u MMVD režimu dodavanjem uslova za to da li je primenjen režim spajanja/režim preskakanja (npr., merge_flag) i uslova (npr., mmvd_flag i mmvd_distance_index) vezanih za MMVD. Na primer, kada merge_flag ne postoji (tj. kada merge_flag nije 1) ili kada je merge_flag postavljen na 1, mmvd_flag je 1 i mmvd_distance_index je veći od 4, može se odrediti da je uslov za ograničeno primenjivanje BDOF u MMVD režimu ispunjen. Shodno tome, kada se primeni MMVD režim, da li će BDOF biti primenjen može se odrediti prema vrednosti indeksa rastojanja (npr., mmvd_distance_index[xCb][yCb]).
[0215] Ovde, vrednost (donja granična vrednost) mmvd_distance_index može biti postavljena na 4, ali ovo je samo jedan primer i odgovarajuća vrednost može biti promenjena na različite vrednosti u zavisnosti od performansi i efikasnosti kodiranja.
[0216] Shodno tome, u tom načinu ostvarivanja, zajedno sa ovim uslovom da li da se režim spajanja/režim preskakanja primenjuje (npr., merge_flag) i uslovom koji se odnosi na MMVD (npr., mmvd flag, mmvd_distance_index), da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 22.
[0217] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 22 ispunjeni, i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada bilo koji od uslova navedenih u prethodnoj tabeli 22 nije ispunjen, uređaj za dekodiranje ne može da primeni BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz tabele 22, i uređaj za kodiranje može da izvodi pravu bipredikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0218] Postupak za izvođenje prave bi-predikcije zasnovan na uslovima navedenim u prethodnoj tabeli 21 ili 22 može nezavisno da se primenjuje na DMVR i BDOF ili može da se primenjuje pod istim uslovima za DMVR i BDOF.
[0219] U međuvremenu, kombinovani intra-inter predikcioni (CIIP) režim za istovremeno izvođenje intra predikcije i inter predikcije može se primeniti na trenutni blok, kao što je prethodno opisano. U ovom slučaju, predikcija bloka (inter blok) na kojem se vrši inter predikcija kombinuje se sa postupkom intra predikcije kako bi se na kraju generisale vrednosti predikcija uzorka, čime se povećava tačnost predikcije. Međutim, budući da su DMVR i BDOF tehnike za rafiniranje inter bloka, primena CIIP režima možda neće biti potrebna u smislu performansi u poređenju sa složenošću. Shodno tome, ovo otkrivanje predlaže postupak koji može odrediti da li primeniti DMVR i BDOF razmatranjem CIIP režima.
[0220] Kao način ostvarivanja ovog otkrivanja, da li primeniti DMVR može da se odredi razmatranjem CIIP i u ovom slučaju, uslov za primenu DMVR može da uključuje uslove prikazane u tabeli 23 u nastavku.
[Tabela 23]
[0221] Pozivajući se na tabelu 23 iznad, DMVR može biti ograničeno primenjen u zavisnosti od toga da li će se primeniti CIIP, dodajući uslov za primenu CIIP režima (npr., ciip_flag). Na primer, kada je ciip_flag 0 (tj. kada CIIP režim nije primenjen), DMVR može biti primenjen tako što će se odrediti da je uslov za primenu CIIP režima ispunjen.
[0222] Shodno tome, u tom načinu ostvarivanja, zajedno sa ovim uslovom (npr., ciip_flag) za to da li primeniti CIIP režim, da li će DMVR biti primenjen može se odrediti na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 23.
[0223] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 23 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom DMVR-a. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 23 nije ispunjen, uređaj za dekodiranje ne može da primenjuje DMVR. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 23 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0224] Dodatno, kao način ostvarivanja ovog otkrivanja, da li da se primeni BDOF može da se odredi razmatranjem CIIP i u ovom slučaju, uslov za primenu BDOF može da uključuje uslove prikazane u tabeli 24 u nastavku.
[Tabela 24]
[0225] Pozivajući se na prethodnu tabelu 24, BDOF može biti ograničeno primenjen u zavisnosti od toga da li će se primeniti CIIP, dodajući uslov za primenu CIIP režima (npr., ciip_flag). Na primer, kada je ciip_flag 0 (tj. kada CIIP režim nije primenjen), BDOF može biti primenjen tako što će se odrediti da je uslov za primenu CIIP režima ispunjen.
[0226] Shodno tome, u tom načinu ostvarivanja, zajedno sa ovim uslovom (npr., ciip_flag) za to da li primeniti CIIP režim, da li će BDOF biti primenjen može se odrediti na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 24.
[0227] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 24 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 24 nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 24 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0228] Postupak za izvođenje prave bi-predikcije zasnovan na uslovima navedenim u prethodnoj tabeli 23 ili 24 može nezavisno da se primenjuje na DMVR i BDOF ili može da se primenjuje pod istim uslovima za DMVR i BDOF.
[0229] Postupci navedeni u tabelama 3 do 24 prema načinu ostvarivanja ovog otkrivanja opisani iznad mogu se primenjivati u kombinaciji. Drugim rečima, da li će DMVR i BDOF biti primenjeni može se odrediti proverom uslova za primenu rafiniranja i uslova prikazanih u tabeli 25 u nastavku, koji mogu biti primenjeni.
[T b l 25]
[0230] Pozivajući se na prethodnu tabelu 25, uslovi u bilateralnoj predikciji kada se primenjuju DMVR ili BDOF, uslov primenjen u slučaju stvarne bi-predikcije u kojoj su rastojanja između trenutne slike i bilateralnih referentnih slika ista, uslov primenjen kada MMVD režim nije korišćen, uslov primenjen kada rafinirana predikcija nije izvedena, uslov primenjen kada je primenjen režim spajanja zasnovan na podbloku, i uslov primenjen kada je GBi indeks podrazumevani, mogu biti korišćeni. Drugim rečima, da li će DMVR ili BDOF biti primenjeni može se odrediti u zavisnosti od toga da li su ovi uslovi ispunjeni.
[0231] Dodatno, može se dodati uslov za određivanje da li je režim spajanja primenjen za DMVR ili uslov za određivanje da li je trenutni blok luma blok za BDOF.
[0232] Uslovi za primenu navedeni u prethodnoj tabeli 25 su primeri, i očigledno je da različiti uslovi navedeni u prethodno pomenutim načinima ostvarivanja (načini ostvarivanja u tabelama 3 do 24 iznad) mogu biti korišćeni u kombinaciji. Ova fleksibilnost omogućava efikasniju primenu DMVR i BDOF u zavisnosti od specifičnih okolnosti i potreba za optimizacijom performansi kodiranja.
[0233] U međuvremenu, u DMVR, funkcija SAD se koristi kao funkcija troška umesto funkcije SAD sa uklonjenom srednjom vrednošću (MRSAD), uzimajući u obzir složenost dekodiranja. Međutim, kada GBi indeks nije podrazumevan (npr., kada GbiIdx nije 0), dva referentna bloka mogu imati različite faktore težine, što može dovesti do toga da DMVR koji koristi SAD funkciju nije optimalan. Shodno tome, uslov za primenu DMVR-a može se fiksirati uzimajući u obzir GBi indeks. Prema eksperimentalnim rezultatima, nije zabeležena promena u RD-stopi od 0.00% uz 100% vreme kodiranja i dekodiranja u poređenju sa VVC Test Model (VTM) 4.0.
[0234] U slučaju svestranog kodiranja video zapisa (VVC), DMVR postupak može biti primenjen kada su svi uslovi navedeni u tabeli 26 u nastavku ispunjeni.
[Tabela 26]
[0235] U trenutnom DMVR, blok koji nije usklađen može biti pretražen poređenjem sa SAD referentnih blokova koji će biti kasnije ponderisani i prosečeni. U ovom otkriću, pošto dva referentna bloka mogu imati različite težine, uslov za primenu DMVR može se odrediti uzimajući u obzir takav slučaj. Prema nekim načinima ostvarivanja ovog otkrića, DMVR možda neće biti primenjen za blok u kojem GBi indeks nije podrazumevan. U tom slučaju, uslov za primenu DMVR-a može biti prikazan u tabeli 27 u nastavku.
[Tabela 27]
[0236] Kao što je prikazano u prethodnoj tabeli 27, kada je vrednost GBi indeksa (npr., GbiIdx) 0, može se dodati uslov za primenu DMVR-a. Drugim rečima, kada vrednost GBi indeksa (npr., GbiIdx) nije 0, različite težine se primenjuju na dva referentna bloka (tj. referentni blok koji se koristi za L0 predikciju i referentni blok koji se koristi za L1 predikciju), i kao rezultat toga, u ovom slučaju, DMVR može biti ograničen i neće se primeniti.
[0237] U međuvremenu, BDOF se primenjuje kada trenutni blok (tj. trenutna kodirajuća jedinica; trenutni CD) zadovoljava uslov za stvarnu bi-predikciju. Kada se uzme u obzir da je optički tok dizajniran za predviđanje kretanja objekta koji se pomera određenom brzinom (tj. sa momentom), trenutni uslov za stvarnu bi-predikciju nije optimalan uslov za primenu BDOF-a. Shodno tome, uslov za primenu BDOF-a može biti definisan uzimajući u obzir rastojanje referentne slike. Prema eksperimentalnim rezultatima, promena RD stope od 0,01% je prikazana uz 100% vreme kodiranja i dekodiranja u poređenju sa VVC Test Modelom (VTM) 4.0.
[0238] FIG.9 predstavlja dijagram ilustrovan radi opisa koncepta BDOF.
[0239] Kao što je prethodno opisano, BDOF je dizajniran da poboljša performanse kompenzacije pokreta korišćenjem koncepta optičkog toka. Prema BDOF, kao što je prikazano na FIG.9, može se pretpostaviti da objekat pokreće određenom brzinom (konstantno kretanje) i dok se objekat pomera, luminiscencija svakog piksela se ne menja. U slučaju ove pretpostavke, jednačina optičkog toka može biti izražena kao Jednačina 1 u nastavku.
[0240] Kao što je prethodno opisano, kada trenutna kodirajuća jedinica (CU) zadovoljava uslov za stvarnu bi-predikciju, primenjuje se BDOF. Međutim, uslov za stvarnu bi-predikciju ne znači slučaj u kojem objekat kreće određenom brzinom. Shodno tome, ovo otkrivanje predlaže postupak koji može primeniti BDOF kada objekat ima predodređeno kretanje, čime se poboljšava performansa kompenzacije pokreta.
[0241] Prema nekom načinu ostvarivanja ovog otkrivanja, u prethodnoj jednačini 1, kao δt, BDOF može da se primenjuje kada je rastojanje od L0 referentne slike (referenca 0 sa FIG.9) i rastojanje od L1 referentne slike (referenca 1 sa FIG.9) na osnovu trenutne slike međusobno ista. U ovom slučaju, uslov za primenu BDOF može da se promeni kao što je prikazano u tabeli 28 u nastavku.
[Tabela 28]
[0242] Pozivajući se na prethodnu tabelu 28, uslov koji se odnosi na rastojanje referentne slike među uslovima za primenu BDOF (npr., DiffPicOrderCnt) promenjen je kako bi se primenio BDOF samo kada objekat ima unapred definisanu brzinu kretanja. Na primer, da li su DiffPicOrderCnt(currPic, RefPicList[0][refIdxL0]) i DiffPicOrderCnt(RefPicList[1][refIdxL1], currPic) isti kao jedan drugi, koristi se da bi se odredilo da li su rastojanja između trenutne slike i L0 referentne slike (tj. referentne slike u listi referentnih slika L0) i rastojanja između trenutne slike i L1 referentne slike (tj. referentne slike u listi referentnih slika L1) ista. Drugim rečima, BDOF može da se primenjuje samo kada su rastojanja od L0 referentne slike i rastojanja od L1 referentne slike na osnovu trenutne slike ista. Na ovaj način, koristi se uslov u kojem su bilateralna rastojanja referentnih slika ista, na osnovu trenutne slike, kako bi se odredilo da li se primenjuje stvarna bi-predikcija i da li je objekat koji se kreće sa unapred definisanom brzinom uključen. BDOF se primenjuje na blok koji zadovoljava uslov kako bi se dobio poboljšan rezultat u pogledu preciznosti pokreta.
[0243] Dodatno, u tom načinu ostvarivanja, zajedno sa uslovima (npr., DiffPicOrderCnt) koji se odnose na rastojanje referentne slike, da li da se primeni BDOF može da se odredi na osnovu preostalih uslova za primenu navedenih u prethodnoj tabeli 28.
[0244] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 28 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u Prethodnoj tabeli 28 nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 28 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0245] U međuvremenu, ovo otkrivanje predlaže postupak za određivanje da li da se primeni BDOF u zavisnosti od veličine bloka. Tabela 29 u nastavku prikazuje slučaj u kojem je limit veličine bloka uključen kao uslov za primenu prema nekom načinu ostvarivanja ovog otkrivanja.
[Tabela 29]
[0246] Pozivajući se na tabelu 29 iznad, u primeni BDOF, kada je visina trenutnog bloka (npr., CbHeight) jednaka ili veća od 8, slučaj u kojem je veličina (npr., CbHeight * CbWidth) trenutnog bloka jednaka ili veća od 64 može biti dodat kao uslov.
[0247] Shodno tome, u tom načinu ostvarivanja, zajedno sa ovim uslovom za to da li je visina trenutnog bloka jednaka ili veća od 8 i uslovom za to da li je visina * širina trenutnog bloka jednaka ili veća od 64, da li da se primeni BDOF može da se odredi korišćenjem preostalih uslova navedenih u prethodnoj tabeli 29.
[0248] Drugim rečima, uređaj za dekodiranje može da odredi da li su svi uslovi navedeni u prethodnoj tabeli 29 ispunjeni i kada su svi uslovi ispunjeni, uređaj za dekodiranje može da izvede pravu bi-predikciju primenom BDOF. Kada čak bilo koji od uslova navedenih u prethodnoj tabeli 29 nije ispunjen, uređaj za dekodiranje ne može da primenjuje BDOF. Uređaj za kodiranje takođe može da primenjuje uslove iz prethodne tabele 29 i uređaj za kodiranje može da izvodi pravu bi-predikciju odgovarajućim postupkom u uređaju za dekodiranje.
[0249] Postupak DMVR opisan u ovom otkrivanju može biti implementiran u skladu sa specifikacijom prikazanom u tabeli 30 u nastavku. Tabela 30 u nastavku prikazuje jedan primer postupka rafinisanja vektora pokreta na osnovu SAD (zbira apsolutnih razlika) kao način ostvarivanja ovog otkrivanja.
[Tabela 30]
[0250] FIG.10 je šematski dijagram toka koji ilustruje postupak kodiranja koji može biti izvršen od strane uređaja za kodiranje prema nekom načinu ostvarivanja ovog otkrivanja.
[0251] Postupak otkriven na FIG.10 može da izvede uređaj 200 za kodiranje otkriven na FIG.2. Konkretno, faze S1000 do S1010 sa FIG.10 može da izvede prediktor 220 i inter prediktor 221 otkriven na FIG.2, i faza S1020 sa FIG.10 može da izvode preostali procesor 230 otkriven na FIG.
2, i fazu S1030 sa FIG.10 može da izvede entropijski koder 240 otkriven na FIG.2. Dodatno, postupak otkriven na FIG.10 može da uključuje prethodno opisane načine ostvarivanja u ovom otkrivanju. Shodno tome, detaljno objašnjenje sadržaja koji se duplicira sa gore opisanim načinima ostvarivanja u FIG.10 biće izostavljeno ili pojednostavljeno.
[0252] Pozivajući se na FIG.10, uređaj za kodiranje može da izvede rafinisan L0 vektor pokreta i rafinisan L1 vektor pokreta primenom DMVR na osnovu L0 vektora i L1 vektora pokreta trenutnog bloka (S1000).
[0253] Kao način ostvarivanja, kada se inter predikcija izvodi na trenutnom bloku, uređaj za kodiranje može da izvodi informacije o pokretu (vektor pokreta, indeks referentne slike, itd.) trenutnog bloka. Na primer, uređaj za kodiranje može da traži blokove slične trenutnom bloku unutar unapred definisane oblasti (oblasti pretraživanja) referentnih slika kroz procenu kretanja, i može da izvede referentni blok koji ima razliku u odnosu na trenutni blok, koja je minimalna ili jednaka ili manja od unapred definisanog nivoa. Na osnovu toga, uređaj za kodiranje može da izvede indeks referentne slike koji označava referentnu sliku u kojoj se nalazi referentni blok, i može da izvede vektor pokreta na osnovu razlike u lokaciji između referentnog bloka i trenutnog bloka.
[0254] Dodatno, uređaj za kodiranje može da odredi režim inter predikcije koji se primenjuje na trenutni blok među različitim režimima predikcije. Uređaj za kodiranje može da uporedi RD troškove za različite režime predikcije međusobno, i može da odredi optimalni režim predikcije za trenutni blok.
[0255] Na primer, uređaj za kodiranje može da odredi da li da primeni režim spajanja kao optimalni režim predikcije za trenutni blok. U slučaju primene režima spajanja na trenutni blok, uređaj za kodiranje može da konfiguriše listu kandidata za spajanje na osnovu susednih blokova trenutnog bloka i generiše informacije o indeksu spajanja. Konkretno, uređaj za kodiranje može da pronađe referentni blok koji ima razliku u odnosu na trenutni blok, koja je minimalna ili jednaka određenom nivou, među referentnim blokovima (tj. susednim blokovima) označenim kandidatima za spajanje u listi kandidata za spajanje. U ovom slučaju, kandidat za spajanje koji je povezan sa izvedenim referentnim blokom može biti izabran, a informacije o indeksu spajanja koje označavaju izabranog kandidata za spajanje mogu biti generisane i signalizirane uređaju za dekodiranje. Informacije o pokretu trenutnog bloka mogu biti izvedene korišćenjem informacija o pokretu izabranog kandidata za spajanje.
[0256] Ovde, informacije o pokretu mogu da uključuju informacije kao što su vektor pokreta, indeks referentne slike, i slično, a mogu da uključuju L0 informacije o pokretu i/ili L1 informacije o pokretu, u zavisnosti od tipa inter predikcije (L0 predikcija, L1 predikcija, bi-predikcija i slično). Kada se primeni bi-predikcija na trenutni blok, informacije o pokretu mogu da uključuju vektor pokreta (L0 vektor pokreta) u L0 smeru i vektor pokreta (L1 vektor pokreta) u L1 smeru.
Dodatno, informacije o pokretu mogu da uključuju L0 indeks referentne slike i L0 referentnu sliku označenu L0 indeksom referentne slike u L0 listi referentnih slika, kao i L1 indeks referentne slike i L1 referentnu sliku označenu L1 indeksom referentne slike u L1 listi referentnih slika.
[0257] Odnosno, kada se primenjuje režim spajanja, uređaj za kodiranje može da izvrši L0 vektor pokreta i L1 vektor pokreta susednog bloka označenog informacijama o indeksu spajanja među susednim blokovima trenutnog bloka, i može da ih koristi kao L0 i L1 vektore pokreta trenutnog bloka.
[0258] Uređaj za kodiranje može da izvrši rafinisane L0 i L1 vektore pokreta primenom DMVR na L0 i L1 vektore pokreta trenutnog bloka izvedene kao što je prethodno opisano, uzimajući u obzir efikasnost kodiranja, složenost, performanse predikcije i slične faktore. U ovom slučaju, uređaj za kodiranje može da odluči da li će primeniti DMVR na trenutni blok koristeći različite uslove primene opisane u prethodnim tabelama 1 do 30.
[0259] Kao način ostvarivanja, uređaj za kodiranje može da izvrši DMVR informacije o zastavici povezane sa označavanjem da li je DMVR primenjen ili ne, i može da odluči da li će primeniti DMVR na osnovu DMVR informacija o zastavici. Na primer, kada se primeni režim spajanja na trenutni blok, uređaj za kodiranje može da postavi vrednost (npr., stvarna ili 1) DMVR informacija o zastavici kako bi označio da je DMVR primenjen na trenutni blok. Dodatno, prema nekom načinu ostvarivanja, uređaj za kodiranje može da izvrši DMVR informacije o zastavici tako što će utvrditi da li su ispunjeni uslovi, kao što je omogućena inter bi-predikcija zasnovana na DMVR, bi-predikcija izvedena zasnovana na L0 referentnoj slici i L1 referentnoj slici je primenjena na trenutni blok, režim spajanja sa vektorom pokreta razlike (MMVD) načinom nije primenjen na trenutni blok, predikcija način u kojem su kombinovane inter predikcija i intra predikcija nije primenjen na trenutni blok, prva POC razlika između trenutne slike i L0 referentne slike i druga POC razlika između trenutne slike i L1 referentne slike su iste, vrednost indeksa bipredikcija težine trenutnog bloka je jednaka 0, visina trenutnog bloka je jednaka ili veća od 8, širina trenutnog bloka je jednaka ili veća od 8, visina x širina trenutnog bloka je veća od 8x8. Na primer, ako su svi ovi uslovi ispunjeni, vrednost DMVR informacija o zastavici može biti postavljena na stvarnu ili 1, a ako je barem jedan od gore navedenih uslova nije ispunjen, vrednost DMVR informacija o zastavici može biti postavljena na lažno ili 0.
[0260] Ovde, prilikom izvođenja DMVR informacije o zastavici, uslovi za primenu DMVR navedeni iznad su samo primeri, i mogu se koristiti različite kombinacije uslova iz tabela 1 do 30.
[0261] Kada se utvrdi da je DMVR primenjen na osnovu DMVR informacija o zastavici (npr., kada je vrednost DMVR informacija o zastavici postavljena na stvarnu ili 1), uređaj za kodiranje može primeniti DMVR na L0 i L1 vektore pokreta trenutnog bloka.
[0262] U jednom načinu ostvarivanja, uređaj za kodiranje može da izvrši minimalni zbir apsolutnih razlika (SAD) na osnovu referentnih uzoraka (tj. L0 predikcionim uzorcima) u L0 referentnoj slici izvedenoj na osnovu L0 vektoru pokreta i referentnim uzorcima (tj. L1 predikcionim uzorcima) u L1 referentnoj slici izvedenoj na osnovu na L1 vektoru pokreta.
Zatim, uređaj za kodiranje može da izvrši rafinisan L0 vektor pokreta i rafinisan L1 vektor pokreta na osnovu položaja uzorka koji odgovara minimumu SAD. Odnosno, rafinisan L0 vektor pokreta može biti vektor pokreta koji označava položaj uzorka koja odgovara minimumu SAD u L0 referentnoj slici, a rafinisan L1 vektor pokreta može biti vektor pokreta koji označava položaj uzorka koja odgovara minimumu SAD u L1 referentnoj slici. Pošto je postupak izvođenja rafinisanog vektora pokreta primenom DMVR detaljno opisano uz pomoć slika 4 i 5, objašnjenje tog postupka će biti izostavljeno u nastavku teksta.
[0263] Uređaj za kodiranje može da izvrši predikcione uzorke za trenutni blok na osnovu L0 predikcionih uzoraka izvedenih na osnovu rafinisanog L0 vektora pokreta i L1 predikcionih uzoraka izvedenih na osnovu rafinisanih L1 vektora pokreta (S1010).
[0264] Ovde, L0 predikcioni uzorci su izvedeni na osnovu referentnih uzoraka označenih rafinisanim L0 vektorom pokreta u L0 referentnoj slici, a L1 predikcioni uzorci su izvedeni na osnovu referentnih uzoraka označenih rafinisanim L1 vektorom pokreta u L1 referentnoj slici.
[0265] Prilikom izvođenja predikcionih uzoraka, uređaj za kodiranje može primeniti BDOF postupak na trenutni blok, uzimajući u obzir efikasnost kodiranja, složenost, performanse predikcije i slične faktore.
[0266] Na primer, uređaj za kodiranje može da utvrdi da li da se primeni BDOF postupak na osnovu toga da li je prva POC razlika između trenutne slike i L0 referentne slike i druga POC razlika između trenutne slike i L1 referentne slike ista. Ovde, brojanje redosleda slike (POC) može predstavljati redosled izlaza iz DPB. Prva POC može predstavljati rastojanje između trenutne slike i L0 referentne slike, a može se izračunati, na primer, pomoću funkcije DiffPicOrderCnt(currPic, RefPicListO [refIdxL0]). Druga POC može predstavljati rastojanje između trenutne slike i L1 referentne slike, a može se izračunati, na primer, pomoću funkcije DiffPicOrderCnt(currPic, RefPicList1 [refldxL1]).
[0267] U ovom slučaju, uređaj za kodiranje može da utvrdi da li da se primeni BDOF na trenutni blok koristeći različite uslove primene opisane u prethodnim tabelama 1 do 30.
[0268] U jednom načinu ostvarivanja, uređaj za kodiranje može da izvrši BDOF informacije o zastavici u vezi sa označavanjem da li je BDOF primenjen ili ne, i može da utvrdi da li da se primeni BDOF na osnovu BDOF informacija o zastavici. Na primer, kada su prva POC razlika i druga POC razlika iste, uređaj za kodiranje može da postavi vrednost (npr., stvarnu ili 1) za BDOF informacije o zastavici kako bi označio da je BDOF primenjen na trenutni blok. Dodatno, prema nekom načinu ostvarivanja, uređaj za kodiranje može da izvrši BDOF informacije o zastavici tako što će utvrditi da li su ispunjeni uslovi kao što su: slučaj kada je inter predikcija zasnovana na BDOF omogućena, slučaj kada je bi-predikcija izvedena na osnovu L0 referentne slike i L1 referentne slike za trenutni blok, slučaj kada afini režim nije primenjen na trenutni blok, slučaj kada režim spajanja zasnovan na podbloku nije primenjen na trenutni blok, slučaj kada predikcija režim u kojem se kombinuju inter predikcija i intra predikcija nije primenjen na trenutni blok, slučaj kada je vrednost bi-predikcija težinskog indeksa trenutnog bloka jednaka 0, slučaj kada je visina trenutnog bloka jednaka ili veća od 8, slučaj kada je širina trenutnog bloka jednaka ili veća od 8, slučaj kada je visina x širina trenutnog bloka veća od 8x8. Na primer, ako su svi gore navedeni uslovi ispunjeni, vrednost BDOF informacija o zastavici može biti postavljena na stvarnu ili 1, a ako bar jedan od gore navedenih uslova nije ispunjen, vrednost BDOF informacija o zastavici može biti postavljena na lažnu ili 0.
[0269] Ovde, prilikom izvođenja BDOF informacija o zastavici, uslovi za primenu BDOF navedeni iznad su samo primeri, i mogu se koristiti različite kombinacije uslova iz tabela 1 do 30.
[0270] Kada se BDOF postupak primeni na trenutni blok na osnovu vrednosti BDOF informacija o zastavici (npr., kada je vrednost BDOF informacija o zastavici postavljena na stvarnu ili 1), uređaj za kodiranje može izračunati gradijent za L0 predikcione uzorke izvedene na osnovu rafinisanog L0 vektora pokreta i gradijenta za L1 predikcione uzorke izvedene na osnovu rafinisanog L1 vektora pokreta. Zatim, uređaj za kodiranje može na kraju izvršiti (rafinisane) predikcione uzorke na osnovu gradijenta za L0 predikcione uzorke i gradijentu za L1 predikcione uzorke.
[0271] Uređaj za kodiranje može da izvrši preostale uzorke na osnovu predikcionih uzoraka (S1020), i može da kodira informacije o slici uključujući informacije o preostalim uzorcima (S1030).
[0272] Odnosno, uređaj za kodiranje može da izvrši preostale uzorke na osnovu originalnih uzoraka trenutnog bloka i predikcionih uzoraka trenutnog bloka. Zatim, uređaj za kodiranje može da generiše informacije o preostalim uzorcima. Ovde, informacije o preostalim uzorcima mogu da uključuju informacije o vrednosti, informacije o lokaciji, tehniku transformacije, transformacionu jezgru i informacije o kvantizacionim parametrima kvantizovanih transformisanih koeficijenata izvedenih primenom transformacije i kvantizacije preostalih uzoraka.
[0273] Uređaj za kodiranje može da kodira informacije o preostalim uzorcima kako bi generisao kodirane informacije u obliku protokola bitova, i može da prenese kodirane informacije na uređaj za dekodiranje putem mreže ili medijuma za čuvanje.
[0274] Dodatno, uređaj za kodiranje može da kodira informacije izvedene u fazama S1000 do S1030 opisanim iznad i izlazne kodirane informacije kao protok bitova. Na primer, informacije o zastavici spajanja, informacije o indeksu spajanja, L0 indeks referentne slike, L1 indeks referentne slike, itd. mogu biti uključene u informacije o slici koje treba kodirati, a kodirane informacije o slici mogu biti signalizirane uređaju za dekodiranje.
[0275] FIG.11 predstavlja dijagram toka koji šematski ilustruje postupak dekodiranja koji može da izvede uređaj za dekodiranje prema nekom načinu ostvarivanja ovog dokumenta.
[0276] Postupak prikazan na FIG.11 može da bude izveden od strane uređaja 300 za dekodiranje prikazanog na FIG.3. Konkretno, faze S1100 do S1110 sa FIG.11 mogu da budu izvedene od strane prediktora 330 i inter prediktora 332 prikazanih na FIG.3, dok faza S1120 sa FIG.11 može da bude izvršena od strane sabirača 340 prikazanog na FIG.3. Dodatno, postupak prikazan na FIG.11 može da uključuje prethodno opisane načine ostvarivanja u ovom dokumentu. Shodno tome, detaljno objašnjenje sadržaja koji se duplicira sa gore opisanim načinima ostvarivanja na FIG.11 biće izostavljeno ili pojednostavljeno.
[0277] Pozivajući se na FIG.11, uređaj za dekodiranje može da izvodi rafinisan L0 vektor pokreta i rafinisan L1 vektor pokreta primenom DMVR na osnovu L0 vektora i L1 vektora pokreta trenutnog bloka (S 1100).
[0278] U jednom načinu ostvarivanja, uređaj za dekodiranje može da odredi režim predikcije za trenutni blok na osnovu informacija o predikciji koje su signalizirane od strane uređaja za kodiranje. Takođe, uređaj za dekodiranje može da izvede informacije o pokretu (vektor pokreta, indeks referentne slike, itd.) trenutnog bloka na osnovu režima predikcije. Ovde, režimi predikcije mogu da uključuju režim preskakanja, režim spajanja, (A)MVP režim i njima slične.
[0279] Na primer, kada je režim spajanja primenjen na trenutni blok, uređaj za dekodiranje može da konstruiše listu kandidata za spajanje na osnovu susednih blokova trenutnog bloka i izabere jednog kandidata za spajanje između kandidata koji su uključeni u listu kandidata za spajanje. U ovom slučaju, jedan kandidat za spajanje može biti izabran sa liste kandidata na osnovu prethodno opisanih informacija o indeksu spajanja. Uređaj za dekodiranje može da izvede informacije o pokretu trenutnog bloka koristeći informacije o pokretu izabranog kandidata za spajanje. Odnosno, informacije o pokretu kandidata za spajanje izabranog putem indeksa spajanja među kandidatima za spajanje uključeni u listu kandidata za spajanje mogu biti korišćene kao informacije o pokretu trenutnog bloka.
[0280] Ovde, informacije o pokretu mogu da uključuju informacije, kao što su vektor pokreta, indeks referentne slike, i njima slične, i mogu da uključuju L0 informacije o pokretu i/ili L1 informacije o pokretu u zavisnosti od tipa inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, i njima slične). Kada se primenjuje bi-predikcija na trenutni blok, informacije o pokretu mogu da uključuju vektor pokreta (L0 vektor pokreta) u L0 smeru i vektor pokreta (L1 vektor pokreta) u L1 smeru. Dodatno, informacije o pokretu mogu da uključuju L0 indeks referentne slike i L0 referentnu sliku označenu sa L0 indeksom referentne slike u L0 listi referentnih slika, i L1 indeks referentne slike i L1 referentne slike označen L1 indeksom referentne slike u L1 listi referentnih slika.
[0281] Odnosno, kada se režim spajanja primeni, uređaj za dekodiranje može da izvodi L0 vektor pokreta i L1 vektor pokreta susednog bloka, koji su označeni informacijama indeksa spajanja među susednim blokovima trenutnog bloka, i može ih koristiti kao L0 i L1 vektore pokreta trenutnog bloka.
[0282] Uređaj za dekodiranje može da izvodi rafinisane L0 i L1 vektore pokreta primenom DMVR na L0 i L1 vektore pokreta trenutnog bloka, izvedene kao što je prethodno opisano. U ovom slučaju, uređaj za dekodiranje može da odredi da li da primeni DMVR na trenutni blok koristeći različite uslove primene opisane u prethodnim tabelama 1 do 30.
[0283] U jednom načinu ostvarivanja, uređaj za dekodiranje može da izvodi DMVR informacije o zastavici povezane sa označavanjem da li je DMVR primenjen ili nije, i može da odredi da li da primeni DMVR na osnovu DMVR informacija o zastavici. Na primer, kada se režim spajanja primeni na trenutni blok, uređaj za dekodiranje može da postavi vrednost (npr., stvarna ili 1) DMVR informacija o zastavici da označi da je DMVR primenjen na trenutni blok. Dodatno, prema nekim načinima ostvarivanja, uređaj za dekodiranje može da izvodi DMVR informacije o zastavici određujući da li su ispunjeni uslovi kao što su omogućena inter predikcija zasnovana na DMVR, slučaj kada se bi-predikcija izvedena na osnovu L0 referentne slike i L1 referentne slike primenjuje na trenutni blok, slučaj kada režim spajanja sa razlikom vektora pokreta (MMVD) nije primenjen na trenutni blok, slučaj kada režim predikcije u kojem se inter predikcija i intra predikcija kombinuju nije primenjen na trenutni blok, slučaj kada je prva razlika POC između trenutne slike i L0 referentne slike i druga razlika POC između trenutne slike i L1 referentne slike ista, slučaj kada je vrednost bi-predikcija težinskog indeksa trenutnog bloka jednaka 0, slučaj kada je visina trenutnog bloka jednaka ili veća od 8, slučaj kada je širina trenutnog bloka jednaka ili veća od 8, slučaj kada je visina x širina trenutnog bloka veća od 8x8. Na primer, ako su svi gore navedeni uslovi ispunjeni, vrednost DMVR informacija o zastavici može biti postavljena na stvarna ili 1, i ako je najmanje jedan od gore navedenih uslova nije ispunjen, vrednost DMVR informacija o zastavici može biti postavljena na lažnu ili 0.
[0284] Ovde, u izvođenju DMVR informacija o zastavici, uslovi za primenu DMVR navedeni gore su samo primeri, i mogu se koristiti različite kombinacije uslova iz prethodnih tabela 1 do 30.
[0285] Kada se utvrdi da je DMVR primenjen na osnovu DMVR informacija o zastavici (npr., kada je vrednost DMVR informacija o zastavici izvedena kao stvarna ili 1), uređaj za dekodiranje može da primeni DMVR na L0 i L1 vektore pokreta trenutnog bloka.
[0286] U jednom načinu ostvarivanja, uređaj za dekodiranje može da izvodi minimalni zbir apsolutnih razlika (SAD) na osnovu referentnih uzoraka (npr., L0 predikcionih uzoraka) u L0 referentnoj slici izvedenim na osnovu L0 vektora pokreta i referentnim uzorcima (npr., L1 predikcioni uzorci) u L1 referentnoj slici izvedenim na osnovu L1 vektora pokreta. Takođe, uređaj za dekodiranje može da izvodi rafinisane L0 i L1 vektore pokreta na osnovu položaja uzorka koji odgovara minimalnom SAD. Odnosno, rafinisani L0 vektor pokreta može biti vektor pokreta koji označava položaj uzorka koja odgovara minimum SAD u L0 referentnoj slici, dok rafinisani L1 vektor pokreta može biti vektor pokreta koji označava položaj uzorka koja odgovara minimum SAD u L1 referentnoj slici. Pošto je postupak izvođenja rafinisanog vektora pokreta primenom DMVR detaljno opisan uz reference na slike 4 i 5, objašnjenje toga biće izostavljeno u daljem tekstu.
[0287] Uređaj za dekodiranje može da izvodi predikcioni uzorci za trenutni blok na osnovu L0 predikcionih uzoraka izvedenih na osnovu rafinisanog L0 vektora pokreta i L1 predikcionih uzoraka izvedenih na osnovu rafinisanog L1 vektora pokreta (S1110).
[0288] Ovde, L0 predikcioni uzorci su izvedeni na osnovu referentnih uzoraka označenih rafinisanim L0 vektorom pokreta u L0 referentnoj slici, dok su L1 predikcioni uzorci izvedeni na osnovu referentnih uzoraka označenih rafinisanim L1 vektorom pokreta u L1 referentnoj slici.
[0289] U procesu dobijanja predikcionih uzoraka, uređaj za dekodiranje može primeniti BDOF postupak na trenutni blok radi rafinisanja predikcionih uzoraka.
[0290] Na primer, uređaj za dekodiranje može da odredi da li da se primeni BDOF postupak na osnovu toga da li je razlika u POC između trenutne slike i L0 referentne slike ista kao razlika u POC između trenutne slike i L1 referentne slike. Ovde, brojanje redosleda slika (POC) može predstavljati redosled iz DPB. Prva POC razlika može predstavljati rastojanje između trenutne slike i L0 referentne slike, a može se izračunati korišćenjem funkcije, na primer, DiffPicOrderCnt(currPic, RefPicListO [refIdxL0]). Druga POC razlika može predstavljati rastojanje između trenutne slike i L1 referentne slike, a može se izračunati korišćenjem funkcije, na primer, DiffPicOrderCnt(currPic, RefPicList1 [refIdxL1]).
[0291] U ovom slučaju, uređaj za dekodiranje može da odredi da li da se primeni BDOF na trenutni blok koristeći različite uslove primene opisane u prethodnim tabelama 1 do 30.
[0292] U jednom načinu ostvarivanja, uređaj za dekodiranje može da izvodi BDOF informacije o zastavici koje služe za označavanje da li je BDOF primenjen ili ne, i može da odredi da li da se primeni BDOF na osnovu tih informacija. Na primer, kada je razlika između prvog POC-a i drugog POC-a ista, uređaj za dekodiranje može da postavi vrednost (npr., stvarna ili 1) BDOF informacije o zastavici da bi označio da je BDOF primenjen na trenutni blok. Dodatno, prema nekom načinu ostvarivanja, uređaj za dekodiranje može da izvodi BDOF informacije o zastavici određujući da li su zadovoljeni uslovi kao što su: da li je BDOF zasnovan na inter predikciji omogućen, da li je bipredikcija izvedena na osnovu L0 referentne slike i L1 referentne slike za trenutni blok, da li afini režim nije primenjen na trenutni blok, da li režim spajanja zasnovan na podblokovima nije primenjen na trenutni blok, da li režim predikcije u kojem su inter i intra predikcija kombinovani nije primenjen na trenutni blok, da li je vrednost bi-predikcija težinskog indeksa trenutnog bloka jednaka 0, da li je visina trenutnog bloka veća ili jednaka 8, da li je širina trenutnog bloka veća ili jednaka 8, ili da li je površina trenutnog bloka (visina x širina) veća od 8x8. Na primer, ako su svi ovi uslovi ispunjeni, vrednost BDOF informacije o zastavici može biti postavljena na stvarna ili 1, a ako barem jedan od gore navedenih uslova nije ispunjen, vrednost BDOF informacije o zastavici može biti postavljena na lažnu ili 0.
[0293] Ovde, kod izvođenja BDOF informacija o zastavici, uslovi za primenu BDOF prethodno navedeni su dati samo primera radi, i razne kombinacije uslova iz tabela od 1 do 30 mogu da se koriste.
[0294] Kada se BDOF postupak primeni na trenutni blok na osnovu vrednosti BDOF informacije o zastavici (npr., kada je vrednost BDOF informacije o zastavici postavljena na stvarnu ili 1), uređaj za dekodiranje može da izračuna gradijent za L0 predikcione uzorke izvedene na osnovu rafinisanog L0 vektora pokreta, kao i gradijent za L1 predikcione uzorke izvedene na osnovu rafinisanog L1 vektora pokreta. Na kraju, uređaj za dekodiranje može da izvodi (rafinisane) predikcione uzorke na osnovu gradijenta za L0 predikcione uzorke i gradijentu za L1 predikcione uzorke.
[0295] Uređaj za dekodiranje može da generiše rekonstruisane uzorke za trenutni blok na osnovu predikcionih uzoraka (S1120).
[0296] U jednom načinu ostvarivanja, uređaj za dekodiranje može direktno da koristi predikcione uzorke kao rekonstruisane uzorke prema režimu predikcije, ili može da generiše rekonstruisane uzorke dodavanjem preostalih uzoraka predikcionim uzorcima.
[0297] Ako preostali uzorak za trenutni blok postoji, uređaj za dekodiranje može da primi informacije o ostatku za trenutni blok. Informacije o ostatku mogu da uključuju transformisane koeficijente vezane za preostale uzorke. Uređaj za dekodiranje može da izvede preostale uzorke (ili matricu preostalih uzoraka) za trenutni blok na osnovu informacija o ostacima. Uređaj za dekodiranje može generisati rekonstruisane uzorke na osnovu predikcionih uzoraka i preostalih uzoraka, i može da izvodi rekonstruisani blok ili rekonstruisanu sliku na osnovu rekonstruisanih uzoraka.
[0298] U prethodno pomenutim načinima ostvarivanja, iako su postupci opisani zasnovani na šemama toka u obliku serije faza ili jedinica, načini ostvarivanja ovog dokumenta nisu ograničeni redosledom faza, i neki od faza mogu biti izvedeni u različitom redosledu od drugih faza ili mogu biti izvedeni simultano sa drugim fazama. Dodatno, stručnjaci iz te oblasti će razumeti da faze prikazani u šemama toka nisu isključivi i da faze mogu uključivati dodatne faze ili da jedna ili više faza u šemi toka mogu biti izostavljene.
[0299] Prethodno pomenuti postupak prema ovom dokumentu može biti primenjen u softverskom obliku, a uređaj za kodiranje i/ili uređaj za dekodiranje prema ovom dokumentu mogu biti uključeni u uređaj za izvođenje postupaka obrade slike, na primer, TV, računar, pametni telefon, set-top boks ili uređaj za prikaz.
[0300] U ovom dokumentu, kada se načini ostvarivanja primenjuju u softverskom obliku, prethodno pomenuti postupak može da se primenjuje kao modul (postupak, funkcija, itd.) za izvođenje prethodno pomenute funkcije. Modul može biti smešten u memoriju i izvršen od strane procesora. Memorija može biti smeštena unutar ili izvan procesora i povezana sa procesorom putem različitih dobro poznatih sredstava. Procesor može uključivati integrisana kola specifična za aplikacije (ASIC), druge čipsetove, logičke sklopove i/ili uređaje za obradu podataka. Memorija može obuhvatati read-only memoriju (ROM), random access memoriju (RAM), flash memoriju, memorijske kartice, medijume za čuvanje i/ili druge uređaje za čuvanje. Na taj način, načini ostvarivanja opisani u ovom dokumentu mogu biti primenjeni i izvršeni na procesoru, mikroporcesoru, kontroleru ili čipu. Na primer, funkcionalne jedinice prikazane na crtežima mogu biti primenjene i izvršene na računaru, procesoru, mikroporcesoru, kontroleru ili čipu. U ovom slučaju, informacije (npr., informacije o uputstvima) ili algoritam za takvu implementaciju može biti čuvan na digitalnom medijumu za čuvanje.
[0301] Dodatno, uređaj za dekodiranje i uređaj za kodiranje na koje se primenjuje ovaj dokument mogu biti uključeni u uređaj za prijem i emitovanje multimedijalnih sadržaja, terminal mobilne komunikacije, uređaj za kućni bioskop, uređaj za digitalni bioskop, kameru za nadzor, uređaj za video dijalog, uređaj za komunikaciju u realnom vremenu, kao što je video komunikacija, mobilni uređaj za strimovanje, medijum za čuvanje, video kameru, uređaj za pružanje video usluga na zahtev (VoD), uređaj za over-the-top (OTT) video usluge, uređaj za pružanje internet strimovanja, uređaj za trodimenzionalni (3D) video, uređaj za virtuelnu realnost (VR), uređaj za proširenu realnost (AR), uređaj za video telefoniju, terminal sredstva za transport (npr., terminal vozila, uključujući terminal autonomnog vozila, terminal aviona i terminal broda), kao i medicinski video uređaj, i može se koristiti za obradu video signala ili signala podataka. Na primer, OTT video uređaj može obuhvatati konzolu za igrice, Blu-ray plejer, televizor sa internet pristupom, sistem za kućni bioskop, pametan telefon, tablet PC, i digitalni video rekorder (DVR).
[0302] Dodatno, postupak obrade na koji se ovaj dokument primenjuje može biti proizveden u formi programa koji se izvršava na računaru, a može biti smešten u računarom čitljivom medijumu za snimanje. Multimedijalni podaci koji imaju strukturu podataka prema ovom dokumentu takođe mogu biti smešteni u računarom čitljivom medijumu za snimanje.
Računarom čitljiv medijum za snimanje obuhvata sve vrste uređaja za čuvanje u koje se čuvaju podaci čitljivi računarima. Takav medijum može uključivati Blu-ray disk (BD), univerzalnu serijsku magistralu (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetnu traku, disketa, i optički uređaj za čuvanje podataka, na primer. Dodatno, medijum čitljiv na računaru za snimanje uključuje i medijume primenjene u obliku nosilaca (npr., prenos preko Interneta). Dodatno, bitni tok generisan korišćenjem postupka kodiranja može biti smešten u računarski čitljivom medijum za snimanje ili može biti prenesen preko žičnih i bežičnih komunikacionih mreža.
[0303] Dodatno, način ostvarivanja ovog dokumenta može biti implementiran kao proizvod računarskog programa koristeći programski kod. Programski kod može da izvršava računar prema nekom načinu ostvarivanja ovog dokumenta. Programski kod može biti smešten na računarski čitljivom medijumu.
[0304] FIG.12 ilustruje primer sistema za strimovanje sadržaja na koji se mogu primeniti načini ostvarivanja opisani u ovom dokumentu.
[0305] Pozivajući se na FIG.12, sistem za strimovanje sadržaja na koji se načini ostvarivanja iz ovog dokumenta primenjuju, može osnovno da uključuje server za kodiranje, server za strimovanje, veb server, medijum za čuvanje podataka, korisnički uređaj i uređaj za unos multimedijalnog sadržaja.
[0306] Server za kodiranje kompresuje sadržaj koji dolazi sa multimedijalnih ulaznih uređaja kao što su pametni telefoni, kamere, kamkorderi, itd. u digitalne podatke kako bi generisao protok bitova i preneo protok bitova na server za strimovanje. Kao drugi primer, kada multimedijalni ulazni uređaji kao što su pametni telefoni, kamere, kamkorderi, itd. direktno generišu protok bitova, server za kodiranje može biti izostavljen.
[0307] Protok bitova može biti generisan postupkom kodiranja ili postupkom generisanja protoka bitova na koji se primenjuju načini ostvarivanja iz ovog dokumenta, a server za strimovanje može privremeno čuvati protok bitova tokom postupka prenosa ili prijema protoka bitova.
[0308] Server za strimovanje prenosi multimedijalne podatke korisničkom uređaju na osnovu korisničkog zahteva kroz veb server, pri čemu veb server služi kao medijum za obaveštavanje korisnika o usluzi. Kada korisnik zahteva željenu uslugu od veb servera, veb server je prosleđuje serveru za strimovanje, koji potom prenosi multimedijalne podatke korisniku. U ovom slučaju, sistem za strimovanje sadržaja može uključivati i poseban kontrolni server. Kontrolni server služi za kontrolu komande/odgovora između uređaja u sistemu za strimovanje sadržaja.
[0309] Server za strimovanje može da primi sadržaj sa medijuma za čuvanje i/ili sa servera za kodiranje. Na primer, kada sadržaj bude primljen od servera za kodiranje, sadržaj može biti primljen u realnom vremenu. U tom slučaju, kako bi obezbedio nesmetan tok strimovanja, server za strimovanje može privremeno da čuva protok bitova tokom unapred određenog vremena.
[0310] Primeri korisničkih uređaja mogu da uključuju mobilni telefon, pametan telefon, laptop računar, terminal za digitalno emitovanje, lični digitalni asistent (PDA), prenosni multimedijalni plejer (PMP), navigaciju, slate PC, tablet računare, ultra knjige, nosive uređaje (npr. pametni satovi, pametne naočare, ekrani montirani na glavi), digitalne televizore, desktop računare, digitalni signalizacija i slični uređaji.
[0311] Svaki server u sistemu za strimovanje sadržaja može da funkcioniše kao distribuirani server, u kom slučaju se podaci primljeni od svakog servera mogu distribuirati.

Claims (4)

Patentni zahtevi
1. Uređaj za dekodiranje za dekodiranje slike, pri čemu taj uređaj za dekodiranje obuhvata: memoriju; i
najmanje jedan procesor povezan sa memorijom, pri čemu je taj najmanje jedan procesor konfigurisan tako da:
izvodi (S1100) rafinisan L0 vektor pokreta i rafinisan L1 vektor pokreta primenom rafinisanja vektora pokreta sa strane dekodera, DMVR, na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka u trenutnoj slici;
izvodi (S1110) predikcione uzorke za trenutni blok na osnovu L0 predikcionih uzoraka izvedenih na osnovu rafinisanog L0 vektora pokreta i L1 predikcionih uzoraka izvedenih na osnovu rafinisanog L1 vektora pokreta; i
generiše (S1120) rekonstruisane uzorke za trenutni blok na osnovu predikcionih uzoraka, pri čemu su ti L0 predikcioni uzorci izvedeni na osnovu L0 referentne slike i rafinisanog L0 vektora pokreta, a L1 predikcioni uzorci su izvedeni na osnovu L1 referentne slike i rafinisanog L1 vektora pokreta,
pri čemu izvođenje predikcionih uzoraka (S1110) obuhvata izvođenje bi-usmerenog optičkog protoka, BDOF, informacije o zastavici koje se odnose na to da li se BDOF primenjuje, na osnovu prvog uslova za primenu BDOF a to je da je rastojanje između trenutne slike i L0 referentne slike i rastojanje između trenutne slike i L1 referentne slike isto,
pri čemu je prvi uslov za primenu BDOF potreban za uspostavljanje vrednosti BDOF informacija o zastavici koje su vrednost koja pokazuje da se BDOF primenjuje na trenutni blok,
pri čemu je rastojanje između trenutne slike i L0 referentne slike naznačeno na osnovu brojanja redosleda slika, POC, između trenutne slike i L0 referentne slike, i
pri čemu je rastojanje između trenutne slike i L1 referentne slike naznačeno na osnovu POC između trenutne slike i L1 referentne slike.
2. Uređaj za kodiranje slike, pri čemu taj uređaj za kodiranje obuhvata:
memoriju; i
najmanje jedan procesor povezan sa memorijom, pri čemu je najmanje jedan procesor konfigurisan tako da:
izvodi (S1000) rafinisan L0 vektor pokreta i rafinisan L1 vektor pokreta primenom rafinisanja vektora pokreta sa strane dekodera, DMVR, na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka u trenutnoj slici;
izvodi (S1010) predikcione uzorke za trenutni blok na osnovu L0 predikcionih uzoraka izvedenih na osnovu rafinisanog L0 vektora pokreta i L1 predikcionih uzoraka izvedenih na osnovu rafinisanog L1 vektora pokreta;
izvodi (S1020) preostale uzorke na osnovu predikcionih uzoraka; i
kodira (S1030) informacije o slici uključujući informacije o preostalim uzorcima,
pri čemu su ti L0 predikcioni uzorci izvedeni na osnovu L0 referentne slike i rafinisanog L0 vektora pokreta, a L1 predikcioni uzorci su izvedeni na osnovu L1 referentne slike i rafinisanog L1 vektora pokreta,
pri čemu to izvođenje (S1010) predikcionih uzoraka obuhvata izvođenje bi-usmerenog optičkog protoka, BDOF, informacija o zastavici koje se odnose na to da li se BDOF primenjuje, na osnovu prvog uslova za primenu BDOF, a to je da je rastojanje između trenutne slike i L0 referentne slike i rastojanje između trenutne slike i L1 referentne slike isto,
pri čemu je prvi uslov za primenu BDOF potreban za uspostavljanje vrednosti BDOF informacija o zastavici koje su vrednost koja pokazuje da se BDOF primenjuje na trenutni blok,
pri čemu je to rastojanje između trenutne slike i L0 referentne slike naznačeno na osnovu brojanja redosleda slika, POC, između trenutne slike i L0 referentne slike, i
pri čemu je rastojanje između trenutne slike i L1 referentne slike naznačeno na osnovu POC između trenutne slike i L1 referentne slike.
3. Računarski čitljiv digitalni medijum za čuvanje podatka koji čuva protok bitova koji generiše uređaj za kodiranje slike prema zahtevu 2.
4. Uređaj za prenos podataka za jednu sliku, pri čemu taj uređaj obuhvata:
najmanje jedan procesor konfigurisan tako da dobija protok bitova uključujući informacije o preostalim uzorcima, pri čemu je taj protok bitova generisan na osnovu izvođenja (S1000) rafinisanog L0 vektora pokreta i rafinisanog L1 vektora pokreta primenom rafinisanja vektora pokreta sa strane dekodera, DMVR, na osnovu L0 vektora pokreta i L1 vektora pokreta trenutnog bloka u trenutnoj slici, izvođenja (S1010) predikcionih uzoraka za trenutni blok na osnovu L0 predikcionih uzoraka izvedenih na osnovu rafinisanog L0 vektora pokreta i L1 predikcionih uzoraka izvedenih na osnovu rafinisanog L1 vektora pokreta, izvođenja (S1020) preostalih uzoraka na osnovu predikcionih uzoraka, kodiranja (S1030) informacija o slici uključujući informacije o preostalim uzorcima; i
transmiter konfigurisan tako da prenosi protok bitova informacija o slici uključujući informacije o preostalim uzorcima,
pri čemu su ti L0 predikcioni uzorci izvedeni na osnovu L0 referentne slike i rafinisanog L0 vektora pokreta, a L1 predikcioni uzorci su izvedeni na osnovu L1 referentne slike i rafinisanog L1 vektora pokreta,
pri čemu to izvođenje (S1010) predikcionih uzoraka obuhvata izvođenje bi-usmerenog optičkog protoka, BDOF, informacije o zastavici koje se odnose na to da li se BDOF primenjuje, na osnovu prvog uslova za primenu BDOF a to je da rastojanje između trenutne slike i L0 referentne slike i rastojanje između trenutne slike i L1 referentne slike je isto,
pri čemu je prvi uslov za primenu BDOF potreban za uspostavljanje vrednosti BDOF informacija o zastavici koje su vrednost koja pokazuje da se BDOF primenjuje na trenutni blok,
pri čemu je rastojanje između trenutne slike i L0 referentne slike naznačeno na osnovu brojanja redosleda slika, POC, između trenutne slike i L0 referentne slike, i
pri čemu je rastojanje između trenutne slike i L1 referentne slike naznačeno na osnovu POC između trenutne slike i L1 referentne slike.
RS20250140A 2019-03-12 2020-02-11 Inter predikcioni postupak i uređaj zasnovan na dmvr i bdof RS66495B1 (sr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962817504P 2019-03-12 2019-03-12
EP23186764.9A EP4274229B1 (en) 2019-03-12 2020-02-11 Inter-prediction method and device based on dmvr and bdof

Publications (1)

Publication Number Publication Date
RS66495B1 true RS66495B1 (sr) 2025-03-31

Family

ID=72427946

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20250140A RS66495B1 (sr) 2019-03-12 2020-02-11 Inter predikcioni postupak i uređaj zasnovan na dmvr i bdof

Country Status (11)

Country Link
US (4) US11496743B2 (sr)
EP (3) EP3941060B1 (sr)
KR (2) KR102785322B1 (sr)
ES (2) ES2957801T3 (sr)
FI (1) FI3941060T3 (sr)
HR (2) HRP20250168T1 (sr)
HU (2) HUE071472T2 (sr)
PL (2) PL4274229T3 (sr)
RS (1) RS66495B1 (sr)
SI (1) SI3941060T1 (sr)
WO (1) WO2020184847A1 (sr)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018012933A1 (ko) * 2016-07-14 2018-01-18 삼성전자 주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
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
PL4274229T3 (pl) * 2019-03-12 2025-04-07 Lg Electronics Inc. Sposób i urządzenie do predykcji międzyramkowej oparte na dmvr i bdof
CN114208194B (zh) * 2019-03-28 2025-10-31 交互数字Ce专利控股公司 用于视频编码和解码的帧间预测参数推导
CN115941970B (zh) * 2019-06-17 2024-02-20 北京达佳互联信息技术有限公司 用于视频编解码中的解码器侧运动矢量细化的方法和装置
WO2020262901A1 (ko) 2019-06-24 2020-12-30 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
US11917165B2 (en) * 2021-08-16 2024-02-27 Tencent America LLC MMVD signaling improvement
CN113613003B (zh) * 2021-08-30 2024-03-22 北京市商汤科技开发有限公司 视频压缩、解压缩方法及装置、电子设备和存储介质
US12413756B2 (en) * 2022-10-05 2025-09-09 Tencent America LLC Merge with motion vector difference
KR20250129110A (ko) * 2023-01-18 2025-08-28 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 비디오 인코딩 및 디코딩 방법, 장치, 기기, 시스템 및 저장 매체
WO2026061542A1 (en) * 2024-09-23 2026-03-26 Beijing Dajia Internet Information Technology Co., Ltd. Methods, apparatus, medium and computer program product for video coding

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2538284C2 (ru) 2010-04-22 2015-01-10 Медиатэк, Инк. Способ предсказания движения
US10200711B2 (en) * 2015-03-27 2019-02-05 Qualcomm Incorporated Motion vector derivation in video coding
US10375413B2 (en) 2015-09-28 2019-08-06 Qualcomm Incorporated Bi-directional optical flow for video coding
KR102873107B1 (ko) * 2016-04-25 2025-10-17 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
CA3025488A1 (en) * 2016-05-25 2017-11-30 Arris Enterprises Llc Weighted angular prediction for intra coding
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
US10931969B2 (en) * 2017-01-04 2021-02-23 Qualcomm Incorporated Motion vector reconstructions for bi-directional optical flow (BIO)
US10595035B2 (en) 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
CN116847086A (zh) * 2017-05-17 2023-10-03 株式会社Kt 对图像解码的方法以及存储压缩视频数据的装置
US10477237B2 (en) 2017-06-28 2019-11-12 Futurewei Technologies, Inc. Decoder side motion vector refinement in video coding
US11310526B2 (en) * 2018-01-26 2022-04-19 Mediatek Inc. Hardware friendly constrained motion vector refinement
JP2021520710A (ja) * 2018-04-06 2021-08-19 ヴィド スケール インコーポレイテッド 簡易化された勾配導出による双方向オプティカルフロー方法
WO2019234676A1 (en) * 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Mv precision refine
WO2020017840A1 (ko) * 2018-07-16 2020-01-23 엘지전자 주식회사 Dmvr에 기반하여 인터 예측을 수행하는 방법 및 장치
EP3834416A4 (en) * 2018-08-17 2022-08-17 HFI Innovation Inc. Methods and apparatuses of video processing with bi-direction predicition in video coding systems
CN112913241B (zh) * 2018-10-22 2024-03-26 北京字节跳动网络技术有限公司 解码器侧运动矢量推导的限制
US11153590B2 (en) * 2019-01-11 2021-10-19 Tencent America LLC Method and apparatus for video coding
CN118612453A (zh) * 2019-02-14 2024-09-06 Lg 电子株式会社 基于dmvr的帧间预测方法和设备
KR102783514B1 (ko) * 2019-02-24 2025-03-19 엘지전자 주식회사 Dmvr 기반의 인터 예측 방법 및 장치
US11178414B2 (en) * 2019-02-27 2021-11-16 Mediatek Inc. Classification for multiple merge tools
WO2020177703A1 (en) * 2019-03-04 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Signaling of filtering information in video processing
CN113475076B (zh) * 2019-03-11 2024-03-12 阿里巴巴集团控股有限公司 用于对视频数据进行编码的帧间预测方法
PL4274229T3 (pl) * 2019-03-12 2025-04-07 Lg Electronics Inc. Sposób i urządzenie do predykcji międzyramkowej oparte na dmvr i bdof
CN111989925B (zh) * 2019-03-22 2024-04-26 罗斯德尔动力有限责任公司 基于dmvr和bdof的帧间预测方法及其设备

Also Published As

Publication number Publication date
EP3941060A4 (en) 2022-07-06
EP4274229C0 (en) 2025-01-15
HRP20250168T1 (hr) 2025-04-11
EP3941060B1 (en) 2023-08-30
EP4492790A2 (en) 2025-01-15
EP3941060A1 (en) 2022-01-19
SI3941060T1 (sl) 2024-02-29
US12348731B2 (en) 2025-07-01
KR20250044936A (ko) 2025-04-01
KR20210114061A (ko) 2021-09-17
US20230045157A1 (en) 2023-02-09
PL3941060T3 (pl) 2023-12-27
EP4274229B1 (en) 2025-01-15
ES3010265T3 (en) 2025-04-01
HUE071472T2 (hu) 2025-08-28
WO2020184847A1 (ko) 2020-09-17
US20250287011A1 (en) 2025-09-11
HRP20231053T1 (hr) 2024-02-02
EP4492790A3 (en) 2025-04-16
US20240187605A1 (en) 2024-06-06
US11936878B2 (en) 2024-03-19
ES2957801T3 (es) 2024-01-25
KR102785322B1 (ko) 2025-03-25
HUE062990T2 (hu) 2023-12-28
FI3941060T3 (fi) 2023-10-02
US11496743B2 (en) 2022-11-08
PL4274229T3 (pl) 2025-04-07
EP4274229A1 (en) 2023-11-08
US20220070466A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
US12513301B2 (en) DMVR-based inter-prediction method and device
US12212758B2 (en) BDOF-based inter prediction method and device
EP3913921B1 (en) Dmvr-based inter-prediction method and device
RS66495B1 (sr) Inter predikcioni postupak i uređaj zasnovan na dmvr i bdof
US11451820B2 (en) DMVR-based inter-prediction method and device
RS66780B1 (sr) Uređaji za kodiranje slike na osnovu istorije
RS66497B1 (sr) Uređaj za dekodiranje i kodiranje slike na osnovu predikcije pokreta u jedinici podbloka u sistemu za kodiranje slike
KR102639614B1 (ko) 움직임 벡터 예측 기반 영상/비디오 코딩 방법 및 장치
KR20210155807A (ko) 쌍예측 기반 영상/비디오 코딩 방법 및 장치
US20260101027A1 (en) Image encoding/decoding method and device, and recording medium in which bitstream is stored
RU2803564C2 (ru) Способ и устройство взаимного прогнозирования на основе детализации векторов движения на стороне декодера (dmvr) и двунаправленного оптического потока (bdof)
RU2777969C1 (ru) Способ и устройство взаимного прогнозирования на основе dmvr и bdof