RS67538B1 - Postupak kodiranja/dekodiranja i uređaj za izvođenje predikcije na osnovu tipa režima rekonfigurisane predikcije čvora lista, i postupak prenosa protoka bitova - Google Patents
Postupak kodiranja/dekodiranja i uređaj za izvođenje predikcije na osnovu tipa režima rekonfigurisane predikcije čvora lista, i postupak prenosa protoka bitovaInfo
- Publication number
- RS67538B1 RS67538B1 RS20251282A RSP20251282A RS67538B1 RS 67538 B1 RS67538 B1 RS 67538B1 RS 20251282 A RS20251282 A RS 20251282A RS P20251282 A RSP20251282 A RS P20251282A RS 67538 B1 RS67538 B1 RS 67538B1
- Authority
- RS
- Serbia
- Prior art keywords
- type
- current block
- mode
- prediction mode
- prediction
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
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
[0001] Opis
[0002] Tehnička oblast
[0003] Ovo otkrivanje se odnosi na postupak kodiranja/dekodiranja i uređaj i postupak prenosa protoka bitova, a, određenije, na postupak kodiranja/dekodiranja i uređaj za izvođenje predikcija na osnovu tipa režima predikcije resetovanja čvora lista, i postupak prenosa protoka bitova koji generiše kodiranja slike/uređaj ovog otkrivanja.
[0005] Pozadina
[0006] U skorije vreme, potražnja za slikama visoke rezolucije i visokog kvaliteta, kao što su slike visoke definicije (HD) i ultra visoke definicije (UHD), raste u različitim oblastima. Kako se rezolucija i kvalitet slikovnih podataka poboljšavaju, količina prenetih informacija ili bitova relativno raste u poređenju sa postojećim slikovnim podacima. Povećanje količine prenetih informacija ili protoka bitova izaziva povećanje troškova prenosa i troškova čuvanja. Na primer, iz dokumenta „Versatile Video Coding (Draft 7)” autora Benjamin Bross et al. (16. JVET sastanak; 20191001–20191022; ŽENEVA), poznat je postupak kodiranja slike u kome režim predikcije kodne jedinice zavisi od tipa isečka kodne jedinice.
[0007] Shodno tome, postoji potreba za visokoefikasnom tehnologijom kompresije slike radi efikasnog prenosa, čuvanja i reprodukovanja informacija o slikama visoke rezolucije i visokog kvaliteta.
[0009] Otkrivanje
[0010] Tehnički problem
[0011] Cilj ovog otkrivanja je da obezbedi postupak kodiranja/dekodiranja i uređaj poboljšane efikasnosti kodiranja/dekodiranja.
[0012] Drugi cilj ovog otkrivanja je da obezbedi postupak kodiranja/dekodiranja i uređaj za resetovanje tipa režima predikcije na osnovu najmanje jedne tipa isečka ili veličine trenutnog bloka.
[0013] [0006] Drugi cilj ovog otkrivanja je da obezbedi postupak kodiranja/dekodiranja i uređaj za
kodiranje/dekodiranje informacije režima predikcije na osnovu resetovanja tipa režima predikcije trenutnog bloka.
[0014] Drugi cilj ovog otkrivanja je da obezbedi a postupak prenosa protoka bitova koji generiše postupak kodiranja slike ili uređaj prema ovom otkrivanju.
[0016] Tehničko rešenje
[0017] Ovaj pronalazak je definisan skupom priloženih patentnih zahteva.
[0019] Poželjni efekti
[0020] Prema ovom otkrivanju, moguće je da se obezbedi postupak kodiranja/dekodiranja poboljšane efikasnosti kodiranja/dekodiranja.
[0021] Prema ovom otkrivanju, moguće je da se obezbedi postupak kodiranja/dekodiranja za resetovanje tipa režima predikcije na osnovu najmanje jedne tipa isečka ili veličine trenutnog bloka.
[0022] Prema ovom otkrivanju, moguće je da se obezbedi postupak kodiranja/dekodiranja za informacije režima predikcije kodiranja/dekodiranja na osnovu resetovanja tipa režima predikcije trenutnog bloka.
[0024] Opis crteža
[0025]
[0026] FIG.1 predstavlja izgled koji šematski prikazuje sistem video kodiranja, na koji način ostvarivanja ovog otkrivanja može da se primenjuje.
[0027] FIG.2 predstavlja izgled koji šematski prikazuje uređaj za kodiranje slike, na koji način ostvarivanja ovog otkrivanja može da se primenjuje.
[0028] FIG.3 predstavlja izgled koji šematski prikazuje uređaj za dekodiranje slike, na koji način ostvarivanja ovog otkrivanja može da se primenjuje.
[0029] FIG.4 predstavlja izgled koji ilustruje strukturu particionisanja slike prema jednom načinu ostvarivanja.
[0030] FIG.5 predstavlja izgled koji prikazuje način ostvarivanja vrste particionisanja bloka prema strukturi stabla više tipova.
[0031] FIG.6 predstavlja izgled koji prikazuje mehanizam signaliziranja informacija o podeli blokova u kvadratnom stablu sa ugnježdenom višetipskom strukturom prema ovom otkrivanju.
[0032] FIG.7 predstavlja izgled koji prikazuje primer u kome je CTU podeljen na više CU jedinica primenom stabla sa više tipova nakon primene kvadratnog stabla.
[0033] FIG.8 prikazuje redundantne obrasce podele koji mogu da se pojave u binarnoj podeli stabla i ternarnoj podeli stabla.
[0034] FIG.9A predstavlja izgled koji ilustruje smer intra predikcije prema jednom načinu ostvarivanja ovog otkrivanja.
[0035] FIG.9B predstavlja izgled koji ilustruje smer intra predikcije prema drugom načinu ostvarivanja ovog otkrivanja.
[0036] FIG.10 predstavlja dijagram toka postupka koji ilustruje video/postupak kodiranja slike zasnovan na inter predikciji.
[0037] FIG.11 predstavlja izgled koji ilustruje konfiguraciju jedinice za inter predikciju 180 prema ovom otkrivanju.
[0038] FIG.12 predstavlja dijagram toka postupka koji ilustruje postupak dekodiranja video zapisa/slike zasnovan na inter predikciji.
[0039] FIG.13 predstavlja izgled koji ilustruje konfiguraciju jedinice za inter predikciju 260 prema ovom otkrivanju.
[0040] FIG.14 predstavlja izgled koji ilustruje primer sintakse coding_unit koja uključuje informacije režima predikcije.
[0041] FIG.15 predstavlja izgled koji ilustruje režim predikcije primenljiv na trenutni blok u zavisnosti od tipa isečka i veličine trenutnog bloka.
[0042] FIG.16, 18 i 19 su izgledi koji ilustruju sintaksu coding_unit prema primerima koji ne pripadaju ovom pronalasku, a FIG.17 predstavlja izgled koji ilustruje sintaksu coding_unit prema jednom načinu ostvarivanja ovog otkrivanja. FIG.20 predstavlja dijagram toka postupka koji ilustruje postupak kodiranja slike prema jednom načinu ostvarivanja ovog otkrivanja.
[0043] FIG.21 predstavlja dijagram toka postupka koji ilustruje postupak dekodiranja slike prema jednom načinu ostvarivanja ovog otkrivanja.
[0044] FIG.22 predstavlja izgled koji prikazuje sistem za strimovanje sadržaja, na koji način ostvarivanja ovog otkrivanja može da se primenjuje.
[0046] Režim za pronalazak
[0047] [0013] U nastavku će način ostvarivanja ovog otkrivanja biti detaljno opisan uz pozivanje na
prateće crteže tako da ga stručnjaci iz ove oblasti mogu lako ostvariti. Međutim, ovo otkrivanje može biti ostvareno u različitim oblicima i nije ograničeno na način ostvarivanja opisan ovde.
[0048] Pri opisivanju ovog otkrivanja, ako se utvrdi da bi detaljan opis poznate funkcije ili konstrukcije učinio obim ovog otkrivanja nepotrebno nejasnim, detaljan opis takvih elemenata biće izostavljen. Na crtežima su izostavljeni delovi koji nisu povezani sa opisom ovog otkrivanja, a slične referentne oznake dodate su sličnim delovima.
[0049] U ovom otkrivanju, kada se kaže da je komponenta „povezana“, „spojena“ ili „vezana“ za drugu komponentu, to može obuhvatiti ne samo odnos direktnog povezivanja već i odnos indirektnog povezivanja u kome postoji posredna komponenta. Pored toga, kada komponenta „uključuje“ ili „poseduje“ druge komponente, to znači da druge komponente mogu dodatno biti uključene, a ne da su isključene ukoliko nije drugačije navedeno.
[0050] U ovom otkrivanju, termini prvi, drugi itd. mogu biti korišćeni samo radi razlikovanja jedne komponente od drugih komponenti i ne ograničavaju redosled ili važnost komponenti, osim ako nije drugačije navedeno. Shodno tome, u okviru obima ovog otkrivanja, prva komponenta u jednom načinu ostvarivanja može biti nazvana drugom komponentom u drugom načinu ostvarivanja, i obrnuto.
[0051] U ovom otkrivanju, komponente koje se međusobno razlikuju namenjene su jasnom opisivanju svake karakteristike i ne znače da su komponente nužno odvojene. To jest, više komponenti može biti objedinjeno i ostvareno u jednoj hardverskoj ili softverskoj jedinici, ili jedna komponenta može biti raspodeljena i ostvarena u više hardverskih ili softverskih jedinica. Shodno tome, čak i ako nije drugačije navedeno, takvi načini ostvarivanja u kojima su komponente objedinjene ili je komponenta raspodeljena takođe su uključeni u obim ovog otkrivanja.
[0052] U ovom otkrivanju, komponente opisane u različitim načinima ostvarivanja ne znače nužno ključne komponente i neke komponente mogu biti opcionе. Shodno tome, način ostvarivanja koji se sastoji od podskupa komponenti opisanih u jednom načinu ostvarivanja takođe je uključen u obim ovog otkrivanja. Pored toga, načini ostvarivanja koji uključuju druge komponente, pored komponenti opisanih u različitim načinima ostvarivanja, takođe su uključeni u obim ovog otkrivanja.
[0053] Ovo otkrivanje odnosi se na kodiranje i dekodiranje slike, i izrazi korišćeni u ovom otkrivanju mogu imati opšte značenje uobičajeno korišćeno u tehničkoj oblasti kojoj ovo otkrivanje pripada, osim ako nisu posebno definisani u ovom otkrivanju.
[0054] U ovom otkrivanju, „slika“ se generalno odnosi na jedinicu koja predstavlja jednu sliku u određenom vremenskom periodu, a isečak/pločica je kodna jedinica koja čini deo slike, pri čemu jedna slika može biti sastavljena od jednog ili više isečaka/pločica. Pored toga, isečak/pločica može uključivati jednu ili više jedinica stabla kodiranja (CTU).
[0055] U ovom otkrivanju, „piksel“ ili „pel“ može označavati najmanju jedinicu koja čini jednu sliku (ili sliku). Pored toga, „uzorak“ se može koristiti kao izraz koji odgovara pikselu. Uzorak može generalno predstavljati piksel ili vrednost piksela i može predstavljati samo piksel/vrednost piksela luma komponente ili samo piksel/vrednost piksela hroma komponente.
[0056] U ovom otkrivanju, „jedinica“ može predstavljati osnovnu jedinicu obrade slike. Jedinica može uključivati najmanje jedno od: određenog regiona slike i informacija povezanih sa tim regionom. Jedinica se u nekim slučajevima može koristiti naizmenično sa izrazima kao što su „niz uzoraka“, „blok“ ili „oblast“. U opštem slučaju, blok veličine M×N može uključivati uzorke (ili nizove uzoraka) ili skup (ili niz) koeficijenata transformacije od M kolona i N redova.
[0057] U ovom otkrivanju, „trenutni blok“ može označavati jedno od sledećeg: „trenutni kodni blok“, „trenutna kodna jedinica“, „blok koji je cilj kodiranja“, „blok koji je cilj dekodiranja“ ili „blok koji je cilj obrade“. Kada se izvodi predikcija, „trenutni blok“ može označavati „trenutni blok predikcije“ ili „blok koji je cilj predikcije“. Kada se izvodi transformacija (inverzna transformacija)/kvantizacija (dekvantizacija), „trenutni blok“ može označavati „trenutni blok transformacije“ ili „blok koji je cilj transformacije“. Kada se izvodi filtriranje, „trenutni blok“ može označavati „blok koji je cilj filtriranja“.
[0058] Pored toga, u ovom otkrivanju, „trenutni blok“ može označavati blok koji uključuje i blok luma komponente i blok hroma komponente, ili „luma blok trenutnog bloka“, osim ako se izričito ne navede da je u pitanju hroma blok. Blok hroma komponente trenutnog bloka može biti izražen uključivanjem eksplicitnog opisa bloka luma komponente, kao što je „luma blok“ ili „trenutni luma blok“. Pored toga, blok hroma komponente trenutnog bloka može biti eksplicitno izražen uključivanjem eksplicitnog opisa bloka hroma komponente, kao što je „hroma blok“ ili „trenutni hroma blok“.
[0059] U ovom otkrivanju, termini „/“ i „,“ treba da se tumače kao značenje „i/ili“. Na primer, izrazi „A/B“ i „A, B“ mogu značiti „A i/ili B“. Dalje, „A/B/C“ može značiti „najmanje jedno od A, B i/ili C“.
[0060] U ovom otkrivanju, izraz „ili“ treba tumačiti kao „i/ili“. Na primer, izraz „A ili B“ može obuhvatati: 1) samo „A“, 2) samo „B“ i/ili 3) i „A“ i „B“. Drugim rečima, u ovom otkrivanju, izraz „ili“ treba tumačiti kao „dodatno ili alternativno“.
[0061] Pregled sistema video kodiranja
[0062] FIG.1 predstavlja izgled koji prikazuje sistem video kodiranja, na koji način ostvarivanja ovog otkrivanja može da se primenjuje.
[0063] Sistem video kodiranja može da uključuje uređaj 10 za kodiranje i uređaj 20 za dekodiranje. Uređaj 10 za kodiranje može isporučivati kodirane video i/ili slikovne informacije ili podatke uređaju 20 za dekodiranje u obliku fajla ili strimovanja putem digitalnog medijuma za čuvanje ili mreže.
[0064] U skladu sa ovim otkrivanjem, uređaj 10 za kodiranje može da uključuje generator video izvora 11, kodirajuću jedinicu 12 i predajnik 13. Uređaj 20 za dekodiranje može da uključuje prijemnik 21, jedinicu 22 za dekodiranje i prikazivač 23. Kodirajuća jedinica 12 može se nazivati jedinicom za kodiranje video zapisa/slike, a jedinica 22 za dekodiranje može se nazivati jedinicom za dekodiranje video zapisa/slike. Predajnik 13 može biti uključen u kodirajuću jedinicu 12. Prijemnik 21 može biti uključen u jedinicu 22 za dekodiranje. Prikazivač 23 može uključivati displej, a displej može biti konfigurisan kao poseban uređaj ili kao spoljašnja komponenta.
[0065] Generator video izvora 11 može da pribavi video/sliku putem postupka snimanja, sinteze ili generisanja video zapisa/slike. Generator video izvora 11 može da uključuje uređaj za snimanje video zapisa/slike i/ili uređaj za generisanje video zapisa/slike. Uređaj za snimanje video zapisa/slike može uključivati, na primer, jednu ili više kamera, arhive videa/slika koje sadrže prethodno snimljene video materijale/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 da generiše video/slike. Na primer, virtuelni video/slika može biti generisan putem računara ili sličnog uređaja. U tom slučaju, postupak snimanja video zapisa/slike može biti zamenjen postupkom generisanja odgovarajućih podataka.
[0066] Kodirajuća jedinica 12 može da kodira ulazni video/sliku. Kodirajuća jedinica 12 može da izvrši niz postupaka kao što su predikcija, transformacija i kvantizacija radi postizanja efikasnosti kompresije i kodiranja. Kodirajuća jedinica 12 može da izlazno generiše kodirane podatke (kodirane informacije o videu/slici) u obliku protoka bitova.
[0067] [0032] Predajnik 13 može da prenosi kodirane informacije o videu/slici ili podatke koji su izlazno generisani u obliku protoka bitova prijemniku 21 uređaja 20 za dekodiranje putem digitalnog medijuma za čuvanje ili mreže, u obliku fajla ili strimovanja. Digitalni medijum za čuvanje može da obuhvati različite medijume za čuvanje kao što su USB, SD, CD, DVD, blu-rej, HDD, SSD i
slično. Predajnik 13 može da uključuje element za generisanje medijskog fajla prema prethodno utvrđenom formatu fajla i može da uključuje element za prenos putem mreže emitovanja/komunikacije. Prijemnik 21 može da izvuče/prim i protok bitova sa medijuma za čuvanje ili sa mreže i da prenese protok bitova jedinici 22 za dekodiranje.
[0068] Jedinica 22 za dekodiranje može da dekodira video/sliku izvršavajući niz postupaka kao što su dekvantizacija, inverzna transformacija i predikcija, u skladu sa operacijama kodirajuće jedinice 12.
[0069] Prikazivač 23 može da prikaže dekodirani video/sliku. Prikazani video/slika može biti prikazana putem displeja.
[0071] Pregled uređaja za kodiranje slike
[0072] FIG.2 predstavlja izgled koji šematski prikazuje uređaj za kodiranje slike, na koji način ostvarivanja ovog otkrivanja može da se primenjuje.
[0073] Kao što je prikazano na FIG.2, uređaj 100 za kodiranje slike može da uključuje razdelnik 110 slike, oduzimač 115, transformator 120, kvantizator 130, dekvantizator 140, inverzni transformator 150, sabirač 155, filter 160, memoriju 170, jedinicu 180 inter predikcije, jedinicu 185 intra predikcije i entropijski koder 190. Jedinica 180 inter predikcije i jedinica 185 intra predikcije zajednički mogu biti označene kao "predikciona jedinica". Transformator 120, kvantizator 130, dekvantizator 140 i inverzni transformator 150 mogu biti uključeni u preostali procesor. Preostali procesor dodatno može da uključuje 115.
[0074] Sve ili najmanje neke od više komponenti koje čine uređaj 100 za kodiranje slike mogu biti konfigurisane jednom hardverskom komponentom (npr. koderom ili procesorom) u nekim načinima ostvarivanja. Pored toga, memorija 170 može da uključuje bafer dekodiranih slika (DPB) i može biti konfigurisana putem digitalnog medijuma za čuvanje.
[0075] [0038] Razdelnik 110 slike može da podeli ulaznu sliku (ili sliku ili okvir) koja ulazi u uređaj 100 za kodiranje slike na jednu ili više jedinica za obradu. Na primer, jedinica za obradu može se nazivati kodna jedinica (CU). Kodna jedinica može biti dobijena rekurzivnim deljenjem jedinice stabla kodiranja (CTU) ili najveće kodne jedinice (LCU) prema strukturi kvadratnog stabla, binarnog stabla i/ili ternarnog stabla (QT/BT/TT). Na primer, jedna kodna jedinica može biti podeljena na više kodnih jedinica dublje dubine na osnovu kvadratne strukture stabla, strukture binarnog stabla i/ili ternarne strukture. Za deljenje kodne jedinice, kvadratna struktura stabla može biti primenjena prvo, a struktura binarnog stabla i/ili ternarna struktura može biti primenjena naknadno. Postupak kodiranja prema ovom otkrivanju može biti izveden na osnovu
finalne kodne jedinice koja se više ne deli. Najveća kodna jedinica može se koristiti kao finalna kodna jedinica, ili kodna jedinica dublje dubine dobijena deljenjem najveće kodne jedinice može se koristiti kao finalna kodna jedinica. Ovaj postupak kodiranja može uključivati postupke predikcije, transformacije i rekonstrukcije, koji će biti opisani kasnije. Kao drugi primer, jedinica za obradu u postupku kodiranja može biti predikciona jedinica (PU) ili transformaciona jedinica (TU). Predikciona jedinica i transformaciona jedinica mogu biti podeljene ili izdvojene iz finalne kodne jedinice. Predikciona jedinica može biti jedinica za predikciju uzoraka, a transformaciona jedinica može biti jedinica za izvođenje koeficijenata transformacije i/ili jedinica za izvođenje preostalog signala iz koeficijenata transformacije.
[0076] Predikciona jedinica (jedinica 180 inter predikcije ili jedinica 185 intra predikcije) može da izvrši predikciju na bloku koji se obrađuje (trenutni blok) i da generiše predviđeni blok koji uključuje uzorke predikcije za trenutni blok. Predikciona jedinica može da odredi da li se na trenutni blok ili CU primenjuje intra predikcija ili inter predikcija. Predikciona jedinica može da generiše razne informacije vezane za predikciju trenutnog bloka i da prenese generisane informacije entropijskom koderu 190. Informacije o predikciji mogu biti kodirane u entropijskom koderu 190 i izlazno generisane u obliku protoka bitova.
[0077] Jedinica 185 intra predikcije može predvideti trenutni blok pozivajući se na uzorke u trenutnoj slici. Pozvani uzorci mogu biti locirani u okolini trenutnog bloka ili mogu biti udaljeni u zavisnosti od režima intra predikcije i/ili tehnike intra predikcije. Režimi intra predikcije mogu uključivati više ne-direkcionih režima i više direkcionih režima. Ne-direkcioni režim može uključivati, na primer, DC režim i planarni režim. Direkcioni režim može uključivati, na primer, 33 direkciona režima predikcije ili 65 direkcionih režima predikcije u zavisnosti od stepena detalja pravca predikcije. Ovo je samo primer; može se koristiti više ili manje direkcionih režima predikcije u zavisnosti od podešavanja. Jedinica 185 intra predikcije može odrediti režim predikcije primenjen na trenutni blok koristeći režim predikcije primenjen na susedni blok.
[0078] [0041] Jedinica 180 inter predikcije može izvesti predviđeni blok za trenutni blok na osnovu referentnog bloka (niza referentnih uzoraka) određenog vektorom pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacija o pokretu koja se prenosi u režimu inter predikcije, 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 pravac 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 se nazvati kolocirani referentni blok, kolocirana CU (colCU) i slično. Referentna slika koja uključuje vremenski susedni blok može se nazvati kolocirana slika (colPic). Na primer, jedinica 180 inter predikcije može konfigurisati listu kandidata za informacije o pokretu na osnovu susednih blokova i generisati informacije koje određuju koji kandidat se koristi za izvođenje vektora pokreta i/ili indeksa referentne slike trenutnog bloka. Inter predikcija može se izvršiti na osnovu različitih režima predikcije. Na primer, u slučaju režima preskakanja i režima spajanja, jedinica 180 inter predikcije može koristiti informacije o pokretu susednog bloka kao informacije o pokretu trenutnog bloka. U slučaju režima preskakanja, za razliku od režima spajanja, preostali signal možda neće biti prenesen. U slučaju moda predikcije vektora pokreta (MVP), vektor pokreta susednog bloka može se koristiti kao prediktor vektora pokreta, a vektor pokreta trenutnog bloka može se signalizirati kodiranjem razlike vektora pokreta i indikatora za prediktor vektora pokreta. Razlika vektora pokreta predstavlja razliku između vektora pokreta trenutnog bloka i prediktora vektora pokreta.
[0079] Predikciona jedinica može da generiše predikcioni signal na osnovu različitih postupaka i tehnika predikcije opisanim u nastavku. Na primer, predikciona jedinica može ne samo primeniti intra predikciju ili inter predikciju, već i istovremeno primeniti i intra predikciju i inter predikciju radi predikcije trenutnog bloka. Postupak predikcije koji istovremeno primenjuje i intra i inter predikciju za predikciju trenutnog bloka može se nazvati kombinovana inter i intra predikcija (CIIP). Pored toga, predikciona jedinica može izvršiti kopiranje unutar bloka (IBC) za predikciju trenutnog bloka. Kopiranje unutar bloka može da se koristi za kodiranje sadržaja slike/video zapisa, na primer kodiranje sadržaja ekrana (SCC) u igricama ili sličnim aplikacijama. IBC je postupak predikcije trenutne slike korišćenjem prethodno rekonstruisanog referentnog bloka u trenutnoj slici, na lokaciji udaljenoj od trenutnog bloka za prethodno utvrđenu distancu. Kada se primenjuje IBC, lokacija referentnog bloka u trenutnoj slici može se kodirati kao vektor (vektor bloka) koji odgovara prethodno utvrđenoj distanci. IBC u osnovi vrši predikciju unutar trenutne slike, ali može se izvršiti slično inter predikciji u smislu da se referentni blok izvodi unutar trenutne slike. To jest, IBC može koristiti najmanje jednu od inter predikcionih tehnika opisanu u ovom otkrivanju.
[0080] [0043] Predikcioni signal koji generiše predikciona jedinica može se koristiti za generisanje rekonstruisanog signala ili za generisanje preostalog signala. Oduzimač 115 može da generiše
preostali signal (preostali blok ili preostali niz uzoraka) tako što oduzme predikcioni signal (predviđeni blok ili niz predikcionih uzoraka) koji izlazi iz predikcione jedinice od ulaznog signala slike (originalni blok ili originalni niz uzoraka). Generisani preostali signal može biti prosleđen transformatoru 120.
[0081] Transformator 120 može da generiše transformacione koeficijente primenom transformacione tehnike na preostali signal. Na primer, transformaciona tehnika može uključivati najmanje jednu od sledećih: diskretnu kosinusnu transformaciju (DCT), diskretnu sinusnu transformaciju (DST), Karhunen-Loève transformaciju (KLT), transformaciju zasnovanu na grafikonu (GBT) ili uslovno nelinearnu transformaciju (CNT). Ovde, GBT označava transformaciju dobijenu iz grafika kada se informacija o odnosu između piksela predstavlja grafom. CNT se odnosi na transformaciju dobijenu na osnovu predikcionog signala generisanog korišćenjem svih prethodno rekonstruisanih piksela. Pored toga, transformacioni postupak može se primenjivati na kvadratne piksel-blokove iste veličine ili može biti primenjen na blokove promenljive veličine, a ne samo kvadratne.
[0082] Kvantizator 130 može da kvantizuje transformacione koeficijente i prosledi ih entropijskom koderu 190. Entropijski koder 190 može da kodira kvantizovani signal (informacije o kvantizovanim transformacionim koeficijentima) i izlazno generiše protok bitova. Informacije o kvantizovanim transformacionim koeficijentima mogu se nazivati preostalim informacijama. Kvantizator 130 može da preraspodeli kvantizovane transformacione koeficijente iz blok forme u jednodimenzionalni vektor na osnovu redosleda skeniranja koeficijenata i da generiše informacije o kvantizovanim transformacionim koeficijentima na osnovu kvantizovanih transformacionih koeficijenata u jednodimenzionalnom vektoru.
[0083] [0046] Entropijski koder 190 može da izvrši različite postupke kodiranja, kao što su, na primer, eksponencijalni Golomb, kontekstno adaptivno promenjivo kodiranje dužine (CAVLC), kontekstno adaptivno binarno aritmetičko kodiranje (CABAC) i slično. Entropijski koder 190 može kodirati informacije potrebne za rekonstrukciju video zapisa/slike, osim kvantizovanih transformacionih koeficijenata (npr. vrednosti sintaksnih elemenata), zajedno ili odvojeno. Kodirane informacije (npr. kodirane informacije video zapisa/slike) mogu biti prenete ili sačuvane u jedinicama slojeva apstrakcije mreže (NAL) u obliku protoka bitova. Informacije video zapisa/slike mogu dodatno uključivati informacije o različitim skupovima parametara kao što su skupa parametara za adaptaciju (APS), skup parametara slike (PPS), skup parametara sekvence (SPS) ili skup parametara video zapisa (VPS). Pored toga, informacije video zapisa/slike mogu dodatno uključivati opšte informacije o ograničenjima. Signalizirane informacije, prenete
informacije i/ili sintaksni elementi opisani u ovom otkrivanju mogu biti kodirani putem prethodno opisanog postupka kodiranja i uključeni u protok bitova.
[0084] Protok bitova može biti prenesen preko mreže ili sačuvan na digitalnom medijumu za čuvanje. Mreža može uključivati mrežu za emitovanje i/ili komunikacionu mrežu, a digitalni medijum za čuvanje može uključivati različite medijume za čuvanje kao što su USB, SD, CD, DVD, Blu-rej, HDD, SSD i slično. Predajnik (nije prikazan) koji prenosi signal izlaznog iz entropijskog kodera 190 i/ili jedinica za čuvanje (nije prikazana) koja skladišti signal može biti uključen kao unutrašnji/ spoljašnji element uređaja 100 za kodiranje slike. Alternativno, predajnik može biti obezbeđen kao komponenta entropijskog kodera 190.
[0085] Kvantizovani transformacioni koeficijenti izlazni iz kvantizatora 130 mogu se koristiti za generisanje preostalog signala. Na primer, preostali signal (preostali blok ili preostali uzorci) može biti rekonstruisan primenom dekvantizacije i inverzne transformacije na kvantizovane transformacione koeficijente preko dekvantizatora 140 i inverznog transformatora 150.
[0086] Sabirač 155 dodaje rekonstruisani preostali signal predikcionom signalu izlaznom iz jedinice 180 inter predikcije ili jedinice 185 intra predikcije kako bi generisao rekonstruisani signal (rekonstruisana slika, rekonstruisani blok, rekonstruisani niz uzoraka). Ako ne postoji preostali signal za blok koji se obrađuje, kao u slučaju kada je primenjen režim preskakanja, predviđeni blok može se koristiti kao rekonstruisani blok. Sabirač 155 može se nazivati rekonstruktor ili generator rekonstruisanog bloka. Generisani rekonstruisani signal može se koristiti za intra predikciju narednog bloka koji se obrađuje u trenutnoj slici i može se koristiti za inter predikciju naredne slike kroz filtriranje, kao što je opisano u nastavku.
[0087] Filter 160 može poboljšati subjektivni i objektivni kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 160 može da generiše izmenjenu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku i da sačuva izmenjenu rekonstruisanu sliku u memoriji 170, konkretno u DPB memorije 170. Različiti postupci filtriranja mogu uključivati, na primer, deblokirajući filter, adaptivni pomeraj uzorka (SAO), adaptivni filter u petlji (ALF), bilateralni filter i slično. Filter 160 može da generiše različite informacije koje se odnose na filtriranje i da prenese generisane informacije entropijskom koderu 190, kao što je opisano kasnije u opisu svakog postupka filtriranja. Informacije koje se odnose na filtriranje mogu biti kodirane od strane entropijskog kodera 190 i izlazno generisane u obliku protoka bitova.
[0088] [0051] Izmenjena rekonstruisana slika koja se prenosi u memoriju 170 može se koristiti kao referentna slika u jedinici 180 inter predikcije. Kada se inter predikcija primeni kroz uređaj 100
za kodiranje slike, može se izbeći neusaglašenost predikcije između uređaja 100 za kodiranje slike i uređaja za dekodiranje slike, čime se poboljšava efikasnost kodiranja.
[0089] DPB memorije 170 može čuvati izmenjenu rekonstruisanu sliku za korišćenje kao referentna slika u jedinici 180 inter predikcije. Memorija 170 može čuvati informacije o pokretu bloka iz kojeg se izvode (ili kodiraju) informacije o pokretu u trenutnoj slici i/ili informacije o pokretu blokova u slici koji su prethodno rekonstruisani. Sačuvane informacije o pokretu mogu biti prosleđene jedinici 180 inter predikcije i koristiti se kao informacije o pokretu prostornog susednog bloka ili informacije o pokretu vremenskog susednog bloka. Memorija 170 može čuvati rekonstruisane uzorke rekonstruisanih blokova u trenutnoj slici i može preneti rekonstruisane uzorke jedinici 185 intra predikcije.
[0091] Pregled uređaja za dekodiranje slike
[0092] FIG.3 predstavlja izgled koji šematski prikazuje uređaj za dekodiranje slike, na koji način ostvarivanja ovog otkrivanja može da se primenjuje.
[0093] Kao što je prikazano na FIG.3, uređaj za dekodiranje slike 200 može uključivati entropijski dekoder 210, dekvantizator 220, inverzni transformator 230, sabirač 235, filter 240, memoriju 250, jedinicu 260 za inter predikciju i jedinicu 265 za intra predikciju. Jedinica 260 za inter predikciju i jedinica 265 za intra predikciju zajednički mogu biti označene kao „predikciona jedinica“. Dekvantizator 220 i inverzni transformator 230 mogu biti uključeni u preostali procesor.
[0094] Svi ili najmanje neki od više komponenti koje konfigurišu uređaj za dekodiranje slike 200 mogu biti konfigurisani pomoću hardverske komponente (npr. dekoder ili procesor) prema jednom načinu ostvarivanja. Pored toga, memorija 250 može uključivati bafer dekodiranih slika (DPB) ili može biti konfigurisana pomoću digitalnog medijuma za čuvanje.
[0095] Uređaj za dekodiranje slike 200, koji je primio protok bitova uključujući informacije video zapisa/slike, može rekonstruisati sliku izvršavanjem postupka koji odgovara postupku izvedenom od strane uređaja 100 za kodiranje slike prikazanog na FIG.2. Na primer, uređaj za dekodiranje slike 200 može izvršiti dekodiranje koristeći jedinicu za obradu primenjenu u uređaju za kodiranje slike. Dakle, jedinica za obradu u dekodiranju može biti, na primer, kodna jedinica. Kodna jedinica može biti dobijena particionisanjem jedinice stabla kodiranja (CTU) ili najveće kodne jedinice (LCU). Rekonstruisani signal slike dekodiran i izlazno generisan kroz uređaj za dekodiranje slike 200 može se reprodukovati pomoću uređaja za reprodukciju (nije prikazan).
[0096] [0057] Uređaj za dekodiranje slike 200 može primiti signal izlaznog iz uređaja za kodiranje slike
prikazanog na FIG.2 u obliku protoka bitova. Primljeni signal može biti dekodiran putem entropijskog dekodera 210. Na primer, entropijski dekoder 210 može analizirati protok bitova kako bi dobio informacije (npr. informacije video zapisa/slike) potrebne za rekonstrukciju slike (ili slike/slike). Informacije video zapisa/slike mogu dodatno uključivati informacije o različitim skupovima parametara, kao što su skup parametara za adaptaciju (APS), skup parametara slike (PPS), skup parametara sekvence (SPS) ili skup parametara video zapisa (VPS). Pored toga, informacije video zapisa/slike mogu dodatno uključivati opšte informacije o ograničenjima. Uređaj za dekodiranje slike može dalje dekodirati sliku na osnovu informacija iz skupa parametara i/ili opštih informacija o ograničenjima. Signalizirane/primljene informacije i/ili sintaksni elementi opisani u ovom otkrivanju mogu biti dekodirani kroz postupak dekodiranja i dobijeni iz protoka bitova. Na primer, entropijski dekoder 210 dekodira informacije u protoku bitova na osnovu postupka kodiranja kao što su eksponencijalni Golomb, CAVLC ili CABAC i izlazno generiše vrednosti sintaksnih elemenata potrebnih za rekonstrukciju slike i kvantizovane vrednosti transformacionih koeficijenata za preostali signal. Detaljnije, CABAC postupak entropijskog dekodiranja može primiti bin odgovarajući svakom sintaksnom elementu u protoku bitova, odrediti kontekstualni model korišćenjem informacija o sintaksnom elementu cilja dekodiranja, informacija o dekodiranju susednog bloka i ciljnog bloka ili informacija o simbolu/binu dekodiranom u prethodnoj fazi, i izvršiti aritmetičko dekodiranje na binu čime se predviđa verovatnoću pojave bina prema utvrđenom kontekstualnom modelu, i generisati simbol koji odgovara vrednosti svakog sintaksnog elementa. U ovom slučaju, CABAC postupak entropijskog dekodiranja može ažurirati kontekstualni model korišćenjem informacija o dekodiranom simbolu/binu za kontekstualni model narednog simbola/bina nakon određivanja kontekstualnog modela. Informacije vezane za predikciju među informacijama dekodiranim od strane entropijskog dekodera 210 mogu biti prosleđene predikcionoj jedinici (jedinica 260 za inter predikciju i jedinica 265 za intra predikciju), a preostale vrednosti na kojima je izvršeno entropijsko dekodiranje u entropijskom dekoderu 210, tj. kvantizovani transformacioni koeficijenti i povezane parametarske informacije, mogu biti prosleđene dekvantizatoru 220. Pored toga, informacije o filtriranju među informacijama dekodiranim od strane entropijskog dekodera 210 mogu biti prosleđene filteru 240. U međuvremenu, prijemnik (nije prikazan) za primanje signala izlaznog iz uređaja za kodiranje slike može biti dodatno konfigurisana kao unutrašnji/spoljašnji element uređaja za dekodiranje slike 200, ili prijemnik može biti komponenta entropijskog dekodera 210.
[0097] [0058] U međuvremenu, uređaj za dekodiranje slike prema ovom otkrivanju može se nazivati
uređajem za dekodiranje video zapisa/slike/slike. Uređaj za dekodiranje slike može se klasifikovati na dekoder informacija (dekoder informacija video zapisa/slike/slike) i dekoder uzoraka (dekoder uzoraka video zapisa/slike/slike). Dekoder informacija može uključivati entropijski dekoder 210. Dekoder uzoraka može uključivati najmanje jednu od komponenti: dekvantizator 220, inverzni transformator 230, sabirač 235, filter 240, memoriju 250, jedinicu 260 za inter predikciju ili jedinicu 265 za intra predikciju.
[0098] Dekvantizator 220 može da dekvantizuje kvantizovane transformacione koeficijente i izlazno generisati transformacione koeficijente. Dekvantizator 220 može reorganizovati kvantizovane transformacione koeficijente u obliku dvodimenzionalnog bloka. U ovom slučaju, reorganizacija može biti izvedena na osnovu redosleda skeniranja koeficijenata primenjenog u uređaju za kodiranje slike. Dekvantizator 220 može izvršiti dekvantizaciju kvantizovanih transformacionih koeficijenata koristeći parametar kvantizacije (npr. informacije o veličini faza kvantizacije) i dobiti transformacione koeficijente.
[0099] Inverzni transformator 230 može izvršiti inverznu transformaciju transformacionih koeficijenata kako bi dobio preostali signal (preostali blok, preostali niz uzoraka).
[0100] Predikciona jedinica može izvršiti predikciju trenutnog bloka i generisati predikcioni blok koji uključuje predikcione uzorke za trenutni blok. Predikciona jedinica može odrediti da li se za trenutni blok primenjuje intra predikcija ili inter predikcija na osnovu informacija o predikciji izlaznih iz entropijskog dekodera 210 i može odrediti određeni intra ili inter režim predikcije (predikcionu tehniku).
[0101] Isto kao što je opisano za predikcionu jedinicu uređaja 100 za kodiranje slike, predikciona jedinica može generisati predikcioni signal na osnovu različitih postupaka (tehnika) predikcije koji će biti opisani kasnije.
[0102] Jedinica 265 za intra predikciju može predvideti trenutni blok pozivajući se na uzorke u trenutnoj slici. Opis jedinice 185 intra predikcije jednako se primenjuje na jedinicu 265 za intra predikciju.
[0103] [0064] Jedinica 260 za inter predikciju može izvesti predikcioni blok za trenutni blok na osnovu referentnog bloka (referentnog niza uzoraka) definisanog pomoću vektora pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacije o pokretu koja se prenosi u režimu inter predikcije, informacije o pokretu mogu se predvideti 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 dalje uključivati smer 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, jedinica 260 za inter predikciju može konfigurisati listu kandidata za informacije o pokretu na osnovu susednih blokova i izvesti vektor pokreta trenutnog bloka i/ili indeks referentne slike na osnovu primljenih informacija o izboru kandidata. Inter predikcija može se izvoditi na osnovu različitih režima predikcije, a informacije o predikciji mogu uključivati podatke koji specificiraju režim inter predikcije za trenutni blok.
[0104] Sabirač 235 može generisati rekonstruisani signal (rekonstruisanu sliku, rekonstruisani blok, rekonstruisani niz uzoraka) dodavanjem dobijenog preostalog signala na predikcioni signal (predikcioni blok, predikcioni niz uzoraka) izlazni iz predikcione jedinice (uključujući jedinicu 260 za inter predikciju i/ili jedinicu 265 za intra predikciju). Ako za blok koji se obrađuje ne postoji preostali signal, kao što je slučaj kada je primenjen režim preskakanja, predikcioni blok može da se koristi kao rekonstruisani blok. Opis sabirača 155 jednako se primenjuje na sabirač 235.
[0105] Sabirač 235 može se nazvati rekonstruktorem ili generatorom rekonstruisanog bloka. Generisani rekonstruisani signal može se koristiti za intra predikciju sledećeg bloka koji se obrađuje u trenutnoj slici i može se koristiti za inter predikciju sledeće slike kroz filtriranje, kao što je opisano u nastavku.
[0106] Filter 240 može poboljšati subjektivni/objektivni kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 240 može generisati modifikovanu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku i čuvati modifikovanu rekonstruisanu sliku u memoriji 250, konkretno u DPB memorije 250. Različiti postupci filtriranja mogu uključivati, na primer, deblokirajući filter, adaptivni pomeraj uzorka, adaptivni filter u petlji, bilateralni filter i slično.
[0107] (Modifikovana) rekonstruisana slika čuvana u DPB memorije 250 može se koristiti kao referentna slika u jedinici 260 za inter predikciju. Memorija 250 može čuvati informacije o pokretu bloka iz kojeg su izvedene (ili dekodirane) informacije o pokretu u trenutnoj slici i/ili informacije o pokretu blokova u slici koji su prethodno rekonstruisani. Čuvane informacije o pokretu mogu se preneti u jedinicu 260 za inter predikciju kako bi se koristile kao informacije o pokretu prostornog susednog bloka ili informacije o pokretu vremenskog susednog bloka.
[0108] Memorija 250 može čuvati rekonstruisane uzorke rekonstruisanih blokova u trenutnoj slici i preneti rekonstruisane uzorke u jedinicu 265 za intra predikciju.
[0109] [0068] U ovom otkrivanju, način ostvarivanja opisan za filter 160, jedinicu 180 inter predikcije i jedinicu 185 intra predikcije uređaja 100 za kodiranje slike može se jednako ili odgovarajuće
primeniti na filter 240, jedinicu 260 za inter predikciju i jedinicu 265 za intra predikciju uređaja za dekodiranje slike 200.
[0111] Pregled pariticionisanja slike
[0112] Postupak kodiranja video zapisa/slike prema ovom otkrivanju može se izvršiti na osnovu strukture particionisanja slike kao što sledi. Konkretno, postupci predikcije, obrade preostalog signala ((inverzne) transformacije, (de)kvantizacije, itd.), kodiranja sintaksnih elemenata i filtriranja, koji će biti opisani kasnije, mogu se izvršiti na osnovu CTU, CU (i/ili TU, PU) izvedenih na osnovu strukture particionisanja slike. Slika se može particionisati u blok jedinice, a procedura particionisanja blokova može se izvršiti u razdelniku 110 slike kodirajućeg uređaja. Informacije vezane za particionisanje mogu se kodirati putem entropijskog kodera 190 i preneti dekodirajućem uređaju u obliku protoka bitova. Entropijski dekoder 210 dekodirajućeg uređaja može izvesti strukturu particionisanja blokova trenutne slike na osnovu informacija o particionisanju dobijenih iz protoka bitova, i na osnovu toga može izvršiti niz postupaka (npr. predikcija, obrada preostalog signala, rekonstrukcija blokova/slike, filtriranje u petlji itd.) za dekodiranje slike. Veličina CU i veličina TU mogu biti iste ili može postojati više TU unutar jedne CU oblasti. U međuvremenu, veličina CU generalno predstavlja veličinu luma komponente (uzorak) CB. Veličina TU generalno predstavlja veličinu luma komponente (uzorak) TB. Veličina hroma komponente (uzorak) CB ili TB može se izvesti na osnovu veličine luma komponente (uzorak) CB ili TB u skladu sa odnosom komponenti prema hroma formatu (format boja, npr. 4:4:4, 4:2:2, 4:2:0, itd.) slike/slike. Veličina TU može se izvesti na osnovu parametra maxTbSize koji određuje maksimalnu dostupnu TB veličinu. Na primer, kada je veličina CU veća od maxTbSize, može se izvući više TU (TB) veličine maxTbSize iz CU i transformacija/inverzna transformacija može se izvršiti po TU (TB) jedinicama. Pored toga, na primer, pri primeni intra predikcije, režim intra predikcije/tip može se izvesti po CU (ili CB) jedinicama, dok se procedura izvođenja referentnih susednih uzoraka i generisanja predikcionih uzoraka može izvršiti po TU (ili TB) jedinicama. U ovom slučaju, jedna ili više TU (ili TB) mogu biti prisutne u jednoj CU (ili CB) oblasti, pri čemu više TU (ili TB) može deliti isti režim intra predikcije/tip.
[0113] [0070] Pored toga, u kodiranju i dekodiranju slike prema ovom otkrivanju, jedinica obrade slike može imati hijerarhijsku strukturu. Na primer, jedna slika može biti particionisana u jednu ili više pločica ili grupa pločica. Jedna grupa pločica može uključivati jednu ili više pločica. Jedna pločica može uključivati jednu ili više CTU jedinica. CTU se može particionisati u jednu ili više CU, kao što je prethodno opisano. Pločica se može sastojati od pravougaonog regiona koji uključuje CTU
jedinice raspoređene u određenom redu i koloni u slici. Grupa pločica može uključivati celobrojni broj pločica po principu skeniranja pločica-raster. Zaglavlje grupe pločica može signalizirati informacije/parametre primenljive na odgovarajuću grupu pločica. Kada kodirajući/dekodirajući uređaj ima višekorni procesor, postupak kodiranja/dekodiranja pločice ili grupe pločica može se izvršavati paralelno. Grupa pločica može imati jedan od tipova: intra (I) grupu pločica, predikcionu (P) grupu pločica i bi-predikcionu (B) grupu pločica. Za blokove u I grupi pločica inter predikcija se ne koristi i primenjuje se samo intra predikcija. Naravno, čak i u ovom slučaju, originalne vrednosti uzoraka mogu se kodirati i signalizirati bez predikcije. Za blokove u P grupi pločica mogu se koristiti intra ili inter predikcija, pri čemu se kod inter predikcije koristi samo uni-predikcija. U međuvremenu, za blokove u B grupi pločica mogu se koristiti intra ili inter predikcija, pri čemu se kod inter predikcije može koristiti do bi-predikcije.
[0114] U uređaju za kodiranje, pločica/grupa pločica, isečak i maksimalna i minimalna kodirajuća jedinica mogu da se odrede u skladu sa karakteristikama (npr. rezolucijom) slike i uz razmatranje efikasnosti kodiranja ili paralelnog obrade, a informacije o tome ili informacije na osnovu kojih se to može izvesti mogu biti uključene u protok bitova.
[0115] U uređaju za dekodiranje mogu se dobiti informacije koje određuju isečak trenutne slike, pločicu/grupu pločica ili CTU u pločici koji je podeljen na više kodirajućih jedinica. Kada se takve informacije dobijaju (prenose) samo pod posebnim uslovima, efikasnost može da se poveća.
[0116] Zaglavlje isečka ili zaglavlje grupe pločica (sintaksa zaglavlja grupe pločica) može da uključuje informacije/parametre koji se zajednički primenjuju na isečak ili grupu pločica. APS (APS sintaksa) ili PPS (PPS sintaksa) može da uključuje informacije/parametre koji se zajednički primenjuju na jednu ili više slika. SPS (SPS sintaksa) može da uključuje informacije/parametre koji se zajednički primenjuju na jednu ili više sekvenci. VPS (VPS sintaksa) može da uključuje informacije/parametre koji se zajednički primenjuju na ceo video. U ovom otkrivanju, sintaksa višeg nivoa može da uključuje najmanje jednu od APS sintakse, PPS sintakse, SPS sintakse ili VPS sintakse.
[0117] Pored toga, na primer, informacije o podeli i strukturi pločice/grupe pločica mogu da se formiraju u fazi kodiranja putem sintakse višeg nivoa i da se prenesu uređaju za dekodiranje u obliku protoka bitova.
[0119] Struktura particionisanja
[0120] [0075] Slike mogu da budu podeljene na niz kodirajućih stabala jedinica (CTU). CTU može da odgovara bloku stabla kodiranja (CTB). Alternativno, CTU može da uključuje blok stabla
kodiranja luma uzoraka i dva bloka stabla kodiranja odgovarajućih hroma uzoraka. Na primer, za sliku koja sadrži tri niza uzoraka, CTU može da uključuje N×N blok luma uzoraka i dva odgovarajuća bloka hroma uzoraka. FIG.4 prikazuje primer u kojem je slika podeljena na CTU-ove.
[0121] Maksimalna dozvoljena veličina CTU-a za kodiranje i predikciju može da bude različita od veličine CTU za transformaciju. Na primer, čak i kada je maksimalna veličina luma bloka u CTU-u za transformaciju 64×64, maksimalna veličina luma bloka u CTU-u za kodiranje i predikciju može da bude 128×128.
[0122] Pored toga, slika može da bude podeljena na jedan ili više redova pločica i jednu ili više kolona pločica. Pločica može da bude niz CTU koji pokrivaju pravougaonu oblast u slici.
[0123] Pločica može da bude podeljena na jednu ili više brikova, a svaka cigla može da se sastoji od više redova CTU unutar pločice. U ovom otkrivanju, pločica koja nije podeljena na više brikova može se nazivati brikom.
[0124] Isečak može da uključuje više pločica u slici ili više brikova u pločici. Mogu da se podrže dva režima isečka. Jedan može biti režim isečka sa raster skeniranjem, a drugi režim pravougaonog isečka.
[0125] U režimu raster isečka, isečak može da uključuje više uzastopnih pločica unutar slike u skladu sa redosledom raster skeniranja. U ovom otkrivanju, isečak prema režimu raster isečka može da se naziva raster isečkom.
[0126] U režimu pravougaonog isečka, isečak može da uključuje više brikova koje formiraju pravougaonu oblast unutar slike. U ovom otkrivanju, isečak prema režimu pravougaonog isečka može da se naziva pravougaonim isečkom. Više brikova uključenih u pravougaoni isečak može da postoji u skladu sa raster redosledom brikova datog isečka.
[0128] Pregled particionisanja CTU
[0129] Kao što je prethodno opisano, kodirajuća jedinica (CU) može da se dobije rekurzivnim particionisanjem kodirajuće stabla jedinice (CTU) ili najveće kodirajuće jedinice (LCU) u skladu sa strukturom kvadratnog stabla/binarog stabla/ternarnog stabla (QT/BT/TT). Na primer, CTU može najpre da se podeli u strukture kvadratnog stabla. Nakon toga, čvor lista strukture kvadratnog stabla može dodatno da se particioniše pomoću strukture stabla više tipova.
[0130] [0083] Particionisanje prema kvadratnom stablu znači da se trenutna CU (ili CTU) deli jednako na četiri dela. Particionisanjem prema kvadratnom stablu, trenutna CU može da se podeli na četiri CU iste širine i iste visine. Kada se trenutna CU više ne particioniše u strukturi kvadratnog
stabla, trenutna CU odgovara čvoru lista kvadratnog stabla. CU koja odgovara čvoru lista kvadratnog stabla može dalje da se ne particioniše i može da se koristi kao gore opisana finalna kodirajuća jedinica. Alternativno, CU koja odgovara čvoru lista kvadratnog stabla može dodatno da se particioniše pomoću strukture stabla više tipova.
[0131] FIG.5 predstavlja izgled koji prikazuje način ostvarivanja vrste particionisanja bloka prema strukturi stabla više tipova. Particionisanje prema strukturi stabla više tipova može da uključuje dva tipa deljenja prema strukturi binarnog stabla i dva tipa deljenja prema strukturi ternarnog stabla.
[0132] Dva tipa deljenja prema strukturi binarnog stabla mogu da uključuju vertikalno binarno deljenje (SPLIT_BT_VER) i horizontalno binarno deljenje (SPLIT_BT_HOR). Vertikalno binarno deljenje (SPLIT_BT_VER) znači da se trenutna CU deli jednako na dve u vertikalnom smeru. Kao što je prikazano na FIG.5, vertikalnim binarnim deljenjem mogu da se generišu dve CU koje imaju istu visinu kao trenutna CU i širinu koja je polovina širine trenutne CU. Horizontalno binarno deljenje (SPLIT_BT_HOR) znači da se trenutna CU deli jednako na dve u horizontalnom smeru. Kao što je prikazano na FIG.5, horizontalnim binarnim deljenjem mogu da se generišu dve CU koje imaju visinu koja je polovina visine trenutne CU i istu širinu kao trenutna CU.
[0133] Dva tipa deljenja prema strukturi ternarnog stabla mogu da uključuju vertikalno ternarno deljenje (SPLIT_TT_VER) i horizontalno ternarno deljenje (SPLIT_TT_HOR). Kod vertikalnog ternarnog deljenja (SPLIT_TT_VER), trenutna CU se deli u vertikalnom smeru u razmeri 1:2:1. Kao što je prikazano na FIG.5, vertikalnim ternarnim deljenjem mogu da se generišu dve CU koje imaju istu visinu kao trenutna CU i širinu koja iznosi 1/4 širine trenutne CU, kao i jedna CU koja ima istu visinu kao trenutna CU i širinu koja iznosi polovinu širine trenutne CU. Kod horizontalnog ternarnog deljenja (SPLIT_TT_HOR), trenutna CU se deli u horizontalnom smeru u razmeri 1:2:1. Kao što je prikazano na FIG.4, horizontalnim ternarnim deljenjem mogu da se generišu dve CU koje imaju visinu koja iznosi 1/4 visine trenutne CU i istu širinu kao trenutna CU, kao i jedna CU koja ima visinu koja iznosi polovinu visine trenutne CU i istu širinu kao trenutna CU.
[0134] FIG.6 predstavlja izgled koji prikazuje mehanizam signaliziranja informacija o podeli bloka u kvadratnom stablu sa ugnježdenom višetipskom strukturom prema ovom otkrivanju.
[0135] [0088] Ovde se CTU tretira kao korenski čvor kvadratnog stabla i prvi put se particioniše u strukturu kvadratnog stabla. Signaliziraju se informacije (npr. qt_split_flag) koje određuju da li se nad tekućom CU (CTU ili čvorom (QT_node) kvadratnog stabla) vrši particionisanje kvadratnog stabla. Na primer, kada qt_split_flag ima prvu vrednost (npr. „1“), tekuća CU može da bude
podeljena prema kvadratnog stablu. Pored toga, kada qt_split_flag ima drugu vrednost (npr. „0“), tekuća CU se ne particioniše prema kvadratnog stablu, već postaje čvor lista (QT_leaf_node) kvadratnog stabla. Svaki čvor lista kvadratnog stabla zatim može dodatno da se particioniše prema strukturi stabla više tipova. Odnosno, čvor lista kvadratnog stabla može da postane čvor (MTT_node) stabla više tipova. U strukturi stabla više tipova, prvi zastavnik (npr. Mtt_split_cu_flag) se signaliziraje da bi se naznačilo da li se tekući čvor dodatno particioniše. Ako se odgovarajući čvor dodatno particioniše (npr. ako je prvi zastavnik 1), drugi zastavnik (npr. Mtt_split_cu_vertical_flag) može da bude signaliziran da bi se odredio smer particionisanja. Na primer, smer particionisanja može da bude vertikalni ako je drugi zastavnik 1, a horizontalni ako je drugi zastavnik 0. Zatim, treća zastavica (npr. Mtt_split_cu_binary_flag) može biti signalizirana da bi se naznačilo da li je tip podele binarni ili ternarni. Na primer, tip podele može da bude binarni kada je treća zastavica 1, a ternarni kada je treća zastavica 0. Čvor stabla više tipova dobijen binarnim ili ternarnim deljenjem može dalje da se particioniše prema strukturi stabla više tipova. Međutim, čvor stabla više tipova ne može da se particioniše prema strukturi kvadratnog stabla. Ako je prvi zastavnik 0, odgovarajući čvor stabla više tipova se više ne deli i postaje čvor lista (MTT_leaf_node) stabla više tipova. CU koja odgovara čvoru lista stabla više tipova može da se koristi kao gore opisana finalna kodirajuća jedinica.
[0136] Na osnovu mtt_split_cu_vertical_flag i mtt_split_cu_binary_flag, režim particionisanja stabla više tipova (MttSplitMode) za CU može da se izvede kao što je prikazano u Tabeli 1 ispod. U narednom opisu, režim particionisanja stabla više tipova može da se naziva tipom višestrukog particionisanja ili tipom podele.
[0137] [Tabela 1]
[0138] MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag
[0141]
[0144] [0090] FIG.7 predstavlja izgled koji prikazuje primer u kojem je CTU podeljen na više CU primenom stabla više tipova nakon primene kvadratnog stabla. Na FIG.7, podebljane ivice blokova 710 predstavljaju particionisanje kvadratnog stabla, a preostale ivice 720 predstavljaju
particionisanje stabla više tipova. CU može da odgovara kodirajućem bloku (CB). U jednom načinu ostvarivanja, CU može da uključuje kodirajući blok luma uzoraka i dva kodirajuća bloka hroma uzoraka koji odgovaraju luma uzorcima.
[0145] Veličina CB ili TB za hroma komponentu (uzorak) može da se izvede na osnovu veličine CB ili TB za luma komponentu (uzorak), u skladu sa odnosom komponenti prema kolor formatu (hroma formatu, npr.4:4:4, 4:2:2, 4:2:0 ili slično) slike/slike. U slučaju kolor formata 4:4:4, veličina CB/TB hroma komponente može da bude jednaka veličini CB/TB luma komponente. U slučaju kolor formata 4:2:2, širina CB/TB hroma komponente može da bude postavljena na polovinu širine CB/TB luma komponente, a visina CB/TB hroma komponente može da bude postavljena jednako visini CB/TB luma komponente. U slučaju kolor formata 4:2:0, širina CB/TB hroma komponente može da bude postavljena na polovinu širine CB/TB luma komponente, a visina CB/TB hroma komponente može da bude postavljena na polovinu visine CB/TB luma komponente.
[0146] U jednom načinu ostvarivanja, kada je veličina CTU 128 na osnovu jedinice luma uzorka, veličina CU može da bude od 128x128 do 4x4, što je ista veličina kao CTU. U jednom načinu ostvarivanja, u slučaju kolor formata 4:2:0 (ili hroma formata), veličina hroma CB može da bude od 64x64 do 2x2.
[0147] U međuvremenu, u jednom načinu ostvarivanja, veličina CU i veličina TU mogu da budu iste. Alternativno, u regionu jedne CU može da postoji više TU. Veličina TU generalno predstavlja veličinu transformacionog bloka (TB) luma komponente (uzorka).
[0148] Veličina TU može da se izvede na osnovu najveće dozvoljene TB veličine maxTbSize, koja je prethodno utvrđena vrednost. Na primer, kada je veličina CU veća od maxTbSize, iz CU se može izvesti više TU (TB) veličine maxTbSize i transformacija/inverzna transformacija može da se obavlja u jedinicama TU (TB). Na primer, najveća dozvoljena luma TB veličina može biti 64×64, a najveća dozvoljena hroma TB veličina 32×32. Ako je širina ili visina CB, koji je podeljen prema strukturi stabla, veća od najveće širine ili visine transformacije, CB može automatski (ili implicitno) da se podeli sve dok se ne zadovolji ograničenje veličine TB u horizontalnom i vertikalnom smeru.
[0149] Pored toga, na primer, kada se primeni intra predikcija, tip režima intra predikcije može da se izvede u jedinicama CU (ili CB), a postupak izvlačenja referentnog susednog uzorka i generisanja predikcionog uzorka može da se izvrši u jedinicama TU (ili TB). U tom slučaju, u jednoj CU (ili CB) oblasti može postojati jedan ili više TU (ili TB) i, u tom slučaju, više TU (ili TB) može da deli isti režim intra predikcije / vrstu.
[0150] U međuvremenu, za šemu kodiranja stabla kvadratnog stabla sa ugnježdenim stablom više tipova, sledeći parametri mogu biti signalizirani kao SPS sintaksni elementi sa uređaja za kodiranje na uređaj za dekodiranje. Na primer, signalizira se najmanje jedan od sledećih: CTU veličina, koja je parametar koji predstavlja veličinu korenskog čvora kvadratnog stabla;
[0151] MinQTSize, koji je parametar koji predstavlja minimalnu dozvoljenu veličinu čvora lista kvadratnog stabla; MaxBtSize, koji je parametar koji predstavlja maksimalnu dozvoljenu veličinu korenskog čvora binarnog stabla; MaxTtSize, koji je parametar koji predstavlja maksimalnu dozvoljenu veličinu korenskog čvora ternarnog stabla; MaxMttDepth, koji je parametar koji predstavlja maksimalnu dozvoljenu dubinu hijerarhije deljenja stabla više tipova polazeći od čvora lista kvadratnog stabla; MinBtSize, koji je parametar koji predstavlja minimalnu dozvoljenu veličinu čvora lista binarnog stabla; ili MinTtSize, koji je parametar koji predstavlja minimalnu dozvoljenu veličinu čvora lista ternarnog stabla.
[0152] Kao jedan način ostvarivanja korišćenja 4:2:0 hroma formata, veličina CTU može biti podešena na 128×128 luma blokova i dva 64×64 hroma bloka koji odgovaraju luma blokovima. U tom slučaju, MinQTSize može biti podešen na 16×16, MaxBtSize može biti podešen na 128×128, MaxTtSize može biti podešen na 64×64, MinBtSize i MinTtSize mogu biti podešeni na 4×4, a MaxMttDepth može biti podešen na 4. Particionisanje kvadratnog stabla može da se primeni na CTU kako bi se generisali čvorovi lista kvadratnog stabla. Čvor lista kvadratnog stabla može se nazvati QT čvor lista. Čvorovi lista kvadratnog stabla mogu imati veličinu od 16×16 (npr.
[0153] MinQTSize) do 128×128 (npr. CTU veličina). Ako je QT čvor lista 128×128, on se ne može dodatno particionisati u binarno stablo / ternarno stablo. Razlog je to što bi, čak i ako bi se particionisanje izvršilo, veličina prešla MaxBtSize i MaxTtSize (npr.64×64). U drugim slučajevima, QT čvorovi lista mogu biti dalje particionisani u stablo više tipova. Stoga je QT čvor lista korenski čvor za stablo više tipova, i QT čvor lista može imati vrednost dubine stabla više tipova (mttDepth) 0. Ako dubina stabla više tipova dostigne MaxMttDepth (npr.4), dalje particionisanje se ne uzima u razmatranje. Ako je širina čvora stabla više tipova jednaka MinBtSize i manja ili jednaka od 2×MinTtSize, tada se dalje horizontalno particionisanje ne uzima u razmatranje. Ako je visina čvora stabla više tipova jednaka MinBtSize i manja ili jednaka od 2×MinTtSize, dalje vertikalno particionisanje se ne uzima u razmatranje. Kada se particionisanje ne uzima u razmatranje, uređaj za kodiranje može da preskoči signalizaciju informacija o particionisanju. U tom slučaju, uređaj za dekodiranje može da izvede informacije o particionisanju koristeći prethodno utvrđenu vrednost.
[0154] [0098] U međuvremenu, jedan CTU može da obuhvati kodirajući blok luma uzoraka (u nastavku
označen kao „luma blok”) i dva kodirajuća bloka hroma uzoraka koja mu pripadaju (u nastavku označena kao „hroma blokovi”). Gore opisano stablo kodiranja može da se jednako ili odvojeno primeni na luma blok i hroma blok trenutnog CU. Konkretno, luma i hroma blokovi u jednom CTU mogu biti podeljeni u istu strukturu stabla blokova i, u tom slučaju, struktura stabla se označava kao SINGLE_TREE. Alternativno, luma i hroma blokovi u jednom CTU mogu biti podeljeni u odvojene strukture stabla blokova i, u tom slučaju, struktura stabla se označava kao DUAL_TREE. To znači da, kada je CTU podeljen u dva stabla (dvostruka stabla), struktura stabla blokova za luma blok i struktura stabla blokova za hroma blok mogu biti odvojeno prisutne. U tom slučaju, struktura stabla blokova za luma blok može se nazvati DUAL_TREE_LUMA, a struktura stabla blokova za hroma komponentu može se nazvati DUAL_TREE_HROMA. Za P i B grupe isečaka/pločica, luma i hroma blokovi u jednom CTU mogu biti ograničeni da imaju istu strukturu stabla kodiranja. Međutim, za I grupe isečaka/pločica, luma i hroma blokovi mogu imati odvojenu strukturu stabla blokova. Ako se primenjuje odvojena struktura stabla blokova, luma CTB može biti podeljen na CU na osnovu jedne strukture stabla kodiranja, a hroma CTB može biti podeljen na hroma CU na osnovu druge strukture stabla kodiranja. Drugim rečima, to znači da CU u I grupi isečaka/pločica, na koju se primenjuje odvojena struktura stabla blokova, može da obuhvati kodirajući blok luma komponente ili kodirajuće blokove dve hroma komponente, dok CU u P ili B grupi isečaka/pločica može da obuhvati blokove tri komponente boje (jednu luma komponentu i dve hroma komponente).
[0155] Iako je opisana struktura kvadratnog stabla, stabla kodiranja sa ugnježdenim stablom više tipova, struktura kojom se CU particioniše nije ograničena na to. Na primer, BT struktura i TT struktura mogu se tumačiti kao koncept uključen u strukturu stabla višestrukog particionisanja (MPT), a CU se može tumačiti kao da je podeljen kroz QT strukturu i MPT strukturu. U jednom primeru u kojem se CU particioniše kroz QT strukturu i MPT strukturu, sintaksni element (npr. MPT_split_type), koji uključuje informaciju o tome na koliko blokova se čvor lista QT strukture deli, i sintaksni element (npr. MPT_split_mode), koji uključuje informaciju o tome da li je čvor lista QT strukture podeljen u vertikalnom ili horizontalnom smeru, mogu biti signalizirani radi određivanja strukture particionisanja.
[0156] U drugom primeru, CU može biti podeljen na drugačiji način od QT strukture, BT strukture ili TT strukture. To jest, za razliku od toga da se CU nižeg nivoa deli na 1/4 CU višeg nivoa prema QT strukturi, na 1/2 prema BT strukturi, ili na 1/4 ili 1/2 prema TT strukturi, CU nižeg nivoa može se podeliti na 1/5, 1/3, 3/8, 3/5, 2/3 ili 5/8 CU višeg nivoa u nekim slučajevima, i postupak particionisanja CU nije ograničen na to.
[0157] Na ovaj način, struktura kvadratnog stabla kodirajućeg bloka sa stablom više tipova može da obezbedi veoma fleksibilnu strukturu particionisanja blokova. Zbog tipova particionisanja koji su podržani u stablu više tipova, različiti obrasci particionisanja mogu potencijalno da dovedu do iste strukture kodirajućeg bloka u nekim slučajevima. U uređaju za kodiranje i uređaju za dekodiranje, ograničavanjem pojave takvih redundantnih obrazaca particionisanja može da se smanji količina podataka informacija o particionisanju.
[0158] Na primer, FIG.8 ilustruje redundantne obrasce deljenja koji mogu nastati pri binarnom deljenju i ternarnom deljenju. Kao što je prikazano na FIG.8, kontinuirano binarno deljenje 810 i 820 za jedan smer tokom dva nivoa rezultira istom strukturom kodirajućeg bloka kao binarno deljenje za centralnu particiju nakon ternarnog deljenja. U tom slučaju, binarno deljenje za centralne blokove 830 i 840 ternarnog deljenja može biti zabranjeno. Ova zabrana se primenjuje na CU svih slika. Kada je takvo specifično deljenje zabranjeno, signalizacija odgovarajućih sintaksnih elemenata može biti izmenjena uzimajući u obzir ovaj zabranjeni slučaj, čime se smanjuje broj bitova koji se signaliziraju za deljenje. Na primer, kao što je prikazano u primeru na FIG.9, kada je binarno deljenje centralnog bloka CU-a zabranjeno, sintaksni element mtt_split_cu_binary_flag, koji određuje da li je deljenje binarno ili ternarno, ne signalizira se, a njegova vrednost može da se izvede kao 0 od strane uređaja za dekodiranje.
[0160] Pregled intra predikcije
[0161] U nastavku će biti opisana intra predikcija prema ovom otkrivanju.
[0162] Intra predikcija može da označava predikciju koja generiše predikcione uzorke za trenutni blok na osnovu referentnih uzoraka u slici kojoj trenutni blok pripada (u nastavku označena kao „trenutna slika“). Kada se intra predikcija primeni na trenutni blok, susedni referentni uzorci koji će se koristiti za intra predikciju trenutnog bloka mogu da budu izvedeni. Susedni referentni uzorci trenutnog bloka mogu da obuhvate uzorak koji se nalazi uz levu granicu trenutnog bloka veličine nW×nH i ukupno 2×nH uzoraka koji se nalaze uz donju levu stranu; uzorak koji se nalazi uz gornju granicu trenutnog bloka i ukupno 2×nW uzoraka koji se nalaze uz gornju desnu stranu; kao i jedan uzorak uz gornju levu stranu trenutnog bloka. Alternativno, susedni referentni uzorci trenutnog bloka mogu da obuhvate više kolona gornjih susednih uzoraka i više redova levih susednih uzoraka. Pored toga, susedni referentni uzorci trenutnog bloka mogu da obuhvataju ukupno nH uzoraka koji se nalaze uz desnu granicu trenutnog bloka veličine nW×nH, ukupno nW uzoraka koji se nalaze uz donju granicu trenutnog bloka, kao i jedan uzorak uz donju desnu stranu trenutnog bloka.
[0163] Neki od susednih referentnih uzoraka trenutnog bloka još uvek nisu dekodirani ili možda nisu dostupni. U tom slučaju, dekoder može da konstruiše susedne referentne uzorke koji će se koristiti za predikciju zamenjivanjem nedostupnih uzoraka dostupnim uzorcima. Alternativno, susedni referentni uzorci koji će se koristiti za predikciju mogu da se konstruišu korišćenjem interpolacije dostupnih uzoraka.
[0164] Kada se izvedu susedni referentni uzorci, (i) predikcioni uzorak može da bude izveden na osnovu proseka ili interpolacije susednih referentnih uzoraka trenutnog bloka, i (ii) predikcioni uzorak može da bude izveden na osnovu referentnog uzorka koji je prisutan u specifičnom (predikcionom) smeru u odnosu na predikcioni uzorak, među susednim referentnim uzorcima trenutnog bloka. Slučaj iz tačke (i) može se nazvati ne-direkcioni režim ili ne-ugaoni režim, a slučaj iz tačke (ii) može se nazvati direkcioni režim ili ugaoni režim.
[0165] Pored toga, predikcioni uzorak može da se generiše interpolacijom korišćenjem prvog susednog uzorka koji se nalazi u smeru predikcije režima intra predikcije trenutnog bloka i drugog susednog uzorka koji se nalazi u suprotnom smeru, na osnovu ciljnog predikcionog uzorka trenutnog bloka među susednim referentnim uzorcima. Ovaj slučaj može se nazvati linearno-interpolaciona intra predikcija (LIP).
[0166] Pored toga, hroma predikcioni uzorci mogu da se generišu na osnovu luma uzoraka korišćenjem linearnog modela. Ovaj slučaj može se nazvati režim linearnog modela (LM).
[0167] Pored toga, privremeni predikcioni uzorak trenutnog bloka može da bude izveden na osnovu filtriranih susednih referentnih uzoraka, a predikcioni uzorak trenutnog bloka može da bude izveden ponderisanim sumiranjem tog privremenog predikcionog uzorka i najmanje jednog referentnog uzorka izvedenog u skladu sa režimom intra predikcije među postojećim (nefiltriranim) susednim referentnim uzorcima. Ovaj slučaj može se nazvati poziciono-zavisna intra predikcija (PDPC).
[0168] Pored toga, linija referentnih uzoraka sa najvećom tačnošću predikcije može biti izabrana iz više linija susednih referentnih uzoraka trenutnog bloka radi izvođenja predikcionog uzorka korišćenjem referentnog uzorka koji se nalazi u smeru predikcije u odgovarajućoj liniji, a tom prilikom informacija (npr. intra_luma_ref_idx) o korišćenoj liniji referentnih uzoraka može biti kodirana i signalizirana u protoku bitova. Ovaj slučaj može se nazvati MRL intra predikcija ili intra predikcija zasnovana na MRL.
[0169] [0111] Pored toga, trenutni blok može da bude podeljen na vertikalne ili horizontalne podparticije kako bi se izvršila intra predikcija za svaku pod-particiju na osnovu istog režima intra predikcije. U tom slučaju, susedni referentni uzorci za intra predikciju mogu da se izvedu u
jedinicama pod-particija. Drugim rečima, rekonstruisani uzorak prethodne pod-particije u redosledu kodiranja/dekodiranja može da se koristi kao susedni referentni uzorak trenutne podparticije. U tom slučaju, režim intra predikcije za trenutni blok podjednako se primenjuje na pod-particije, a susedni referentni uzorci se izvode i koriste u jedinicama pod-particija, čime se povećava performansa intra predikcije. Takav postupak predikcije može da se nazove intra podparticije (ISP) ili ISP zasnovana intra predikcija.
[0170] Tehnika intra predikcije može da se naziva različitim terminima, kao što su tip intra predikcije ili dodatni režim intra predikcije, da bi se razlikovala od direkcionog ili ne-direkcionog režima intra predikcije. Na primer, tehnika intra predikcije (tip intra predikcije ili dodatni režim intra predikcije) može da uključuje najmanje jedno od sledećeg: LIP, LM, PDPC, MRL, ISP ili MIP.
[0171] Postupak intra predikcije može da uključuje: fazu određivanja režima/tipa intra predikcije, fazu izvođenja susednih referentnih uzoraka, i fazu izvođenja predikcionog uzorka na osnovu režima/tipa intra predikcije. Pored toga, po potrebi može da se izvrši i post-filtriranje na izvedenom predikcionom uzorku.
[0172] FIG.9A predstavlja izgled koji ilustruje smer intra predikcije prema jednom načinu ostvarivanja ovog otkrivanja.
[0173] Jedan režim intra predikcije može da uključuje dva ne-direkciona režima intra predikcije i 33 direkciona režima intra predikcije. Ne-direkcioni režimi intra predikcije mogu da obuhvate planarni režim i DC režim, dok direkcioni režimi intra predikcije mogu da obuhvate režime intra predikcije #2 do #34. Planarni režim intra predikcije može se nazvati planarni režim, a DC režim intra predikcije može se nazvati DC režim.
[0174] Alternativno, da bi se obuhvatila bilo koja pravac ivice prisutna u prirodnom videu, kao što je prikazano na FIG.9A, režim intra predikcije može da uključuje dva ne-direkciona režima intra predikcije i 65 proširenih direkcionih režima intra predikcije. Ne-direkcioni režimi intra predikcije mogu da obuhvate planarni režim predikcije i DC režim predikcije, dok prošireni direkcioni režimi intra predikcije mogu da obuhvate režime intra predikcije #2 do #66. Režim intra predikcije se primenjuje na blokove svih veličina i na obe komponente: luma komponentu (luma blok) i hroma komponentu (hroma blok).
[0175] Alternativno, režim intra predikcije može da uključuje dva ne-direkciona režima intra predikcije i 129 direkcionih režima intra predikcije. Ne-direkcioni režimi intra predikcije mogu da obuhvate planar režim predikcije i DC režim predikcije, dok direkcioni režimi intra predikcije mogu da obuhvate režime intra predikcije #2 do #130.
[0176] [0118] U međuvremenu, režim intra predikcije može dodatno da uključuje linearni model
unakrsne komponente (CCLM) mode za hroma uzorke, pored prethodno opisanih režima intra predikcije. CCLM režim može biti podeljen na L_CCLM, T_CCLM, LT_CCLM u zavisnosti od toga da li se za izvođenje LM parametara koriste levi uzorci, gornji uzorci ili oba, i primenjuje se samo na hroma komponentu.
[0177] Režim intra predikcije može biti indeksiran, na primer kao što je prikazano u tabeli 2 u nastavku.
[0178] [Tabela 2]
[0181]
[0184] Pozivajući se na tabelu 2, kao ne-direkcioni režim intra predikcije, broj režima za planarni režim može biti 0, a broj režima za DC režim može biti 1. Pored toga, brojevi režima za više direkcionih režima intra predikcije mogu biti od 2 do 66. Pored toga, za dodatni režim intra predikcije, brojevi režima za LT_CCLM režim, L_CCLM režim i T_CCLM režim mogu biti od 81 do 83.
[0185] FIG.9B predstavlja izgled koji ilustruje smer intra predikcije prema drugom načinu ostvarivanja ovog otkrivanja. Na FIG.9B, pravac označen isprekidanom linijom pokazuje režim širokog ugla koji se primenjuje samo na nekvadratni blok.
[0186] Da bi se obuhvatila bilo koja pravac ivice prisutna u prirodnom videu, kao što je prikazano na FIG.9B, režim intra predikcije prema jednom načinu ostvarivanja može da uključuje dva nedirekciona režima intra predikcije i 93 direkciona režima intra predikcije.
[0187] Nedirekcioni režimi intra predikcije mogu da obuhvate planarni režim predikcije i DC režim predikcije, dok direkcioni režimi intra predikcije mogu da obuhvate režime intra predikcije #2 do #80 i #-1 do #-14, kako je naznačeno strelicama na FIG.9B. Planarni režim može biti označen kao INTRA_PLANAR, a DC režim kao INTRA_DC. Pored toga, direkcioni režimi intra predikcije mogu biti označeni kao INTRA_ANGULAR-14 do INTRA_ANGULAR-1 i INTRA_ANGULAR2 do INTRA_ANGULAR80.
[0188] [0123] Uređaj za kodiranje slike može da kodira informacije o režimu/tipu intra predikcije koje
specificiraju režim intra predikcije primenjen na trenutni blok i da ih signalizira putem protoka bitova. U jednom primeru, informacije o režimu/tipu intra predikcije mogu da uključuju informaciju o zastavici (npr. intra_luma_mpm_flag i/ili intra_hroma_mpm_flag) koja određuje da li je za trenutni blok primenjen najverovatniji režim (MPM) ili preostali režim.
[0189] Kada je MPM primenjen za trenutni blok, informacije o režimu/tipu intra predikcije mogu da uključuju indeks informacije (npr. intra_luma_mpm_idx i/ili intra_hroma_mpm_idx) koja određuje jedan od kandidata za režim intra predikcije (MPM kandidata). Suprotno tome, kada MPM nije primenjen za trenutni blok, informacije o režimu/tipu intra predikcije mogu dodatno da uključuju preostale informacije režimu (npr. intra_luma_mpm_remainder i/ili intra_hroma_mpm_remainder) koje određuju jedan od preostalih režima intra predikcije, isključujući MPM kandidate. Uređaj za dekodiranje slike može da odredi režim intra predikcije trenutnog bloka na osnovu informacija o režimu/tipu intra predikcije primljenih putem protoka bitova.
[0190] Informacije o režimu/tipu intra predikcije mogu da se kodiraju/dekodiraju korišćenjem različitih postupaka kodiranja opisanim u ovom otkrivanju. Na primer, informacije o režimu/tipu intra predikcije mogu da se kodiraju/dekodiraju korišćenjem entropijskog kodiranja (npr. CABAC, CAVLC) na osnovu okrnjenog (rajs) binarnog koda.
[0192] Pregled inter predikcije
[0193] U nastavku teksta će biti opisana inter predikcija prema ovom otkrivanju.
[0194] [0126] Predikciona jedinica uređaja za kodiranje slike / uređaj za dekodiranje slike može da izvršava inter predikciju u jedinicama blokova kako bi se dobio predikcioni uzorak. Inter predikcija predstavlja predikciju dobijenu na način koji zavisi od podataka (npr. vrednosti uzoraka, informacije o pokretu itd.) iz slika drugih od trenutne slike. Kada se inter predikcija primenjuje na trenutni blok, predikcioni blok (blok predikcije ili niz predikcionih uzoraka) za trenutni blok može da se izvede na osnovu referentnog bloka (niz referentnih uzoraka) koji je određen vektorom kretanja na referentnoj slici označenoj indeksom referentne slike. U ovom slučaju, kako bi se smanjila količina prenetih informacija o pokretu u režimu inter predikcije, informacije o pokretu trenutnog bloka mogu da se predvide u jedinicama blokova, pod-blokova ili uzoraka, na osnovu korelacije informacija o pokretu između susednog bloka i trenutnog bloka. Informacije o pokretu mogu da obuhvate vektor kretanja i indeks referentne slike. Informacije o pokretu mogu dodatno da uključuju podatke o tipu inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija itd.). Prilikom primene inter predikcije, susedni blok može da obuhvati: 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, kolocirani CU (ColCU) ili colBlock, a referentna slika koja uključuje vremenski susedni blok može biti nazvana kolocirana slika (colPic) ili colPicture. Na primer, lista kandidata za informacije o pokretu može biti konstruisana na osnovu susednih blokova trenutnog bloka, a informacije o zastavici ili indeksu koje određuju koji kandidat je izabran (korišćen) mogu biti signalizirane kako bi se dobio vektor kretanja trenutnog bloka i/ili indeks referentne slike.
[0195] Inter predikcija može se vršiti na osnovu različitih režima predikcije. Na primer: U slučaju režima preskakanja i režima spajanja, informacije o pokretu trenutnog bloka mogu biti jednake informacijama o pokretu izabranog susednog bloka. U režimu preskakanja, preostali signal se ne prenosi, za razliku od režima spajanja. U slučaju režima predikcije vektora pokreta (MVP), vektor kretanja izabranog susednog bloka može se koristiti kao prediktor vektora kretanja, a signalizira se razlika vektora kretanja. U tom slučaju, vektor kretanja trenutnog bloka se dobija kao zbir prediktora vektora kretanja i razlike vektora kretanja. U ovom otkrivanju, MVP režim ima isto značenje kao napredna predikcija vektora pokreta (AMVP).
[0196] Informacije o pokretu mogu da uključuju L0 informacije o pokretu i/ili L1 informacije o pokretu prema vrsti inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). Vektor pokreta u L0 smeru može biti označen kao L0 vektor pokreta ili MVL0, a vektor pokreta u L1 smeru može biti označen kao L1 vektor pokreta ili MVL1. Predikcija na osnovu L0 vektora pokreta može biti označena kao L0 predikcija, predikcija na osnovu L1 vektora pokreta može biti označen kao L1 predikcija, a predikcija na osnovu L0 vektora pokreta i L1 vektora pokreta može biti označena kao Bi predikcija. Ovde, L0 vektor pokreta može da označi vektor pokreta povezan sa listom referentnih slika L0 (L0), a L1 vektor pokreta može da označi vektor pokreta povezan sa listom referentnih slika L1 (L1). Lista referentnih slika L0 može da uključuje slike pre trenutne slike prema izlaznom redosledu kao referentne slike, a lista referentnih slika L1 može da uključuje slike nakon trenutne slike po izlaznom redosledu. Prethodne slike mogu biti označene kao prednje (referentne) slike, a naredne slike kao reverse (referentne) slike. Lista referentnih slika L0 može dodatno uključivati slike posle trenutne slike u redosledu izlaza kao referentne slike. U tom slučaju, unutar liste L0, prethodne slike se indeksiraju prve, a zatim naredne slike. Lista referentnih slika L1 može dodatno uključivati slike pre trenutne slike u redosledu izlaza kao referentne slike. U tom slučaju, unutar liste L1, naredne slike se indeksiraju prve, a zatim prethodne slike. Ovde, redosled izlaza može odgovarati brojaču redosleda slika (POC).
[0197] FIG.10 predstavlja dijagram toka postupka koji ilustruje postupak kodiranja video zapisa/slike na osnovu inter predikcije, a FIG.11 predstavlja izgled koji ilustruje konfiguraciju jedinice 180 za inter predikciju, koja se može koristiti u postupku kodiranja prema ovom otkrivanju.
[0198] Postupak kodiranja prikazan na FIG.10 može biti izveden od strane uređaja za kodiranje slike sa FIG.2. Konkretno, faza S1010 može biti izvedena od strane jedinice 180 za inter predikciju, a faza S1020 od strane preostalog procesora. Preciznije, faza S1020 može biti izveden od strane oduzimača 115. Faza S1030 može biti izveden od strane entropijskog kodera 190. Informacije o predikciji iz faza S1030 mogu biti izvedene od strane jedinice 180 za inter predikciju, a preostale informacije iz faza S1030 mogu biti izvedene od strane preostalog procesora. Preostale informacije predstavljaju informacije o preostalim uzorcima.
[0199] Ove informacije mogu da uključuju podatke o kvantizovanim transformacionim koeficijentima za preostale uzorke. Kao što je prethodno opisano, preostali uzorci mogu biti izvedeni kao transformacioni koeficijenti kroz transformator 120 uređaja za kodiranje slike, a transformacioni koeficijenti mogu biti dalje kvantizovani u kvantizovane transformacione koeficijente kroz kvantizator 130. Informacije o kvantizovanim transformacionim koeficijentima mogu biti kodirane od strane entropijskog kodera 190 korišćenjem postupka kodiranja preostalih uzoraka.
[0200] [0131] Pozivajući se na FIG.10 i FIG.11 zajedno, uređaj za kodiranje slike može da izvrši inter predikciju na trenutnom bloku (S1010). Uređaj za kodiranje slike može da izvede određivanje režima inter predikcije i izvođenje informacija o pokretu trenutnog bloka, i da generiše predikcione uzorke trenutnog bloka. Ovde, određivanje režima inter predikcije, izvođenje informacija o pokretu i generisanje predikcionih uzoraka mogu biti izvršeni istovremeno, ili se bilo koji od ovih postupaka može izvršiti pre drugih postupaka. Na primer, kao što je prikazano na FIG.11, jedinica 180 za inter predikciju uređaja za kodiranje slike može da obuhvati: jedinicu 181 za određivanje režima predikcije, jedinicu 182 za izvođenje informacija o pokretu, i jedinicu 183 za izvođenje predikcionih uzoraka. Jedinica 181 za određivanje režima predikcije može da odredi režim predikcije trenutnog bloka, jedinica 182 za izvođenje informacija o pokretu može da izvede informacije o pokretu trenutnog bloka, i jedinica 183 za izvođenje predikcionih uzoraka može da izvede predikcione uzorke trenutnog bloka. Na primer, jedinica 180 za inter predikciju uređaja za kodiranje slike može da pretražuje blok sličan trenutnom bloku unutar prethodno utvrđenog područja pretrage referentnih slika pomoću procene pokreta i da izvede referentni blok čija je razlika u odnosu na trenutni blok jednaka ili manja od prethodno utvrđenog kriterijuma, odnosno najmanja moguća. Na osnovu toga, može se izvesti indeks
referentne slike koji određuje referentnu sliku u kojoj se nalazi referentni blok, a vektor pokreta može biti izveden na osnovu razlike pozicije između referentnog bloka i trenutnog bloka. Uređaj za kodiranje slike može da odredi režim primenjiv na trenutni blok među različitim režimima predikcije. Uređaj može da uporedi rate-distortion (RD) troškove za različite režime predikcije i odredi optimalni režim predikcije trenutnog bloka. Međutim, postupak određivanja režima predikcije trenutnog bloka od strane uređaja za kodiranje slike nije ograničen na gore navedeni primer, i mogu se koristiti različiti postupci.
[0201] Na primer, kada se na trenutni blok primeni režim preskakanja ili režim spajanja, uređaj za kodiranje slike može da izvede kandidate za spajanje iz susednih blokova trenutnog bloka i da konstruiše listu kandidata za spajanje koristeći izvedene kandidate. Pored toga, uređaj za kodiranje slike može da izvede referentni blok čija je razlika u odnosu na trenutni blok jednaka ili manja od prethodno utvrđenog kriterijuma, odnosno najmanja moguća, među referentnim blokovima koji su određeni kandidatima za spajanje uključeni u listu kandidata za spajanje. U tom slučaju, kandidat za spajanje povezan sa izvedenim referentnim blokom može biti odabran, a informacije o indeksu spajanja koje određuju odabrani kandidat za spajanje mogu biti generisane i signalizirane uređaju za dekodiranje slike. Informacije o pokretu trenutnog bloka mogu biti izvedene korišćenjem informacija o pokretu odabranog kandidata za spajanje.
[0202] Kao još jedan primer, kada se na trenutni blok primeni MVP režim, uređaj za kodiranje slike može da izvede kandidate za prediktor vektora pokreta (mvp) iz susednih blokova trenutnog bloka i da konstruiše listu MVP kandidata koristeći izvedene MVP kandidate. Pored toga, uređaj za kodiranje slike može da koristi vektor pokreta odabranog MVP kandidata iz liste MVP kandidata kao MVP trenutnog bloka. U ovom slučaju, na primer, vektor pokreta koji označava referentni blok izveden prethodnom procenom pokreta može biti korišćen kao vektor pokreta trenutnog bloka, MVP kandidat čiji vektor pokreta ima najmanju razliku u odnosu na vektor pokreta trenutnog bloka među MVP kandidatima, može biti odabrani MVP kandidat. Može biti izvedena razlika vektora pokreta (MVD), koja predstavlja razliku dobijenu oduzimanjem MVP od vektora pokreta trenutnog bloka. U ovom slučaju, indeks informacije koje određuju odabrani MVP kandidat i informacije o MVD mogu biti signalizirane uređaju za dekodiranje slike. Pored toga, prilikom primene MVP režima, vrednost indeksa referentne slike može biti konstruisana kao informacija o indeksu referentne slike i posebno signalizirana uređaju za dekodiranje slike.
[0203] [0134] Uređaj za kodiranje slike može da izvede preostale uzorke na osnovu predikcionih uzoraka (S1020). Uređaj za kodiranje slike može da izvede preostale uzorke kroz upoređivanje
između originalnih uzoraka trenutnog bloka i predikcionih uzoraka. Na primer, preostali uzorak može biti izveden oduzimanjem odgovarajućeg predikcionog uzorka od originalnog uzorka.
[0204] Uređaj za kodiranje slike može da enkodira informacije o slici, uključujući predikcione informacije i informacije o preostalim uzorcima (S1030). Uređaj za kodiranje slike može da prenosi enkodirane informacije o slici u obliku protok bitova. Predikcione informacije mogu da uključuju informacije o režimu predikcije (npr. zastavica preskakanja, zastavica spajanja ili indeks režima), i informacije o pokretu, kao podatke povezane sa postupkom predikcije. Među informacijama o režimu predikcije, zastavica preskakanja označava da li se na trenutni blok primenjuje režim preskakanja, zastavica spajanja označava da li se primenjuje režim spajanja. Alternativno, informacije o režimu predikcije mogu da određuju jedan od više režima predikcije, kao što je indeks režima. Kada su zastavica preskakanje i zastavica spajanja jednake 0, može se odrediti da se na trenutni blok primenjuje MVP režim. Informacije o pokretu mogu da uključuju informacije o odabiru kandidata (npr. indeks spajanja, MVP zastavica ili MVP indeks), koje služe za izvođenje vektora pokreta. Među informacijama o odabiru kandidata, indeks spajanja se signalizira kada se primenjuje režim spajanja na trenutni blok i služi za izbor jednog od kandidata za spajanje u listi kandidata za spajanje, MVP zastavica ili MVP indeks se signaliziraju kada se primenjuje MVP režim na trenutni blok i služe za izbor jednog od MVP kandidata u listi MVP kandidata. Pored toga, informacije o pokretu mogu da uključuju informacije o MVD i/ili informacije o indeksu referentne slike, I informacije koje određuju da li se primenjuje L0 predikcija, L1 predikcija ili Bi predikcija. Informacije o preostalim uzorcima predstavljaju podatke o preostalim uzorcima. One mogu da uključuju i informacije o kvantizovanim transformacionim koeficijentima za preostale uzorke.
[0205] Izlazni protok bitova može da se čuva u (digitalnom) medijumu za čuvanje i da se prenosi do uređaja za dekodiranje slike ili može da se prenosi do uređaja za dekodiranje slike preko mreže.
[0206] Kao što je prethodno opisano, uređaj za kodiranje slike može da generiše rekonstruisanu sliku (sliku koja uključuje rekonstruisane uzorke i rekonstruisani blok) na osnovu referentnih uzoraka i preostalih uzoraka. Ovo je zato da uređaj za kodiranje slike može da izvede isti rezultat predikcije kao onaj koji izvodi uređaj za dekodiranje slike, čime se povećava efikasnost kodiranja. Shodno tome, uređaj za kodiranje slike može da čuva rekonstruisanu sliku (ili rekonstruisane uzorke i rekonstruisani blok) u memoriji i da je koristi kao referentnu sliku za inter predikciju. Kao što je prethodno opisano, postupak filtriranja u petlji je dodatno primenljiv na rekonstruisanu sliku.
[0207] FIG.12 predstavlja dijagram toka postupka koji ilustruje postupak dekodiranja video zapisa/slike zasnovan na inter predikciji, a FIG.13 predstavlja izgled koji ilustruje konfiguraciju jedinice 260 za inter predikciju.
[0208] Uređaj za dekodiranje slike može da izvodi operacije koje odgovaraju operacijama koje izvodi uređaj za kodiranje slike. Uređaj za dekodiranje slike može da izvodi predikciju trenutnog bloka na osnovu primljenih informacija o predikciji i da izvodi predikcione uzorke.
[0209] Postupak dekodiranja sa FIG.12 može da se izvodi pomoću uređaja za dekodiranje slike sa FIG.3. Konkretno, faze S1210 do S1230 može da izvodi jedinica 260 za inter predikciju, dok se informacije o predikciji iz koraka S1210 i preostale informacije iz koraka S1240 mogu dobiti iz protoka bitova entropijskim dekoderom 210. Preostali procesor uređaja za dekodiranje slike može da izvede preostale uzorke za trenutni blok na osnovu preostalih informacija. Na primer, dekvantizator 220 preostalog procesora može da izvodi dekvantizaciju na osnovu dekvantizovanih transformacionih koeficijenata izvedenih na osnovu preostalih informacija kako bi izveo transformacione koeficijente, a inverzni transformator 230 preostalog procesora može da izvodi inverznu transformaciju nad transformacionim koeficijentima kako bi izveo preostale uzorke trenutnog bloka. Korak S1350 može da izvodi sabirač 235 ili rekonstruktor.
[0210] Pozivajući se zajedno na FIG.12 i FIG.13, uređaj za dekodiranje slike može da odredi režim predikcije trenutnog bloka na osnovu primljenih informacija o predikciji (S1210). Uređaj za dekodiranje slike može da odredi koji režim inter predikcije se primenjuje na trenutni blok na osnovu informacija o režimu predikcije u informacijama o predikciji.
[0211] Na primer, može da se odredi da li se režim preskakanja primenjuje na trenutni blok na osnovu zastavice preskakanja. Pored toga, može da se odredi da li se režim spajanja ili MVP režim primenjuje na trenutni blok na osnovu zastavice spajanja. Alternativno, jedan od različitih kandidata režima inter predikcije može da se izabere na osnovu indeks moda. Kandidati režima inter predikcije mogu da uključuju režim preskakanja, režim spajanja i/ili MVP režim ili mogu da uključuju različite režime inter predikcije koji će biti opisani u nastavku.
[0212] [0143] Uređaj za dekodiranje slike može da izvede informacije o pokretu trenutnog bloka na osnovu utvrđenog režima inter predikcije (S1220). Na primer, kada se režim preskakanja ili režim spajanja primenjuje na trenutni blok, uređaj za dekodiranje slike može da konstruiše listu kandidata za spajanje, koja će biti opisana u nastavku, i da izabere jedan od kandidata za spajanje uključenih u listu kandidata za spajanje. Izbor može da se izvrši na osnovu prethodno opisanih informacija za izbor kandidata (indeksa spajanja). Informacije o pokretu trenutnog bloka mogu da se izvedu korišćenjem informacija o pokretu izabranog kandidata za spajanje. Na
primer, informacije o pokretu izabranog kandidata za spajanje mogu da se koriste kao informacije o pokretu trenutnog bloka.
[0213] Kao drugi primer, kada se MVP režim primenjuje na trenutni blok, uređaj za dekodiranje slike može da konstruiše listu MVP kandidata i da koristi vektor pokreta MVP kandidata izabranog među MVP kandidatima uključenim u listu MVP kandidata kao MVP trenutnog bloka. Izbor može da se izvrši na osnovu prethodno opisanih informacija za izbor kandidata (mvp zastavica ili mvp indeks). U tom slučaju, MVD trenutnog bloka može da se izvede na osnovu informacija o MVD, a vektor pokreta trenutnog bloka može da se izvede na osnovu MVP i MVD trenutnog bloka. Pored toga, indeks referentne slike trenutnog bloka može da se izvede na osnovu informacija o indeksu referentne slike. Slika označena indeksom referentne slike u listi referentnih slika trenutnog bloka može da se izvede kao referentna slika na koju se upućuje za inter predikciju trenutnog bloka.
[0214] Uređaj za dekodiranje slike može da generiše predikcione uzorke trenutnog bloka na osnovu informacija o pokretu trenutnog bloka (S1230). U tom slučaju, referentna slika može da se izvede na osnovu indeksa referentne slike trenutnog bloka, a predikcioni uzorci trenutnog bloka mogu da se izvedu korišćenjem uzoraka referentnog bloka označenog vektorom pokreta trenutnog bloka na referentnoj slici. U nekim slučajevima, postupak filtriranja predikcionih uzoraka može dodatno da se primeni na sve ili neke predikcione uzorke trenutnog bloka.
[0215] Na primer, kao što je prikazano na FIG.13, jedinica 260 za inter predikciju uređaja za dekodiranje slike može da uključuje jedinicu 261 za određivanje režima predikcije, jedinicu 262 za izvođenje informacija o pokretu i jedinicu 263 za izvođenje predikcionih uzoraka. U jedinici 260 za inter predikciju uređaja za dekodiranje slike, jedinica 261 za određivanje režima predikcije može da odredi režim predikcije trenutnog bloka na osnovu primljenih informacija o režimu predikcije, jedinica 262 za izvođenje informacija o pokretu može da izvede informacije o pokretu (vektor pokreta i/ili indeks referentne slike itd.) trenutnog bloka na osnovu primljenih informacija o pokretu, a jedinica 263 za izvođenje predikcionih uzoraka može da izvede predikcione uzorke trenutnog bloka.
[0216] Uređaj za dekodiranje slike može da generiše preostale uzorke trenutnog bloka na osnovu primljenih informacija o preostalim uzorcima (S1240). Uređaj za dekodiranje slike može da generiše rekonstruisane uzorke trenutnog bloka na osnovu predikcionih uzoraka i preostalih uzoraka i da generiše rekonstruisanu sliku na osnovu toga (S1250). Nakon toga, postupak filtriranja u petlji se primenjuje na rekonstruisanu sliku kao što je prethodno opisano.
[0217] Kao što je prethodno opisano, postupak inter predikcije može da uključuje fazu određivanja režima inter predikcije, fazu izvođenja informacija o pokretu u skladu sa utvrđenim režimom predikcije i fazu izvođenja predikcije (generisanje predikcionih uzoraka) na osnovu izvedenih informacija o pokretu. Postupak inter predikcije može da izvodi uređaj za kodiranje slike i uređaj za dekodiranje slike, kao što je prethodno opisano.
[0219] Pregled predikcije intrablokovske kopije (IBC)
[0220] U nastavku će biti opisana IBC predikcija prema ovom otkrivanju.
[0221] IBC predikcija može da se izvodi od strane predikcione jedinice uređaja za kodiranje/dekodiranje slike. IBC predikcija može da se jednostavno naziva IBC. IBC može da se koristi za kodiranje sadržaja slike/videa, kao što je kodiranje sadržaja ekrana (SCC). IBC predikcija se u osnovi može izvoditi u trenutnoj slici, ali može da se izvodi slično inter predikciji utoliko što se referentni blok izvodi unutar trenutne slike. Drugim rečima, IBC može da koristi najmanje jednu tehniku inter predikcije opisanu u ovom otkrivanju. Na primer, IBC može da koristi najmanje jedan od gore opisanih postupaka izvođenja informacija o pokretu (vektora pokreta). Najmanje jedna od tehnika inter predikcije može da bude delimično izmenjena i korišćena uzimajući u obzir IBC predikciju. IBC može da referencira trenutnu sliku i stoga može da bude označen kao referenciranje trenutne slike (CPR).
[0222] [0151] Za IBC, uređaj za kodiranje slike može da izvrši poklapanje blokova (BM) i izvede optimalni blok vektor (ili vektor pokreta) za trenutni blok (ili trenutnu CU). Izvedeni blok vektor može da se signalizira uređaju za dekodiranje slike putem protoka bitova koristeći postupak sličan signaliziranju informacija o pokretu (vektora pokreta) u gore opisanoj inter predikciji. Uređaj za dekodiranje slike može da izvede referentni blok za trenutni blok u trenutnoj slici putem signaliziranog blok vektora i da izvede predikcioni signal (predikcioni blok ili predikcione uzorke) za trenutni blok na osnovu toga. Ovde blok vektor može da označi pomeraj od trenutnog bloka ka referentnom bloku koji se nalazi u prethodno rekonstruisanom području u trenutnoj slici. Shodno tome, blok vektor (ili vektor pokreta) može da se naziva vektor pomeraja. U daljem tekstu, u IBC-u, vektor pokreta može da odgovara blok vektoru ili vektoru pomeraja. Vektor pokreta trenutnog bloka može da uključuje vektor pokreta (luma vektor pokreta) za luma komponentu ili vektor pokreta (hroma vektor pokreta) za hroma komponentu. Na primer, luma vektor pokreta za IBC-kodiranu CU može da bude u jedinicama celobrojnih uzoraka (to jest, celobrojna preciznost). Hroma vektor pokreta može da bude odrezanu jedinicama celobrojnih uzoraka. Kao što je prethodno opisano, IBC može da koristi najmanje jednu tehniku inter
predikcije, i, na primer, luma vektor pokreta može da se kodira/dekodira korišćenjem gore opisanog režima spajanja ili MVP režima.
[0223] Kada se režim spajanja primeni na luma IBC blok, lista kandidata za spajanje za luma IBC blok može da se konstruiše slično listi kandidata za spajanje u režimu inter predikcije. Međutim, lista kandidata za spajanje za luma IBC blok ne mora da uključuje vremenski kandidat blok, za razliku od liste kandidata za spajanje u režimu inter predikcije.
[0224] Kada se MVP režim primeni na luma IBC blok, mvp lista kandidata za luma IBC blok može da se konstruiše slično mvp listi kandidata u režimu inter predikcije. Međutim, mvp lista kandidata za luma IBC blok ne mora da uključuje vremenski kandidat blok, za razliku od mvp liste kandidata u režimu inter predikcije.
[0225] U IBC režimu, referentni blok se izvodi iz prethodno rekonstruisane oblasti u trenutnoj slici. U tom slučaju, da bi se smanjilo čuvanje memorije i složenost uređaja za dekodiranje slike, samo unapred definisana oblast među prethodno rekonstruisanim oblastima u trenutnoj slici može da se koristi kao referenca. Unapred definisana oblast može da obuhvati trenutni CTU u kome se nalazi trenutni blok. Ograničavanjem rekonstruisane oblasti na koju se može pozivati na unapred definisanu oblast, IBC režim može da se implementira u hardveru koristeći lokalnu „onchip” memoriju.
[0226] Uređaj za kodiranje slike koji izvodi IBC može da pretraži unapred definisanu oblast kako bi utvrdio referentni blok sa najmanjim RD troškom i da izvede vektor pokreta (vektor bloka) na osnovu položaja utvrđenog referentnog bloka i trenutnog bloka.
[0227] Informacije o režimu predikcije za IBC mogu biti signalizirane na nivou CU. Na primer, informacija o zastavici koja određuje da li se primenjuje IBC režim preskakanja/spajanja za trenutni blok i/ili informacije o zastavici koja određuje da li se primenjuje IBC AMVP režim za trenutni blok može biti signalizirana kroz sintaksu coding_unit.
[0228] U slučaju IBC režima preskakanja/spajanja, indeks kandidata za spajanje može biti signaliziran kako bi se odredio blok vektor koji će se koristiti za predikciju trenutnog luma bloka iz među blok vektora uključenih u listu kandidata za spajanje. U tom slučaju, lista kandidata za spajanje može da obuhvati IBC-kodirane susedne blokove. Kao što je prethodno opisano, lista kandidata za spajanje može da uključi prostorni kandidat za spajanje, ali ne može da uključi vremenski kandidata za spajanje. Pored toga, lista kandidata za spajanje može dodatno da uključi istorijski zasnovane prediktore vektora pokreta (HMVP) i/ili kandidate u paru.
[0229] [0158] U slučaju režima IBC MVP, razlika blok vektora može da se kodira koristeći isti postupak kao razlika vektora pokreta kod gore opisanog režima inter predikcije. U režimu IBC MVP,
postupak predikcije blok vektora može da se izvodi na osnovu liste MVP kandidata koja uključuje dva kandidata kao prediktore, slično MVP režimu. Jedan od ta dva kandidata može da se izvede iz levog susednog bloka trenutnog bloka, a drugi kandidat može da se izvede iz gornjeg susednog bloka trenutnog bloka. U tom slučaju, samo kada je levi susedni blok ili gornji susedni blok kodiran IBC-om, kandidati mogu da se izvedu iz odgovarajućeg susednog bloka. Ako levi susedni blok ili gornji susedni blok nisu dostupni (na primer, nisu kodirani IBC-om), prethodno utvrđeni podrazumevani blok vektor može da se uključi u listu MVP kandidata kao prediktor. Pored toga, u slučaju IBC MVP režima, predikcija blok vektora slična MVP režimu može da se izvodi tako što se informacija (npr. zastavica) koja označava jednog od dva prediktora blok vektora signalizira kao informacija o izboru kandidata i koristi za dekodiranje slike. Lista MVP kandidata može da uključuje HMVP kandidata i/ili nulti vektor pokreta kao podrazumevani blok vektor.
[0230] HMVP kandidat može biti označen kao kandidat za MVP zasnovan na istoriji, i MVP kandidat korišćen pre kodiranja/dekodiranja trenutnog bloka, kandidat za spajanje ili kandidat blok vektora može se čuvati u HMVP listi kao HMVP kandidati. Nakon toga, kada lista kandidata za spajanje trenutnog bloka ili lista MVP kandidata ne uključuje maksimalni broj kandidata, kandidati sačuvani u HMVP listi mogu da se dodaju u listu kandidata za spajanje ili listu MVP kandidata trenutnog bloka kao HMVP kandidati.
[0231] Kandidat formiran u paru može da označava kandidata izvedenog uprosečavanjem dva kandidata odabranih prema prethodno utvrđenom redosledu iz kandidata uključenih u listu kandidata za spajanje trenutnog bloka.
[0232] Informacije režima predikcije (npr. pred_mode_ibc_flag) koje određuju da li se IBC primenjuje za trenutni blok mogu biti signalizirane na nivou CU. Na primer, pred_mode_ibc_flag može biti signaliziran putem sintakse coding_unit. U tom slučaju, pred_mode_ibc_flag koji ima prvu vrednost (npr.0) može da označi da se IBC ne primenjuje za trenutni blok. Nasuprot tome, pred_mode_ibc_flag koji ima drugu vrednost (npr.1) može da znači da je IBC primenjen za trenutni blok.
[0233] U međuvremenu, IBC možda ne podržava režim spajanja i režim preskakanja. Pored toga, IBC nema ograničenje na maksimalnu veličinu bloka i ne može da se primenjuje na hroma blok koji ima manje od 16 uzoraka.
[0234] [0163] Kao što je prethodno opisano, radi generisanja blok predikcije trenutnog bloka mogu da se koriste različiti režimi predikcije, kao što su režim intra predikcije, režim inter predikcije ili IBC. Uređaj za kodiranje slike može da kodira i signalizira prethodno utvrđene informacije režima
predikcije kroz protok bitova kako bi se odredio režim predikcije za trenutni blok. Pored toga, uređaj za dekodiranje slike može da odredi režim predikcije za trenutni blok na osnovu prethodno utvrđenih informacija o režimu predikcije dobijenih iz protoka bitova. U nastavku će detaljno biti opisan postupak kodiranja/dekodiranja informacija o režimu predikcije.
[0235] FIG.14 predstavlja izgled koji ilustruje primer sintakse coding_unit koja uključuje informacije režima predikcije, a FIG.15 predstavlja izgled koji ilustruje režime predikcije koji se primenjuju na trenutni blok u zavisnosti od tipa isečka i veličine trenutnog bloka.
[0236] Prvo, pozivajući se na FIG.14, sintaksa coding_unit može da uključuje cu_skip_flag, pred_mode_flag, pred_mode_ibc_flag i pred_mode_plt_flag kao informacije režima predikcije.
[0237] Konkretno, cu_skip_flag može da označi da li se režim preskakanja primenjuje za trenutni blok. Na primer, cu_skip_flag koji ima prvu vrednost (npr.0) može da označi da se režim preskakanja ne primenjuje za trenutni blok. Nasuprot tome, cu_skip_flag koji ima drugu vrednost (npr. 1) može da označi da se režim preskakanja primenjuje za trenutni blok. U slučaju kada cu_skip_flag ima drugu vrednost (npr.1), kada je trenutni isečak P ili B isečak, nakon parsiranja cu_skip_flag ne parsira se nijedan sintaksni element osim pred_mode_ibc_flag i sintaksne strukture merge_data. Nasuprot tome, u slučaju kada cu_skip_flag ima drugu vrednost (npr. 1), kada je trenutni isečak I isečak, nakon parsiranja cu_skip_flag ne parsira se nijedan sintaksni element osim merge_idx. U slučaju kada cu_skip_flag nije prisutan, cu_skip_flag može da se izvede kao prva vrednost (npr.0).
[0238] pred_mode_flag može da označi koji od režima predikcije — režim inter predikcije ili režim intra predikcije — se primenjuje za trenutni blok. Na primer, pred_mode_flag koji ima prvu vrednost (npr.0) može da označi da se za trenutni blok primenjuje režim inter predikcije. Nasuprot tome, pred_mode_flag koji ima drugu vrednost (npr.1) može da označi da se za trenutni blok primenjuje režim intra predikcije. U slučaju kada pred_mode_flag nije prisutan, pred_mode_flag može da se izvede na sledeći način.
[0239] - Prvi uslov izvođenja: Kada su i širina cbWidth i visina cbHeight trenutnog bloka jednake 4, pred_mode_flag se izvodi kao druga vrednost (npr.1).
[0240] - Drugi uslov izvođenja: Ako prvi uslov nije ispunjen, kada tip režima predikcije modeType trenutnog bloka iznosi MODE_TYPE_INTRA, što označava da su dostupni samo režim intra predikcije, IBC i paletni režim, pred_mode_flag se izvodi kao druga vrednost (npr.
[0241] 1).
[0242] - Treći uslov izvođenja: Ako prvi i drugi uslov nisu ispunjeni, kada tip režima predikcije modeType trenutnog bloka iznosi MODE_TYPE_INTER, što označava da je dostupan samo režim inter predikcije, pred_mode_flag se izvodi kao prva vrednost (npr.0).
[0243] - Četvrti uslov izvođenja: Ako nijedan od prvog do trećeg uslova nije ispunjen, pred_mode_flag se izvodi kao druga vrednost (npr.1) kada je vrsta isečka slice_type trenutnog bloka I isečak, i pred_mode_flag se izvodi kao prva vrednost (npr.0) kada je vrsta isečka slice_type trenutnog bloka P ili B isečak.
[0244] pred_mode_ibc_flag može da označi da li se IBC primenjuje za trenutni blok. Na primer, pred_mode_ibc_flag koji ima prvu vrednost (npr.0) može da označi da se IBC ne primenjuje za trenutni blok. Nasuprot tome, pred_mode_ibc_flag koji ima drugu vrednost (npr.1) može da znači da je IBC primenjen za trenutni blok. Kada pred_mode_ibc_flag nije prisutan, pred_mode_ibc_flag može da se izvede na sledeći način.
[0245] - Peti uslov izvođenja: Kada cu_skip_flag ima drugu vrednost (npr.1) i kada su i širina cbWidth i visina cbHeight trenutnog bloka jednake 4, pred_mode_ibc_flag se izvodi kao druga vrednost (npr.1).
[0246] - Šesti uslov izvođenja: Ako peti uslov nije ispunjen, kada cu_skip_flag ima drugu vrednost (npr. 1) i tip režima predikcije modeType trenutnog bloka iznosi MODE_TYPE_INTRA, pred_mode_ibc_flag može da se izvede kao druga vrednost (npr.1).
[0247] - Osmi uslov izvođenja: Ako nijedan od petog do sedmog uslova nije ispunjen, kada tip režima predikcije modeType trenutnog bloka iznosi MODE_TYPE_INTER, pred_mode_ibc_flag se izvodi kao prva vrednost (npr.0).
[0248] - Deveti uslov izvođenja: Ako nijedan od petog do osmog uslova nije ispunjen, kada podeljena struktura treeType trenutnog bloka iznosi DUAL_TREE_HROMA, pred_mode_ibc_flag se izvodi kao prva vrednost (npr.0).
[0249] - Deseti uslov izvođenja: Ako nijedan od petog do devetog uslova nije ispunjen, pred_mode_ibc_flag se izvodi kao ista vrednost kao sps_ibc_enabled_flag dobijen kroz skup parametara sekvence (SPS) kada je vrsta isečka slice_type trenutnog bloka I isečak, a pred_mode_ibc_flag se izvodi kao prva vrednost (npr.0) kada je vrsta isečka slice_type trenutnog bloka P ili B isečak. Ovde, sps_ibc_enabled_flag označava da li je IBC dostupan na nivou sekvence. Na primer, sps_ibc_enabled_flag koji ima prvu vrednost (npr.0) označava da IBC nije dostupan, dok sps_ibc_enabled_flag koji ima drugu vrednost (npr.
[0250] 1) označava da je IBC dostupan.
[0251] pred_mode_plt_flag može da označi da li se paletni režim primenjuje za trenutni blok. Na primer, pred_mode_plt_flag koji ima prvu vrednost (npr.0) može da označi da se paletni režim ne primenjuje za trenutni blok. Nasuprot tome, pred_mode_plt_flag koji ima drugu vrednost (npr. 1) može da označi da se paletni režim primenjuje za trenutni blok. U slučaju kada pred_mode_plt_flag nije prisutan, pred_mode_plt_flag može da se izvede kao prva vrednost (npr. 0).
[0252] U međuvremenu, prethodno opisane informacije režima predikcije mogu da se signaliziraju na osnovu veličine cbWidth x cbHeight trenutnog bloka. Na primer, uslovi signalizacije 1420, 1430 i 1440 za cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag mogu da uključe detaljan uslov koji određuje da li je veličina trenutnog bloka cbWidth x cbHeight jednaka 4x4. Pored toga, uslovi signalizacije 1420, 1440 i 1450 za cu_skip_flag, pred_mode_ibc_flag i pred_mode_plt_flag mogu da uključe detaljan uslov koji određuje da li je veličina trenutnog bloka cbWidth x cbHeight manja ili jednaka 64x64.
[0253] Pored toga, prethodno opisane informacije režima predikcije mogu da se signaliziraju na osnovu tipa režima predikcije modeType trenutnog bloka. Na primer, uslovi signalizacije 1420 i 1440 za cu_skip_flag i pred_mode_ibc_flag mogu da uključe detaljan uslov koji određuje da li je tip režima predikcije modeType trenutnog bloka jednaka MODE_TYPE_INTRA. Pored toga, stanje signalizacije 1450 za pred_mode_flag može da uključi detaljan uslov koji određuje da li je tip režima predikcije modeType trenutnog bloka MODE_TYPE_ALL, što označava da su svi režimi predikcije dostupni. Pored toga, stanje signalizacije 1450 za pred_mode_plt_flag može da uključi detaljan uslov koji određuje da li je tip režima predikcije modeType trenutnog bloka MODE_TYPE_INTER, što označava da je dostupna samo inter predikcija.
[0254] Međutim, za trenutni blok veličine 4x4 režim inter predikcije ne može da se primenjuje i samo režim intra predikcije i paletni režim mogu da se primenjuju. Ovo znači da je tip režima predikcije modeType trenutnog bloka veličine 4x4 definisan isključivo kao MODE_TYPE_INTRA. Shodno tome, kada se informacije o režimu predikcije signaliziraju tako što se posebno određuje da li je veličina trenutnog bloka cbWidth x cbHeight 4x4 i da li je tip režima predikcije modeType trenutnog bloka MODE_TYPE_INTRA, uslov signalizacije postaje složen, a može da se pojavi problem da se suštinski isti uslov ponovo određuje.
[0255] [0173] U međuvremenu, režim inter predikcije i IBC mogu da se primenjuju za trenutni blok samo uz ograničenja. Na primer, pozivajući se na FIG.15, u slučaju kada je IBC dostupan na nivou sekvence („da“ na 1510) i kada vrsta isečka slice_type trenutnog bloka nije I isečak („da“ na 1520), ako je veličina trenutnog bloka CU veća od 64x64 („ne“ na 1540), IBC ne može da se
primeni za trenutni blok (1561). Pored toga, u slučaju kada je IBC dostupan na nivou sekvence („da“ na 1510) i kada je vrsta isečka trenutnog bloka I isečak („ne“ na 1520), ako je veličina trenutnog bloka CU manja ili jednaka 64x64 („da“ na 1550), režim inter predikcije ne može da se primeni za trenutni blok (1571).
[0256] Nasuprot tome, kada je veličina trenutnog bloka CU veća od 64x64 („ne“ na 1550), ni režim inter predikcije ni IBC ne mogu da se primene za trenutni blok (1572). U međuvremenu, kada IBC nije dostupan na nivou sekvence („ne“ na 1510), IBC ne može da se primeni za trenutni blok (1581, 1582). Pored toga, u slučaju kada IBC nije dostupan na nivou sekvence („ne“ na 1510), kada je vrsta isečka trenutnog bloka I isečak („ne“ na 1530), režim inter predikcije ne može da se primeni za trenutni blok (1582). Na ovaj način, samo u slučaju kada vrsta isečka slice_type trenutnog bloka nije I isečak („ne“ na 1520) i kada je veličina trenutnog bloka CU manja ili jednaka 64x64 („da“ na 1540), oba — i režim inter predikcije i IBC — mogu da se primene za trenutni blok.
[0257] Međutim, kao zajedničko stanje signalizacije 1410 za cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag, u slučaju kada je IBC dostupan na nivou sekvence (sps_ibc_enabled_flag == 1), čak i kada je vrsta isečka trenutnog bloka I isečak ili kada je veličina trenutnog bloka cbWidth x cbHeight veća od 64x64, cu_skip_flag može da se signalizira u skladu sa posebnim stanjem signalizacije 1420. Na primer, kada veličina cbWidth x cbHeight trenutnog bloka nije 4x4 i kada tip režima predikcije modeType trenutnog bloka nije MODE_TYPE_INTRA, cu_skip_flag može da se signalizira. Prema stanju signalizacije 1420 za cu_skip_flag, pošto cu_skip_flag može da se signalizira čak i za trenutni blok za koji se režim inter predikcije i/ili IBC ne može primeniti, prenos bitova može nepotrebno da se troši. Pored toga, kada je cu_skip_flag koji ima drugu vrednost (npr.1), i koji označava da se primenjuje režim preskakanja, signaliziran za trenutni blok za koji se režim inter predikcije i/ili IBC ne može primeniti, može da se javi problem da dekodiranje trenutnog bloka postane nemoguće.
[0258] Da bi se rešili prethodno opisani problemi, tip režima predikcije modeType trenutnog bloka može da bude resetovan na MODE_TYPE_INTRA na osnovu tipa isečka trenutnog bloka i veličine trenutnog bloka. Pored toga, na osnovu resetovanog tipa režima predikcije modeType, informacije o režimu predikcije trenutnog bloka mogu da se signaliziraju.
[0259] U nastavku, način ostvarivanja ovog otkrivanja biće detaljno opisan uz pozivanje na prateće crteže.
[0260] Način ostvarivanja 1
[0261] FIG.16 predstavlja izgled koji ilustruje sintaksu coding_unit prema primeru koji ne pripada ovom pronalasku. Informacije o režimu predikcije (cu_skip_flag, pred_mode_flag, pred_mode_ibc_flag i pred_mode_plt_flag) uključene u sintaksu coding_unit, kao što je prethodno opisano uz pozivanje na FIG.14, i njihovo ponavljanje biće izostavljeno.
[0262] Pozivajući se na FIG.16, tip režima predikcije modeType trenutnog bloka može biti postavljen na ulaznu vrednost poziva sintaksu coding_unit. Ovde je trenutni blok cilj primene rekurzivno označene sintakse coding_unit i može da odgovara čvoru liste strukture podeljenog stabla. Pored toga, tip režima predikcije modeType trenutnog bloka može biti resetovan na osnovu veličine cbWidth x cbHeight trenutnog bloka (1610). Na primer, tip režima predikcije modeType trenutnog bloka može biti resetovan na osnovu rezultata upoređivanja veličine cbWidth x cbHeight trenutnog bloka sa prethodno utvrđenom referentnom vrednošću.
[0263] Referentna vrednost može biti određena kao 4x4, što je veličina bloka u kojoj su dostupni samo režim intra predikcije i paletni režim, kao što je prikazano na FIG.16. U ovom slučaju, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA na osnovu toga da li je veličina cbWidth x cbHeight trenutnog bloka 4x4. Na primer, kada su i širina cbWidth i visina cbHeight trenutnog bloka 4, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, kada je barem jedna od vrednosti širine cbWidth ili visine cbHeight trenutnog bloka različita od 4, tip režima predikcije modeType trenutnog bloka može biti resetovan na ulaznu vrednost poziva sintakse coding_unit (tj. originalna vrednost se održava).
[0264] Pošto je informacija o tome da li je veličina cbWidth x cbHeight trenutnog bloka 4x4 reflektovana u vrsti režima predikcije modeType, iz uslova signalizacije 1620, 1630 i 1640 za svaki od cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag mogu biti uklonjeni detaljni uslovi koji određuju da li je veličina cbWidth x cbHeight trenutnog bloka 4x4. To jest, u slučaju cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag, bez posebnog određivanja da li je veličina cbWidth x cbHeight trenutnog bloka 4x4, signalizacija može da se izvrši na osnovu tipa režima predikcije modeType. Na primer, kada je tip režima predikcije modeType trenutnog bloka MODE_TYPE_INTRA, cu_skip_flag i pred_mode_flag se ne signaliziraju, a pred_mode_ibc_flag može da se signalizira prema drugim detaljnim uslovima.
[0265] [0182] U drugom primeru, referentna vrednost može biti određena kao 64x64, što je maksimalna veličina bloka u kojoj je IBC dostupan. Pored toga, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA na osnovu toga da li je veličina
cbWidth x cbHeight trenutnog bloka veća od 64x64. Na primer, u slučaju kada je barem jedna od vrednosti širine cbWidth ili visine cbHeight trenutnog bloka veća od 64, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, u slučaju kada su i širina cbWidth i visina cbHeight trenutnog bloka manje ili jednake 64, tip režima predikcije modeType trenutnog bloka može biti resetovan na ulaznu vrednost poziva sintakse coding_unit (tj. originalna vrednost se održava).
[0266] Pošto je informacija o tome da li je veličina cbWidth x cbHeight trenutnog bloka veća od 64x64 reflektovana u vrsti režima predikcije modeType, signalizacija cu_skip_flag za trenutni blok veći od 64x64 može biti ograničena na osnovu tipa režima predikcije modeType (1620). U ovom slučaju, cu_skip_flag može da se izvede kao prva vrednost (npr.0).
[0267] Kao što je prethodno opisano, prema načinu ostvarivanja 1 ovog otkrivanja, pošto nije neophodno posebno određivati da li je veličina cbWidth x cbHeight trenutnog bloka 4x4 da bi se signalizirale informacije o režimu predikcije trenutnog bloka, uslov signalizacije informacija o režimu predikcije može biti pojednostavljen (tj. čišćenje sintakse coding_unit). Pored toga, resetovanjem tipa režima predikcije modeType za blokove veličine 4x4 ili veće od 64x64 na MODE_TYPE_INTRA, signalizacija cu_skip_flag može biti ograničena za trenutni blok za koji se režim inter predikcije i/ili IBC ne može primeniti.
[0269] Način ostvarivanja 2
[0270] FIG.17 predstavlja izgled koji ilustruje sintaksu coding_unit prema jednom načinu ostvarivanja ovog otkrivanja. Informacije o režimu predikcije (cu_skip_flag, pred_mode_flag, pred_mode_ibc_flag i pred_mode_plt_flag) uključene u sintaksu coding_unit, kao što je prethodno opisano uz pozivanje na FIG.14, i njihovo ponavljanje biće izostavljeno.
[0271] Pozivajući se na FIG.17, tip režima predikcije modeType trenutnog bloka može biti postavljen na ulaznu vrednost poziva sintakse coding_unit. Ovde je trenutni blok cilj primene rekurzivno pozvane sintakse coding_unit i može da odgovara čvoru liste strukture podeljenog stabla. Pored toga, tip režima predikcije modeType trenutnog bloka se resetuje na osnovu tipa isečka slice_type trenutnog bloka i veličine cbWidth x cbHeight trenutnog bloka (1710).
[0272] Konkretno, tip režima predikcije modeType trenutnog bloka se resetuje na osnovu toga da li je vrsta isečka slice_type I isečak (prvi uslov resetovanja) i na osnovu rezultata poređenja veličine cbWidth x cbHeight trenutnog bloka sa prethodno utvrđenom referentnom vrednošću (drugi uslov resetovanja).
[0273] U jednom primeru koji ne pripada ovom pronalasku, referentna vrednost može biti određena kao 4x4, što je veličina bloka u kojoj su dostupni samo režim intra predikcije i paletni režim, kao što je prikazano na FIG.17. U ovom slučaju, kada su i širina cbWidth i visina cbHeight trenutnog bloka 4, drugi uslov resetovanja može biti ispunjen. Nasuprot tome, kada je barem jedna od vrednosti širine cbWidth ili visine cbHeight trenutnog bloka različita od 4, drugi uslov resetovanja može biti neispunjen.
[0274] U jednom primeru ovog pronalaska, prethodno utvrđena referentna vrednost određena je kao 64x64, što je maksimalna veličina bloka u kojoj je IBC dostupan. U ovom slučaju, kada su i širina cbWidth i visina cbHeight trenutnog bloka manje ili jednake 64, drugi uslov resetovanja može biti ispunjen. Nasuprot tome, kada je barem jedna od vrednosti širine cbWidth ili visine cbHeight trenutnog bloka veća od 64, drugi uslov resetovanja može biti neispunjen.
[0275] U jednom primeru koji ne pripada ovom pronalasku, prvi uslov resetovanja i drugi uslov resetovanja mogu da formiraju OR uslov, kao što je prikazano na FIG.16. Na primer, kada je barem jedan od prvog ili drugog uslova resetovanja ispunjen, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, kada su i prvi i drugi uslov resetovanja neispunjeni, tip režima predikcije modeType trenutnog bloka može biti resetovan na ulaznu vrednost poziva sintakse coding_unit. To jest, u ovom slučaju, tip režima predikcije modeType trenutnog bloka može biti održana kao originalna vrednost.
[0276] Prema ovom pronalasku, prvi i drugi uslov resetovanja formiraju AND uslov. Konkretno, kada su i prvi i drugi uslov resetovanja ispunjeni, tip režima predikcije modeType trenutnog bloka se resetuje na MODE_TYPE_INTRA. Nasuprot tome, kada je barem jedan od prvog ili drugog uslova resetovanja neispunjen, tip režima predikcije modeType trenutnog bloka se resetuje na ulaznu vrednost poziva sintakse coding_unit. To jest, u ovom slučaju, tip režima predikcije modeType trenutnog bloka može biti održan kao originalna vrednost.
[0277] [0191] Pošto su vrsta isečka slice_type trenutnog bloka i veličina cbWidth x cbHeight trenutnog bloka reflektovani u vrsti režima predikcije modeType, iz uslova signalizacije 1720, 1730 i 1740 za svaki od cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag, mogu biti uklonjeni: prvi detaljni uslov koji određuje da li je vrsta isečka slice_type I isečak i drugi detaljni uslov koji određuje da li je veličina cbWidth x cbHeight 4x4. To jest, u slučaju cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag, bez posebnog određivanja prvog i drugog detaljnog uslova, signalizacija može da se izvrši na osnovu tipa režima predikcije modeType trenutnog bloka. Na primer, kada je tip režima predikcije modeType trenutnog bloka MODE_TYPE_INTRA, cu_skip_flag i pred_mode_flag se ne signaliziraju, dok pred_mode_ibc_flag može biti
signaliziran prema drugim detaljnim uslovima. Pored toga, za trenutni blok za koji se režim inter predikcije i/ili IBC ne može primeniti, signalizacija cu_skip_flag i pred_mode_ibc_flag može biti ograničena (1720, 1740). U ovom slučaju, svaki od cu_skip_flag i pred_mode_ibc_flag može biti izveden kao prva vrednost (npr., 0).
[0278] U međuvremenu, pošto su uslovi signalizacije 1720, 1730 i 1740 za svaki od cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag pojednostavljeni, semantika svakog od pred_mode_flag i pred_mode_ibc_flag, prethodno opisanih uz pozivanje na FIG.14, može biti delimično promenjena.
[0279] U jednom primeru, među prvim do četvrtim uslovima zaključivanja za pred_mode_flag, prethodno opisanim uz pozivanje na FIG.14, prvi uslov zaključivanja koji se odnosi na to da li je veličina cbWidth x cbHeight trenutnog bloka 4x4 može biti uklonjen. Pored toga, peti do deseti uslovi zaključivanja za pred_mode_ibc_flag, prethodno opisani uz pozivanje na FIG.14, mogu biti zamenjeni sledećim uslovima.
[0280] - Jedanaesti uslov zaključivanja: U slučaju kada su ispunjeni sledeći uslovi: i) IBC je dostupan na nivou sekvence (sps_ibc_enabled_flag == 1), ii) veličina cbWidth x cbHeight trenutnog bloka je manja od 128x128, iii) cu_skip_flag je prva vrednost (npr.0), iv) tip režima predikcije modeType trenutnog bloka je MODE_TYPE_INTRA, i v) podeljena struktura treeType trenutnog bloka nije DUAL_TREE_HROMA, pred_mode_ibc_flag se izvodi kao druga vrednost (npr.1).
[0281] - Dvanaesti uslov zaključivanja: U slučaju kada jedanaesti uslov zaključivanja nije ispunjen, pred_mode_ibc_flag se izvodi kao prva vrednost (npr.0).
[0282] U drugom primeru, od prvog do četvrtog uslova zaključivanja za pred_mode_flag, prethodno opisanih uz pozivanje na FIG.14, prvi uslov zaključivanja koji se odnosi na to da li je veličina cbWidth x cbHeight trenutnog bloka 4x4 može biti uklonjen, a četvrti uslov zaključivanja može biti promenjen tako da se pred_mode_flag izvodi kao prva vrednost (npr., 0) bez obzira na vrstu isečka slice_type trenutnog bloka.
[0283] U drugom primeru, od petog do desetog uslova zaključivanja za pred_mode_flag, prethodno opisanih uz pozivanje na FIG.14, peti uslov zaključivanja koji se odnosi na to da li je veličina cbWidth x cbHeight trenutnog bloka 4x4 može biti uklonjen, a deseti uslov zaključivanja može biti promenjen tako da se pred_mode_flag izvodi kao prva vrednost (npr., 0) bez obzira na vrstu isečka slice_type trenutnog bloka.
[0284] [0196] U međuvremenu, pošto su uslovi signalizacije 1720, 1730 i 1740 za svaki od cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag pojednostavljeni, iz uslova signalizacije 1750 za
pred_mode_plt_flag mogu biti uklonjeni: treći detaljni uslov koji se odnosi na to da li je cu_skip_flag prva vrednost (npr., 0) i četvrti detaljni uslov koji se odnosi na to da li je tip režima predikcije modeType trenutnog bloka MODE_TYPE_INTER. To jest, u slučaju pred_mode_plt_flag, bez posebnog određivanja trećeg i četvrtog detaljnog uslova, signalizacija može biti izvršena na osnovu vrednosti promenljive CuPredMode, koja se određuje na osnovu pred_mode_flag. Ovde, CuPredMode određuje režim predikcije trenutnog bloka, i može biti određen kao MODE_INTER ili MODE_INTRA na osnovu pred_mode_flag. Na primer, kada pred_mode_flag ima prvu vrednost (npr., 0), CuPredMode može biti određen kao MODE_INTER, što označava da je režim predikcije trenutnog bloka režim inter predikcije. Nasuprot tome, kada pred_mode_flag ima drugu vrednost (npr., 1), CuPredMode može biti određen kao MODE_INTRA, što označava da je režim predikcije trenutnog bloka režim intra predikcije.
[0285] Kao što je prethodno opisano, prema načinu ostvarivanja 2 ovog otkrivanja, pošto nije potrebno posebno određivati da li je vrsta isečka slice_type trenutnog bloka I isečak i da li je veličina cbWidth x cbHeight trenutnog bloka 4x4 da bi se signalizirale informacije o režimu predikcije trenutnog bloka, uslov signalizacije informacija o režimu predikcije može biti pojednostavljen (tj. čišćenje sintakse coding_unit). Pored toga, resetovanjem na MODE_TYPE_INTRA tipa režima predikcije modeType trenutnog bloka veličine 4x4 ili veće od 64x64 koje pripadaju I isečku, signalizacija cu_skip_flag može biti ograničena za trenutni blok za koji se režim inter predikcije i/ili IBC ne može primeniti.
[0287] Način ostvarivanja 3
[0288] FIG.18 predstavlja izgled koji ilustruje sintaksu coding_unit prema drugom primeru koji ne pripada ovom pronalasku. Informacije o režimu predikcije (cu_skip_flag, pred_mode_flag, pred_mode_ibc_flag i pred_mode_plt_flag), uključene u sintaksu coding_unit, kao što je prethodno opisano uz pozivanje na FIG.14, i njihovo ponavljanje neće biti opisivano.
[0289] [0199] Pozivajući se na FIG.18, tip režima predikcije modeType trenutnog bloka može biti postavljen na vrednost poziva sintakse coding_unit. Ovde, trenutni blok je cilj primene rekurzivno pozvane sintakse coding_unit i može odgovarati čvoru lista strukture podeljenog stabla. Pored toga, tip režima predikcije modeType trenutnog bloka može biti resetovan na osnovu tipa isečka slice_type trenutnog bloka (1810). Na primer, u slučaju kada je vrsta isečka slice_type trenutnog bloka I isečak, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, u slučaju kada vrsta isečka slice_type trenutnog bloka nije I isečak (npr. P ili B isečak), tip režima predikcije modeType trenutnog bloka
može biti resetovan na vrednost poziva sintakse coding_unit. To jest, u ovom slučaju, tip režima predikcije modeType trenutnog bloka može biti zadržan kao originalna vrednost.
[0290] Dakle, čak i u slučaju kada je IBC dostupan na nivou sekvence, kao zajednički uslov signalizacije 1820 za cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag (sps_ibc_enabled_flag == 1), kada je vrsta isečka slice_type trenutnog bloka I isečak, pošto je tip režima predikcije modeType MODE_TYPE_INTRA, signalizacija cu_skip_flag može biti ograničena prema posebnom uslovu signalizacije 1830.
[0291] U međuvremenu, u jednom primeru, stanje resetovanja 1810 tipa režima predikcije modeType može dalje uključivati uslov koji se odnosi na veličinu cbWidth x cbHeight trenutnog bloka. Na primer, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA na osnovu toga da li je vrsta isečka slice_type trenutnog bloka I isečak i na osnovu rezultata poređenja veličine cbWidth x cbHeight trenutnog bloka sa prethodno utvrđenom referentnom vrednošću. Ovde, prethodno utvrđena referentna vrednost može biti određena kao 4x4 (što je veličina bloka u kojoj su dostupni samo režim intra predikcije i paletni režim) ili 64x64 (što je maksimalna veličina bloka u kojoj je IBC dostupan). Pored toga, uslov koji se odnosi na vrstu isečka slice_type trenutnog bloka i uslov koji se odnosi na veličinu cbWidth x cbHeight trenutnog bloka može formirati OR uslov ili AND uslov. Na primer, u slučaju kada je vrsta isečka slice_type trenutnog bloka I isečak ili najmanje jedna od dimenzija cbWidth ili cbHeight trenutnog bloka prelazi 64, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Alternativno, samo u slučaju kada je vrsta isečka slice_type trenutnog bloka I isečak i najmanje jedna od dimenzija cbWidth ili cbHeight trenutnog bloka prelazi 64, tip režima predikcije modeType trenutnog bloka može biti resetovan na MODE_TYPE_INTRA.
[0292] Kao što je prethodno opisano, prema načinu ostvarivanja 3 ovog otkrivanja, resetovanjem tipa režima predikcije modeType trenutnog bloka koji pripada I isečku na MODE_TYPE_INTRA, signalizacija cu_skip_flag može biti ograničena za trenutni blok za koji se režim inter predikcije ne može primeniti. Pored toga, resetovanjem tipa režima predikcije modeType trenutnog bloka veličine 4x4 ili veće od 64x64 na MODE_TYPE_INTRA, signalizacija cu_skip_flag može biti ograničena za trenutni blok za koji se režim inter predikcije i/ili IBC ne može primeniti.
[0294] Način ostvarivanja 4
[0295] [0203] FIG.19 prikazuje izgled koji ilustruje sintaksu coding_unit prema drugom primeru koji ne
pripada ovom pronalasku. Informacije o režimu predikcije (cu_skip_flag, pred_mode_flag, pred_mode_ibc_flag i pred_mode_plt_flag) uključene u sintaksu coding_unit, kao što je prethodno opisano uz pozivanje na FIG.14, i ponovljeni opis istih biće izostavljeni.
[0296] Pozivajući se na FIG.19, tip režima predikcije modeType trenutnog bloka može biti postavljen na ulaznu vrednost poziva sintakse coding_unit. Ovde je trenutni blok ciljna jedinica primene rekurzivno pozvane sintakse coding_unit i može odgovarati čvoru lista strukture podeljenog stabla. Za razliku od načina ostvarivanja 1 do 3 ovog otkrivanja prethodno opisanih, proces resetovanja tipa režima predikcije modeType može biti preskočen.
[0297] Stanje signaliziranja 1920 za cu_skip_flag može uključivati detaljan uslov u vezi sa tim da li je vrsta isečka trenutnog bloka I isečak. Na primer, u slučaju kada je vrsta isečka trenutnog bloka I isečak, cu_skip_flag možda neće biti signaliziran. Nasuprot tome, u slučaju kada vrsta isečka trenutnog bloka nije I isečak (npr. P ili B isečak), cu_skip_flag može biti signaliziran prema drugim detaljnim uslovima. To jest, cu_skip_flag može biti eksplicitno signaliziran za trenutni blok koji pripada P ili B isečku.
[0298] Dakle, čak i u slučaju kada je IBC dostupan na nivou sekvence kao zajedničko stanje signaliziranja 1910 za cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag (sps_ibc_enabled_flag == 1), kada je vrsta isečka trenutnog bloka I isečak, budući da je vrsta isečka I isečak, signalizacija cu_skip_flag može biti ograničena prema posebnom stanju signaliziranju 1920.
[0299] Kao što je prethodno opisano, prema načinu ostvarivanja 4 ovog otkrivanja, signalizacija cu_skip_flag može biti ograničena za trenutni blok koji pripada I isečku.
[0301] Postupak kodiranja slike
[0302] U nastavku će biti detaljno opisan postupak kodiranja slike od strane uređaja za kodiranje slike na osnovu prethodno opisanih načina ostvarivanja. Uređaj za kodiranje slike može uključivati memoriju i najmanje jedan procesor, a postupak kodiranja slike može biti izvršen od strane najmanje jednog procesora.
[0303] FIG.20 prikazuje dijagram toka postupka koji ilustruje postupak kodiranja slike prema jednom načinu ostvarivanja ovog otkrivanja.
[0304] [0210] Pozivajući se na FIG.20, uređaj za kodiranje slike dobija trenutni blok koji odgovara čvoru lista strukture podeljenog stabla na osnovu prethodno utvrđenog tipa režima predikcije (npr. modeType) (S2010). Ovde, prethodno utvrđeni tip režima predikcije predstavlja vrstu režima predikcije trenutnog bloka i može biti određen na osnovu informacija o karakteristikama režima
predikcije (npr. modeTypeCondition) bloka višeg sloja. Na primer, u slučaju kada informacije o karakteristikama režima predikcije bloka višeg sloja imaju prvu vrednost (npr., 0), prethodno utvrđeni tip režima predikcije može biti određen kao tip režima predikcije bloka višeg sloja, nasuprot tome, kada informacije o karakteristikama režima predikcije bloka višeg sloja imaju drugu vrednost (npr., 1), prethodno utvrđeni tip režima predikcije može biti određen kao MODE_TYPE_INTRA, nasuprot tome, kada informacije o karakteristikama režima predikcije bloka višeg sloja imaju treću vrednost (npr., 2), prethodno utvrđeni tip režima predikcije može biti određen kao MODE_TYPE_INTRA ili MODE_TYPE_INTER.
[0305] U međuvremenu, informacije o karakteristikama režima predikcije bloka višeg sloja mogu imati bilo koju od prve do treće vrednosti (npr., 0, 1 i 2) na osnovu prethodno utvrđenog stanja.
[0306] Konkretno, u slučaju kada je zadovoljen najmanje jedan od uslova 1-1 do 1-4 navedenih u nastavku, informacije o karakteristikama režima predikcije bloka višeg sloja mogu biti određene kao prva vrednost (npr., 0).
[0307] - Stanje 1-1: Blok višeg sloja je uključen u I isečak, svaki CTU uključen u odgovarajući isečak je implicitno podeljen strukturom kvadratnog stabla na 64x64 luma uzoraka CU, i taj luma uzorak CU predstavlja korenski čvor dvostrukog stabla.
[0308] - Stanje 1-2: tip režima predikcije (npr., modeTypeCurr) bloka višeg sloja nije MODE_TYPE_ALL.
[0309] - Stanje 1-3: kolor format bloka višeg sloja je monohromatski format (npr., sps_hroma_format_idc == 0).
[0310] - Stanje 1-4: kolor format bloka višeg sloja je 4:4:4 format (npr., sps_chroma_format_idc == 3).
[0311] U slučaju kada svi prethodno opisani uslovi nisu zadovoljeni, a najmanje jedan od uslova 2-1 do 2-3 navedenih u nastavku je zadovoljen, informacije o karakteristikama režima predikcije bloka višeg sloja mogu biti određene kao druga vrednost (npr., 1).
[0312] - Stanje 2-1: proizvod širine i visine bloka višeg sloja je 64 i režim podele bloka višeg sloja je režim podele kvadratnog stabla.
[0313] - Stanje 2-2: proizvod širine i visine bloka višeg sloja je 64 i režim podele bloka višeg sloja je horizontalni ternarni režim podele ili vertikalni ternarni režim podele.
[0314] - Stanje 2-3: proizvod širine i visine bloka višeg sloja je 32 i režim podele bloka višeg sloja je horizontalni binarni režim podele ili vertikalni binarni režim podele.
[0315] [0214] U slučaju kada nijedan od prethodno opisanih uslova nije ispunjen, i kada je najmanje jedan od uslova 3-1 do 3-4 u nastavku ispunjen, karakteristična informacija o režimu predikcije
bloka višeg sloja koji pripada I isečku može biti određena kao druga vrednost (npr., 1), a karakteristična informacija o režimu predikcije bloka višeg sloja koji ne pripada I isečku može biti određena kao treća vrednost (npr., 2).
[0316] - Stanje 3-1: proizvod širine i visine bloka višeg sloja je 64 i režim podele bloka višeg sloja je horizontalni binarni režim podele ili vertikalni binarni režim podele.
[0317] - Stanje 3-2: proizvod širine i visine bloka višeg sloja je 128 i režim podele bloka višeg sloja je horizontalni ternarni režim podele ili vertikalni ternarni režim podele.
[0318] - Stanje 3-3: širina bloka višeg sloja je 8 i režim podele bloka višeg sloja je vertikalni binarni režim podele.
[0319] - Stanje 3-4: širina bloka višeg sloja je 16, podela bloka kvadratnog stabla višeg sloja nije dozvoljena (npr., split_qt_flag == 0), i režim podele bloka višeg sloja je vertikalni ternarni režim podele.
[0320] U međuvremenu, u slučaju kada nijedan od prethodno opisanih uslova nije ispunjen, karakteristična informacija o režimu predikcije bloka višeg sloja može biti određena kao prva vrednost (npr., 0).
[0321] Uređaj za kodiranje slike može da utvrdi vrstu režima predikcije trenutnog bloka na osnovu karakteristične informacije režima predikcije bloka višeg sloja određene prema prethodno opisanim uslovima. Pored toga, uređaj za kodiranje slike može da dobije trenutni blok deljenjem bloka višeg sloja na osnovu utvrđenog tipa režima predikcije. Na primer, kada je tip režima predikcije trenutnog bloka MODE_TYPE_INTRA, uređaj za kodiranje slike može da dobije trenutni blok deljenjem bloka višeg sloja pomoću strukture dvostrukog stabla. Nasuprot tome, kada tip režima predikcije trenutnog bloka nije MODE_TYPE_INTRA (npr., MODE_TYPE_ALL ili MODE_TYPE_INTER), uređaj za kodiranje slike može da dobije trenutni blok deljenjem bloka višeg sloja u skladu sa strukturom podele bloka višeg sloja.
[0322] Uređaj za kodiranje slike resetuje vrstu režima predikcije trenutnog bloka (S2020).
[0323] U jednom primeru koji ne pripada ovom pronalasku, tip režima predikcije trenutnog bloka može biti resetovan na intra tip (npr., MODE_TYPE_INTRA) na osnovu veličine trenutnog bloka.
[0324] [0219] Na primer, kada je najmanje jedna od dimenzija — širina ili visina trenutnog bloka — veća od 64, tip režima predikcije trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, kada su i širina i visina trenutnog bloka manje od 64, tip režima predikcije trenutnog bloka može biti resetovan na ulaznu vrednost poziva (odnosno, vrstu režima predikcije iz S2010) sintakse coding_unit. Na ovaj način, pošto se informacija o tome da li je
veličina trenutnog bloka veća od 64×64 odražava u vrsti režima predikcije, za trenutne blokove većeg od 64×64 signalizacija cu_skip_flag može biti ograničena na osnovu tipa režima predikcije.
[0325] Alternativno, kada su i širina i visina trenutnog bloka jednake 4, tip režima predikcije trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, kada najmanje jedna od dimenzija – širina ili visina trenutnog bloka – nije jednaka 4, tip režima predikcije trenutnog bloka može biti resetovan na prethodno opisanu ulaznu vrednost poziva (odnosno, vrstu režima predikcije iz S2010) sintakse coding_unit. Na ovaj način, kada se informacija o tome da li je veličina trenutnog bloka 4×4 odražava u vrsti režima predikcije, za cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag, bez zasebnog određivanja da li je veličina trenutnog bloka 4×4, signalizacija može biti izvedena na osnovu tipa režima predikcije.
[0326] U drugom primeru koji ne pripada ovom pronalasku, tip režima predikcije trenutnog bloka može biti resetovan na intra tip (npr., MODE_TYPE_INTRA) na osnovu tipa isečka trenutnog bloka. Na primer, u slučaju kada je vrsta isečka trenutnog bloka I isečak, tip režima predikcije trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, u slučaju kada vrsta isečka trenutnog bloka nije I isečak (npr., P ili B isečak), tip režima predikcije trenutnog bloka može biti resetovan na prethodno opisanu ulaznu vrednost poziva (odnosno, vrstu režima predikcije iz S2010) sintakse coding_unit. Na ovaj način, pošto se informacija o tome da li trenutni blok pripada I isečku odražava u vrsti režima predikcije, signalizacija cu_skip_flag za trenutni blok koji pripada I isečku može biti ograničena. Na primer, kao što je prethodno opisano uz pozivanje na FIG.18, pošto je IBC dostupan na nivou sekvence (sps_ibc_enabled_flag == 1), čak i kada je zajedničko stanje signalizacije 1820 za cu_skip_flag, pred_mode_flag i pred_mode_ibc_flag tačno, u slučaju kada je tip režima predikcije modeType trenutnog bloka MODE_TYPE_INTRA, signalizacija cu_skip_flag može biti ograničena u skladu sa zasebnim stanjem signalizacije 1830.
[0327] U ovom pronalasku, tip režima predikcije trenutnog bloka resetuje se na intra tip (npr., MODE_TYPE_INTRA) na osnovu tipa isečka trenutnog bloka i veličine trenutnog bloka.
[0328] Konkretno, u slučaju kada je vrsta isečka trenutnog bloka I isečak i najmanje jedna od dimenzija — širina ili visina trenutnog bloka — veća od 64, tip režima predikcije trenutnog bloka resetuje se na MODE_TYPE_INTRA. Nasuprot tome, u slučaju kada vrsta isečka trenutnog bloka nije I isečak (npr., P ili B isečak) ili kada su i širina i visina trenutnog bloka manje ili jednake 64, tip režima predikcije trenutnog bloka resetuje se na prethodno opisanu ulaznu vrednost poziva (odnosno, vrstu režima predikcije iz S2010) sintakse coding_unit. Na ovaj način, pošto se informacija o tome da li je isečak trenutnog bloka I isečak i da li veličina trenutnog bloka
premašuje 64×64 odražava u vrsti režima predikcije, signalizacija cu_skip_flag može biti ograničena za trenutni blok za koji se režim inter predikcije i/ili IBC ne može primeniti.
[0329] Uređaj za kodiranje slike kodira informacije o režimu predikcije trenutnog bloka na osnovu tipa režima predikcije resetovanog u skladu sa prethodno opisanim postupkom (S2030). Ove informacije o režimu predikcije trenutnog bloka mogu da uključuju cu_skip_flag, koji određuje da li se primenjuje režim preskakanja, pred_mode_flag, koji određuje da li se primenjuje režim intra predikcije ili režim inter predikcije, pred_mode_ibc_flag, koji određuje da li se primenjuje IBC, pred_mode_plt_flag, koji određuje da li se primenjuje paletni režim.
[0330] Detalji prethodno opisanih informacija o režimu predikcije nalaze se kako je prethodno opisano uz pozivanje na FIG.14 do 19.
[0331] Kao što je prethodno opisano, prema postupku kodiranja slike jednog načina ostvarivanja ovog otkrivanja, tip režima predikcije trenutnog bloka može biti resetovan na prethodno utvrđenu vrstu režima predikcije (npr., MODE_TYPE_INTRA) na osnovu tipa isečka i veličine trenutnog bloka. Pored toga, informacije o režimu predikcije trenutnog bloka kodiraju se na osnovu resetovanog tipa režima predikcije. Stoga, uslovi signalizacije informacija o režimu predikcije mogu biti pojednostavljeni, a signalizacija cu_skip_flag može biti ograničena za trenutni blok za koji se režim inter predikcije i/ili IBC ne može primeniti.
[0333] Postupak dekodiranja slike
[0334] U nastavku će postupak dekodiranja slike pomoću uređaja za dekodiranje slike biti detaljno opisan na osnovu prethodno opisanog načina ostvarivanja. Uređaj za dekodiranje slike može da uključuje memoriju i najmanje jedan procesor, a postupak dekodiranja slike može biti izveden najmanje jednim procesorom.
[0335] FIG.21 prikazuje dijagram toka postupka koji ilustruje postupak dekodiranja slike prema jednom načinu ostvarivanja ovog otkrivanja.
[0336] [0227] Pozivajući se na FIG.21, uređaj za dekodiranje slike dobija trenutni blok koji odgovara čvoru lista strukture podeljenog stabla na osnovu prethodno utvrđenog tipa režima predikcije (npr., modeType) (S2110). Ovde je prethodno utvrđeni tip režima predikcije tip režima predikcije trenutnog bloka i može biti određena na osnovu informacija o karakteristikama režima predikcije (npr., modeTypeCondition) bloka višeg sloja. Na primer, u slučaju kada informacije o karakteristikama režima predikcije bloka višeg sloja imaju prvu vrednost (npr., 0), prethodno utvrđeni tip režima predikcije može biti određen kao tip režima predikcije bloka višeg sloja. Nasuprot tome, u slučaju kada informacije o karakteristikama režima predikcije bloka višeg sloja
imaju drugu vrednost (npr., 1), prethodno utvrđeni tip režima predikcije može biti određen kao MODE_TYPE_INTRA. Nasuprot tome, u slučaju kada informacije o karakteristikama režima predikcije bloka višeg sloja imaju treću vrednost (npr., 2), prethodno utvrđeni tip režima predikcije može biti određen kao MODE_TYPE_INTRA ili MODE_TYPE_INTER. U međuvremenu, informacije o karakteristikama režima predikcije bloka višeg sloja mogu imati bilo koju od prve do treće vrednosti (npr., 0, 1 i 2) na osnovu prethodno utvrđenog stanja, a prethodno utvrđeno stanje je opisano uz pozivanje na FIG.20.
[0337] Na ovaj način, uređaj za dekodiranje slike može da odredi vrstu režima predikcije trenutnog bloka na osnovu informacija o karakteristikama režima predikcije bloka višeg sloja. Pored toga, uređaj za dekodiranje slike može da dobije trenutni blok deljenjem bloka višeg sloja na osnovu utvrđenog tipa režima predikcije. Na primer, kada je tip režima predikcije trenutnog bloka MODE_TYPE_INTRA, uređaj za dekodiranje slike može da dobije trenutni blok deljenjem bloka višeg sloja pomoću strukture dvostrukog stabla. Nasuprot tome, kada tip režima predikcije trenutnog bloka nije MODE_TYPE_INTRA (npr., MODE_TYPE_ALL ili MODE_TYPE_INTER), uređaj za dekodiranje slike može da dobije trenutni blok deljenjem bloka višeg sloja u skladu sa podeljenom strukturom bloka višeg sloja.
[0338] Uređaj za dekodiranje slike resetuje vrstu režima predikcije trenutnog bloka (S2120).
[0339] U jednom primeru koji ne pripada ovom pronalasku, tip režima predikcije trenutnog bloka može biti resetovan na intra tip (npr., MODE_TYPE_INTRA) na osnovu veličine trenutnog bloka.
[0340] Na primer, kada je najmanje jedna od širine ili visine trenutnog bloka veća od 64, tip režima predikcije trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, kada su i širina i visina trenutnog bloka manje od 64, tip režima predikcije trenutnog bloka može biti resetovan na ulaznu vrednost poziva (tj. vrstu režima predikcije iz S2110) sintakse coding_unit. Alternativno, kada su i širina i visina trenutnog bloka 4, tip režima predikcije trenutnog bloka može biti resetovan na MODE_TYPE_INTRA. Nasuprot tome, kada najmanje jedna od širine ili visine trenutnog bloka nije 4, tip režima predikcije trenutnog bloka može biti resetovan na prethodno opisanu ulaznu vrednost poziva (tj. vrstu režima predikcije iz S2110) sintakse coding_unit.
[0341] [0232] U drugom primeru koji ne pripada ovom pronalasku, tip režima predikcije trenutnog bloka može biti resetovan na prethodno utvrđenu vrstu režima predikcije (npr., MODE_TYPE_INTRA) na osnovu tipa isečka trenutnog bloka. Na primer, u slučaju kada je vrsta isečka trenutnog bloka I isečak, tip režima predikcije trenutnog bloka može biti resetovan na
MODE_TYPE_INTRA. Nasuprot tome, u slučaju kada vrsta isečka trenutnog bloka nije I isečak (npr., P ili B isečak), tip režima predikcije trenutnog bloka može biti resetovan na prethodno opisanu ulaznu vrednost poziva (tj. vrstu režima predikcije iz S2110) sintakse coding_unit.
[0342] U ovom pronalasku, tip režima predikcije trenutnog bloka resetuje se na prethodno utvrđenu vrstu režima predikcije (npr., MODE_TYPE_INTRA) na osnovu tipa isečka trenutnog bloka i veličine trenutnog bloka. Konkretno, u slučaju kada je vrsta isečka trenutnog bloka I isečak i najmanje jedna od širine ili visine trenutnog bloka veća od 64, tip režima predikcije trenutnog bloka resetuje se na MODE_TYPE_INTRA. Nasuprot tome, u slučaju kada vrsta isečka trenutnog bloka nije I isečak (npr., P ili B isečak) ili kada su i širina i visina trenutnog bloka manje ili jednake 64, tip režima predikcije trenutnog bloka resetuje se na prethodno opisanu ulaznu vrednost poziva (tj. vrstu režima predikcije iz S2110) sintakse coding_unit.
[0343] Kao što je prethodno opisano, prema postupku kodiranja slike prema jednom izvršenju ovog otkrivanja, tip režima predikcije trenutnog bloka može biti resetovan na prethodno utvrđenu vrstu režima predikcije (npr., MODE_TYPE_INTRA) na osnovu tipa isečka i veličine trenutnog bloka. Pored toga, informacije o režimu predikcije trenutnog bloka kodirauju se na osnovu resetovanog tipa režima predikcije. Zbog toga se uslov signalizacije informacija o režimu predikcije može pojednostaviti i signalizacija cu_skip_flag može biti ograničena za trenutni blok za koji inter predikcija i/ili IBC ne mogu biti primenjeni.
[0344] Uređaj za dekodiranje slike generiše predikcioni blok trenutnog bloka na osnovu informacija o režimu predikcije trenutnog bloka (S2140). Konkretno, uređaj za dekodiranje slike određuje režim predikcije trenutnog bloka na osnovu informacija o režimu predikcije trenutnog bloka. Pored toga, uređaj za dekodiranje slike generiše predikcioni blok trenutnog bloka izvršavanjem predikcije na osnovu utvrđenog režima predikcije.
[0345] Kao što je prethodno opisano, prema postupku dekodiranja slike jednog načina ostvarivanja ovog otkrivanja, tip režima predikcije trenutnog bloka resetuje se na prethodno utvrđenu vrstu režima predikcije (npr., MODE_TYPE_INTRA) na osnovu tipa isečka i veličine trenutnog bloka. Pored toga, informacije o režimu predikcije trenutnog bloka dobijaju se na osnovu resetovanog tipa režima predikcije. Zbog toga se uslov parsiranja informacija o režimu predikcije može pojednostaviti i, za trenutni blok za koji se inter predikcija i/ili IBC ne mogu primeniti, cu_skip_flag može biti izveden kao prva vrednost (npr., 0) bez dekodiranja.
[0346] [0237] Iako su primeri postupaka ovog otkrivanja prethodno opisani kao niz operacija radi jasnoće opisa, nije predviđeno da se ograniči redosled u kojem se faze izvode, i faze mogu biti izvedene istovremeno ili u drugačijem redosledu po potrebi. Da bi se implementirao postupak
prema ovom otkrivanju, opisane faze mogu dalje da uključuju druge faze, mogu da uključe preostale faze osim nekih faza, ili mogu da uključe dodatne faze osim nekih faza.
[0347] U ovom otkrivanju, uređaj za kodiranje slike ili uređaj za dekodiranje slike koji izvodi prethodno utvrđenu operaciju (fazu) može da izvede i operaciju (fazu) potvrđivanja uslova ili situacije za izvršavanje odgovarajuće operacije (faze). Na primer, ako je opisano da se prethodno utvrđena operacija izvodi kada je prethodno utvrđeni uslov ispunjen, uređaj za kodiranje slike ili uređaj za dekodiranje slike može da izvede prethodno utvrđenu operaciju nakon određivanja da li je prethodno utvrđeni uslov ispunjen.
[0348] Različiti načini ostvarivanja ovog otkrivanja nisu lista svih mogućih kombinacija i imaju za cilj da opišu reprezentativne aspekte ovog otkrivanja, a stvari opisane u različitim načinima ostvarivanja mogu se primenjivati nezavisno ili u kombinaciji dve ili više opcija.
[0349] Različiti načini ostvarivanja ovog otkrivanja mogu biti implementirani u hardveru, firmveru, softveru ili njihovoj kombinaciji. U slučaju implementacije ovog otkrivanja u hardveru, ovo otkrivanje može biti realizovano pomoću specijalizovanih integrisanih kola (ASIC), digitalnih procesora signala (DSP), uređaja za digitalnu obradu signala (DSPD), programabilnih logičkih uređaja (PLD), polja programabilnih logičkih mreža (FPGA), opštih procesora, kontrolera, mikrokontrolera, mikroprocesora i slično.
[0350] Pored toga, uređaj za dekodiranje slike i uređaj za kodiranje slike, na koje se primenjuju načini ostvarivanja ovog otkrivanja, mogu biti uključeni u uređaj za multimedijalno emitovanje i prijem, mobilni komunikacioni terminal, kućni bioskopski video uređaj, digitalni bioskopski video uređaj, kamera za nadzor, uređaj za video čet, uređaj za komunikaciju u stvarnom vremenu kao što je video komunikacija, mobilni uređaj za strimovanje, medijum za čuvanje, kamerukamkorder, uređaj za pružanje video na zahtev (VoD) servisa, uređaj za OTT video, uređaj za pružanje Internet strimovanja, uređaj za trodimenzionalni (3D) video, uređaj za video telefoniju, medicinski video uređaj i slično, i mogu se koristiti za obradu video signala ili podataka. Na primer, OTT video uređaji mogu uključivati konzolu za igrice, Blu-rej plejer, televizor sa pristupom Internetu, sistem kućnog bioskopa, pametan telefon, tablet PC, digitalni video rekorder (DVR) ili slično.
[0351] FIG.22 prikazuje izgled koji ilustruje sistem za strimovanje sadržaja, na koji način ostvarivanja ovog otkrivanja mogu biti primenjeni.
[0352] Kao što je prikazano na FIG.22, sistem za strimovanje sadržaja, na koji se primenjuju načini ostvarivanja ovog otkrivanja, može uglavnom uključivati server za kodiranje, server za strimovanje, web server, medijum za čuvanje, korisnički uređaj i uređaj za multimedijalni ulaz.
[0353] Server za kodiranje kompresuje sadržaje unete sa uređaja za multimedijalni ulaz, kao što su pametni telefon, kamera, kamkorder itd., u digitalne podatke da bi generisao protok bitova, i prenosi protok bitova serveru za strimovanje. Kao drugi primer, kada uređaji za multimedijalni ulaz, kao što su pametni telefoni, kamere, kamkorderi itd., direktno generišu protok bitova, server za kodiranje može biti izostavljen.
[0354] Protok bitova može biti generisan postupkom kodiranja slike ili uređajem za kodiranje slike, na koji se primenjuju načini ostvarivanja ovog otkrivanja, a server za strimovanje može privremeno da čuva protok bitova u toku prenosa ili prijema protoka bitova.
[0355] Server za strimovanje prenosi multimedijalne podatke korisničkom uređaju na osnovu korisničkog zahteva preko web servera, pri čemu web server služi kao posrednik za obaveštavanje korisnika o usluzi. Kada korisnik zahteva željenu uslugu od web servera, web server može da je prosledi serveru za strimovanje, a server za strimovanje može da prenese multimedijalne podatke korisniku. U ovom slučaju, sistem za strimovanje sadržaja može uključivati i poseban kontrolni server, koji služi za kontrolu komandi i odgovora između uređaja u sistemu za strimovanje sadržaja.
[0356] Server za strimovanje može da prima sadržaje sa medijuma za čuvanje i/ili sa servera za kodiranje. Na primer, kada se sadržaji primaju sa servera za kodiranje, oni mogu biti primljeni u realnom vremenu. U tom slučaju, kako bi se obezbedila glatka strimovanje usluga, server za strimovanje može privremeno da čuva protok bitova tokom prethodno utvrđenog vremena.
[0357] Primeri korisničkog uređaja mogu uključivati mobilni telefon, pametni telefon, laptop računar, terminal za digitalno emitovanje, lični digitalni asistent (PDA), prenosivi multimedijalni plejer (PMP), navigaciju, slate PC, tablet PC, ultrabuk, nosive uređaje (npr., pametni satovi, pametne naočare, uređaji sa prikazom na glavi), digitalne televizore, desktop računare, digitalne displeje i slično.
[0358] Svaki server u sistemu za strimovanje sadržaja može da radi kao distribuirani server, pri čemu podaci primljeni sa svakog servera mogu biti raspodeljeni.
[0359] Obim ovog otkrivanja uključuje softver ili naredbe izvršive od strane mašine (npr., operativni sistem, aplikaciju, firmver, program itd.) koje omogućavaju izvršavanje postupaka prema različitim načinima ostvarivanja na uređaju ili računaru, neprenosivi medijum čitljiv na računaru na kojem je takav softver ili naredbe sačuvan i koji se mogu izvršiti na uređaju ili računaru.
[0361] Industrijska primenjivost
[0362] Načini ostvarivanja ovog otkrivanja mogu da se koriste za kodiranje ili dekodiranje slike.
Claims (13)
1. Patentni zahtevi
1. Postupak dekodiranja slike koji izvodi uređaj za dekodiranje slike, pri čemu taj postupak dekodiranja slike obuhvata:
dobijanje (S2110) trenutnog bloka koji odgovara čvoru lista strukture podeljenog stabla na osnovu prethodno utvrđenog tipa režima predikcije;
određivanje (S2120) tipa režima predikcije trenutnog bloka ili kao intra tipa MODE_TYPE_INTRA ili prethodno utvrđenog tipa režima predikcije;
dobijanje (S2130) informacije režima predikcije trenutnog bloka na osnovu utvrđenog tipa režima predikcije; i
generisanje (S2140) predikcionog bloka trenutnog bloka na osnovu dobijene informacije režima predikcije,
pri čemu, na osnovu tipa isečka trenutnog bloka koji predstavlja I isečak i najmanje jedne od širine ili visine trenutnog bloka koja je veća od 64, taj tip režima predikcije trenutnog bloka se određuje kao intra tip MODE_TYPE_INTRA.
2. Postupak dekodiranja slike prema zahtevu 1, pri čemu, na osnovu tipa isečka trenutnog bloka koji predstavlja P ili B isečak, tip režima predikcije trenutnog bloka se određuje kao prethodno utvrđeni tip režima predikcije.
3. Postupak dekodiranja slike prema zahtevu 1, pri čemu, na osnovu širine i visine trenutnog bloka koje su manje ili jednake 64, tip režima predikcije trenutnog bloka se određuje kao prethodno utvrđeni tip režima predikcije.
4. Postupak dekodiranja slike prema zahtevu 1, pri čemu, na osnovu utvrđenog tipa režima predikcije koji predstavlja intra tip MODE_TYPE_INTRA, informacija o režimu predikcije ne obuhvata informaciju o režimu preskakanja.
5. Postupak dekodiranja slike prema zahtevu 4, pri čemu se informacija o preskakanju režima zaključuje kao prva vrednost koja određuje da se režim preskakanja ne primenjuje za trenuti blok.
6. Postupak dekodiranja slike prema zahtevu 1, pri čemu je prethodno utvrđeni tip režima predikcije određen na osnovu informacije o karakteristikama režima predikcije bloka višeg sloja trenutnog bloka, pri čemu je informacija o karakteristikama režima predikcije bloka višeg sloja informacija koja pripada bloku višeg sloja koji se koristi za određivanje tipa režima predikcije bloka dobijenog deljenjem bloka višeg sloja, i pri čemu je trenutni blok dobijen deljenjem bloka višeg sloja.
7. Postupak dekodiranja slike prema zahtevu 1, pri čemu je trenutni blok dobijen određivanjem strukture deljenja na osnovu prethodno utvrđenog tipa režima predikcije i deljenjem bloka višeg sloja trenutnog bloka na osnovu utvrđene strukture deljenja.
8. Postupak dekodiranja slike prema zahtevu 7, pri čemu, na osnovu prethodno utvrđenog tipa režima predikcije koji predstavlja intra tip MODE_TYPE_INTRA, utvrđeno je da podeljena struktura predstavlja strukturu dvostrukog stabla.
9. Postupak dekodiranja slike prema zahtevu 7, pri čemu, na osnovu prethodno utvrđenog tipa režima predikcije koji predstavlja intra tip MODE_TYPE_INTRA, utvrđeno je da podeljena struktura predstavlja podeljenu strukturu bloka višeg sloja.
10. Postupak kodiranja slike koji izvodi uređaj za kodiranje slike, pri čemu taj postupak kodiranja slike obuhvata:
dobijanje (S2010) trenutnog bloka koji odgovara čvoru lista strukture podeljenog stabla na osnovu prethodno utvrđenog tipa režima predikcije;
određivanje (S2020) tipa režima predikcije trenutnog bloka ili kao intra tipa MODE_TYPE_INTRA ili prethodno utvrđenog tipa režima predikcije; i
kodiranje (S2030) informacije režima predikcije trenutnog bloka na osnovu utvrđenog tipa režima predikcije,
pri čemu, na osnovu tipa isečka trenutnog bloka koji predstavlja I isečak i najmanje jedne od širine ili visine trenutnog bloka koja je veća od 64, tip režima predikcije trenutnog bloka se određuje kao intra tip MODE_TYPE_INTRA.
11. Postupak kodiranja slike prema zahtevu 10, pri čemu, na osnovu utvrđenog tipa režima predikcije koji predstavlja intra tip MODE_TYPE_INTRA, informacija o režimu predikcije ne obuhvata informaciju o režimu preskakanja.
12. Postupak prenosa protoka bitova koji generiše postupak kodiranja slike, pri čemu taj postupak kodiranja slike obuhvata:
dobijanje (S2010) trenutnog bloka koji odgovara čvoru lista strukture podeljenog stabla na osnovu prethodno utvrđenog tipa režima predikcije;
određivanje (S2020) tipa režima predikcije trenutnog bloka ili kao intra tipa MODE_TYPE_INTRA ili prethodno utvrđenog tipa režima predikcije; i
kodiranje (S2030) informacije režima predikcije trenutnog bloka na osnovu utvrđenog tipa režima predikcije,
pri čemu, na osnovu tipa isečka trenutnog bloka koji predstavlja I isečak i najmanje jedne od širine ili visine trenutnog bloka koja je veća od 64, tip režima predikcije trenutnog bloka se određuje kao intra tip MODE_TYPE_INTRA.
13. Medijum za trajno snimanje podataka čitljiv na računaru koji čuva protok bitova koji generiše postupak kodiranja slike, pri čemu taj postupak kodiranja slike obuhvata: dobijanje (S2010) trenutnog bloka koji odgovara čvoru lista strukture podeljenog stabla na osnovu prethodno utvrđenog tipa režima predikcije;
određivanje (S2020) tipa režima predikcije trenutnog bloka ili kao intra tipa MODE_TYPE_INTRA ili prethodno utvrđenog tipa režima predikcije; i
kodiranje (S2030) informacije režima predikcije trenutnog bloka na osnovu utvrđenog tipa režima predikcije,
pri čemu, na osnovu tipa isečka trenutnog bloka koji predstavlja I isečak i najmanje jedne od širine ili visine trenutnog bloka koja je veća od 64, tip režima predikcije trenutnog bloka se određuje kao intra tip MODE_TYPE_INTRA.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962956093P | 2019-12-31 | 2019-12-31 | |
| US202062959943P | 2020-01-11 | 2020-01-11 | |
| US202062980442P | 2020-02-24 | 2020-02-24 | |
| PCT/KR2020/019287 WO2021137577A1 (ko) | 2019-12-31 | 2020-12-31 | 리프 노드의 재설정된 예측 모드 타입에 기반하여 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
| EP20910040.3A EP4087244B1 (en) | 2019-12-31 | 2020-12-31 | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RS67538B1 true RS67538B1 (sr) | 2026-01-30 |
Family
ID=76686671
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RS20251282A RS67538B1 (sr) | 2019-12-31 | 2020-12-31 | Postupak kodiranja/dekodiranja i uređaj za izvođenje predikcije na osnovu tipa režima rekonfigurisane predikcije čvora lista, i postupak prenosa protoka bitova |
Country Status (18)
| Country | Link |
|---|---|
| US (2) | US12113975B2 (sr) |
| EP (2) | EP4087244B1 (sr) |
| JP (2) | JP7444998B2 (sr) |
| KR (1) | KR20220115971A (sr) |
| CN (5) | CN119946275A (sr) |
| AU (3) | AU2020416341B2 (sr) |
| BR (1) | BR112022013083A2 (sr) |
| CA (2) | CA3166540A1 (sr) |
| ES (1) | ES3057180T3 (sr) |
| FI (1) | FI4087244T3 (sr) |
| HR (1) | HRP20251583T1 (sr) |
| LT (1) | LT4087244T (sr) |
| MX (5) | MX2022008084A (sr) |
| PL (1) | PL4087244T3 (sr) |
| PT (1) | PT4087244T (sr) |
| RS (1) | RS67538B1 (sr) |
| SI (1) | SI4087244T1 (sr) |
| WO (1) | WO2021137577A1 (sr) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4087244B1 (en) * | 2019-12-31 | 2025-11-19 | Lg Electronics Inc. | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method |
| US11930208B2 (en) * | 2020-01-10 | 2024-03-12 | Tencent America LLC | Method and apparatus for signaling skip mode flag |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010131903A2 (en) * | 2009-05-12 | 2010-11-18 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
| LT2945382T (lt) * | 2010-04-23 | 2017-09-11 | M&K Holdings Inc. | Aparatas, skirtas vaizdo kodavimui |
| KR102257335B1 (ko) * | 2010-11-25 | 2021-05-27 | 엘지전자 주식회사 | 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법 |
| KR101533720B1 (ko) * | 2011-10-17 | 2015-07-03 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 그 장치 |
| CN115134594B (zh) * | 2015-06-05 | 2024-07-23 | 杜比实验室特许公司 | 用于执行帧间预测的图像编解码方法、比特流存储方法 |
| WO2017222237A1 (ko) * | 2016-06-22 | 2017-12-28 | 한국전자통신연구원 | 화면 내 예측 방법 및 장치 |
| US11039130B2 (en) | 2016-10-28 | 2021-06-15 | Electronics And Telecommunications Research Institute | Video encoding/decoding method and apparatus, and recording medium in which bit stream is stored |
| JP2020031252A (ja) * | 2016-12-22 | 2020-02-27 | シャープ株式会社 | 画像復号装置及び画像符号化装置 |
| WO2019098464A1 (ko) | 2017-11-14 | 2019-05-23 | 삼성전자 주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
| KR20190107581A (ko) * | 2018-03-12 | 2019-09-20 | 한국전자통신연구원 | 인트라 예측 모드의 유도를 위한 방법 및 장치 |
| US10771781B2 (en) | 2018-03-12 | 2020-09-08 | Electronics And Telecommunications Research Institute | Method and apparatus for deriving intra prediction mode |
| BR122021012456B1 (pt) * | 2019-01-15 | 2022-03-22 | Lg Electronics Inc | Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória |
| CN114208174B (zh) * | 2019-07-29 | 2023-11-28 | 北京字节跳动网络技术有限公司 | 预测过程中的调色板模式编解码 |
| CN117714683A (zh) * | 2019-09-02 | 2024-03-15 | 北京字节跳动网络技术有限公司 | 基于色彩格式的视频区分割 |
| EP4026322A4 (en) * | 2019-09-07 | 2024-01-03 | Beijing Dajia Internet Information Technology Co., Ltd. | PREDICTION MODE SIGNALING IN VIDEO CODING |
| US20210092405A1 (en) * | 2019-09-19 | 2021-03-25 | Qualcomm Incorporated | Matrix combination for matrix-weighted intra prediction in video coding |
| KR102649584B1 (ko) * | 2019-09-21 | 2024-03-21 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 크로마 인트라 모드에 기초한 크기 제한 |
| WO2021133450A1 (en) * | 2019-12-23 | 2021-07-01 | Tencent America LLC | Method and apparatus for video coding |
| EP4087244B1 (en) * | 2019-12-31 | 2025-11-19 | Lg Electronics Inc. | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method |
-
2020
- 2020-12-31 EP EP20910040.3A patent/EP4087244B1/en active Active
- 2020-12-31 RS RS20251282A patent/RS67538B1/sr unknown
- 2020-12-31 EP EP25187455.8A patent/EP4604553A3/en active Pending
- 2020-12-31 CA CA3166540A patent/CA3166540A1/en active Pending
- 2020-12-31 HR HRP20251583TT patent/HRP20251583T1/hr unknown
- 2020-12-31 JP JP2022540750A patent/JP7444998B2/ja active Active
- 2020-12-31 SI SI202030700T patent/SI4087244T1/sl unknown
- 2020-12-31 CN CN202510092433.2A patent/CN119946275A/zh active Pending
- 2020-12-31 AU AU2020416341A patent/AU2020416341B2/en active Active
- 2020-12-31 CN CN202510092436.6A patent/CN119946277A/zh active Pending
- 2020-12-31 ES ES20910040T patent/ES3057180T3/es active Active
- 2020-12-31 FI FIEP20910040.3T patent/FI4087244T3/fi active
- 2020-12-31 US US17/789,939 patent/US12113975B2/en active Active
- 2020-12-31 PT PT209100403T patent/PT4087244T/pt unknown
- 2020-12-31 MX MX2022008084A patent/MX2022008084A/es unknown
- 2020-12-31 BR BR112022013083A patent/BR112022013083A2/pt unknown
- 2020-12-31 PL PL20910040.3T patent/PL4087244T3/pl unknown
- 2020-12-31 CA CA3296461A patent/CA3296461A1/en active Pending
- 2020-12-31 LT LTEPPCT/KR2020/019287T patent/LT4087244T/lt unknown
- 2020-12-31 KR KR1020227022064A patent/KR20220115971A/ko not_active Ceased
- 2020-12-31 CN CN202510092438.5A patent/CN119946278A/zh active Pending
- 2020-12-31 CN CN202510092435.1A patent/CN119946276A/zh active Pending
- 2020-12-31 WO PCT/KR2020/019287 patent/WO2021137577A1/ko not_active Ceased
- 2020-12-31 CN CN202080097605.0A patent/CN115176465B/zh active Active
-
2022
- 2022-06-28 MX MX2025012918A patent/MX2025012918A/es unknown
- 2022-06-28 MX MX2025012916A patent/MX2025012916A/es unknown
- 2022-06-28 MX MX2025012915A patent/MX2025012915A/es unknown
- 2022-06-28 MX MX2025012917A patent/MX2025012917A/es unknown
-
2024
- 2024-02-22 JP JP2024025563A patent/JP7841007B2/ja active Active
- 2024-03-06 AU AU2024201463A patent/AU2024201463B2/en active Active
- 2024-09-05 US US18/825,219 patent/US20240430422A1/en active Pending
-
2026
- 2026-02-20 AU AU2026201282A patent/AU2026201282A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7817328B2 (ja) | マージデータシンタックスにおける重複シンタックスの除去方法及び装置 | |
| EP4084477B1 (en) | Video encoding/decoding method and apparatus for performing pdpc and method for transmitting bitstream | |
| US11997261B2 (en) | Image encoding/decoding method and device for determining division mode on basis of color format, and method for transmitting bitstream | |
| JP7462094B2 (ja) | ビデオ/映像コーディングシステムにおける重複シグナリング除去方法及び装置 | |
| JP7835805B2 (ja) | フィルタ利用可能情報を選択的にシグナリングする画像符号化/復号化方法及び装置、並びにビットストリームを伝送する方法 | |
| US20240430422A1 (en) | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method | |
| KR102916093B1 (ko) | 직사각형 슬라이스의 크기 정보를 선택적으로 부호화 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
| KR102941201B1 (ko) | 영상 디코딩 방법 및 그 장치 | |
| US12096041B2 (en) | Image encoding/decoding method and apparatus for performing in-loop filtering on basis of sub-picture structure, and method for transmitting bitstream | |
| RU2795473C1 (ru) | Способ и оборудование кодирования/декодирования изображений с использованием матрицы квантования и способ для передачи потока битов | |
| RU2809033C2 (ru) | Способ и оборудование кодирования/декодирования изображений с использованием матрицы квантования и способ для передачи потока битов |