RS66697B1 - Postupak za kodiranje/dekodiranje i uređaj za signaliziranje informacija o predikciji hroma komponente prema tome da li je paletni režim primenjiv, i postupak za prenos protoka bitova - Google Patents
Postupak za kodiranje/dekodiranje i uređaj za signaliziranje informacija o predikciji hroma komponente prema tome da li je paletni režim primenjiv, i postupak za prenos protoka bitovaInfo
- Publication number
- RS66697B1 RS66697B1 RS20250353A RSP20250353A RS66697B1 RS 66697 B1 RS66697 B1 RS 66697B1 RS 20250353 A RS20250353 A RS 20250353A RS P20250353 A RSP20250353 A RS P20250353A RS 66697 B1 RS66697 B1 RS 66697B1
- Authority
- RS
- Serbia
- Prior art keywords
- current block
- mode
- prediction
- palette
- chroma
- 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/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/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/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/1883—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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- 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)
Description
Opis
Tehnička oblast
[0001] Ovo otkrivanje se odnosi na uređaj za kodiranje/dekodiranje slike, i, određenije, na uređaj za kodiranje/dekodiranje slike za signaliziranje informacija o predikciji hroma komponente u zavisnosti od toga da li može da se primeni paletni režim, i uređaj za prenos protoka bitova koje generiše uređaj za kodiranje slika prema ovom otkrivanju.
Stanje tehnike
[0002] U novije vreme, potražnja za slikama visoke rezolucije i visokog kvaliteta kao što su slike visoke definicije (HD) i ultra visoke definicije (UHD) je u porastu u raznim oblastima. Kako se rezolucija i kvalitet slike poboljšavaju, količina prenesenih informacija ili bitova relativno raste u poređenju sa postojećim podacima o slici. Povećanje količine prenesenih informacija ili bitova dovodi do povećanja troškova prenosa i troškova čuvanja.
[0003] Shodno tome, postoji potreba za visokoefikasnom tehnologijom kompresije slika koja će omogućiti efikasan prenos, čuvanje i reprodukciju informacija na slikama visoke rezolucije i visokog kvaliteta. Podnesak "Versatile Video Coding (Draft 6)" za 15. sastanak JVET održan od 3-12. jula, 2019. godine u Gotenbergu tima JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16, koji je objavljen kao dokument JVET-O2001, BROSS B et al. otkriva postupak za dekodiranje slika. Podnesak " CE8‑2.3: Compound Palette Mode" za 15. sastanak održan od 3. jula do 12. jula, 2019. godine u Getenburgu tima JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16, objavljenom kao dokument JVET-O0071, ZHU (BYTEDANCE) W et al. otkriva paletni režim.
Otkrivanje
Tehnički problem
[0004] Predmet ovog otkrivanja je da obezbedi kodiranje slika / uređaj poboljšane efikasnosti kodiranja/dekodiranja.
[0005] Predmet ovog otkrivanja je da obezbedi kodiranje slika / uređaj za kodiranje/dekodiranje poboljšane efikasnosti signaliziranjem informacija o predikciji hroma komponente u zavisnosti od toga da li se primenjuje paletni režim.
[0006] Drugi predmet ovog otkrivanja je da se obezbedi uređaj za prenos protoka bitova koji generiše uređaj za kodiranje prema ovom otkrivanju.
[0007] Tehnički problem koje rešava ovo otkrivanje nisu ograničeni na prethodno pomenute tehničke probleme i druge tehničke probleme koji ovde nisu opisani , što će stručnjacima iz ove oblasti postati jasno iz opisa koji sledi.
Tehničko rešenje
[0008] Ovaj pronalazak je definisan u skupu priloženih patentnih zahteva.
Poželjni efekti
[0009] Prema ovom otkrivanju, moguće je da se obezbedi postupak za kodiranje/dekodiranje i uređaj poboljšane efikasnosti kodiranja/dekodiranja.
[0010] Takođe, prema ovom otkrivanju, moguće je da se obezbedi postupak za kodiranje/dekodiranje i uređaj za poboljšanje efikasnosti kodiranja/dekodiranja signaliziranjem informacija hroma komponente u zavisnosti od toga da li se primenjuje paletni režim.
[0011] Takođe, prema ovom otkrivanju, moguće je obezbediti postupak prenosa protoka bitova generisanog postupkom ili uređajem za kodiranje slika prema ovom otkrivanju.
[0012] Takođe, prema ovom otkrivanju, moguće je obezbediti medijum za snimanje koji čuva protok bitova generisan postupkom ili uređajem za kodiranje slika prema ovom otkrivanju.
[0013] Takođe, prema ovom otkrivanju, moguće je obezbediti medijum za snimanje koji čuva protok bitova generisan postupkom ili uređajem za kodiranje slika prema ovom otkrivanju.
[0014] Stručnjacima iz ove oblasti će biti jasno da efekti koji mogu da se postignu ovim otkrivanjem nisu ograničeni na ono što je konkretno prethodno opisano i druge prednosti ovog otkrivanja će postati jasnije iz detaljnog opisa.
Opis crteža
[0015]
FIG.1 predstavlja šematski prikaz sistem za kodiranje video zapisa, na koji ovaj način ostvarivanja može da se primenjuje.
FIG.2 predstavlja šematski prikaz uređaja za kodiranje, na koji ovaj način ostvarivanja može da se primenjuje.
FIG.3 predstavlja šematski prikaz uređaj za dekodiranje slika, na koji ovaj način ostvarivanja može da se primenjuje.
FIG.4 predstavlja izgled koji prikazuje razdelnu strukturu slike prema jednom načinu ostvarivanja.
FIG.5 predstavlja izgled koji prikazuje način ostvarivanja razdelne vrste bloka prema višetipskoj strukturi stabla.
FIG.6 predstavlja izgled koji pokazuje mehanizam signaliziranja informacija o podeli bloka u kvadratnom stablu sa smeštenom strukturom višetipskog stabla prema ovom otkrivanju. FIG.7 predstavlja izgled koji prikazuje način ostvarivanja u kojem se CTU dele na više CU. FIG.8 predstavlja izgled koji ilustruje način ostvarivanja redundantnog obrasca deljenja. FIG.9 predstavlja izgled koju ilustruje sintaksa za signaliziranje hroma formata prema jednom načinu ostvarivanja.
FIG.10 predstavlja izgled koju ilustruje tabelu klasifikacije hroma formata prema jednom načinu ostvarivanja.
FIG.11 predstavlja izgled koju ilustruje horizontalno skeniranje i vertikalno skeniranje prema jednom načinu ostvarivanja.
FIG.12 do 13 predstavlja izglede koju ilustruje sintaksa za paletni režim prema jednom načinu ostvarivanja.
FIG.14 do 19 predstavljaju izglede koji ilustruju sintaksu za paletni režim prema jednom načinu ostvarivanja.
FIG.20 predstavlja izgled koju ilustruje jednačinu za određivanje PredictorPaletteEntries i CurrentPaletteEntries prema jednom načinu ostvarivanja.
FIG.21 predstavlja izgled koju ilustruje sintaksu kodirajuće jedinice prema jednom modifikovanom načinu ostvarivanja.
FIG.22 je dijagram toka koji ilustruje postupak signaliziranja prethodno određenih informacija o intra predikciji hroma prema jednom načinu ostvarivanja.
FIG.23 predstavlja dijagram toka koji ilustruje dobijanja informacija o hroma predikciji uređajem za dekodiranje prema jednom načinu ostvarivanja.
FIG.24 predstavlja dijagram toka koji ilustruje kodiranje slike uređajem za kodiranje prema jednom načinu ostvarivanja.
FIG.25 predstavlja dijagram toka koji ilustruje dekodiranje slike uređajem za dekodiranje prema jednom načinu ostvarivanja.
FIG.26 predstavlja izgled koji prikazuje sistem za strimovanje sadržaja, na koji ovaj način ostvarivanja može da se primenjuje.
Režim za pronalazak
[0016] U nastavku će biti detaljno opisani načini ostvarivanja ovog otkrivanja uz upotrebu pratećih crteža, kako bi bili lako primenjeni od strane stručnjaka u toj oblasti. Međutim, ovo otkrivanje može da se primenjuje u različitim oblicima i nije ograničeno samo na načine ostvarivanja opisane ovde.
[0017] U opisivanju ovog otkrivanja, ako se utvrdi da detaljan opis povezane poznate funkcije ili konstrukcije čini opseg ovog otkrivanja nepotrebno dvosmislenim, njegov detaljan opis će biti izostavljen. Na crtežima su izostavljeni delovi koji nisu povezani sa opisom ovog otkrivanja, a slični delovi su označeni sličnim pozivnim oznakama.
[0018] U ovom otkrivanju, kada je komponenta "povezana", "spojena" ili "povezana" sa drugom komponentom, to može uključivati ne samo direktan odnos veze, već i indirektan odnos veze u kojem je prisutna posrednička komponenta. Pored toga, kada komponenta "uključuje" ili "ima" druge komponente, to znači da druge komponente mogu biti dalje uključene, a ne isključuju druge komponente, osim ako nije drugačije navedeno.
[0019] U ovom otkrivanju, izrazi prvi, drugi, itd. mogu se koristiti samo u svrhu razlikovanja jedne komponente od drugih komponenata i ne ograničavaju redosled ili važnost komponenata, osim ako nije drugačije navedeno. Shodno tome, unutar opsega ovog otkrivanja, prva komponenta u jednom načinu ostvarivanja može biti nazvana drugom komponentom u drugom načinu ostvarivanja, i obrnuto, druga komponenta u jednom načinu ostvarivanja može biti nazvana prvom komponentom u drugom načinu ostvarivanja.
[0020] U ovom otkrivanju, komponente koje se razlikuju jedna od druge imaju za cilj jasno opisivanje svake karakteristike i ne znače da su komponente nužno odvojene. To znači da se više komponenata može integrisati i implementirati u jednoj hardverskoj ili softverskoj jedinici, ili jedna komponenta može biti distribuirana i implementirana u više hardverskih ili softverskih jedinica. Stoga, čak i ako nije drugačije navedeno, takvi načini ostvarivanja u kojima su komponente integrisane ili komponenta distribuirana takođe su uključeni u opseg ovog otkrivanja.
[0021] U ovom otkrivanju, komponente opisane u različitim režimima ostvarivanja ne znače nužno esencijalne komponente, a neke komponente mogu biti opcione komponente. Shodno tome, način ostvarivanja koji se sastoji od podskupa komponenata opisanih u nekom načinu ostvarivanja takođe je uključen u opseg ovog otkrivanja. Pored toga, načini ostvarivanja koji uključuju druge komponente pored komponenata opisanih u različitim režimima ostvarivanja takođe su uključeni u opseg ovog otkrivanja.
[0022] Ovo otkrivanje se odnosi na kodiranje i dekodiranje slike, a izrazi koji se koriste u ovom otkrivanju mogu imati opšte značenje koje se često koristi u tehničkoj oblasti kojoj ovo otkrivanje pripada, osim ako nisu novodefinisani u ovom otkrivanju.
[0023] U ovom otkrivanju, "slika" se generalno odnosi na jedinicu koja predstavlja jednu sliku u određenom vremenskom periodu, odsečak/pločica je kodirajuća jedinica koja čini deo slike, pri čemu jedna slika može biti sastavljena od jedne ili više odsečak/pločica jedinica. Pored toga, odsečak/pločica može uključivati jednu ili više kodirajućih jedinica stabla (CTU).
[0024] U ovom otkrivanju, "piksel" ili "pel" može da označava najmanju jedinicu koja čini jednu sliku (ili sliku). Pored toga, "uzorak" se može koristiti kao izraz koji odgovara pikselu. Uzorak obično predstavlja piksel ili vrednost piksela i može predstavljati samo piksel/vrednost piksela komponente luma ili samo piksel/vrednost piksela komponente hroma.
[0025] U ovom otkrivanju, "jedinica" može predstavljati osnovnu jedinicu obrade slike. Jedinica može uključivati barem jedan specifičan region slike i informacije povezane sa tim regionom. Jedinica se u nekim slučajevima može koristiti naizmenično sa izrazima kao što su "niz uzoraka", "blok" ili "površina". U opštem slučaju, M×N blok može uključivati uzorke (ili nizove uzoraka) ili skup (ili niz) transformacionih koeficijenata sa M kolona i N redova.
[0026] U ovom otkrivanju, "trenutni blok" može da označava jedno od sledećeg: "trenutni kodirajući blok", "trenutna kodirajuća jedinica", "kodirajući ciljani blok", "dekodirajući ciljani blok" ili "procesni ciljani blok". Kada se izvršava predikcija, "trenutni blok" može da označava "trenutni predikcioni blok " ili "predikcioni ciljani blok". Kada se vrši transformacija (inverzna transformacija)/kvantizacija (dekvantizacija), "trenutni blok" može da označava "trenutni transformacioni blok" ili "transformacioni ciljani blok". Kada se vrši filtriranje, "trenutni blok" može da označava "filtrirajući ciljani blok"
[0027] Pored toga, u ovom otkrivanju, "trenutni blok" može da označava "luma blok trenutnog bloka", osim ako eksplicitno nije naveden kao hroma blok. "Hroma blok trenutnog bloka" može biti izražen uključivanjem eksplicitnog opisa hroma bloka, kao što je "hroma blok" ili "trenutni hroma blok".
[0028] U ovom otkrivanju, izraz "/" i "," bi trebalo da se tumači tako da označava "i/ili." Na primer, izraz "A/B" i "A, B" može da označava "A i/ili B." Dalje, "A/B/C" i "A/B/C" može da označava "najmanje jedan od A, B, i/ili C."
[0029] U ovom otkrivanju, izraz "ili" bi trebalo da se tumači tako da označava "i/ili." Na primer, izraz "A ili B" može da obuhvata 1) samo "A", 2) samo "B", i/ili 3) oba "A i B". Drugim rečima, u ovom otkrivanju, izraz "ili" bi trebalo da se tumači tako da označava "dodatno ili alternativno."
Pregled sistema za kodiranje video zapisa
[0030] FIG.1 predstavlja izgled koji prikazuje sistem za kodiranje video zapisa prema ovom otkrivanju.
[0031] Sistem za kodiranje video zapisa prema jednom načinu ostvarivanja može da uključuje uređaj 10 za kodiranje i uređaj 20 za dekodiranje. Uređaj 10 za kodiranje može isporučiti kodirane video i/ili slikovne informacije ili podatke uređaju 20 za dekodiranje u obliku datoteke ili strimovanja putem digitalnog medijuma za čuvanje podataka ili mreže.
[0032] Uređaj 10 za kodiranje prema jednom načinu ostvarivanja može da uključuje generator 11 video zapisa, kodirajuću jedinicu 12 i predajnik 13. Uređaj 20 za dekodiranje prema jednom načinu ostvarivanja može da uključuje prijemnik 21, dekodirajuću jedinicu 22 i prikazivač 23. Kodirajuća jedinica 12 može se nazvati kodirajućom jedinicom video zapisa/slike, dok se dekodirajuća jedinica 22 može nazvati dekodirajućom jedinicom video zapisa/slike. Predajnik 13 može biti uključen u kodirajuću jedinicu 12. Prijemnik 21 može biti uključen u dekodirajuću jedinicu 22. Prikazivač 23 može da uključuje ekran, a ekran može biti konfigurisan kao zaseban uređaj ili eksterna komponenta.
[0033] Generator 11 izvora video zapisa može da preuzme video zapis/sliku putem procesa snimanja, sintetisanja ili generisanja video zapisa/slike. Generator 11 izvora video zapisa može da uključuje uređaj za snimanje video zapisa/slike i/ili uređaj za generisanje video zapisa/slike. Uređaj za snimanje video zapisa/slike može da uključuje, na primer, jednu ili više kamera, arhive video zapisa/slika koje sadrže prethodno snimljene video zapise/slike i slično. Uređaj za generisanje video zapisa/slike može da uključuje, na primer, računare, tablete i pametne telefone, i može (elektronski) generisati video zapise/slike. Na primer, virtualni video zapis/slika može biti generisana putem računara ili sličnog uređaja. U ovom slučaju, postupak snimanja video zapisa/slike može biti zamenjen postupkom generisanja povezanih podataka.
[0034] Kodirajuća jedinica 12 može da kodira ulazni video zapis/sliku. Kodirajuća jedinica 12 može da izvodi niz postupaka kao što je predikcija, transformacija, i kvantizacija zbog efikasnosti kompresije i kodiranja. Kodirajuća jedinica 12 može da otpremi kodirane podatke (informacije o kodiranom video zapisu/slici) u obliku protoka bitova.
[0035] Predajnik 13 može prenositi informacije o kodiranom video zapisu/slici ili podatke otpremljene u obliku protoka bitova do prijemnika 21 uređaja 20 za dekodiranje putem digitalnog medijuma za čuvanje podataka ili mreže u obliku datoteke ili strimovanjem. Digitalni medijum za čuvanje podataka može da uključuje različite medijume za čuvanje podataka kao što su USB, SD, CD, DVD, Blu-ray, HDD, SSD i slično. Predajnik 13 može da uključuje element za generisanje medijske datoteke kroz prethodno definisani format datoteke i može da uključuje element za prenos putem emitovanih/komunikacionih mreža. Prijemnik 21 može izvući/primiti protok bitova sa medijuma za čuvanje podataka ili mreže i preneti protok bitova na dekodirajuću jedinicu 22.
[0036] Dekodirajuća jedinica 22 može da dekodira video zapis/sliku izvođenjem niza postupaka kao što je dekvantizacija, inverzna transformacija, i predikcija koje odgovaraju operaciju kodirajuće jedinice 12.
[0037] Prikazivač 23 može prikazivati dekodirani video zapis/sliku. Prikazani video zapis/slika može biti prikazan na ekranu.
Pregled sistema za kodiranje slika
[0038] FIG.2 predstavlja šematski prikaz uređaj za kodiranje, na koji ovaj način ostvarivanja može da se primenjuje.
[0039] Kao što je prikazano na FIG.2, uređaj 100 za kodiranje slika može da uključuje razdelnik slike 110, oduzimač 115, transformator 120, kvantizator 130, dekvantizator 140, inverzni transformator 150, sabirač 155, filter 160, memoriju 170, inter predikcionu jedinicu 180, intra predikcionu jedinicu 185 i entropijski koder 190. Inter predikciona jedinica 180 i intra predikciona jedinica 185 zajednički se mogu označiti kao "predikciona jedinica". Transformator 120, kvantizator 130, dekvantizator 140 i inverzni transformator 150 mogu biti uključeni u preostali procesor. Preostali procesor dalje može da uključuje oduzimač 115.
[0040] Sve ili barem neke od komponenata koje konfigurišu uređaj 100 za kodiranje slika mogu biti konfigurisane od strane jedne hardverske komponente (npr. kodera ili procesora) u nekim režimima ostvarivanja. Pored toga, memorija 170 može da uključuje dekodirani bafer slike (DPB) i može biti konfigurisana od strane digitalnog medijuma za čuvanje podataka.
[0041] Razdelnik 110 slike može podeliti ulaznu sliku (ili sliku ili okvir) koja ulazi u uređaj 100 za kodiranje slika u jednu ili više procesnih jedinica. Na primer, jedinica obrade može biti nazvana kodirajućom jedinicom (CU). Kodirajuća jedinica može biti dobijena rekurzivnim deljenjem kodirajuće jedinice stabla (CTU) ili najveće kodirajuće jedinice (LCU) prema strukturi kvadratnog stabla, binarnog stabla ili ternarnog stabla (QT/BT/TT). Na primer, jedna kodirajuća jedinica može biti podeljena na više kodirajućih jedinica veće dubine na osnovu strukture kvadratnog stabla, binarnog stabla i/ili ternarnog stabla. Za podelu kodirajuće jedinice, prvo se može primeniti struktura kvadratnog stabla, a zatim kasnije može biti primenjena struktura binarnog stabla i/ili ternarnog stabla. Postupak kodiranja prema ovom otkrivanju može se obaviti na osnovu finalne kodirajuće jedinice koja više nije podeljena. Najveća kodirajuća jedinica može biti korišćena kao finalna kodirajuća jedinica, ili kodirajuća jedinica veće dubine dobijena podelom najveće kodirajuće jedinice može biti korišćena kao finalna kodirajuća jedinica. Ovde, postupak kodiranja može da uključuje postupak predikcije, transformacije i rekonstrukcije, koji će biti kasnije opisan. Kao drugi primer, procesna jedinica u postupku kodiranja može biti predikciona jedinica (PU) ili transformaciona jedinica (TU). Predikciona jedinica i transformaciona jedinica mogu biti podeljene ili odvojene od finalne kodirajuće jedinice. Predikciona jedinica može biti jedinica za predikciju uzoraka, dok transformaciona jedinica može biti jedinica za izvođenje koeficijenta transformacije i/ili jedinica za izvođenje preostalog signala iz koeficijenta transformacije.
[0042] Predikciona jedinica (inter predikciona jedinica 180 ili intra predikciona jedinica 185) može izvršiti predikciju na bloku koji treba da se obradi (trenutni blok) i generisati prediktivni blok koji uključuje predikcione uzorke za trenutni blok. Predikciona jedinica može odrediti da li će se primeniti intra predikcija ili inter predikcija na osnovu trenutnog bloka ili kodirajuće jedinice (CU). Predikciona jedinica može generisati različite informacije vezane za predikciju trenutnog bloka i preneti generisane informacije entropijskom koderu 190. Informacije o predikciji mogu biti kodirane u entropijskom koderu 190 i otpremljene u obliku protoka bitova.
[0043] Intra predikciona jedinica 185 može predvideti trenutni blok pozivajući se na uzorke u trenutnoj slici. Označeni uzorci mogu biti locirani blizu trenutnog bloka ili mogu biti smešteni na udaljenosti, u zavisnosti od režima intra predikcije i/ili tehnike intra predikcije. Režimi intra predikcije mogu uključivati brojne neupravljačke režime i brojne upravljačke režime.
Neupravljački režim može uključivati, na primer, DC režim i planarni režim. Upravljački režim može uključivati, na primer, 33 upravljačkih režima predikcije ili 65 upravljačkih režima predikcije, u zavisnosti od stepena detalja pravca predikcije. Međutim, ovo je samo primer, i više ili manje upravljačkih režima predikcije može se koristiti u zavisnosti od postavki. Intra predikciona jedinica 185 može odrediti primenjeni režim predikcije na trenutni blok koristeći režim predikcije primenjen na susedni blok.
[0044] Inter predikciona jedinica 180 može da izvede prediktivni blok za trenutni blok na osnovu referentnog bloka (niza referentnih uzoraka) koji je definisan vektorom pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacija o pokretu koje se prenose 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 informacije o pravcu inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju inter predikcije, susedni blok može uključivati prostorni susedni blok prisutan u trenutnoj slici i vremenski susedni blok prisutan u referentnoj slici.
Referentna slika koja uključuje referentni blok i referentna slika koja uključuje vremenski susedni blok mogu biti iste ili različite. Vremenski susedni blok može biti nazvan kolocirani referentni blok, ko-locirani CU (colCU) i slično. Referentna slika koja uključuje vremenski susedni blok može biti nazvana kolocirana slika (colPic). Na primer, inter predikciona jedinica 180 može konfigurisati listu kandidata za informacije o pokretu na osnovu susednih blokova i generisati informacije koje označavaju koji kandidat je korišćen za izvođenje pokretnog vektora i/ili indeksa referentne slike trenutnog bloka. Inter predikcija može biti izvedena na osnovu različitih režima predikcije. Na primer, u slučaju režima preskakanja i režima spajanja, inter predikciona jedinica 180 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 neće biti prenesen. U slučaju režima predikcije pokretnog vektora (MVP), vektor pokreta susednog bloka može biti korišćen kao prediktor pokretnog vektora, a vektor pokreta trenutnog bloka može biti označen kodiranjem razlike pokretnog vektora i indikatora za prediktor pokretnog vektora.
Razlika pokretnog vektora može da označava razliku između pokretnog vektora trenutnog bloka i prediktora pokretnog vektora.
[0045] Predikciona jedinica može generisati signal predikcije na osnovu različitih postupaka predikcije i tehnika predikcije opisanih u nastavku. Na primer, predikciona jedinica ne mora primeniti samo intra predikciju ili inter predikciju, već takođe može istovremeno primeniti i intra predikciju i inter predikciju u cilju predikcije trenutnog bloka. Postupak predikcije koji podrazumeva istovremeno primenjivanje oba, intra predikciju i inter predikciju, može biti nazvan kombinovana inter i intra predikcija (CIIP). Pored toga, predikciona jedinica može izvršiti intra blok kopiranje (IBC) za predikciju trenutnog bloka. Intra blok kopiranje može biti korišćeno za kodiranje sadržaja slike/video zapisa kao što je u slučaju video igara ili sličnih aplikacija, na primer, kodiranje sadržaja ekrana (SCC). IBC je postupak predikcije trenutne slike koristeći prethodno rekonstruisani referentni blok u trenutnoj slici na mestu udaljenom od trenutnog bloka prema prethodno određenoj udaljenosti. Kada se primeni IBC, lokacija referentnog bloka u trenutnoj slici može biti kodirana kao vektor (blok vektor) koji odgovara prethodno određenoj udaljenosti. IBC u suštini vrši predikciju u trenutnoj slici, ali se može izvoditi slično inter predikciji u tom što se referentni blok izvede unutar trenutne slike. To znači da IBC može koristiti najmanje jednu od inter predikcionih tehnika opisanih u ovom otkrivanju.
[0046] Predikcioni signal koji generiše predikciona jedinica može biti korišćen za generisanje rekonstruisanog signala ili za generisanje preostalog signala. Oduzimač 115 može generisati preostali signal (preostali blok ili preostali skup uzoraka) oduzimanjem predikcionog signala (prediktivnog bloka ili predikcija skupa uzoraka) koji izlazi iz predikcione jedinice od ulaznog signala slike (originalnog bloka ili originalnog skupa uzoraka). Generisani preostali signal može biti prosleđen transformatoru 120.
[0047] Transformator 120 može generisati koeficijente transformacije primenom transformacione tehnike na preostali signal. Na primer, transformaciona tehnika može uključivati najmanje jedan 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 grafikona kada su informacija o odnosu između piksela predstavljene grafikonom. CNT se odnosi na transformaciju stečenu na osnovu predikcionog signala generisanog korišćenjem svih prethodno rekonstruisanih piksela. Pored toga, postupak transformacije može biti primenjen na kvadratne blokove piksela iste veličine ili može biti primenjen na blokove koji imaju promenljivu veličinu, umesto da budu kvadratni.
[0048] Kvantizator 130 može kvantizovati koeficijente transformacije i proslediti ih entropijskom koderu 190. Entropijski koder 190 može kodirati kvantizovani signal (informacije o kvantizovanim koeficijentima transformacije) i generisati protok bitova. Informacije o kvantizovanim koeficijentima transformacije mogu biti označene kao preostale informacije. Kvantizator 130 može preurediti kvantizovane koeficijente transformacije iz blok forme u jednosmerni vektorski oblik na osnovu reda skeniranja koeficijenata i generisati informacije o kvantizovanim koeficijentima transformacije zasnovane na kvantizovanim koeficijentima transformacije u tom jednosmernom vektorskom obliku.
[0049] Entropijski koder 190 može izvršiti razne postupke kodiranja, kao što su, na primer, eksponencijalni Golomb, kontekstualno-adaptivno kodiranje promenljive dužine (CAVLC), kontekstualno-adaptivno binarno aritmetičko kodiranje (CABAC) i slično. Entropijski koder 190 može kodirati informacije potrebne za rekonstrukciju video zapisa/slike, osim kvantizovanih transformacionih koeficijenata (npr. vrednosti sintaksičkih elemenata itd.), zajedno ili odvojeno.
Kodirane informacije (npr. kodirane informacije o video zapisu/slici) mogu biti prenete ili čuvane u jedinicama mrežnih apstraktnih slojeva (NAL) u obliku protoka bitova. Informacije o video zapisu/slici mogu dalje uključivati informacije o različitim parametrima kao što su skup parametara za adaptaciju (APS), skup parametara za sliku (PPS), skup parametara za sekvencu (SPS) ili skup parametara za video zapis (VPS). Pored toga, informacije o video zapisu/slici mogu dalje uključivati opšte informacije o ograničenjima. Signalizirane informacije, prenete informacije i/ili sintaksički elementi opisani u ovom otkrivanju mogu biti kodirani kroz gore opisane procedure kodiranja i uključeni u protok bitova.
[0050] Protok bitova može biti prenesen preko mreže ili čuvan na digitalnom medijumu za čuvanje podataka. Mreža može uključivati mrežu za emitovanje i/ili komunikacijsku mrežu, dok digitalni medijum za čuvanje podataka može uključivati različite medijume za čuvanje podataka, kao što su USB, SD, CD, DVD, Blu-ray, HDD, SSD i slično. Predajnik (koji nije prikazan) koji prenosi signal izlazni iz entropijskog kodera 190 i/ili jedinica za čuvanje (koja nije prikazana) koja čuva signal može biti uključena kao unutrašnji/spoljni element uređaja 100 za kodiranje slika.
Alternativno, predajnik može biti obezbeđen kao komponenta entropijskog kodera 190.
[0051] Kvantizovani koeficijenti transformacije izlazni iz kvantizatora 130 mogu se koristiti za generisanje preostalog signala. Na primer, preostali signal (preostali blok ili preostali uzorci) može se rekonstruisati primenom dekvantizacije i inverzne transformacije na kvantizovane koeficijente transformacije kroz dekvantizator 140 i inverzni transformator 150.
[0052] Sabirač 155 dodaje rekonstruisani preostali signal izlazu predikcionog signala iz inter predikcione jedinice 180 ili intra predikcione jedinice 185 kako bi se generisao rekonstruisani signal (rekonstruisana slika, rekonstruisani blok, niz rekonstruisanih uzoraka). Ako za blok koji treba da se obradi ne postoji ostatak, kao što je slučaj kada se primenjuje režim preskakanja, prediktivni blok se može koristiti kao rekonstruisani blok. Sabirač 155 može biti nazvan rekonstruktor ili generator rekonstruisanih blokova. Generisani rekonstruisani signal može se koristiti za intra predikciju sledećeg bloka koji treba da se obradi u trenutnoj slici i može se koristiti za inter predikciju sledeće slike kroz filtriranje, kako je opisano u nastavku.
[0053] Filter 160 može da poboljša subjektivni/objektivni kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 160 može da generiše modifikovanu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku i da čuva modifikovanu rekonstruisanu sliku u memoriji 170, tačnije u DPB memoriji 170. Različiti postupci filtriranja mogu da uključuju, na primer, filtriranje deblokiranjem, adaptivni pomeraj uzorka, filter adaptivne petlje, bilateralni filter i slično. Filter 160 može da generiše razne informacije vezane za filtriranje i da prenese generisane informacije u entropijski koder 190, kako će biti objašnjeno kasnije u opisu svakog postupka filtriranja. Informacije vezane za filtriranje mogu biti kodirane od strane entropijskog kodera 190 i izlaziti u obliku protoka bitova.
[0054] Modifikovana rekonstruisana slika preneta u memoriju 170 može se koristiti kao referentna slika u inter predikcionoj jedinici 180. Kada se primeni inter predikcija kroz uređaj 100 za kodiranje slika, može se izbeći neslaganje u predikciji između uređaja 100 za kodiranje slika 0 i uređaja za dekodiranje slike, čime se poboljšava efikasnost kodiranja.
[0055] DPB memorija 170 može čuvati modifikovanu rekonstruisanu sliku za upotrebu kao referentnu sliku u inter predikcionoj jedinici 180. Memorija 170 može čuvati informacije o kretanju bloka iz kojeg su informacije o kretanju u trenutnoj slici preuzete (ili kodirane) i/ili informacije o kretanju blokova u slici koji su već rekonstruisani. Čuvane informacije o kretanju mogu biti prenete u inter predikcionu jedinicu 180 i korišćene kao informacije o kretanju prostornog susednog bloka ili informacije o kretanju vremenskog susednog bloka. Memorija 170 može čuvati rekonstruisane uzorke rekonstruisanih blokova u trenutnoj slici i može preneti rekonstruisane uzorke u intra predikcionu jedinicu 185.
Pregled uređaja za dekodiranje slika
[0056] FIG.3 predstavlja šematski prikaz uređaj za dekodiranje slika, na koji ovaj način ostvarivanja može da se primenjuje.
[0057] Kao što je prikazano na FIG.3, uređaj za dekodiranje slike 20 može uključivati entropijski dekoder 210, dekvantizator 220, inverzni transformator 230, sabirač 235, filter 240, memoriju 250, inter predikcionu jedinicu 260 i intra predikcionu jedinicu 265. Inter predikciona jedinica 260 i intra predikciona jedinica 265 zajednički se mogu označiti kao "predikciona jedinica". Dekvantizator 220 i inverzni transformator 230 mogu biti uključeni u preostali procesor.
[0058] Sve ili bar neke od komponenti koje konfigurišu uređaj 200 za dekodiranje slike mogu biti konfigurisane hardverskom komponentom (npr. dekoderom ili procesorom) prema jednom načinu ostvarivanja. Pored toga, memorija 250 može uključivati bafer dekodiranih slika (DPB) ili može biti konfigurisana digitalnim medijumom za čuvanje podataka.
[0059] Uređaj 200 za dekodiranje slike, koji je primio protok bitova koji uključuje informacije o video zapisu/slici, može rekonstruisati sliku izvođenjem postupka koji odgovara postupku izvedenom od strane uređaja 100 za kodiranje slika sa FIG.2. Na primer, uređaj 200 za dekodiranje slike može izvršiti dekodiranje koristeći procesorsku jedinicu primenjenu u uređaju za kodiranje slike. Dakle, procesorska jedinica za dekodiranje može biti kodirajuća jedinica, na primer. Kodirajuća jedinica može biti dobijena podelom jedinice kodnog stabla ili najveće kodirajuće jedinice. Rekonstruisani signal slike, dekodiran i izlazno prikazan kroz uređaj za dekodiranje slike 20, može biti reprodukovan kroz uređaj za reprodukciju (koji nije prikazan).
[0060] Uređaj za dekodiranje slike 200 može da primi signal izlaznog protoka bitova sa uređaja za kodiranje slike sa FIG.2. Primljeni signal može biti dekodiran kroz entropijski dekoder 210. Na primer, entropijski dekoder 210 može da analizira protok bitova kako bi izveo informacije (npr. informacije o video zapisu/slici) neophodne za rekonstruisanje slike (ili rekonstrukciju slike). Informacije o video zapisu/ slici mogu dalje 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 videa (VPS). Pored toga, informacije o video zapisu/slici mogu dalje uključivati opšte informacije o ograničenjima. Uređaj za dekodiranje slike može dalje da dekodira sliku na osnovu informacija o skupu parametara i/ili opštim informacijama o ograničenjima. Signali/primljene informacije i/ili sintaksički elementi opisani u ovom otkrivanju mogu biti dekodirani kroz proceduru dekodiranja i dobijeni iz protoka bitova. Na primer, entropijski dekoder 210 dekodira informacije u protoku bitova na osnovu postupka kodiranja kao što je eksponencijalno Golomb kodiranje, CAVLC ili CABAC, i otpremljenih vrednosti sintaksičkih elemenata potrebnih za rekonstrukciju slike i kvantizovanih vrednosti koeficijenata transformacije za preostali deo. Konkretno, CABAC entropijski postupak za dekodiranje može primiti bin koji odgovara svakom sintaksičkom elementu u protoku bitova, odrediti kontekstualni model koristeći informacije o ciljanom sintaksičkom elementu za dekodiranje, informacije o susednom bloku i ciljani blok za dekodiranje ili informacije o simbolu/binu dekodiranim u prethodnoj fazi, i izvršiti aritmetičko dekodiranje na bin pomoću predviđanja verovatnoće pojave bina prema izraženom kontekstualnom modelu, i generisati simbol koji odgovara vrednosti svakog sintaksičkog elementa. U ovom slučaju, CABAC entropijski postupak za dekodiranje može ažurirati kontekstualni model koristeći informacije o dekodiranom simbolu/binu za kontekstualni model sledećeg simbola/bina nakon izražavanja kontekstualnog modela. Informacije koje se odnose na predikciju među informacijama dekodiranim od strane entropijskog dekodera 210 mogu biti prosleđene predikcionoj jedinici (inter predikciona jedinica 260 i intra predikciona jedinica 265), a preostala vrednost na kojoj je izvršen entropijski dekodiranje u entropijskom dekoderu 210, odnosno kvantizovani koeficijenti transformacije i povezane parametarske informacije, mogu biti unesene u dekvantizator 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 (koji nije prikazan) za prijem signalnog izlaza sa uređaja za kodiranje slike može biti dalje konfigurisan kao unutrašnji/spoljašnji element uređaja 200 za dekodiranje slike, ili prijemnik može biti komponenta entropijskog dekodera 210.
[0061] U međuvremenu, uređaj za dekodiranje slike prema ovom otkrivanju može se nazvati uređajem za dekodiranje video zapisa/slike/slike. Uređaj za dekodiranje slike može se klasifikovati u dekoder informacija (dekoder video zapisa/slike/slike) i dekoder uzoraka (dekoder video zapisa/slike/slike uzoraka). Dekoder informacija može uključivati entropijski dekoder 210. Dekoder uzoraka može uključivati najmanje jedan od dekvantizatora 220, inverznog transformatora 230, sabirača 235, filtera 240, memorije 250, inter predikcione jedinice 260 ili intra predikcione jedinice 265.
[0062] Dekvantizator 220 može dekvantizovati kvantizovane koeficijente transformacije i izbaciti koeficijente transformacije. Dekvantizator 220 može prerasporediti kvantizovane koeficijente transformacije u obliku dvodimenzionalnog bloka. U ovom slučaju, preraspoređivanje može biti izvršeno na osnovu reda skeniranja koeficijenata koji je primenjen u uređaju za kodiranje slike. Dekvantizator 220 može izvršiti dekvantizaciju na kvantizovanim transformacionim koeficijentima koristeći parametar kvantizacije (npr. informacije o veličini faze kvantizacije) i dobiti koeficijente transformacije.
[0063] Inverzni transformator 230 može inverzno da transformiše koeficijente kako bi se dobio preostali signal (preostali blok, niz preostalih uzoraka).
[0064] Predikciona jedinica može izvršiti predikciju na trenutnom bloku i generisati prediktivni blok koji uključuje prediktivne uzorke za trenutni blok. Predikciona jedinica može odlučiti da li će se primeniti intra predikcija ili inter predikcija na trenutni blok na osnovu informacija o predikciji koje dolaze iz entropijskog dekodera 210 i može odabrati specifičan intra/inter predikcioni režim (tehniku predikcije).
[0065] Kao što je opisano u predikcionoj jedinici uređaja 100 za kodiranje slika, predikciona jedinica može generisati predikcioni signal na osnovu različitih predikcionih postupaka (tehnika) koji će biti opisani kasnije.
[0066] Intra predikciona jedinica 265 može da predvidi i trenutni blok pozivajući se na uzorke u trenutnoj slici. Opis intra predikcione jedinice 185 se jednako primenjuje na intra predikcionu jedinicu 265.
[0067] Inter predikciona jedinica 260 može da izvede prediktivni blok za trenutni blok na osnovu referentnog bloka (niza referentnih uzoraka) definisanog vektorom pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacija o kretanju koje se prenose u režimu inter predikcije, informacije o kretanju mogu biti predviđene u jedinicama blokova, podblokova ili uzoraka, na osnovu korelacije informacija o kretanju između susednog bloka i trenutnog bloka. Informacije o kretanju mogu uključivati pokretni vektor i indeks referentne slike.
Informacije o kretanju mogu dalje uključivati informacije o pravcu inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju inter predikcije, susedni blok može uključivati prostorni susedni blok prisutan u trenutnoj slici i vremenski susedan blok prisutan u referentnoj slici. Na primer, inter predikciona jedinica 260 može konfigurisati listu kandidata za informacije o kretanju na osnovu susednih blokova i izvući pokretni vektor trenutnog bloka i/ili indeks referentne slike na osnovu primljenih informacija o selekciji kandidata. Inter predikcija može biti izvedena na osnovu različitih režima predikcije, a informacije o predikciji mogu uključivati informacije koje specifično označavaju režim inter predikcije za trenutni blok.
[0068] Sabirač 235 može da generiše rekonstruisani signal (rekonstruisanu sliku, rekonstruisani blok, niz rekonstruisanih uzoraka) dodavanjem dobijenog preostalog signala predikcionom signalu (prediktivnom bloku, nizu prediktivnih uzoraka) koji se otprema iz predikcione jedinice (uključujući inter predikcionu jedinicu 260 i/ili intra predikcionu jedinicu 265). Ako nema preostalog signala za blok koji treba da se obradi, kao što je slučaj kada se primeni režim preskakanja, prediktivni blok može biti korišćen kao rekonstruisani blok. Opis sabirača 155 se jednako primenjuje na sabirač 235. Sabirač 235 može biti nazvan rekonstruktor ili generator rekonstruisanog bloka. Generisani rekonstruisani signal može biti korišćen za intra predikciju sledećeg bloka koji treba da se obradi u trenutnoj slici i može biti korišćen za inter predikciju sledeće slike kroz filtriranje, kako je opisano u nastavku.
[0069] 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, tačnije u DPB memoriji 250. Različiti postupci filtriranja mogu uključivati, na primer, deblokiranje filtriranja, adaptivni pomeraj uzorka, filter adaptivne petlje, bilateralni filter i slično.
[0070] (Modifikovana) rekonstruisana slika koja se čuva u u DPB memoriji 250 može biti korišćena kao referentna slika u inter predikcionoj jedinici 260. Memorija 250 može čuvati informacije o kretanju bloka iz kojeg su informacije o kretanju u trenutnoj slici izvedene (ili dekodirane) i/ili informacije o kretanju blokova u slici koji su već rekonstruisani. Čuvane informacije o kretanju mogu biti prosleđene inter predikcionoj jedinici 260 kako bi se koristile kao informacije o kretanju prostornog susednog bloka ili informacije o kretanju vremenski susednog bloka. Memorija 250 može čuvati rekonstruisane uzorke rekonstruisanih blokova u trenutnoj slici i preneti rekonstruisane uzorke u intra predikcionu jedinicu 265.
[0071] U ovom otkrivanju, načini ostvarivanja opisani u filteru 160, inter predikcionoj jedinici 180 i intra predikcionoj jedinici 185 uređaja 100 za kodiranje slika mogu se jednako ili na odgovarajući režim primeniti na filter 240, inter predikcionu jedinicu 260 i intra predikcionu jedinicu 265 uređaja 200 za dekodiranje slika.
Pregled podele slika
[0072] Postupak kodiranja video zapisa/slika prema ovom otkrivanju može biti izveden na osnovu strukture razdelne slike kao što sledi. Konkretno, postupci predikcije, preostale ((inverzne) transformacije, (de)kvantizacije, itd.), kodiranja sintaksičkih elemenata i filtriranja, koji će biti opisani u nastavku, mogu biti izvedeni na osnovu CTU, CU (i/ili TU, PU) jedinica izvedenih na osnovu razdelne strukture slike. Slika može biti podeljena na blok jedinice i postupak podela blokova može biti izveden u razdelniku 110 slike uređaja za kodiranje.
Informacije vezane za podelu mogu biti kodirane od strane entropijskog kodera 190 i prenesene na uređaj za dekodiranje u obliku protoka bitova. Entropijski dekoder 210 uređaja za dekodiranje može izvesti blok strukturu podela trenutne slike na osnovu informacija o podeli dobijenih iz protoka bitova, a na osnovu toga može izvršiti niz postupaka (npr. predikcija, obrada preostalog dela, rekonstrukcija bloka/slike, filtriranje u petlji, itd.) za dekodiranje slike.
[0073] Slike mogu biti podeljene na sekvencu jedinica kodnih stabala (CTU). FIG.4 prikazuje primer u kojem je slika podeljena na CTU. CTU može odgovarati bloku kodnog stabla (CTB). Alternativno, CTU može uključivati blok kodnog stabla za uzorke luma i dva odgovarajuća bloka kodnog stabla za odgovarajuće uzorke hrome. Na primer, za sliku koja sadrži tri niza uzoraka, CTU može uključivati N×N blok uzoraka luma i dva odgovarajuća bloka uzoraka hrome.
Pregled podele CTU
[0074] Kao što je prethodno opisano, kodirajuća jedinica može biti dobijena rekurzivnim deljenjem jedinice kodnog stabla (CTU) ili najveće kodirajuće jedinice (LCU) prema strukturi kvadratnog stabla/binarnog stabla/ternarnog stabla (QT/BT/TT). Na primer, CTU može biti prvo podeljen u strukture kvadratnog stabla. Nakon toga, lisni čvorovi kvadratnog stabla mogu biti dalje podeljeni korišćenjem višetipskih struktura stabala.
[0075] Podela prema kvadratnom stablu znači da se trenutna CU (ili CTU) deli na četiri jednaka dela. Podelom prema kvadratnom stablu, trenutna CU može biti podeljena na četiri CU sa istom širinom i visinom. Kada trenutna CU više nije podeljena prema strukturi kvadratnog stabla, trenutna CU odgovara lisnom čvoru stabla kvadratnog stabla. CU koji odgovaraju lisnom čvoru stabla kvadratnog stabla više se neće deliti i mogu biti korišćeni kao gore opisana finalna kodirajuća jedinica. Alternativno, CU koji odgovaraju lisnom čvoru stabla kvadratnog stabla mogu biti dalje podeljeni korišćenjem strukture višetipskih stabala.
[0076] FIG.5 predstavlja izgled koji prikazuje način ostvarivanja razdelne vrste bloka prema višetipskoj strukturi stabla. Podela prema višetipskoj strukturi stabla može uključivati dva tipa deljenja prema strukturi binarnog stabla i dva tipa deljenja prema strukturi ternarnog stabla.
[0077] Dva tipa deljenja prema strukturi binarnog stabla mogu uključivati vertikalnu binarnu podelu (SPLIT_BT_VER) i horizontalnu binarnu podelu (SPLIT_BT_HOR). Vertikalna binarna podela (SPLIT_BT_VER) znači da se trenutna CU deli na dva jednaka dela u vertikalnom smeru. Kao što je prikazano na FIG.4, vertikalnom binarnom podelom mogu se generisati dva CU koja imaju istu visinu kao trenutna CU i širinu koja je polovina širine trenutne CU. Horizontalna binarna podela (SPLIT_BT_HOR) znači da se trenutna CU deli na dva jednaka dela u horizontalnom smeru. Kao što je prikazano na FIG.5, horizontalnom binarnom podelom mogu se generisati dva CU koja imaju visinu koja je polovina visine trenutne CU i istu širinu kao trenutna CU.
[0078] Dva tipa deljenja prema strukturi ternarnog stabla mogu uključivati vertikalnu ternarnu podelu (SPLIT_TT_VER) i horizontalnu ternarnu podelu (SPLIT_TT_HOR). U vertikalnoj ternarnoj podeli (SPLIT_TT_VER), trenutna CU se deli u vertikalnom smeru u odnosu 1:2:1. Kao što je prikazano na FIG.5, vertikalnom ternarnom podelom mogu se generisati dva CU koja imaju istu visinu kao trenutna CU i širinu koja je 1/4 širine trenutne CU, kao i CU koja ima istu visinu kao trenutna CU i širinu koja je polovina širine trenutne CU. U horizontalnoj ternarnoj podeli (SPLIT_TT_HOR), trenutna CU se deli u horizontalnom smeru u odnosu 1:2:1. Kao što je prikazano na FIG.5, horizontalnom ternarnom podelom mogu se generisati dve CU koje imaju visinu koja je 1/4 visine trenutne CU i istu širinu kao trenutna CU, kao i CU koja ima visinu koja je polovina visine trenutne CU i istu širinu kao trenutna CU.
[0079] FIG.6 prikazuje izgled koji prikazuje mehanizam signaliziranja informacija o podeli bloka u kvadratnom stablu sa ugnježdenom višetipskom strukturom stabla prema ovom otkrivanju.
[0080] Ovde, CTU se tretira kao korenski čvor kvadratnog stabla, i prvi put se deli na strukturu kvadratnog stabla. Informacija (npr. qt_split_flag) koja označava da li je izvršena podela kvadratnog stabla na trenutnoj CU (CTU ili čvor (QT_node) kvadratnog stabla) je signalizirana. Na primer, kada qt_split_flag ima prvu vrednost (npr. "1"), trenutna CU može biti podeljena na kvadratno stablo. Pored toga, kada qt_split_flag ima drugu vrednost (npr. "0"), trenutna CU nije podeljena na kvadratno stablo, već postaje lisni čvor kvadratnog stabla (QT_leaf_node). Svaki lisni čvor kvadratnog stabla može biti dalje podeljen na strukture višetipskih stabala. To znači da lisni čvor kvadratnog stabla može postati lisni čvor (MTT_node) višetipskog stabla. U strukturi višetipskog stabla, prva zastavica (npr. Mtt_split_cu_flag) je signalizirana kako bi se konkretno naznačilo da li je trenutni lisni čvor dodatno podeljen. Ako je odgovarajući lisni čvor dodatno podeljen (npr. ako je prvi flag 1), signalizira se druga zastavica (npr. Mtt_split_cu_vertical_flag) koja označava pravac podele. Na primer, pravac podele može biti vertikalni ako je druga zastavica 1, a horizontalni pravac ako je druga zastavica 0. Zatim, se signalizira treća zastavica (npr. Mtt_split_cu_binary_flag) koja označava da li je tip podele binarni ili ternarni. Na primer, tip podele može biti binarni tip podele kada je treća zastavica 1, a ternarni tip podele kada je treća zastavica 0. Lisni čvor višetipskog stabla dobijen binarnom ili ternarnom podelom može biti dalje podeljen na strukture višetipskih stabala. Međutim, listni čvor višetipskog stabla neće biti podeljen na kvadratna stabla. Ako je prvi flag 0, odgovarajući čvor višetipskog stabla više se neće deliti, već postaje lisni čvor (MTT_leaf_node) višetipskog stabla. CU koji odgovara lisnom čvoru višetipskog stabla može se koristiti kao gore opisani finalni kodirajući entitet.
[0081] Na osnovu mtt_split_cu_vertical_flag i mtt_split_cu_binary_flag, višetipski režim podele (MttSplitMode) za CU može biti izveden, kao što je prikazano u tabeli 1 nastavku. U opisu koji sledi, režim višetipskog stabla podele može se nazvati i tip podele više stabala ili tip podele.
[Tabela 1]
MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag
[0082] FIG.7 prikazuje primer u kojem je CTU podeljena na više CU primenom višetipskog stabla nakon primene kvadratnog stabla. U FIG.7, podebljane ivice blokova 710 predstavljaju kvadratnu podelu, dok preostale ivice 720 predstavljaju podelu prema višetipskom stablu. CU može odgovarati kodirajućem bloku (CB). U jednom načinu ostvarivanja, CU može uključivati kodirajući blok za luma uzorke i dva kodirajuća bloka za hroma uzorke koji odgovaraju luma uzorcima. Veličina hroma komponente (uzorka) CB ili TB može biti izvedena na osnovu veličine luma komponente (uzorka) CB ili TB, prema odnosu komponenti u zavisnosti od kolor formata (hroma format, npr.4:4:4, 4:2:2, 4:2:0 ili slično) slike. U slučaju 4:4:4 kolor formata, veličina hroma komponente CB/TB može biti postavljena jednako veličini CB/TB za luma komponente. U slučaju 4:2:2 kolor formata, širina hroma komponente CB/TB može biti postavljena na polovinu širine luma komponente CB/TB, dok visina hroma komponente CB/TB može biti postavljena na visinu luma komponente CB/TB. U slučaju 4:2:0 kolor formata, širina hroma komponente CB/TB može biti postavljena na polovinu širine luma komponente CB/TB, dok visina hroma komponente CB/TB može biti postavljena na polovinu visine luma komponente CB/TB.
[0083] U jednom načinu ostvarivanja, kada je veličina CTU 128 na osnovu luma uzorka, veličina CU može imati dimenzije od 128x128 do 4x4, što je ista veličina kao CTU. U jednom načinu ostvarivanja, u slučaju 4:2:0 kolor formata (ili hroma formata), veličina hroma CB može imati dimenzije od 64x64 do 2x2.
[0084] U međuvremenu, u nekom načinu ostvarivanja, veličina CU i veličina TU mogu biti iste. Alternativno, može postojati više TU u CU regionu. Veličina TU generalno predstavlja veličinu transformacionog bloka (TB) za luma komponentu (uzorak).
[0085] Veličina TU može se izračunati na osnovu najveće dozvoljene veličine TB (maxTbSize), koja je prethodno definisana vrednost. Na primer, kada je veličina CU veća od maxTbSize, može se izvesti više TU (TB) jedinica sa maxTbSize veličinom, i transformacija/inverzna transformacija može se izvoditi u jedinicama TU (TB). Na primer, najveća dozvoljena veličina luma TB može biti 64x64, dok najveća dozvoljena veličina hroma TB može biti 32x32. Ako je širina ili visina podeljenog CB prema strukturi stabla veća od najveće dozvoljene širine ili visine transformacije, CB može biti automatski (ili implicitno) podeljen dok se ne zadovolji ograničenje veličine TB u horizontalnom i vertikalnom smeru.
[0086] Pored toga, na primer, kada se primeni intra predikcija, režim/tip intra predikcije može se izvesti u jedinicama CU (ili CB), a postupak za dobijanje susednih referentnih uzoraka i generisanje predikcionih uzoraka može se izvoditi u jedinicama TU (ili TB). U ovom slučaju, može postojati jedna ili više TU (ili TB) jedinica unutar jedne CU (ili CB) regije, i u ovom slučaju, više TU (ili TB) jedinica može deliti isti režim/tip intra predikcije.
[0087] U međuvremenu, za kvadratno stablo kodiranja sa ugnježdenim višetipskim stablom, sledeći parametri mogu biti signalizirani kao SPS sintaksički elementi sa uređaja za kodiranje ka uređaju za dekodiranje. Na primer, najmanje jedan od sledećih parametara može biti signaliziran: veličina CTU koji predstavlja veličinu korenovog čvora kvadratnog stabla, MinQTSize koji predstavlja minimalnu dozvoljenu veličinu čvornog lista kvadratnog stabla, MaxBtSize koji predstavlja maksimalnu dozvoljenu veličinu korenovog čvora binarnog stabla, MaxTtSize koji predstavlja maksimalnu dozvoljenu veličinu korenovog čvora ternarnog stabla, MaxMttDepth koji predstavlja maksimalnu dozvoljenu dubinu hijerarhije razdvajanja višetipskog stabla od lista kvadratnog stabla, MinBtSize koji predstavlja minimalnu dozvoljenu veličinu lista binarnog stabla, MinTtSize koji predstavlja minimalnu dozvoljenu veličinu lista ternarnog stabla.
[0088] Kao način ostvarivanja korišćenja 4:2:0 hroma formata, veličina CTU može biti postavljena na 128x128 luma blokove i dva 64x64 hroma bloka koja odgovaraju luma blokove. U ovom slučaju, MinOTSize može biti postavljen na 16x16, MaxBtSize može biti postavljen na 128x128, MaxTtSize može biti postavljen na 64x64, MinBtSize i MinTtSize mogu biti postavljeni na 4x4, a MaxMttDepth može biti postavljen na 4. Kvadratno stablo deljenja može biti primenjeno na CTU kako bi se generisali listovi kvadratnog stabla. List kvadratnog stabla može biti nazvan lisni čvor QT. Lisni čvorovi kvadratnog stabla mogu imati veličinu od 16x16 (npr., MinOTSize) do 128x128 (npr., veličina CTU). Ako je lisni čvor QT 128x128, ne može se dodatno deliti u binarno stablo/ternarno stablo. Ovo je zato što, u ovom slučaju, čak i ako se deli, premašuje MaxBtSize i MaxTtSize (npr., 64x64). U drugim slučajevima, listovi QT stabla mogu se dalje deliti u više tipova stabala. Dakle, lisni čvor QT je korenski čvor za stablo više tipova, i lisni čvor QT može imati dubinu stabla više tipova (mttDepth) sa vrednošću 0. Ako dubina stabla više tipova dostigne MaxMttDepth (npr., 4), dalja deljenja se ne razmatraju. Ako je širina čvora stabla više tipova jednaka MinBtSize i manja ili jednaka 2xMinTtSize, tada se dalja horizontalna deljenja ne razmatraju. Ako je visina čvora stabla više tipova jednaka MinBtSize i manja ili jednaka 2xMinTtSize, dalja vertikalna deljenja se ne razmatraju. Kada deljenje nije razmatrano, uređaj za kodiranje može preskočiti signalizaciju informacija o deljenju. U ovom slučaju, uređaj za dekodiranje može izvršiti deljenje sa prethodno određenim vrednostima.
[0089] U međuvremenu, jedna CTU može da uključuje kodirajući blok luma uzoraka (u nastavku nazvan "luma blok") i dva kodirajuća bloka hroma uzoraka koji im odgovaraju (u nastavku nazvana "hroma blokovi"). Prethodno navedeni režim kodiranja stabla može se primeniti jednako ili odvojeno na luma bloku i hroma bloku trenutne CU. Konkretno, luma i hroma blokovi u jednoj CTU mogu biti podeljeni u istu strukturu stabla blokova i, u ovom slučaju, struktura stabla se predstavlja kao SINGLE_TREE. Alternativno, luma i hroma blokovi u jednoj CTU mogu biti podeljeni u odvojene strukture stabla blokova, i, u ovom slučaju, struktura stabla može biti predstavljena kao DUAL_TREE. To znači, kada je CTU podeljena u dvojna stabla, struktura stabla blokova za luma blok i struktura stabla blokova za hroma blok mogu biti odvojene. U ovom 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 odsečaka/pločica, luma i hroma blokovi u jednoj CTU mogu biti ograničeni da imaju istu strukturu stabla kodiranja. Međutim, za I grupe odsečaka/pločica, luma i hroma blokovi mogu imati odvojene strukture stabala blokova. Ako se primeni odvojena struktura stabala blokova, luma CTB može biti podeljen u CU na osnovu određene strukture stabla kodiranja, i hroma CTB može biti podeljen u hroma CU na osnovu druge strukture stabla kodiranja. To znači da CU u I grupi odsečaka/pločica, na koju se primenjuje odvojena struktura stabala blokova, može da uključuje kodirajući blok luma komponente ili kodirajuće blokove dve hroma komponente, a CU u P ili B grupi odsečaka/pločica može da uključuje blokove tri komponente boje (jednu luma komponentu i dve hroma komponente).
[0090] Iako je opisano kodiranje stabla kvadratnog tipa sa ugnježdenim stablom više tipova, struktura u kojoj je CU podeljena nije ograničena samo na to. Na primer, BT struktura i TT struktura mogu da se tumače kao koncept uključen u strukturu stabla sa više particija (MPT), i CU može da se tumači kao podeljena kroz QT strukturu i MPT strukturu. U primeru kada je CU podeljena kroz QT strukturu i MPT strukturu, sintaksički element (npr., MPT_split_type) koji uključuje informacije o tome u koliko blokova je podeljen lisni čvor QT strukture i sintaksički element (npr., MPT_split_mode) koji uključuje informacije o tome u kojem pravcu (vertikalnom ili horizontalnom) je lisni čvor QT strukture podeljen, mogu biti signalizirani da odrede razdelnu strukturu.
[0091] U drugom primeru, CU može biti podeljena na drugačiji način nego što je to slučaj sa QT strukturom, BT strukturom ili TT strukturom. To znači, za razliku od toga što je CU manje dubine podeljena na 1/4 CU veće dubine prema QT strukturi, CU niže dubine može biti podeljena na 1/2 CU veće dubine prema BT strukturi, ili CU manje dubine može biti podeljena na 1/4 ili 1/2 CU veće dubine prema TT strukturi. U nekim slučajevima, CU manje dubine može biti podeljena na 1/5, 1/3, 3/8, 3/5, 2/3, ili 5/8 CU veće dubine, a postupak deljenja CU nije ograničen samo na to.
[0092] Struktura blokova kodiranja kvadratnog stabla sa višetipskim stablom može pružiti veoma fleksibilnu strukturu razdelne blokova. Zbog tipova particija koji su podržani u višetipskom stablu, različiti obrasci deljenja mogu potencijalno rezultirati istom strukturom kodirajućeg bloka u nekim slučajevima. U uređaju za kodiranje i uređaju za dekodiranje, ograničavanjem pojavljivanja takvih redundantnih obrazaca deljenja, količina podataka o deljenju može biti smanjena.
[0093] Na primer, FIG.8 prikazuje redundantni obrazac deljenja koji može nastati u binarnom i ternarnom stablu deljenja. Kao što je prikazano na FIG.8, kontinuirano binarno deljenje 810 i 820 za jedan pravac u dva nivoa imaju istu strukturu kodirajućeg bloka kao binarno deljenje za centar particije nakon ternarnog deljenja. U ovom slučaju, binarno deljenje za centre blokova 830 i 840 ternarnog stabla može biti zabranjeno. Ova zabrana se primenjuje na CU svih slika. Kada je takvo specifično deljenje zabranjeno, signalizacija odgovarajućih sintaksičkih elemenata može biti modifikovana odražavajući ovaj zabranjeni slučaj, čime se smanjuje broj bitova koji se signaliziraju za deljenje. Na primer, kao što je prikazano u primeru na FIG.8, kada je binarno deljenje za centar bloka CU zabranjeno, sintaksički element mtt_split_cu_binary_flag koji označava da li je deljenje binarno ili ternarno deljenje nije signaliziran, a njegova vrednost može biti izvedena kao 0 uređajem za dekodiranje.
Pregled hroma formata
[0094] U nastavku će biti opisan hroma format. Slika može biti kodirana u kodirane podatke koji uključuju niz luma komponente (npr., Y) i dva niza hroma komponenata (npr., Cb i Cr). Na primer, jedan piksel kodirane slike može da uključuje jedan uzorak luma komponente i jedan uzorak hroma komponente. Hroma format može biti korišćen za predstavljanje konfiguracionog formata uzorka luma komponente i uzorka hroma komponente, i hroma format može biti nazvan format boje.
[0095] U nekom načinu ostvarivanja, slika može biti kodirana u različite hroma formate kao što su monohroma, 4:2:0, 4:2:2 ili 4:4:4. U monohroma uzorkovanju, može postojati jedan niz uzoraka i taj niz uzoraka može biti niz luma komponente. U 4:2:0 uzorkovanju, može postojati jedan niz luma komponente i dva niza hroma komponenata, pri čemu svaki od dva niza hromskih komponenata može imati visinu jednaku polovini visine luma komponente i širinu jednaku polovini širine luma komponente. U 4:2:2 uzorkovanju, može postojati jedan niz luma komponente i dva niza hroma komponenata, pri čemu svaki od dva niza hromskih komponenata može imati visinu jednaku visini luma komponente i širinu jednaku polovini širine luma komponente. U 4:4:4 uzorkovanju, može postojati jedan niz luma komponente i dva niza hroma komponenata, pri čemu svaki od dva niza hromskih komponenata može imati visinu i širinu jednaku onima luma komponente.
[0096] Na primer, u 4:2:0 uzorkovanju, hroma uzorak može biti smešten ispod odgovarajućeg luma uzorka. U 4:2:2 uzorkovanju, hroma uzorak može biti smešten tako da se preklapa sa odgovarajućim luma uzorkom. U 4:4:4 uzorkovanju, i luma uzorak i hromauzorak mogu biti smešteni na preklapajućoj poziciji.
[0097] Hroma format koji se koristi u uređaju za kodiranje i uređaju za dekodiranje može biti prethodno određen. Alternativno, hroma format može biti signaliziran od uređaja za kodiranje ka uređaju za dekodiranje kako bi se adaptivno koristio u oba uređaja. U nekom načinu ostvarivanja, hroma format može biti signaliziran na osnovu najmanje jednog od chroma_format_idc ili separate_colour_plane_flag. Najmanje jedan od chroma_format_idc ili separate_colour_plane_flag može biti signaliziran kroz višestruku sintaksu kao što su DPS, VPS, SPS ili PPS. Na primer, chroma_format_idc i separate_colour_plane_flag mogu biti uključeni u SPS sintaksu prikazanu na FIG.9.
[0098] U međuvremenu, FIG.10 prikazuje način ostvarivanja klasifikacije hroma formata koristeći signalizaciju chroma_format_idc i separate_colour_plane_flag. Chroma_format_idc može biti informacija koja označava hroma format primenjen na kodiranu sliku.
Separate_colour_plane_flag može da označava da li se niz boja posebno obrađuje u određenom hroma formatu. Na primer, prva vrednost (npr., 0) chroma_format_idc može da označava monohroma uzorkovanje. Druga vrednost (npr., 1) chroma_format_idc može da označava 4:2:0 uzorkovanje. Treća vrednost (npr., 2) chroma_format_idc može da označava 4:2:2 uzorkovanje. Četvrta vrednost (npr., 3) chroma_format_idc može da označava 4:4:4 uzorkovanje.
[0099] U 4:4:4 formatu, sledeće može da se primeni na osnovu vrednosti separate_colour_plane_flag. Ako je vrednost separate_colour_plane_flag prva vrednost (npr., 0), svaki od dva hroma niza može imati istu visinu i širinu kao niz lumske komponente. U ovom slučaju, vrednost HromaArrayType koja označava tip niza hroma uzorka može biti postavljena kao chroma_format_idc. Ako je vrednost separate_colour_plane_flag druga vrednost (npr., 1), nizovi luma, Cb i Cr mogu biti posebno obrađeni i obrađivani zajedno sa slikama sa monohroma uzorkovanjem. U ovom slučaju, HromaArrayType može biti postavljen na 0.
Intra predikcija na hroma bloku
[0100] Kada se izvrši intra predikcija na trenutnom bloku, predikcija za blok luma komponente (luma blok) trenutnog bloka i predikcija za blok hroma komponente (hroma blok) mogu se izvršiti. U ovom slučaju, intra predikcioni režim za hroma blok može biti postavljen odvojeno od intra predikcionog režima za luma blok.
[0101] Na primer, intra predikcioni režim za hroma blok može biti definisan na osnovu informacija o intra predikciji hrome, a te informacije mogu biti signalizirane u obliku sintaksičkog elementa intra_chroma_pred_mode. Na primer, informacije o intra predikcionom režimu hrome mogu predstavljati jedan od sledećih režima: planarni režim, DC režim, vertikalni režim, horizontalni režim, izvedeni režim (DM) i linearni model unakrsne komponente (CCLM) režim. Ovde, planarni režim može da označava intra predikcioni režim #0, DC režim može da označava intra predikcioni režim #1, vertikalni režim može da označava intra predikcioni režim #26, i horizontalni režim može da označava intra predikcioni režim #10. DM se takođe može da označava kao direktan režim. CCLM se takođe može da označava kao linearni model (LM). CCLM režim može uključivati najmanje jedan od L_CCLM, T_CCLM i LT_CCLM.
[0102] U međuvremenu, DM i CCLM su zavisni intra predikcioni režimi za predikciju hroma bloka koristeći informacije o luma bloku. DM može predstavljati režim u kojem se isti intra predikcioni režim kao za intra predikcioni režim za luma komponentu primenjuje kao i intra predikcioni režim za hroma komponentu. Pored toga, CCLM može predstavljati intra predikcioni režim koji koristi, kao predikcione uzorke hroma bloka, uzorke izvedene postupkom pod-uzorkovanja rekonstruisanih uzoraka luma bloka, a zatim primenom α i β, koji su CCLM parametri, na poduzorkovane uzorke u postupku generisanja predikcionog bloka za hroma blok.
CCLM (Linearni model unakrsne komponente) režim
[0103] Kao što je prethodno opisano, CCLM režim može biti primenjen na hroma blok. CCLM režim je intra predikcioni režim koji koristi korelaciju između luma bloka i hroma bloka koji odgovara tom luma bloku, i sprovodi se izvođenjem linearnog modela na osnovu susednih uzoraka luma bloka i susednih uzoraka hroma bloka. Pored toga, predikcioni uzorak hroma bloka može biti izveden na osnovu izvedenog linearnog modela i rekonstruisanih uzoraka luma bloka.
[0104] Konkretno, kada se CCLM režim primenjuje na trenutni hroma blok, parametri za linearni model mogu biti izvedeni na osnovu susednih uzoraka koji se koriste za intra predikciju trenutnog hroma bloka i susednih uzoraka koji se koriste za intra predikciju trenutnog luma bloka. Na primer, linearni model za CCLM može biti izražen na osnovu sledeće jednadžbe.
u kojoj, predc(i,j) može da označava predikcioni uzorak koordinata (i, j) trenutnog hroma bloka u trenutnom CU. recL'(i,j) može da označava rekonstruisani uzorak koordinata (i, j) trenutnog luma bloka u CU. Na primer, recL'(i,j) može da označava smanjeno-uzorkovan rekonstruisani uzorak trenutnog luma bloka. Koeficijenti linearnog modela α i β mogu biti signalizirani ili izvedeni iz susednih uzoraka.
Prikaz paletnog režima
[0105] U nastavku će biti opisan paletni režim. Uređaj za kodiranje prema jednom načinu ostvarivanja može da kodira sliku koristeći paletni režim, a uređaj za dekodiranje može da dekodira sliku koristeći paletni režim na način koji odgovara tome. Paletni režim može biti nazvan režimom paletnog kodiranja, intra paletnim režimom, intra paletnim kodiranjem, itd. Paletni režim može se smatrati vrstom intra kodiranja ili može biti smatran jednim od postupaka intra predikcije. Međutim, slično prethodno opisanim režimima preskakanja, posebna vrednost ostatka za odgovarajući blok možda neće biti signalizirana.
[0106] U nekom načinu ostvarivanja, paletni režim može biti korišćen da poboljša efikasnost kodiranja pri kodiranju sadržaja sa ekrana, koji je slika generisana računarom i uključuje značajnu količinu teksta i grafike. Generalno, lokalna oblast slike generisane kao sadržaj ekrana je odvojena oštrim ivicama i izražena je sa malim brojem boja. Da bi se iskoristila ova karakteristika, u paletnom režimu, uzorci za jedan blok mogu biti izraženi indeksima koji označavaju unos boje iz tabele paleta.
[0107] Da bi se primenio paletni režim, informacije o tabeli paleta mogu biti signalizirane. U nekom načinu ostvarivanja, tabela paleta može da uključuje indeks vrednosti koje odgovaraju svakoj boji. Da bi se signalizirao indeks vrednost, informacije o predikciji paletnog indeksa mogu biti signalizirane. Informacije o predikciji paletnog indeksa mogu da uključuju indeks vrednost za barem deo mape paletnog indeksa. U mapi paletnog indeksa, pikseli video podataka mogu biti mapirani na indekse boja iz tabele paleta.
[0108] Informacije o predikciji paletnog indeksa mogu da uključuju informacije o vrednosti runa. Za barem deo mape paletnog indeksa, informacije o vrednosti runa mogu povezivati vrednost runa sa indeks vrednošću. Jedna vrednost runa može biti povezana sa indeksom boje za izuzetak. Mapa paletnog indeksa može biti generisana na osnovu informacija o predikciji paletnog indeksa. Na primer, barem deo mape paletnog indeksa može biti generisan određivanjem da li treba prilagoditi indeks vrednost informacija o predikciji paletnog indeksa na osnovu poslednje indeks vrednosti.
[0109] Trenutni blok u trenutnoj slici može biti kodiran ili rekonstruisan u skladu sa mapom paletnog indeksa. Pri primeni paletnog režima, vrednost piksela u trenutnoj kodirajućoj jedinici može biti izražena kao mali skup reprezentativnih boja. Takav skup može biti nazvan paleta. Za piksele koji imaju vrednost blisku boji iz palete, paletni indeks može biti signaliziran. Za piksele koji imaju vrednost koja ne pripada (koja je van) palete, odgovarajući pikseli mogu biti označeni simbolom za izuzetak i kvantizovana vrednost piksela može biti direktno signalizirana. U ovom dokumentu, piksel ili vrednost piksela može biti opisana kao uzorak.
[0110] Da bi se kodirao blok kodiran u paletnom režimu, uređaj za dekodiranje može da dekodira boju iz palete i indeks. Boja iz palete može biti opisana u tabeli paleta i može biti kodirana korišćenjem alata za kodiranje tabele paleta. Zastavica izuzetka može biti signaliziran za svaku kodirajuću jedinicu. Zastavica izuzetka može da označava da li je simbol za izuzetak prisutan u trenutnoj kodirajućoj jedinici. Ako je simbol za izuzetak prisutan, tabela paleta može biti povećana za 1 jedinicu (npr. jedinicu indeksa) i poslednji indeks može biti označen kao režim za izuzetak. Paletni indeksi svih piksela za jednu kodirajuću jedinicu mogu konfigurisati mapu paletnog indeksa i mogu biti kodirani korišćenjem alata za kodiranje mape paletnog indeksa.
[0111] Na primer, da bi se kodirala tabela paleta, može biti održavan prediktor palete. Prediktor palete može biti inicijalizovan na početnoj tački svakog odsečka. Na primer, prediktor palete može biti resetovan na 0. Za svaki unos prediktora palete, zastavica za ponovnu upotrebu koji označava da li je to deo trenutne palete može biti signaliziran. Zastavica za ponovnu upotrebu može biti signaliziran korišćenjem kodiranja dužine pokrivanja vrednosti 0.
[0112] Nakon toga, brojevi za nove unose u paletu mogu biti signalizirani korišćenjem eksponencijalnog Golomb koda nultog reda. Na kraju, komponente vrednosti za novi unos u paletu mogu biti signalizirane. Nakon kodiranja trenutne kodirajuće jedinice, prediktor palete može biti ažuriran koristeći trenutnu paletu, a unos iz prethodnog prediktora palete koji nije ponovo upotrebljen u trenutnoj paleti (dok se ne dostigne dozvoljeni maksimalni broj) može biti dodat na kraj novog prediktora palete, a ovo se može nazvati "punjenje palete".
[0113] Na primer, da bi se kodirala mapa paletnog indeksa, indeksi mogu biti kodirani korišćenjem horizontalnog ili vertikalnog skeniranja. Redosled skeniranja može biti signaliziran kroz protok bitova koristeći palette_transpose_flag, koji je parametar koji označava pravac skeniranja. Na primer, kada horizontalno skeniranje bude primenjeno za skeniranje indeksa za uzorke u trenutnoj kodirajućoj jedinici, palette_transpose_flag može imati prvu vrednost (npr.
0), a kada vertikalno skeniranje bude primenjeno, palette_transpose_flag može imati drugu vrednost (npr. 1). FIG.11 prikazuje način ostvarivanja horizontalnog skeniranja i vertikalnog skeniranja prema jednom načinu ostvarivanja.
[0114] Pored toga, u nekom načinu ostvarivanja, paletni indeks može biti kodiran koristeći 'INDEX' režim i COPY_ABOVE režim. Osim u slučaju kada je režim paletnog indeksa signaliziran za gornji red kada se koristi horizontalno skeniranje, u slučaju kada je režim paletnog indeksa signaliziran za levu kolonu kada se koristi vertikalno skeniranje, i u slučaju kada je prethodni režim 'COPY_ABOVE', ova dva režima mogu biti signalizirana korišćenjem jedne zastavice.
[0115] U 'INDEX' režimu, paletni indeks može biti eksplicitno signaliziran. Za INDEX režim i 'COPY_ABOVE' režim, vrednost runa koja označava broj piksela kodiranih koristeći isti režim može biti signalizirana.
[0116] Redosled kodiranja za mapu indeksa može biti postavljen na sledeći režim. Prvo, broj indeks vrednosti za kodirajuću jedinicu može biti signaliziran. Ovo se može izvršiti nakon signaliziranja stvarne indeks vrednosti za celu kodirajuću jedinicu koristeći skraćeno binarno kodiranje. I broj indeksa i indeks vrednosti mogu biti kodirani u premosnom režimu. Kroz ovo, premosni binovi povezani sa indeksom mogu biti grupisani. Zatim, paletni režim (INDEX ili COPY_ABOVE) i vrednost izvršavanja toka mogu biti signalizirani korišćenjem postupka interlivinga.
[0117] Na kraju, komponente escape vrednosti koje odgovaraju izuzetnim uzorcima za celu kodirajuću jedinicu mogu biti međusobno grupisane i kodirane u premosnom režimu. last_run_type_flag, koji je dodatni sintaksički element, može biti signaliziran nakon signaliziranja indeks vrednosti. Korišćenjem last_run_type_flag zajedno sa brojem indeksa, signaliziranje vrednosti izvršavanja toka koje odgovaraju poslednjem izvršavanju toka u bloku može biti preskočeno.
[0118] U nekom načinu ostvarivanja, tip dvojnog stabla, u kojem se nezavisna podela kodirajuće jedinice vrši na komponenti luma i komponenti hroma, može biti korišćen za I odsečak. Paletni režim može se primeniti na komponentu luma i komponentu hroma pojedinačno ili zajedno. Ako se dvojno stablo ne primenjuje, paletni režim je primenjiv na sve Y, Cb i Cr komponente.
[0119] U nekom načinu ostvarivanja, sintaktički element za paletni režim može biti kodiran i signaliziran kao što je prikazano na FIGS.12 do 19. FIG.12 do FIG.13 prikazuju uzastopnu sintaksu u kodirajućoj jedinici (CU) za paletni režim, a FIG.14 do 19 prikazuju uzastopnu sintaksu za paletni režim.
[0120] U nastavku će biti opisan svaki sintaktički element. pred_mode_plt_flag, koji je flag za paletni režim, može da označava da li se paletni režim primenjuje na trenutnu kodirajuću jedinicu. Na primer, prva vrednost (npr.0) pred_mode_plt_flag može da označava da paletni režim ne primenjuje na trenutnu kodirajuću jedinicu. Druga vrednost (npr.1) pred_mode_plt_flag može da označava da paletni režim primenjuje na trenutnu kodirajuću jedinicu. Kada pred_mode_plt_flag nije dobijen iz protoka bitova, vrednost pred_mode_plt_flag može biti određena kao prva vrednost.
[0121] Parametar PredictorPaletteSize[startComp] može da označava veličinu prediktorske palete za startComp, što je prva kolor komponenta trenutne tabele paleta.
[0122] Parametar PalettePredictorEntryReuseFlags[i] može da sadrži informacije koje označavaju da li treba ponovo koristiti unos. Na primer, prva vrednost (npr.0) PalettePredictorEntryReuseFlags[i] može da označava da i-th unos prediktorske palete nije unos trenutne palete, dok druga vrednost (npr.1) može da označava da i-th unos prediktorske palete može biti ponovo upotrebljen u trenutnoj paleti. Za upotrebu PalettePredictorEntryReuseFlags[i], početna vrednost može biti postavljena na 0.
[0123] Parametar palette_predictor_run može da označava broj 0-ova koji se javljaju pre nego što se pojavi vrednost koja nije nula u nizu PalettePredictorEntryReuseFlags.
[0124] Parametar num_signalled_palette_entries može da označava broj unosa u trenutnoj paleti koji su eksplicitno signalizirani za prvu kolor komponentu startComp trenutne tabele paleta. Kada num_signalled_palette_entries nije dobijen iz protoka bitova, vrednost num_signalled_palette_entries može biti određena kao 0.
[0125] Parametar CurrentPaletteSize[startComp] može da označava veličinu trenutne palete za prvu kolor komponentu startComp trenutne tabele paleta. Ovo može biti izračunato kao što je prikazano u sledećoj jednadžbi. Vrednost CurrentPaletteSize[startComp] može imati opseg od 0 do palette_max_size.
CurrentPaletteSize[ startComp ] = NumPredictedPaletteEntries num_signalled_palette_entries [Jednačina 2]
[0126] Parametar new_palette_entries[ cIdx ][ i ] može da označava vrednost paletnog unosa ith-signaliziranog za kolor komponentu cIdx.
[0127] Parametar PredictorPaletteEntries[ cIdx ][ i ] može da označava i-th element u prediktorskoj paleti za kolor komponentu cIdx.
[0128] Parametar CurrentPaletteEntries[ cIdx ][ i ] može da označava i-th element u trenutnoj paleti za kolor komponentu cIdx. PredictorPaletteEntries i CurrentPaletteEntries mogu biti generisani kao što je prikazano na jednačinu sa FIG.20.
[0129] Parametar palette_escape_val_present_flag može da označava da li je prisutan uzorak za kodiranje izuzetka. Na primer, prva vrednost (npr.0) palette_escape_val_present_flag može da označava da je uzorak za kodiranje izuzetka prisutan za trenutnu kodirajuću jedinicu, dok druga vrednost (npr. 1) palette_escape_val_present_flag može da označava da trenutna kodirajuća jedinica uključuje barem jedan uzorak za kodiranje izuzetka. Kada palette_escape_val_present_flag nije dobijen iz protoka bitova, vrednost palette_escape_val_present_flag može biti određena kao 1.
[0130] Parametar MaxPaletteIndex može da označava maksimalnu dostupnu vrednost paletnog indeksa za trenutnu kodirajuću jedinicu. Vrednost MaxPaletteIndex može biti određena kao CurrentPaletteSize[startComp] palette_escape_val_present_flag.
[0131] Parametar num_palette_indices_minus1 može da označava broj paletnih indeksa koji su eksplicitno ili implicitno signalizirani za trenutni blok. Na primer, vrednost dobijena dodavanjem 1 na num_palette_indices_minus1 može da označava broj paletnih indeksa koji su eksplicitno ili implicitno signalizirani za trenutni blok. Kada num_palette_indices_minus1 nije uključena u protok bitova, vrednost num_palette_indices_minus1 može biti određena kao 0.
[0132] Parametar palette_idx_idc može biti indikator indeksa za tabelu paleta CurrentPaletteEntries. Vrednost palette_idx_idc može imati vrednost od 0 do MaxPaletteIndex za prvi indeks odgovarajućeg bloka, a može imati vrednost od 0 do MaxPaletteIndex-1 za preostale indekse odgovarajućeg bloka. Kada vrednost palette_idx_idc nije dobijena iz protoka bitova, vrednost palette_idx_idc može biti određena kao 0.
[0133] Parametar PaletteIndexIdc[i] može biti niz koji čuva vrednost i-th palette_idx_idc signaliziranog eksplicitno ili implicitno. Vrednosti svih elemenata PaletteIndexIdc[i] mogu biti inicijalizovane na 0.
[0134] Parametar copy_above_indices_for_final_run_flag može da označava informacije koje označavaju da li treba kopirati prethodni indeks za poslednje izvršavanje toka. Prva vrednost (npr. 0) može da označava da je paletni indeks na poslednjoj poziciji trenutne kodirajuće jedinice eksplicitno ili implicitno signaliziran kroz protok bitova, dok druga vrednost (npr.1) može da označava da je paletni indeks na poslednjoj poziciji trenutne kodirajuće jedinice eksplicitno ili implicitno signaliziran kroz protok bitova. Kada copy_above_indices_for_final_run_flag nije dobijen iz protoka bitova, vrednost copy_above_indices_for_final_run_flag može biti određena kao 0.
[0135] Parametar palette_transpose_flag može da označava informacije koje označavaju postupak skeniranja koji se koristi za skeniranje indeksa za piksel trenutne kodirajuće jedinice. Na primer, prva vrednost (npr.0) palette_transpose_flag može da označava da horizontalno skeniranje primenjuje za skeniranje indeksa za piksel trenutne kodirajuće jedinice, dok druga vrednost (npr. 1) palette_transpose_flag može da označava da vertikalno skeniranje primenjuje za skeniranje indeksa za piksel trenutne kodirajuće jedinice. Kada palette_transpose_flag nije dobijen iz protoka bitova, vrednost palette_transpose_flag može biti određena kao 0.
[0136] Prva vrednost (npr.0) parametra copy_above_palette_indices_flag može da označava da je indikator koji označava paletni indeks uzorka dobijen ili izveden iz kodirane vrednosti protoka bitova. Druga vrednost (npr.1) copy_above_palette_indices_flag može da označava da je paletni indeks isti kao paletni indeks susednog uzorka. Na primer, susedni uzorak može biti uzorak smešten na istoj poziciji kao trenutni uzorak u levoj koloni trenutnog uzorka kada je vertikalno skeniranje trenutno primenjeno. Alternativno, susedni uzorak može biti uzorak smešten na istoj poziciji kao trenutni uzorak u gornjem redu trenutnog uzorka kada je horizontalno skeniranje trenutno primenjeno.
[0137] Prva vrednost (npr.0) parametra CopyAboveIndicesFlag[xC][yC] može da označava da je paletni indeks eksplicitno ili implicitno dobijen iz protoka bitova. Druga vrednost (npr.1) može da označava da je paletni indeks generisan kopiranjem paletnog indeksa iz leve kolone kada je vertikalno skeniranje trenutno primenjeno, ili kopiranjem paletnog indeksa iz gornjeg reda kada je horizontalno skeniranje trenutno primenjeno. Ovde, xC i yC su indikatori koordinata relativno koji označavaju poziciju trenutnog uzorka u odnosu na uzorak u gornjem levom kutu trenutne slike. PaletteIndexMap[xC][yC] može imati vrednost od 0 do (MaxPaletteIndex - 1).
[0138] Parametar PaletteIndexMap[xC][yC] može da označava paletni indeks i, na primer, specificirati indeks za niz koji je predstavljen sa CurrentPaletteEntries. Indeksi niza xC i yC su indikatori koordinata koji označavaju koordinate trenutnog uzorka u odnosu na uzorak u gornjem levom kutu trenutne slike, kao što je prethodno opisano. PaletteIndexMap[xC][yC] može imati vrednost od 0 do (MaxPaletteIndex - 1).
[0139] Parametar PaletteRun može da označava broj uzastopnih pozicija koje imaju isti paletni indeks, kada je vrednost CopyAboveIndicesFlag[xC][yC] 0. U međuvremenu, kada je vrednost CopyAboveIndicesFlag[xC][yC] 1, PaletteRun može da označava broj uzastopnih pozicija koje imaju isti paletni indeks kao paletni indeks na poziciji u gornjem redu kada je trenutni pravac skeniranja horizontalno skeniranje, ili kao paletni indeks na poziciji u levoj koloni kada je trenutni pravac skeniranja vertikalno skeniranje.
[0140] Parametar PaletteMaxRun može da označava maksimalnu dostupnu vrednost PaletteRun. Vrednost PaletteMaxRun može biti ceo broj veći od 0.
[0141] Parametar palette_run_prefix može da označava deo prefiksa koji se koristi za bianrizaciju PaletteRun.
[0142] Parametar palette_run_suffix može da označava sufiks koji se koristi za binarizaciju PaletteRun. Kada palette_run_suffix nije dobijen iz protoka bitova, vrednost istog može biti određena kao 0.
[0143] Vrednost PaletteRun može biti određena na sledeći režim. Na primer, kada je vrednost palette_run_prefix maja od 2, to može da se izračuna na sledeći režim.
[0144] U suprotnom, kada je vrednost palette_run_prefix jednaka ili veća od 2, ovo se može izračunati na sledeći režim.
[0145] Parametar palette_escape_val može označavati kvantizovanu vrednost za escape kodiranje uzorka za komponentu. Parametar PaletteEscapeVal[cIdx][xC][yC] može označavati escape vrednost uzorka sa PaletteIndexMap[xC][yC] vrednošću (MaxPaletteIndex - 1) i vrednošću palette_escape_val_present_flag 1. Ovde, cIdx može označavati kolor komponentu. Indikatori niza xC i yC mogu biti indikatori pozicije koji označavaju relativne distance pozicije trenutnog uzorka u odnosu na uzorak u gornjem levom kutu trenutne slike, kao što je prethodno opisano.
Signaliziranje režima predikcije hroma prilikom primene paletnog režima
[0146] U nastavku će biti opisan postupak signaliziranja informacija o hroma predikcija režimu prilikom primene paletnog režima. U nekom načinu ostvarivanja, hroma predikcija kodiranje kao što je CCLM možda neće biti primenjen na kodirajuću jedinicu (ili kodirajući blok) na koju se primenjuje paletni režim. Pored toga, intra_chroma_pred_mode možda neće biti signaliziran za kodirajuću jedinicu na koju se primenjuje paletni režim.
[0147] Nakon određivanja da je CCLM dostupan za hroma komponentu, može biti signalizirana zastavica za uključivanje/isključivanje. U nekom načinu ostvarivanja, dostupnost CCLM-a može biti određena korišćenjem sps_palette_enabled_flag ili sps_plt_enabled_flag, a zastavica uključivanja/isključivanja CCLM-a može biti signalizirana korišćenjem sps_palette_enabled_flag ili sps_plt_enabled_flag.
[0148] U međuvremenu, u primeru sa FIG.13, signaliziranje informacija o CCLM (npr. cclm_mode_flag) ne uzima u obzir da li se primenjuje paletni režim kodirajuće jedinice. Na primer, u primeru sa FIG.13, opisuje se način ostvarivanja u kojem se prethodno određene informacije o hroma predikciji (npr. cclm_mode_flag, intra_chroma_pred_mode) signaliziraju kada se paletni režim ne primenjuje na trenutnu kodirajuću jedinicu ili kada kodirajuća jedinica nije hroma dvojnog stabla.
[0149] U ovom slučaju, kako se prethodno određene informacije o hroma predikciji signaliziraju u paletom kodiranom bloku u singl stablu, može doći do nepotrebnog signaliziranja sintakse. Pored toga, kako se prethodno određene informacije o hroma predikciji signaliziraju, čak iako je hroma komponenta u kodirajućoj jedinici kodirana u paletnom režimu, može se izvršiti hroma intra predikcija prema CCLM, kao i hroma intra predikcija prema DM režimu.
[0150] Kako bi se rešio gore opisani problem, sintaksa za kodirajuću jedinicu može biti modifikovana kao što je prikazano na FIG.21. FIG.21 prikazuje sintaksu kodirajuće jedinice koja označava da su prethodno određene informacije o hroma intra predikciji 2120 dobijene iz protoka bitova, kada je vrednost pred_mode_plt_flag 2110, koji je parametar koji označava da li se paletni režim primenjuje na trenutnu kodirajuću jedinicu, prva vrednost (npr.0), koja označava da se paletni režim ne primenjuje. Pored toga, sintaksa FIG.21 precizira da prethodno određene informacije o hroma intra predikciji 2120 nisu dobijene iz protoka bitova kada je vrednost pred_mode_plt_flag 2110 druga vrednost (npr.1), koja označava da se paletni režim primenjuje.
[0151] Kao u načinu ostvarivanja iz FIG.21, da bi se signalizirale prethodno određene informacije o hroma predikciji (npr. cclm_mode_flag, intra_chroma_pred_mode), prethodno određene informacije o hroma predikciji (npr. cclm_mode_flag, intra_chroma_pred_mode) mogu biti signalizirane u zavisnosti od toga da li se paletni režim primenjuje na trenutnu kodirajuću jedinicu.
[0152] U nastavku, signaliziranje prethodno određenih hroma intra predikcija informacija prema sintaksi iz FIG.21 biće opisano uz referencu na FIG.22. Uređaj za kodiranje ili uređaj za dekodiranje prema jednom načinu ostvarivanja može odrediti da li se paletni režim primenjuje na trenutnu kodirajuću jedinicu (npr. kodirajući blok) (S2210). Na primer, uređaj za dekodiranje može odrediti da li se paletni režim primenjuje na trenutnu kodirajuću jedinicu prema vrednosti parametra pred_mode_plt_flag.
[0153] Sledeće, kada se paletni režim primenjuje na trenutnu kodirajuću jedinicu, uređaj za kodiranje može da kodira odgovarajuću kodirajuću jedinicu u paletnom režimu, i uređaj za dekodiranje može da dekodira odgovarajuću kodirajuću jedinicu u paletnom režimu. Stoga, uređaj za kodiranje ili uređaj za dekodiranje možda neće signalizirati prethodno određene informacije o hroma predikciji (S2220). Na primer, uređaj za kodiranje možda neće kodirati prethodno određene informacije o hroma predikciji (npr. cclm_mode_flag, intra_chroma_pred_mode), i uređaj za dekodiranje možda neće dobiti prethodno određene informacije o hroma predikciji iz protoka bitova.
[0154] Sledeće, kada paletni režim ne primenjuje na trenutnu kodirajuću jedinicu, uređaj za kodiranje ili uređaj za dekodiranje može signalizirati prethodno određene informacije o hroma predikciji. U nekom načinu ostvarivanja, uređaj za kodiranje ili uređaj za dekodiranje može odrediti da li je CCLM režim dostupan za trenutnu kodirajuću jedinicu (S2230), signalizirati CCLM parametar ako je dostupan (S2240), i signalizirati intra_chroma_pred_mode parametar ako nije dostupan (S2250).
[0155] Za ovo, korak dobijanja informacije o hroma predikciji od strane uređaja za dekodiranje biće opisano u većem detalju uz referencu na FIG.23. Kada paletni režim ne primenjuje na trenutnu kodirajuću jedinicu (S2310), uređaj za dekodiranje može odrediti da li je CCLM režim dostupan za trenutnu kodirajuću jedinicu (S2320). Na primer, parametar sps_cclm_enabled_flag koji označava dostupnost CCLM režima signaliziranog u skupu parametara sekvence ima prvu vrednost (npr. 0) koja označava da CCLM režim nije dostupan, uređaj za dekodiranje može odrediti da CCLM režim nije dostupan za trenutnu kodirajuću jedinicu. Alternativno, kada sps_cclm_enabled_flag ima drugu vrednost (npr.1) koja označava da je CCLM režim dostupan, parametar tipa odsečka sh_slice_type koji se prenosi kroz zaglavlje odsečka određuje da trenutni tip odsečka nije I odsečak ili da je veličina luma komponente trenutnog bloka manja od 64, uređaj za dekodiranje može odrediti da je CCLM režim dostupan za trenutnu kodirajuću jedinicu. Alternativno, kada sps_cclm_enabled_flag ima drugu vrednost (npr.1) koja označava da je CCLM režim dostupan, svaka jedinica kodiranja stabla (CTU) u kojoj je parametar sps_qtbtt_dual_tree_intra_flag signaliziran u skupu parametara sekvence uključena u I odsečak je podeljena na blokove luma komponente veličine 64 × 64, i ne ukazuje da svaka CTU postaje čvor zaglavlja dvojnog stabla, uređaj za dekodiranje može odrediti da je CCLM režim dostupan za trenutnu kodirajuću jedinicu.
[0156] Kada je CCLM režim dostupan, uređaj za dekodiranje može odrediti da li se CCLM primenjuje na trenutnu kodirajuću jedinicu (S2330). Na primer, uređaj za dekodiranje može da dobije parametar cclm_mode_flag iz protoka bitova. Parametar cclm_mode_flag može da označava da li se primenjuje CCLM režim. Prva vrednost (npr.0) parametra cclm_mode_flag može da označava da CCLM režim nije primenjen. Druga vrednost (npr.1) parametra cclm_mode_flag može da označava da se primenjuje CCLM režim bilo kojeg od T_CCLM, L_CCLM i LT_CCLM. Kada vrednost parametra cclm_mode_flag nije dobijena iz protoka bitova, vrednost parametra cclm_mode_flag može biti određena kao 0.
[0157] Kada se primenjuje CCLM režim (npr. cclm_mode_flag == 1), uređaj za dekodiranje može da dobije parametar cclm_mode_idx iz protoka bitova (S2340). Parametar cclm_mode_idx može da označava indeks koji označava CCLM režim koji se koristi za dekodiranje hroma komponente trenutne kodirajuće jedinice, među T_CCLM, L_CCLM i LT_CCLM.
[0158] U međuvremenu, kada CCLM režim nije dostupan ili CCLM režim ne važi (npr. cclm_mode_flag == 0), uređaj za dekodiranje može da dobije parametar intra_chroma_pred_mode iz protoka bitova (S2350). Kao što je prethodno opisano, parametar intra_chroma_pred_mode može da označava intra predikcioni režim koji se koristi za dekodiranje hroma komponente trenutne kodirajuće jedinice. Na primer, intra_chroma_pred_mode može da označava jedan od planarnog režima, DC režima, vertikalnog režima, horizontalnog režima i deriviranog režima (DM)).
Postupak za kodiranje
[0159] U nastavku, postupak kodiranja od strane uređaja za kodiranje prema jednom načinu ostvarivanja biće opisan uz pomoć slike 24. Uređaj za kodiranje prema ovom načinu ostvarivanja uključuje memoriju i barem jedan procesor, i barem jedan procesor može da izvrši sledeći postupak kodiranja.
[0160] Prvo, uređaj za kodiranje može da odredi trenutni blok deljenjem slike (S2410). Na primer, uređaj za kodiranje može da odredi trenutni blok deljenjem slike kao što je prethodno opisano uz pomoć slika 4 do 6. U postupku deljenja prema jednom načinu ostvarivanja, informacije o deljenju slike mogu biti kodirane, i kodirane informacije o deljenju slike mogu biti generisane kao protok bitova.
[0161] Sledeće, uređaj za kodiranje može da odredi režim predikcije trenutnog bloka (S2420). Zatim, uređaj za kodiranje može da kodira zastavicu za paletni režim (npr. pred_mode_plt_flag) koji označava da je režim predikcije trenutnog bloka paletni režim, na osnovu toga da li je režim predikcije trenutnog bloka paletni režim (S2430). Kodirana zastavica paletnog režima može biti generisana kao protok bitova.
[0162] Sledeće, uređaj za kodiranje može da kodira paletni režim koji kodira informacije u kojima je trenutni blok kodiran u paletnom režimu, na osnovu vrste stabla trenutnog bloka i da li je režim predikcije trenutnog bloka paletni režim (S2440). Na primer, nakon određivanja da paletni režim važi, uređaj za kodiranje može da generiše protok bitova generisanjem informacija koje kodiraju paletni režim koristeći sintaksu palette_coding() kao što je opisano u vezi sa FIG.14 do 19.
[0163] U međuvremenu, kodiranje informacija o paletnom režimu trenutnog bloka može da uključuje kodiranje informacija o paletnom režimu luma komponente trenutnog bloka. Na primer, kada je tip stabla trenutnog bloka tip jednog stabla ili dvojno stablo luma tipa i paletni režim se primenjuje na trenutni blok, informacija o predikciji paletnog režima luma komponente trenutnog bloka može biti kodirana, i protok bitova može biti generisan koristeći kodirane informacije.
[0164] U ovom slučaju, informacija o paletnom režimu koja kodira luma komponentu trenutnog bloka može biti kodirana na osnovu veličine luma komponente bloka trenutnog bloka. Na primer, kao u načinu ostvarivanja prikazanom na FIG.13, uređaj za kodiranje može generisati informaciju o paletnom režimu kao protok bitova prema sintaksi palette_coding() definisanoj na osnovu širine (npr., cbWidth) i visine (npr., cbHeight) luma komponente bloka trenutnog bloka.
[0165] Pored toga, kodiranje informacija o paletnom režimu trenutnog bloka može dalje uključivati kodiranje informacija o paletnom režimu hroma komponente trenutnog bloka. Na primer, kada se paletni režim primenjuje na trenutni blok i tip stabla trenutnog bloka predstavlja hroma tip dvojnog stabla, informacija za predikciju paletnog režima hroma komponente trenutnog bloka može biti kodirana, a protok bitova može biti generisan korišćenjem kodiranih informacija.
[0166] U ovom slučaju, paletni režim koji kodira informacije za hroma komponentu trenutnog bloka može biti kodiran na osnovu veličine hroma komponente bloka trenutnog bloka. Na primer, kao u načinu ostvarivanja iz FIG.13, uređaj za kodiranje može da generiše paletni režim koji kodira informacije kao protok bitova, prema sintaksi palette_coding() definisanoj na osnovu širine (npr. cbWidth/subWidthC) hroma komponente bloka trenutnog bloka i visine (npr. cbHeight/subHeightC) hroma komponente bloka trenutnog bloka. Ovde, subWidthC i subHeightC mogu biti odnosi visine i širine luma komponente bloka prema hroma komponenti bloka. U nekom načinu ostvarivanja, subWidthC i subHeightC mogu biti određeni na osnovu chroma_format_idc i separate_cour_plane_flag kao što je prikazano na FIG.10.
[0167] Sledeće, kada predikcija mode trenutnog bloka nije paletni režim, uređaj za kodiranje može da kodira informacije o predikciji hroma komponente trenutnog bloka (S2450). Te informacije o predikciji hroma komponente mogu biti informacije (npr. cclm_mode_flag, cclm_mode_idx) za CCLM (Linearni model unakrsne komponente) predikciju ili informacije o intra predikciji hroma komponente (npr. intra_chroma_pred_mode).
[0168] U međuvremenu, kada se paletni režim primenjuje na trenutni blok, uređaj za kodiranje možda neće kodirati informacije o predikciji hroma komponente.
[0169] Konkretnije, informacija o CCLM predikciji može da uključuje CCLM zastavicu (npr. cclm_mode_flag) koja označava da li se CCLM predikcija izvodi i indeks CCLM režima (npr. cclm_mode_idx) koji označava režim CCLM predikcije. CCLM zastavica može biti kodirana i generisana kao protok bitova, kada je CCLM predikcija dostupna za trenutni blok. Indeks CCLM režima može biti kodiran i generisan kao protok bitova, kada CCLM zastavica označava da se izvodi CCLM predikcija.
[0170] U međuvremenu, kada CCLM zastavica označava da CCLM predikcija nije primenjena, informacija o intra predikciji hroma komponente (npr. intra_chroma_pred_mode) može biti kodirana i generisana kao protok bitova.
Postupak za dekodiranje
[0171] U nastavku, postupak dekodiranja uređajem za dekodiranje prema jednom načinu ostvarivanja biće opisan uz pomoć FIG.25. Uređaj za dekodiranje prema ovom načinu ostvarivanja može da uključuje memoriju i barem jedan procesor, pri čemu barem jedan procesor može izvršavati sledeći postupak za dekodiranje.
[0172] Prvo, uređaj za dekodiranje može da odredi trenutni blok deljenjem slike (S2510). Na primer, uređaj za dekodiranje može da odredi trenutni blok deljenjem slike kao što je prethodno opisano uz pomoć FIG.4 do 6. U procesu deljenja prema jednom načinu ostvarivanja, informacije o deljenju slike dobijene iz protoka bitova mogu se koristiti.
[0173] Sledeće, uređaj za dekodiranje može da identifikuje da li se paletni režim primenjuje za trenutni blok, na osnovu zastavice paletnog režima (npr. pred_mode_plt_flag) dobijene iz protoka bitova (S2520).
[0174] Sledeće, uređaj za dekodiranje može da dobije paletni režim koji kodira informacije trenutnog bloka iz protoka bitova, na osnovu vrste stabla trenutnog bloka i da li se paletni režim primenjuje za trenutni blok (S2530). Na primer, nakon određivanja da se paletni režim primenjuje, uređaj za dekodiranje može da dobije paletni režim koji kodira informacije iz protoka bitova koristeći palette_coding() sintaksu kao što je opisano u vezi sa FIG.14 do 19.
[0175] U međuvremenu, dobijanje paletnog režima koji kodira informacije trenutnog bloka može da uključuje dobijanje paletnog režima koji kodira informacije luma komponente trenutnog bloka. Na primer, kada je tip stabla trenutnog bloka jednostavan tip stabla ili dvojak tip stabla za luma komponentu i kada se paletni režim primenjuje za trenutni blok, informacija za predikciju paletnog režima luma komponente trenutnog bloka može biti dobijena iz protoka bitova.
[0176] U ovom slučaju, paletni režim koji kodira informacije luma komponente trenutnog bloka može biti dobijen na osnovu veličine luma komponente bloka trenutnog bloka. Na primer, kao u načinu ostvarivanja prikazanom na FIG.13, sintaksa palette_coding() može se izvršiti na osnovu širine (npr., cbWidth) luma komponente bloka trenutnog bloka i visine (npr., cbHeight) luma komponente bloka trenutnog bloka.
[0177] U međuvremenu, dobijanje paletnog režima koji kodira informacije trenutnog bloka može dalje uključivati dobijanje paletnog režima koji kodira informacije hroma komponenti trenutnog bloka. Na primer, kada se paletni režim primenjuje na trenutni blok, a tip stabla trenutnog bloka predstavlja hroma tip dvojnog stabla, informacije za predikciju paletnog režima hroma komponente trenutnog bloka mogu biti dobijene iz protoka bitova.
[0178] U ovom slučaju, paletni režim koji kodira informacije hroma komponenti trenutnog bloka može biti dobijen na osnovu veličine hroma komponenti bloka trenutnog bloka. Na primer, kao u načinu ostvarivanja prikazanom na FIG.13, sintaksa palette_coding() može se izvršiti na osnovu širine (npr., cbWidth/subWidthC) hroma komponente bloka trenutnog bloka i visine (npr., cbHeight/subHeightC) hroma komponente bloka trenutnog bloka. Ovde, subWidthC i subHeightC mogu biti odnosi visine i širine luma komponente bloka u odnosu na hroma komponentu bloka. U nekom načinu ostvarivanja, subWidthC i subHeightC mogu biti određeni na osnovu chroma_format_idc i separate_colour_plane_flag, kao što je prikazano na FIG.10.
[0179] Sledeće, kada se paletni režim ne primenjuje za trenutni blok, uređaj za dekodiranje može da dobije informaciju o predikciji hroma komponente trenutnog bloka iz protoka bitova (S2540). Na primer, kada se paletni režim ne primenjuje, uređaj za dekodiranje može da dobije CCLM predikcione informacije (npr. cclm_mode_flag, cclm_mode_idx) ili informaciju o intra predikciji hroma komponente (npr. intra_chroma_pred_mode) iz protoka bitova, kao što je opisano sa referencom na FIG.23. U međuvremenu, kada se paletni režim ne primenjuje za trenutni blok, informacija o predikciji hroma komponente možda neće biti dobijena iz protoka bitova.
[0180] Konkretnije, informacija za CCLM predikciju može da uključuje CCLM zastavicu (npr. cclm_mode_flag) koja označava da li se CCLM predikcija izvodi i indeks CCLM režima (npr. cclm_mode_idx) koji označava režim CCLM predikcije. CCLM zastavica može biti dobijena iz protoka bitova kada je CCLM predikcija dostupna za trenutni blok. Indeks CCLM režima može biti dobijen iz protoka bitova kada CCLM zastavica označava da se izvodi CCLM predikcija.
[0181] U međuvremenu, kada CCLM zastavica označava da CCLM predikcija nije izvršena, informacija o intra predikciji hroma komponente (npr. intra_chroma_pred_mode) može biti dobijena iz protoka bitova.
Način ostvarivanja primene
[0182] Dok su prethodno opisani primeri postupaka ovog otkrivanja predstavljeni kao niz operacija u svrhu pojašnjavanja opisa, nije predviđeno da se ograniči redosled po kojem se faze izvode, i te faze se mogu izvršavati simultano ili po različitom redosledu po potrebi. Da bi se primenio postupak prema ovom otkrivanju, opisane faze mogu dalje uključivati druge faze, mogu obuhvatiti preostale faze osim nekih od koraka, ili mogu uključivati druge dodatne faze osim nekih faza.
[0183] U ovom otkrivanju, uređaj za kodiranje slike ili uređaj za dekodiranje slike koji izvršava prethodno određenu operaciju (fazu) može izvršiti operaciju (korak) potvrđivanja uslova ili situacije izvršenja odgovarajuće operacije (faze). Na primer, ako je opisano da se prethodno određena operacija izvršava kada je ispunjen prethodno određeni uslov, uređaj za kodiranje slike ili uređaj za dekodiranje slike može izvršiti prethodno određenu operaciju nakon što utvrdi da li je prethodno određeni uslov ispunjen.
[0184] Razni načini ostvarivanja ovog otkrivanja ne predstavljaju listu svih mogućih kombinacija i namenjeni su da opišu reprezentativne aspekte ovog otkrivanja. Pitanja opisana u raznim režimima ostvarivanja mogu se primeniti nezavisno ili u kombinaciji dva ili više.
[0185] Razni načini ostvarivanja ovog otkrivanja mogu da se primenjuju u hardveru, firmveru, softveru ili kombinaciji tih tehnologija. U slučaju primene ovog otkrivanja u hardveru, ono može da se primenjuje pomoću specifičnih integrisanih kola (ASIC), digitalnih procesora signala (DSP), uređaja za obradu digitalnih signala (DSPD), programabilnih logičkih uređaja (PLD), polja programabilnih logičkih vrata (FPGA), opštih procesora, kontrolera, mikrokontrolera, mikroprocesora, itd.
[0186] 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 prenos i prijem multimedijalnog emitovanja, terminal za mobilnu komunikaciju, uređaj za kućni bioskop, uređaj za digitalni bioskop, sigurnosnu kameru, uređaj za video razgovor, uređaj za komunikaciju u realnom vremenu kao što je video komunikacija, mobilni uređaj za strimovanje, medijum za čuvanje podataka, kamkorder, uređaj koji pruža uslugu video na zahtev (VoD), OTT video uređaj (video preko interneta), uređaj za pružanje internet strimovanja, uređaj za video u tri dimenzije (3D), uređaj za video telefoniju, medicinski video uređaj i slični uređaji, i mogu se koristiti za obradu video signala ili podataka. Na primer, OTT video uređaj može da uključuje konzolu za igrice, blu-ray plejer, televizor sa internet pristupom, sistem za kućni bioskop, pametan telefon, tablet računar, digitalni video rekorder (DVR) ili slične uređaje.
[0187] FIG.26 predstavlja prikaz sistema za strimovanje sadržaja, na koji ovaj način ostvarivanja može da se primenjuje.
[0188] Kao što je prikazano na FIG.26, sistem za strimovanje sadržaja, na koji se primenjuje način ostvarivanja ovog otkrivanja, uglavnom može da se sastoji od server za kodiranje, servera za strimovanje, veb servera, medijuma za čuvanje podataka, korisničkog uređaja i multimedijalnog ulaznog uređaja.
[0189] Server za kodiranje kompresuje sadržaj koji dolazi sa multimedijskih ulaznih uređaja kao što su pametni telefoni, kamere, kamkorderi, itd. u digitalne podatke kako bi generisao protok bitova i prenosi ga na server za strimovanje. Kao drugi primer, kada multimedijski ulazni uređaji kao što su pametni telefoni, kamere, kamkorderi, itd. direktno generišu protok bitova, server za kodiranje može biti izostavljen.
[0190] Protok bitova može biti generisan postupkom za kodiranje slike ili uređajem za kodiranje, na koji se primenjuje način ostvarivanja ovog otkrivanja, a server za strimovanje može privremeno da čuva protok bitova tokom postupka prenosa ili prijema protoka bitova.
[0191] Server za strimovanje prenosi multimedijalne podatke na korisnički uređaj na osnovu zahteva korisnika putem veb servera, pri čemu veb server služi kao sredstvo za obaveštavanje korisnika o usluzi. Kada korisnik zatraži željenu uslugu od veb servera, veb server je može proslediti serveru za strimovanje, koji zatim prenosi multimedijalne podatke korisniku. U ovom slučaju, sistem za strimovanje sadržaja može da uključuje poseban kontrolni server. Kontrolni server služi za upravljanje komandom/odgovorom između uređaja u sistemu za strimovanje sadržaja.
[0192] Server za strimovanje može primiti sadržaj sa medijuma za čuvanje podataka i/ili servera za kodiranje. Na primer, kada se sadržaj primi sa servera za kodiranje, sadržaj može biti primljen u realnom vremenu. U ovom slučaju, kako bi se obezbedio nesmetan servis za strimovanje, server za strimovanje može da čuva protok bitova na prethodno utvrđeno vreme.
[0193] Primeri korisničkog uređaja mogu da uključuju mobilni telefon, pametan telefon, laptop računar, terminal za digitalno emitovanje, lični digitalni asistent (PDA), prenosni multimedijalni plejer (PMP), navigaciju, slejt PC, tablet računare, ultrabukove, nosive uređaje (npr. pametne satove, pametne naočare, ekrani koji se nose na očima), digitalne televizore, desktop računare, digitalne natpise i slične uređaje.
[0194] Svakim serverom u sistemu za strimovanje sadržaja se može upravljati kao distribuiranim serverom, pri čemu se podaci primljeni od svakog servera mogu distribuirati.
[0195] Opseg otkrivanja uključuje softver ili komande koje mogu da se izvrše na računaru (npr.
Claims (14)
- operativni sistem, aplikacija, firmver, program, itd.) za omogućavanje operacija prema postupcima raznih načina ostvarivanja koji treba da se izvrše na uređaju ili računaru, kao i neprenosivi računarom čitljiv medijum na kojem se čuva takav softver ili komande i koji se može očitati na uređaju ili računaru.Industrijska mogućnost primene[0196] Načini ostvarivanja ovog otkrivanja mogu da se koriste za kodiranje i dekodiranje slike.Patentni zahtevi1. Uređaj za dekodiranje za dekodiranje slika, pri čemu taj uređaj za dekodiranje obuhvata: memoriju; ibarem jedan procesor povezan sa memorijom, pir čemu je taj barem jedan procesor konfigurisan tako da:određuje trenutni blok deljenjem slike;identifikuje da li se paletni režim primenjuje za trenutni blok, na osnovu zastavice paletnog režima dobijene iz protoka bitova;određuje da li vrsta stabla trenutnog bloka predstavlja hroma tip dvojnog stabla i da li se paletni režim primenjuje na trenutni blok;određuje da li se paletni režim primenjuje na trenutni blok; idobija informacije o predikciji hroma komponente trenutnog bloka iz protoka bitova, na osnovu paletnog režima koji se ne primenjuje za trenutni blok,naznačen time, što se određivanje da li se paletni režim primenjuje na trenutni blok izvodi na osnovu tipa stabla trenutnog bloka koje nije hroma tip dvojnog stabla ili se paletni režim ne primenjuje na trenutni blok.
- 2. Uređaj za dekodiranje prema zahtevu 1,pri čemu informacija o predikciji hroma komponente nije dobijena iz protoka bitova, na osnovu paletnog režima koji se primenjuje za trenutni blok.
- 3. Uređaj za dekodiranje prema zahtevu 1, pri čemu je barem jedan procesor dodatno konfigurisan tako da:dobija paletni režim koji kodira informacije luma komponente trenutnog bloka,pri čemu se informacija za predikciju paletnog režima luma komponente trenutnog bloka dobija iz protoka bitova, na osnovu vrste stabla trenutnog bloka koje predstavlja tip jednog stabla ili tip dvojnog stabla i paletnog režima koji se primenjuje za trenutni blok.
- 4. Uređaj za dekodiranje prema zahtevu 3, pri čemu se dobijanje paletnog režima koji kodira informacije luma komponente trenutnog bloka izvodi na osnovu veličine bloka luma komponente trenutnog bloka.
- 5. Uređaj za dekodiranje prema zahtevu 1, pri čemu je taj barem jedan procesor dodatno konfigurisan tako da:dobija paletni režim koji kodira informaciju hroma komponente trenutnog bloka,pri čemu se informacija za predikciju paletnog režima hroma komponente trenutnog bloka dobija iz protoka bitova, na osnovu paletnog režima koji se primenjuje za trenutni blok i tipa stabla trenutnog bloka koji predstavlja hroma tip dvojnog stabla.
- 6. Uređaj za dekodiranje prema zahtevu 5,pri čemu se dobijanje paletnog režima koji kodira informacije hroma komponente trenutnog bloka izvodi na osnovu veličine bloka hroma komponente trenutnog bloka.
- 7. Uređaj za dekodiranje prema zahtevu 1,pri čemu informacija o predikciji hroma komponente predstavlja informaciju za predikciju linearnog modela unakrsne komponente (CCLM) ili informaciju o intra predikciji hroma komponente.
- 8. Uređaj za dekodiranje prema zahtevu 7,pri čemu informacija za CCLM predikciju obuhvata CCLM zastavicu koja označava da li se CCLM predikcija izvodi i indeks CCLM režima koji označava režim CCLM predikcije,pri čemu se CCLM zastavica dobija iz protoka bitova na osnovu CCLM predikcije koja je dostupna za trenutni blok, ipri čemu se indeks CCLM režima dobija iz protoka bitova, na osnovu CCLM zastavice koja označava da je CCLM predikcija izvedena.
- 9. Uređaj za dekodiranje prema zahtevu 8,pri čemu se informacija o intra predikciji hroma komponente dobija iz protoka bitova, na osnovu CCLM zastavice koja označava da se CCLM predikcija ne izvodi.
- 10. Uređaj za kodiranje za kodiranje slike, pri čemu taj uređaj za kodiranje obuhvata memoriju; ibarem jedan procesor povezan sa memorijom, pri čemu je taj barem jedan procesor konfigurisan tako da:određuje trenutni blok deljenjem slike;određuje režim predikcije trenutnog bloka;kodira zastavicu paletnog režima koja označava da li režim predikcije trenutnog bloka predstavlja paletni režim, na osnovu toga da li režim predikcije trenutnog bloka predstavlja paletni režim; određuje da li vrsta stabla trenutnog bloka predstavlja hroma tip dvojnog stabla i da li se paletni režim primenjuje na trenutni blok;određuje da li se paletni režim primenjuje na trenutni blok; ikodira informacije o predikciji hroma komponente trenutnog bloka, na osnovu režima predikcije trenutnog bloka koji ne predstavlja paletni režim,naznačen time, što se određivanje da li se paletni režim primenjuje na trenutni blok izvodi na osnovu tipa stabla trenutnog bloka koje nije hroma tip dvojnog stabla ili se paletni režim ne primenjuje na trenutni blok.
- 11. Uređaj za kodiranje prema zahtevu 10, pri čemu se informacija o predikciji hroma komponente ne kodira, na osnovu paletnog režima koji se primenjuje za trenutni blok.
- 12. Uređaj za kodiranje prema zahtevu 11, pri čemu informacija o predikciji hroma komponente predstavlja informaciju za predikciju linearnog modela unakrsne komponente (CCLM) ili informaciju o intra predikciji hroma komponente.
- 13. Uređaj za kodiranje prema zahtevu 10,pri čemu su informacije o kodiranju paletnog režima u kojima je hroma komponenta trenutnog bloka kodirana u paletnom režimu kodirane, na osnovu paletnog režima koji se primenjuje za trenutni blok i tipa stabla trenutnog bloka koji predstavlja hroma tip dvojnog stabla, ipri čemu se informacija za predikciju linearnog modela unakrsne komponente (CCLM) ili informacija o intra predikciji hroma komponente kodira kao informacija o predikciji hroma komponente, na osnovu paletnog režima koji se ne primenjuje za trenutni blok.
- 14. Uređaj za prenos podataka za sliku, pri čemu taj uređaj obuhvata:barem jedan procesor konfigurisan tako da dobije protok bitova koji se generiše postupkom za kodiranje koji izvodi uređaj za kodiranje za kodiranje slike; ipredajnik konfigurisan tako da prenosi protok bitova,pri čemu taj postupak za kodiranja obuhvata:određivanje trenutnog bloka deljenjem slike;određivanje režima predikcije trenutnog bloka;kodiranje zastavice paletnog režima koja označava da li režim predikcije trenutnog bloka predstavlja paletni režim, na osnovu toga da li režim predikcije trenutnog bloka predstavlja paletni režim;određivanje da li vrsta stabla trenutnog bloka predstavlja hroma tip dvojnog stabla i da li se paletni režim primenjuje na trenutni blok;određivanje da li se paletni režim primenjuje na trenutni blok; ikodiranje informacija o predikciji hroma komponente trenutnog bloka, na osnovu toga da li režim predikcije trenutnog bloka ne predstavlja paletni režim,naznačen time, što se određivanje da li se paletni režim primenjuje na trenutni blok izvodi na osnovu tipa stabla trenutnog bloka koje nije hroma tip dvojnog stabla ili se paletni režim ne primenjuje na trenutni blok.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962876766P | 2019-07-21 | 2019-07-21 | |
| EP24157807.9A EP4346209B1 (en) | 2019-07-21 | 2020-07-21 | Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RS66697B1 true RS66697B1 (sr) | 2025-05-30 |
Family
ID=74193472
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RS20250353A RS66697B1 (sr) | 2019-07-21 | 2020-07-21 | Postupak za kodiranje/dekodiranje i uređaj za signaliziranje informacija o predikciji hroma komponente prema tome da li je paletni režim primenjiv, i postupak za prenos protoka bitova |
Country Status (15)
| Country | Link |
|---|---|
| US (4) | US11659172B2 (sr) |
| EP (3) | EP4002843B1 (sr) |
| JP (2) | JP7813696B2 (sr) |
| KR (2) | KR20250029281A (sr) |
| CN (5) | CN119545008A (sr) |
| AU (3) | AU2020318306B2 (sr) |
| CA (2) | CA3240457A1 (sr) |
| ES (2) | ES2985144T3 (sr) |
| FI (1) | FI4002843T3 (sr) |
| HR (2) | HRP20250440T1 (sr) |
| HU (2) | HUE067208T2 (sr) |
| PL (2) | PL4002843T3 (sr) |
| RS (1) | RS66697B1 (sr) |
| SI (1) | SI4002843T1 (sr) |
| WO (1) | WO2021015537A1 (sr) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA3121922C (en) * | 2019-01-10 | 2023-10-03 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for picture decoding, decoder, and computer storage medium |
| WO2020228670A1 (en) | 2019-05-10 | 2020-11-19 | Beijing Bytedance Network Technology Co., Ltd. | Luma based secondary transform matrix selection for video processing |
| CN117354521A (zh) | 2019-06-07 | 2024-01-05 | 北京字节跳动网络技术有限公司 | 视频比特流中的简化二次变换的有条件信令 |
| CN117221536A (zh) * | 2019-07-23 | 2023-12-12 | 北京字节跳动网络技术有限公司 | 调色板模式编解码的模式确定 |
| CN114208183B (zh) | 2019-08-03 | 2025-01-10 | 北京字节跳动网络技术有限公司 | 视频的缩减二次变换中基于位置的模式导出 |
| WO2021032045A1 (en) | 2019-08-17 | 2021-02-25 | Beijing Bytedance Network Technology Co., Ltd. | Context modeling of side information for reduced secondary transforms in video |
| EP4026322A4 (en) * | 2019-09-07 | 2024-01-03 | Beijing Dajia Internet Information Technology Co., Ltd. | PREDICTION MODE SIGNALING IN VIDEO CODING |
| US12126794B2 (en) * | 2021-09-30 | 2024-10-22 | Tencent America LLC | Adaptive transforms for compound inter-intra prediction modes |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101138392B1 (ko) | 2004-12-30 | 2012-04-26 | 삼성전자주식회사 | 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치 |
| KR101993865B1 (ko) | 2014-10-06 | 2019-06-27 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 고효율 비디오 코딩(hevc) 스크린 콘텐츠 코딩(scc)에서의 강화된 팔레트 모드 |
| CN110460845B (zh) | 2014-11-06 | 2021-08-27 | 联发科技股份有限公司 | 调色板编码的方法 |
| WO2016074147A1 (en) | 2014-11-11 | 2016-05-19 | Mediatek Singapore Pte. Ltd. | Separated coding tree for luma and chroma |
| AU2015345649A1 (en) * | 2014-11-12 | 2017-06-08 | Hfi Innovation Inc. | Methods of escape pixel coding in index map coding |
| CN107005717B (zh) * | 2014-11-12 | 2020-04-07 | 寰发股份有限公司 | 索引映射编解码中的跳出像素编解码方法 |
| KR102150979B1 (ko) * | 2014-12-19 | 2020-09-03 | 에이치에프아이 이노베이션 인크. | 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법 |
| CN107211122B (zh) * | 2015-01-29 | 2020-05-05 | 佳能株式会社 | 对自包含式编码结构进行编码或解码时的调色板预测结果初始化程序 |
| US9986248B2 (en) | 2015-01-29 | 2018-05-29 | Qualcomm Incorporated | Palette mode coding for video coding |
| US10448058B2 (en) * | 2015-05-21 | 2019-10-15 | Qualcomm Incorporated | Grouping palette index at the end and index coding using palette size and run value |
| US20180213222A1 (en) * | 2015-05-27 | 2018-07-26 | Kt Corporation | Method and device for processing video signal |
| EP3308540B1 (en) | 2015-06-09 | 2020-04-15 | Microsoft Technology Licensing, LLC | Robust encoding/decoding of escape-coded pixels in palette mode |
| US11146788B2 (en) | 2015-06-12 | 2021-10-12 | Qualcomm Incorporated | Grouping palette bypass bins for video coding |
| DE102016205309A1 (de) * | 2016-03-31 | 2017-10-05 | Robert Bosch Gmbh | Beleuchtungsvorrichtung zum Beleuchten eines Fahrers eines Fahrzeugs mit Infrarotlicht, Fahrerbeobachtungssystem und Head-up-Display-Einheit |
| PL3731527T3 (pl) | 2016-05-28 | 2023-01-09 | Hfi Innovation Inc. | Sposób i urządzenie do kodowania w trybie palety dla danych kolorowego wideo |
| US11039147B2 (en) * | 2016-05-28 | 2021-06-15 | Mediatek Inc. | Method and apparatus of palette mode coding for colour video data |
| JP2021010046A (ja) * | 2017-10-06 | 2021-01-28 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
| KR20190067732A (ko) * | 2017-12-07 | 2019-06-17 | 한국전자통신연구원 | 채널들 간의 선택적인 정보 공유를 사용하는 부호화 및 복호화를 위한 방법 및 장치 |
| CN113785568B (zh) | 2019-05-02 | 2024-03-08 | 字节跳动有限公司 | 变换跳过模式下的信令通知 |
| WO2020223615A1 (en) * | 2019-05-02 | 2020-11-05 | Bytedance Inc. | Coding mode based on a coding tree structure type |
-
2020
- 2020-07-21 EP EP20843702.0A patent/EP4002843B1/en active Active
- 2020-07-21 KR KR1020257005441A patent/KR20250029281A/ko active Pending
- 2020-07-21 CN CN202411715984.1A patent/CN119545008A/zh active Pending
- 2020-07-21 ES ES20843702T patent/ES2985144T3/es active Active
- 2020-07-21 FI FIEP20843702.0T patent/FI4002843T3/fi active
- 2020-07-21 RS RS20250353A patent/RS66697B1/sr unknown
- 2020-07-21 JP JP2022504309A patent/JP7813696B2/ja active Active
- 2020-07-21 CA CA3240457A patent/CA3240457A1/en active Pending
- 2020-07-21 CA CA3148417A patent/CA3148417C/en active Active
- 2020-07-21 CN CN202411715982.2A patent/CN119545007A/zh active Pending
- 2020-07-21 HU HUE20843702A patent/HUE067208T2/hu unknown
- 2020-07-21 PL PL20843702.0T patent/PL4002843T3/pl unknown
- 2020-07-21 HR HRP20250440TT patent/HRP20250440T1/hr unknown
- 2020-07-21 SI SI202030418T patent/SI4002843T1/sl unknown
- 2020-07-21 EP EP25156142.9A patent/EP4550785A1/en active Pending
- 2020-07-21 AU AU2020318306A patent/AU2020318306B2/en active Active
- 2020-07-21 CN CN202411715979.0A patent/CN119545005A/zh active Pending
- 2020-07-21 HR HRP20240520TT patent/HRP20240520T1/hr unknown
- 2020-07-21 CN CN202080065279.5A patent/CN114402595B/zh active Active
- 2020-07-21 CN CN202411715981.8A patent/CN119545006A/zh active Pending
- 2020-07-21 ES ES24157807T patent/ES3023935T3/es active Active
- 2020-07-21 EP EP24157807.9A patent/EP4346209B1/en active Active
- 2020-07-21 HU HUE24157807A patent/HUE071087T2/hu unknown
- 2020-07-21 PL PL24157807.9T patent/PL4346209T3/pl unknown
- 2020-07-21 KR KR1020227004172A patent/KR102772241B1/ko active Active
- 2020-07-21 WO PCT/KR2020/009618 patent/WO2021015537A1/ko not_active Ceased
-
2022
- 2022-01-21 US US17/581,432 patent/US11659172B2/en active Active
-
2023
- 2023-04-17 US US18/135,329 patent/US12028516B2/en active Active
-
2024
- 2024-02-09 AU AU2024200815A patent/AU2024200815B2/en active Active
- 2024-05-21 US US18/670,320 patent/US12425581B2/en active Active
- 2024-06-13 JP JP2024095876A patent/JP2024119967A/ja active Pending
-
2025
- 2025-08-14 US US19/300,023 patent/US20250373793A1/en active Pending
- 2025-11-28 AU AU2025271511A patent/AU2025271511A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2024200721B2 (en) | Image encoding/decoding method and apparatus for determining prediction mode of chroma block by refering to luma sample position, and method for transmitting bitstream | |
| US12598329B2 (en) | Syntax design method and apparatus for performing coding by using syntax | |
| EP4002843B1 (en) | Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream | |
| US20250071284A1 (en) | Image encoding/decoding method and apparatus using user-defined palette entry, and method for transmitting bitstream | |
| RS66563B1 (sr) | Postupak video kodiranja/dekodiranja i uređaj za izvođenje pdpc i postupak za prenos toka bitova | |
| US20240314330A1 (en) | Image encoding/decoding method and device for determining division mode on basis of prediction mode type determined according to color format, and method for transmitting bitstream | |
| CA3166540A1 (en) | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method | |
| US12096041B2 (en) | Image encoding/decoding method and apparatus for performing in-loop filtering on basis of sub-picture structure, and method for transmitting bitstream | |
| RS66762B1 (sr) | Signaliziranje informacija koje se odnose na odsečak u sistemu za kodiranje/dekodiranje slika/video zapisa | |
| RU2804732C2 (ru) | Способ и устройство кодирования/декодирования изображений для передачи в служебных сигналах информации прогнозирования компонентов сигналов цветности согласно тому, является или нет палитровый режим применимым, и способ для передачи потока битов | |
| RU2817300C2 (ru) | Способ и устройство кодирования/декодирования изображений для передачи в служебных сигналах информации прогнозирования компонентов сигналов цветности согласно тому, является или нет палитровый режим применимым, и способ для передачи потока битов | |
| RU2809033C2 (ru) | Способ и оборудование кодирования/декодирования изображений с использованием матрицы квантования и способ для передачи потока битов | |
| RU2795473C1 (ru) | Способ и оборудование кодирования/декодирования изображений с использованием матрицы квантования и способ для передачи потока битов | |
| US20230179760A1 (en) | Image encoding/decoding method and apparatus based on palette mode, and recording medium that stores bitstream |