RS67292B1 - Postupak i uređaj za signaliziranje informacija o transformaciji podblokova - Google Patents
Postupak i uređaj za signaliziranje informacija o transformaciji podblokovaInfo
- Publication number
- RS67292B1 RS67292B1 RS20250981A RSP20250981A RS67292B1 RS 67292 B1 RS67292 B1 RS 67292B1 RS 20250981 A RS20250981 A RS 20250981A RS P20250981 A RSP20250981 A RS P20250981A RS 67292 B1 RS67292 B1 RS 67292B1
- Authority
- RS
- Serbia
- Prior art keywords
- sbt
- video
- maximum
- flag
- size
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
[0001] Opis
[0003] POVEZANE APLIKACIJE
[0005] Predmetno otkriće zahteva prioritet u odnosu na privremenu prijavu US No.
[0006] 62/900,395, podnetu 13. septembra 2019. godine.
[0008] POZADINA PRONALASKA
[0010] Video je skup statičnih slika (ili „frejmova“) koji beleže vizuelne informacije. Da bi se smanjili memorija za skladištenje i propusni opseg prenosa, video može da se komprimuje pre skladištenja ili prenosa i dekomprimuje pre prikazivanja. Proces kompresije se obično naziva kodiranje, a proces dekompresije se obično naziva dekodiranje. Postoje različiti formati video kodiranja koji koriste standardizovane tehnologije video kodiranja, najčešće zasnovane na predviđanju, transformaciji, kvantizaciji, entropijskom kodiranju i filtriranju u petlji (engl. in-loop). Standardi video kodiranja, kao što su standard visoko efikasnog video kodiranja (engl. HEVC/H.265 - High Efficiency Video Coding), standard svestranog video kodiranja (engl. VVC/H.266 - Versatile Video Coding) i standardi AVS, koji navode posebne formate video kodiranja, razvijaju se od strane organizacija za standardizaciju. Sa sve više i više naprednih tehnologija video kodiranja koje se usvajaju u video standardima, efikasnost kodiranja novih standarda video kodiranja postaje sve viša i viša.
[0011] EP 4011 076 A1 se odnosi na postupak obrade videa koji uključuje određivanje, za konverziju između trenutnog bloka videa i kodirane reprezentacije videa, da li je sintaksni element, koji ukazuje na upotrebu režima preskakanja za model kodiranja sa kopiranjem intra-bloka (engl. IBC – intra-block copy), uključen u kodiranu reprezentaciju prema pravilu koje navodi da je signalizacija sintaksnog elementa zasnovana na dimenziji trenutnog bloka i/ili maksimalno dozvoljenoj dimenziji za blok koji je kodiran korišćenjem modela kodiranja IBD.
[0012] [0004] EP 4 002 847 A1 se odnosi na uređaj za dekodiranje video signala koji uključuje procesor koji je naznačen određivanjem rezultujuće vrednosti koja ukazuje na smer za podelu trenutnog bloka transformacije na osnovu unapred podešenih uslova, deljenjem trenutnog
bloka transformacije na mnoštvo blokova transformacije na osnovu rezultujuće vrednosti i dekodiranjem video signala korišćenjem mnoštva blokova transformacije, pri čemu unapred podešeni uslovi uključuju uslov koji se odnosi na komponentu boje trenutnog bloka transformacije.
[0013] Bros B. et al. „Versatile Video Coding (Draft 6)“, 15. JVET Meeting, JVET‑02001-vE, 31 July 2019, odnosi se na Nacrt 6 preporuke ITU-T i međunarodnog standarda ISO/IEC pod nazivom svestrano kodiranje videa (engl. Versatile Video Coding), koji je razvio zajednički tim stručnjaka ITU-T i ISO/IEC poznat kao zajednički tim stručnjaka za video (engl. JVET -Joint Video Experts Team).
[0015] SUŠTINA PRONALASKA
[0017] Prema aspektima, obezbeđeni su postupak kodiranja, postupak dekodiranja, uređaj za kodiranje, uređaj za dekodiranje i računarski čitljiv medijum kako je navedeno u priloženim zahtevima. Ostale karakteristike biće očigledne iz zavisnih zahteva i opisa koji sledi.
[0019] KRATAK OPIS CRTEŽA
[0021] Primeri izvođenja i različiti aspekti predmetnog otkrića ilustrovani su u sledećem detaljnom opisu i pratećim slikama. Različite karakteristike prikazane na slikama nisu nacrtane u razmeri.
[0023] SL. 1 je šematski dijagram koji ilustruje strukture primera video sekvence, prema nekim primerima izvođenja predmetnog otkrića.
[0024] SL. 2 ilustruje šematski dijagram primernog kodera u hibridnom sistemu za kodiranje videa, prema nekim primerima izvođenja predmetnog otkrića.
[0025] SL. 3 ilustruje šematski dijagram primernog dekodera u hibridnom sistemu za kodiranje videa, prema nekim primerima izvođenja predmetnog otkrića.
[0026] SL. 4 ilustruje blok dijagram primernog uređaja za kodiranje ili dekodiranje videa, prema nekim primerima izvođenja predmetnog otkrića.
[0027] SL. 5 ilustruje primerne tipove transformacije podbloka (engl. SBT - sub-block transform) i pozicije SBT za intra-predviđenu jedinicu za kodiranje (engl. CU - coding unit), prema nekim primerima izvođenja predmetnog otkrića.
[0028] SL. 6 ilustruje primernu Tabelu 1 koja prikazuje deo sintaksne tabele SPS, prema nekim primerima izvođenja predmetnog otkrića.
[0029] SL. 7 ilustruje dijagram toka primernog postupka obrade videa, prema nekim primerima izvođenja predmetnog otkrića.
[0030] SL. 8 ilustruje primernu Tabelu 2 koja prikazuje deo sintaksne tabele SPS, prema nekim primerima izvođenja predmetnog otkrića.
[0031] SL. 9 ilustruje primernu Tabelu 3 koja prikazuje deo sintaksne tabele CU, prema nekim primerima izvođenja predmetnog otkrića.
[0032] SL. 10 ilustruje dijagram toka drugog primernog postupka obrade videa, prema nekim primerima izvođenja predmetnog otkrića.
[0034] DETALJAN OPIS
[0036] Sada će se detaljno osvrnuti na prikazane primere izvođenja, koji ilustrovani na pratećim crtežima. Sledeći opis se odnosi na prateće crteže na kojima isti brojevi na različitim crtežima predstavljaju iste ili slične elemente, osim ako nije drugačije predstavljeno. Implementacije navedene u sledećem opisu prikazanih primera izvođenja ne predstavljaju sve implementacije koje su u skladu sa pronalaskom. Umesto toga, to su samo primeri uređaja i postupaka koji su u skladu sa aspektima koji se odnose na pronalazak, kao što je izloženo u priloženim zahtevima. Naročiti aspekti predmetnog otkrića detaljnije su opisani u nastavku. Termini i definicije pruženi ovde imaju prednost, ako su u konfliktu sa terminima i/ili definicijama uvedenim iz reference.
[0037] Zajednički tim stručnjaka za video (JVET) ekspertske grupe ITU-T za video kodiranje (engl. ITU-T VCEG - Video Coding Expert Group) i ISO/IEC ekspertske grupe za pokretne slike (engl. ISO/IEC MPEG - Moving Picture Expert Group) trenutno razvija standard svestranog video kodiranja (VVC/H.266). Cilj standarda VVC je udvostručavanje efikasnosti kompresije u odnosu na prethodnika, standard visoko efikasnog video kodiranja (HEVC/H.265). Drugim rečima, cilj za VVC je da postigne isti subjektivni kvalitet kao i HEVC/H.265 ali koristeći polovinu propusnog opsega.
[0038] Da bi se postigao isti subjektivni kvalitet kao HEVC/H.265 koristeći polovinu propusnog opsega, JVET je razvijao tehnologije koje prevazilaze HEVC koristeći referentni softver za model zajedničkog istraživanja (engl. JEM - joint exploration model). Kako su tehnologije kodiranja ugrađivane u JEM, JEM je postigao znatno veće performanse kodiranja nego HEVC.
[0039] Standard VVC je nedavno razvijen i nastavlja da uključuje sve više tehnologija kodiranja koje pružaju bolje performanse kompresije. VVC je zasnovan na istom hibridnom sistemu video kodiranja koji se koristi u modernim standardima video kompresije kao što su HEVC, H.264/AVC, MPEG2, H.263 itd.
[0040] Video je skup statičnih slika (ili „frejmova“) raspoređenih u vremenskoj sekvenci radi skladištenja vizuelnih informacija. Uređaj za snimanje videa (npr. kamera) može da se koristi za snimanje i čuvanje tih slika u vremenskoj sekvenci, a uređaj za reprodukciju videa (npr. televizor, računar, pametni telefon, tablet računar, video plejer ili bilo koji terminal krajnjeg korisnika sa funkcijom prikaza) može da se koristi za prikazivanje takvih slika u vremenskoj sekvenci. Takođe, u nekim primenama, uređaj za snimanje videa može da prenosi snimljeni video na uređaj za reprodukciju videa (npr. računar sa monitorom) u realnom vremenu, kao što su nadzor, konferencijski pozivi ili prenos uživo.
[0041] Radi smanjenja prostora za skladištenje i propusnog opsega prenosa potrebnog za takve primene, video može da se komprimuje pre skladištenja i prenosa i dekomprimuje pre prikazivanja. Kompresija i dekompresija mogu da se implementiraju softverom koji se izvršava od strane procesora (npr. procesor generičkog računara) ili specijalizovanim hardverom. Modul za kompresiju generalno se naziva „koder“, a modul za dekompresiju generalno se naziva „dekoder“. Koder i dekoder se zajednički nazivaju „kodek“. Koder i dekoder mogu da budu implementirani kao bilo šta od različitih odgovarajućih hardvera, softvera ili njihove kombinacije. Na primer, hardverska implementacija kodera i dekodera može da uključuje električna kola, kao što su jedan ili više mikroprocesora, procesore digitalnih signala (DSP), integrisana kola specifične namene (engl. ASIC – application-specific integrated circuits), FPGA čipove (engl. field-programmable gate arrays), logička kola ili bilo koju kombinaciju od navedenog. Softverska implementacija kodera i dekodera može da uključuje programske kodove, instrukcije za računarsko izvršavanje, firmver ili bilo koji odgovarajući računarski implementiran algoritam ili proces fiksiran na računarski čitljivom medijumu. Kompresija i dekompresija videa može da se implementira različitim algoritmima ili standardima, kao što su MPEG-1, MPEG-2, MPEG-4, serijom H.26x ili slično. U nekim primenama, kodek može da dekomprimuje video iz prvog standarda kodiranja i ponovo komprimuje dekomprimovani video koristeći drugi standard kodiranja, u kom slučaju kodek može da se naziva „transkoderom“.
[0042] [0014] Proces kodiranja videa može da identifikuje i sačuva korisne informacije koje mogu da se iskoriste za rekonstrukciju slike i da zanemari nevažne informacije za rekonstrukciju. Ako zanemarene, nevažne informacije ne mogu u potpunosti da se rekonstruišu, takav proces
kodiranja može da se naziva „sa gubicima“. U suprotnom, može da se naziva „bez gubitaka“. Većina procesa kodiranja je sa gubicima, što je kompromis kako bi se smanjio potreban prostor za skladištenje i propusni opseg prenosa.
[0043] Korisne informacije o slici koja se kodira (naziva se „trenutnom slikom“) uključuju promene u odnosu na referentnu sliku (npr. sliku koja je prethodno kodirana i rekonstruisana). Takve promene mogu da uključuju promene položaja, luminoznosti ili promene boje piksela, među kojima su uglavnom najbitnije promene položaja. Promene položaja grupe piksela koji predstavljaju objekat mogu da odražavaju kretanje objekta između referentne slike i trenutne slike.
[0044] Slika kodirana bez referenciranja na drugu sliku (tj. ona je sama sebi referentna slika) naziva se „slikom-I“. Slika kodirana korišćenjem prethodne slike kao referentne slike naziva se „slikom-P“. Slika kodirana korišćenjem i prethodne slike i buduće slike kao referentnih slika (tj. referenca je „dvosmerna“) naziva se „slikom-B“.
[0045] SL. 1 ilustruje strukture primera video sekvence 100, prema nekim primerima izvođenja predmetnog otkrića. Video sekvenca 100 može da bude video uživo ili video koji je snimljen i arhiviran. Video 100 može da bude video iz stvarnog života, video generisan računarom (npr. video iz računarske igre) ili njihova kombinacija (npr. video iz stvarnog života sa efektima proširene stvarnosti). Video sekvenca 100 može da bude uneta sa uređaja za snimanje videa (npr. kamere), iz video arhive (npr. video fajla uskladištenog na uređaju za skladištenje) koja sadrži prethodno snimljeni video ili sa interfejsa za video prenos (npr. primopredajnika za video emitovanje) radi prijema videa od dobavljača video sadržaja.
[0046] Kao što je prikazano na SL. 1, video sekvenca 100 može da uključuje niz slika raspoređenih vremenski duž vremenske linije, uključujući slike 102, 104, 106 i 108. Slike 102-106 su kontinuirane, a ima još slika između slika 106 i 108. Na SL. 1, slika 102 je slika-I, čija referentna slika je sama slika 102. Slika 104 je slika-P, čija referentna slika je slika 102, kao što je naznačeno strelicom. Slika 106 je slika- B, čije referentne slike su slike 104 i 108, kao što je naznačeno strelicama. U nekim primerima izvođenja, referentna slika slike (npr. slike 104) ne može da bude neposredno pre ili posle te slike. Na primer, referentna slika slike 104 može da bude slika koja prethodi slici 102. Treba napomenuti da su referentne slike slika 102-106 samo primeri i da predmetno otkriće ne ograničava primere izvođenja referentnih slika kao što su primeri prikazani na SL.1.
[0047] [0019] Tipično, video kodeci ne kodiraju ili dekodiraju celu sliku odjednom zbog računarske kompleksnosti takvih zadataka. Umesto toga, oni mogu da podele sliku na osnovne segmente i da kodiraju ili dekodiraju sliku segment po segment. Takvi osnovni segmenti se u
predmetnom otkriću nazivaju osnovnim jedinicama obrade (engl. BPU - basic processing units). Na primer, struktura 110 na SL. 1 prikazuje primer strukture slike iz video sekvence 100 (npr. bilo koja od slika 102-108 ). U strukturi 110, slika je podeljena na 4×4 osnovne jedinice obrade, čije su granice prikazane kao isprekidane linije. U nekim primerima izvođenja, osnovne jedinice obrade mogu da se nazivaju „makroblokovima“ u nekim standardima video kodiranja (npr. porodica MPEG, H.261, H.263 ili H.264/AVC), ili „jedinicama stabla kodiranja“ (engl. CTU – coding tree units) u nekim drugim standardima video kodiranja (npr. H.265/HEVC ili H.266/VVC). Osnovne jedinice obrade mogu da imaju promenljive veličine na slici, kao što su 128×128, 64×64, 32×32, 16×16, 4×8, 16×32 ili bilo koji proizvoljni oblik i veličinu u pikselima. Veličine i oblici osnovnih jedinica obrade mogu da se odaberu za sliku na osnovu ravnoteže efikasnosti kodiranja i nivoa detalja koji treba da se zadrže u osnovnoj jedinici obrade.
[0048] Osnovne jedinice obrade mogu da budu logičke jedinice, koje mogu da uključuju grupu različitih tipova video podataka uskladištenih u memoriji računara (npr. u baferu video frejma). Na primer, osnovna jedinica obrade slike u boji može da uključuje luma komponentu (Y) koja predstavlja informacije o ahromatskoj osvetljenosti, jednu ili više hroma komponenti (npr. Cb i Cr) koje predstavljaju informacije o boji, i pridružene sintaksne elemente, u kojima luma i hroma komponente mogu da imaju istu veličinu kao i osnovna jedinica obrade. Luma i hroma komponente mogu da se nazivaju „blokovima stabla kodiranja“ (engl. CTB – coding tree blocks) u nekim standardima video kodiranja (npr. H.265/HEVC ili H.266/VVC). Bilo koja operacija izvedena na osnovnoj jedinici obrade može više puta da se izvede na svakoj od njenih luma i hroma komponenti.
[0049] [0021] Video kodiranje ima više faza operacija, čiji su primeri prikazani na SL. 2 i SL. 3. Za svaku fazu, veličina osnovnih jedinica obrade i dalje može da bude prevelika za obradu, i stoga mogu dalje da se podele na segmente koji se nazivaju „osnovne podjedinice obrade“ u predmetnom otkriću. U nekim primerima izvođenja, osnovne podjedinice obrade mogu da se nazivaju „blokovima“ u nekim standardima video kodiranja (npr. porodica MPEG, H.261, H.263 ili H.264/AVC), ili „jedinicama kodiranja“ (engl. CU – coding units) u nekim drugim standardima video kodiranja (npr. H.265/HEVC ili H.266/VVC). Osnovna podjedinica obrade može da ima istu ili manju veličinu od osnovne jedinice obrade. Slično osnovnim jedinicama obrade, osnovne podjedinice obrade takođe su logičke jedinice, koje mogu da uključuju grupu različitih tipova video podataka (npr. Y, Cb, Cr i pridružene sintaksne elemente) uskladištenih u memoriji računara (npr. u baferu video frejma). Bilo koja operacija izvedena na osnovnoj podjedinici obrade može više puta da se izvršava na svakoj od njenih luma i hroma
komponenti. Treba napomenuti da takva podela može da se izvrši na dalje nivoe u zavisnosti od potreba obrade. Takođe treba napomenuti da različite faze mogu da podele osnovne jedinice obrade koristeći različite šeme.
[0050] Na primer, u fazi odlučivanja o režimu (za šta je primer prikazan na SL. 2), koder može da odluči koji režim predviđanja (npr. predviđanje unutar slike (intra) ili predviđanje između slika (inter)) da koristi za osnovnu jedinicu obrade, koja može da bude prevelika da bi se donela takva odluka. Koder može da podeli osnovnu jedinicu obrade na više osnovnih podjedinica obrade (npr. CU kao u H.265/HEVC ili H.266/VVC ) i da odluči o tipu predviđanja za svaku pojedinačnu osnovnu podjedinicu obrade.
[0051] Kao još jedan primer, u fazi predviđanja (za šta je primer prikazan na SL. 2), koder može da izvede operaciju predviđanja na nivou osnovnih podjedinica obrade (npr. CU). Međutim, u nekim slučajevima, osnovna podjedinica obrade i dalje može da bude prevelika za obradu. Koder može dalje da podeli osnovnu podjedinicu obrade na manje segmente (npr. koji se nazivaju „blokovi predviđanja“ (engl. PB – prediction blocks) u H.265/HEVC ili H.266/VVC), na nivou kojih može da se izvede operacija predviđanja.
[0052] Kao još jedan primer, u fazi transformacije (za šta je primer prikazan na SL.2), koder može izvede operaciju transformacije za preostale osnovne podjedinice obrade (npr. CU). Međutim, u nekim slučajevima, osnovna podjedinica obrade i dalje može da bude prevelika za obradu. Koder može dalje da podeli osnovnu podjedinicu obrade na manje segmente (npr. koji se nazivaju „blokovi transformacije“ (engl. TB – transform blocks) u H.265/HEVC ili H.266/VVC), na nivou kojih može da se izvede operacija transformacije. Treba napomenuti da šeme podele iste osnovne podjedinice obrade mogu da budu različite u fazi predviđanja i u fazi transformacije. Na primer, u H.265/HEVC ili H.266/VVC, blokovi predviđanja i blokovi transformacije od iste CU mogu da imaju različite veličine i brojeve.
[0053] U strukturi 110 na SL. 1, osnovna jedinica 112 obrade dalje je podeljena na 3×3 osnovnih podjedinica obrade, čije su granice prikazane tačkastim linijama. Različite osnovne jedinice obrade iste slike mogu da se podele na osnovne podjedinice obrade u različitim šemama.
[0054] [0026] U nekim implementacijama, da bi se obezbedila mogućnost paralelne obrade i otpornosti na greške pri kodiranju i dekodiranju videa, slika može da se podeli na regione za obradu, takvih da, za region slike, proces kodiranja ili dekodiranja ne može da zavisi od informacija iz bilo kog drugog regiona slike. Drugim rečima, svaki region slike može nezavisno da se obradi. Na taj način, kodek može paralelno da obrađuje različite regione slike, čime se povećava efikasnost kodiranja. Takođe, kada su podaci regiona oštećeni tokom
obrade ili izgubljeni tokom mrežnog prenosa, kodek može ispravno da kodira ili dekodira druge regione iste slike bez oslanjanja na oštećene ili izgubljene podatke, čime se obezbeđuje sposobnost otpornosti na greške. U nekim standardima video kodiranja, slika može da se podeli na različite tipove regiona. Na primer, H.265/HEVC i H.266/VVC pružaju dva tipa regiona: „isečke“ (engl. slices) i „pločice“ (engl. tiles). Takođe treba napomenuti da različite slike video sekvence 100 mogu da imaju različite šeme particionisanja za podelu slike na regione.
[0055] Na primer, na SL. 1, struktura 110 podeljena je na tri regiona 114, 116 i 118, čije su granice prikazane kao pune linije unutar strukture 110. Region 114 uključuje četiri osnovne jedinice obrade. Svaki od regiona 116 i 118 uključuje šest osnovnih jedinica obrade. Treba napomenuti da su osnovne jedinice obrade, osnovne podjedinice obrade i regioni strukture 110 na SL.1 samo primeri i da predmetno otkriće ne ograničava primere izvođenja na njih.
[0056] SL. 2 ilustruje šematski dijagram primernog kodera 200 u hibridnom sistemu za kodiranje videa, prema nekim primerima izvođenja predmetnog otkrića. Video koder 200 može da izvodi intra kodiranje ili inter kodiranje blokova unutar video frejmova, uključujući video blokove ili particije ili podparticije video blokova. Intra kodiranje može da se oslanja na prostorno predviđanje kako bi se smanjila ili uklonila prostorna redundantnost u videu unutar datog video frejma. Inter kodiranje može da se oslanja na vremensko predviđanje kako bi se smanjila ili uklonila vremenska redundantnost u videu unutar susednih frejmova video sekvence. Intra režimi mogu da se odnose na brojne prostorno zasnovane režime kompresije. Inter režimi (kao što su uni-predviđanje ili bi-predviđanje) mogu da se odnose na brojne vremenski zasnovane režime kompresije.
[0057] [0029] Pozivajući se na SL. 2, ulazni video signal 202 može da se obradi blok po blok. Na primer, jedinica video bloka može da bude blok od 16×16 piksela (npr. makroblok (MB)). Veličina jedinica video bloka može da varira, u zavisnosti od korišćenih tehnika kodiranja i potrebne tačnosti i efikasnosti. U HEVC, proširene veličine blokova (npr. jedinica stabla kodiranja (CTU)) mogu da se koriste za kompresiju video signala rezolucije, npr. 1080p i preko toga. U HEVC, CTU može da uključuje do 64x64 luma uzoraka, odgovarajuće hroma uzorke i pridružene sintaksne elemente. U VVC, veličina CTU može dodatno da se uveća da bi uključivala 128x128 luma uzoraka, odgovarajuće hroma uzorke i pridružene sintaksne elemente. CTU može dalje da se podeli na jedinice kodiranja (CU) koristeći, na primer, kvadratno stablo, binarno stablo ili ternarno stablo. CU može dalje da bude particionisana na jedinice predviđanja (engl. PU – partition units), na koje mogu da se primene odvojeni
postupci predviđanja. Svaki ulazni video blok može da bude obrađen korišćenjem jedinice 260 za prostorno predviđanje ili jedinice 262 za vremensko predviđanje.
[0058] Jedinica 260 za prostorno predviđanje izvodi prostorno predviđanje (npr. intra predviđanje) za trenutni blok/CU koristeći informacije o istoj slici/isečku koji sadrži trenutni blok. Prostorno predviđanje može da koristi piksele iz već kodiranih susednih blokova u istom video frejmu/isečku slike da bi se predvideo trenutni video blok. Prostorno predviđanje može da smanji prostornu redundantnost inherentnu za video signal.
[0059] Jedinica 262 za vremensko predviđanje izvodi vremensko predviđanje (npr. inter predviđanje) za trenutni blok koristeći informacije iz slike(slika)/isečka(isečaka) koji se razlikuju od slike/isečka koji obuhvata trenutni blok. Vremensko predviđanje za video blok može da bude signalizirano jednim ili više vektora kretanja. Kod uni-direkcionog vremenskog predviđanja, samo jedan vektor kretanja koji ukazuje na jednu referentnu sliku koristi se za generisanje signala predviđanja za trenutni blok. S druge strane, kod bi-direkcionog vremenskog predviđanja, dva vektora kretanja, od kojih svaki ukazuje na respektivnu referentnu sliku, mogu se da se koriste za generisanje signala predviđanja za trenutni blok. Vektori kretanja mogu da ukazuju na količinu i smer kretanja između trenutnog bloka i jednog ili više pridruženih blokova u referentnim frejmovima. Ako je podržano više referentnih slika, jedan ili više indeksa referentnih slika mogu da se pošalju za video blok. Jedan ili više referentnih indeksa mogu da se koriste za identifikaciju iz koje referentne slike (referentnih slika) iz skladišta referentnih slika ili bafera 264 za dekodirane slike (engl. DPB – decoded picture buffer) može da dođe signal vremenskog predviđanja.
[0060] Jedinica 280 za odlučivanje o režimu i upravljanje koderom u koderu može da izabere režim predviđanja, na primer, na osnovu optimizacije stope distorzije. Na osnovu određenog režima predviđanja, može da se dobije blok predviđanja. Blok predviđanja može da se oduzme od trenutnog video bloka u sabiraču 216. Rezidual predviđanja može da bude transformisan jedinicom 204 za transformaciju i kvantizovan jedinicom 206 za kvantizaciju. Kvantizovani koeficijenti reziduala mogu da budu inverzno kvantizovani u jedinici 210 za inverznu kvantizaciju i inverzno transformisani u jedinici 212 za inverznu transformaciju da bi se formirao rekonstruisani rezidual. Rekonstruisani rezidual može da se doda bloku predviđanja u sabiraču 226 da bi se formirao rekonstruisani video blok. Rekonstruisani video blok pre filtriranja u petlji može da se koristi za obezbeđivanje referentnih uzoraka za intra predviđanje.
[0061] Rekonstruisani video blok može da prođe kroz filtriranje u petlji u filteru 266 u petlji. Na primer, mogu da se primene filtriranja u petlji kao što su filter za uklanjanje blokovskih
[0064] 1
[0065] efekata (engl. deblocking filter), adaptivni ofset uzoraka (engl. SAO – sample adaptive offset) i adaptivni filter u petlji (engl. ALF – adaptive loop filter). Rekonstruisani blok nakon filtriranja u petlji može da se uskladišti u skladište 264 za referentne slike i može da se koristi za obezbeđivanje referentnih uzoraka za intra predviđanje za kodiranje drugih video blokova. Da bi se formirao izlazni niz 220 bitova videa, režim kodiranja (npr. inter ili intra), informacije o režimu predviđanja, informacije o kretanju i kvantizovani koeficijenti reziduala mogu da se pošalju jedinici 208 za entropijsko kodiranje radi daljeg smanjenja stope bitova, pre nego što se podaci komprimuju i upakuju da bi se formirao niz 220 bitova.
[0066] SL. 3 ilustruje šematski dijagram primernog dekodera 300 u hibridnom sistemu za kodiranje videa, prema nekim primerima izvođenja predmetnog otkrića. Pozivajući se na SL.
[0067] 3, niz 302 bitova videa može da bude raspakovan ili dekodiran entropijski u jedinici 308 za entropijsko dekodiranje. Informacije o režimu kodiranja mogu da se koriste za određivanje da li treba da se izabere jedinica 360 za prostorno predviđanje ili jedinica 362 za vremensko predviđanje. Informacija o režimu predviđanja može da se pošalje odgovarajućoj jedinici za predviđanje da bi se generisao blok predviđanja. Na primer, može da se primeni predviđanje sa kompenzacijom kretanja od strane jedinice 362 za vremensko predviđanje da bi se formirao blok vremenskog predviđanja.
[0068] Koeficijenti reziduala mogu da se pošalju jedinici 310 za inverznu kvantizaciju i jedinici 312 za inverznu transformaciju da bi se dobio rekonstruisani rezidual. Blok predviđanja i rekonstruisani rezidual mogu da se saberu u 326 da bi se formirao rekonstruisani blok pre filtriranja u petlji. Rekonstruisani blok zatim može da prođe kroz filtriranje u petlji u filteru 366 u petlji. Na primer, mogu da se primene filtriranja u petlji kao što su filter za uklanjanje blokovskih efekata, SAO i ALF. Rekonstruisani blok nakon filtriranja u petlji zatim može da se uskladišti u skladište 364 referentnih slika. Rekonstruisani podaci u skladištu 364 referentnih slika mogu da se koriste za dobijanje dekodiranog videa 320 ili da se koriste za predviđanje budućih video blokova. Dekodirani video 320 može da se prikazuje na uređaju za prikazivanje, kao što je TV, računar, pametni telefon ili tablet, kako bi ga videli krajnji korisnici.
[0069] [0036] SL. 4 je blok dijagram primernog uređaja 400 za kodiranje ili dekodiranje videa, prema nekim primerima izvođenja predmetnog otkrića. Kao što je prikazano na SL. 4, uređaj 400 može da uključuje procesor 402. Kada procesor 402 izvršava ovde opisane instrukcije, uređaj 400 može da postane specijalizovana mašina za kodiranje ili dekodiranje videa. Procesor 402 može da bude bilo koja vrsta električnog kola sposobna za manipulisanje ili obradu informacija. Na primer, procesor 402 može da sadrži bilo koju kombinaciju bilo kog
broja centralnih procesorskih jedinica (ili „CPU“), grafičkih procesorskih jedinica (ili „GPU“), neuronskih procesorskih jedinica („NPU“), mikrokontrolerskih jedinica („MCU“), optičkih procesora, programabilnih logičkih kontrolera, mikrokontrolera, mikroprocesora, digitalnih procesora signala, jezgra intelektualne svojine (engl. IP core), programabilnih logičkih matrica tipa PLA (engl. Programmable Logic Array) i PAL (engl. Programmable Array Logic), generičkih polja logike (engl. GAL - Generic Array Logic), kompleksnih programabilnih logičkih uređaja (engl. CPLD – Complex Programmable Logic Device), FPGA čipova, sistema na čipu (engl. SoC - System On Chip), integrisanih kola specifične namene (ASIC) ili slično. U nekim primerima izvođenja, procesor 402 takođe može da bude skup procesora grupisanih kao jedna logička komponenta. Na primer, kao što je prikazano na SL. 4, procesor 402 može da uključuje više procesora, uključujući procesor 402a, procesor 402b i procesor 402n.
[0070] Uređaj 400 može takođe da uključuje memoriju 404 konfigurisanu za skladištenje podataka (npr. skup instrukcija, računarskih kodova, privremenih podataka ili slično). Na primer, kao što je prikazano na SL. 4, uskladišteni podaci mogu da uključuju programske instrukcije (npr. programske instrukcije za implementaciju faza sa SL. 2 ili SL. 3) i podatke za obradu. Procesor 402 može da pristupa programskim instrukcijama i podacima za obradu (npr. preko magistrale 410) i da izvršava programske instrukcije da bi izveo operaciju ili manipulaciju podacima za obradu. Memorija 404 može da uključuje uređaj za skladištenje sa slučajnim pristupom velike brzine ili uređaj za trajno skladištenje. U nekim primerima izvođenja, memorija 404 može da uključuje bilo koju kombinaciju bilo kog broja memorija sa slučajnim pristupom (RAM), memorija samo za čitanje (ROM), optičkih diskova, magnetnih diskova, hard diskova, SSD-ova, fleš diskova, SD kartica, memorijskih stikova, CF kartica ili slično. Memorija 404 takođe može da bude i grupa memorija (nije prikazano na SL. 4) grupisanih kao jedna logička komponenta.
[0071] Magistrala 410 može da bude komunikacioni uređaj koji prenosi podatke između komponenata unutar uređaja 400, kao što je interna magistrala (npr. magistrala CPU-memorija), eksterna magistrala (npr. port univerzalne serijske magistrale (USB), ekspresni port za međusobno povezivanje perifernih komponenti) ili slično.
[0072] [0039] Radi lakšeg objašnjenja bez izazivanja dvosmislenosti, procesor 402 i druga električna kola za obradu podataka zajednički se nazivaju „kolo za obradu podataka“ u predmetnom otkriću. Kolo za obradu podataka može da bude implementirano u potpunosti kao hardver ili kao kombinacija softvera, hardvera ili firmvera. Pored toga, kolo za obradu podataka može da
bude jedan nezavisni modul ili može da se kombinuje u potpunosti ili delimično sa bilo kojom drugom komponentom uređaja 400.
[0073] Uređaj 400 može dalje da uključuje mrežni interfejs 406 za obezbeđivanje žične ili bežične komunikacije sa mrežom (npr. Internetom, intranetom, lokalnom računarskom mrežom, mobilnom komunikacionom mrežom ili slično). U nekim primerima izvođenja, mrežni interfejs 406 može da uključuje bilo koju kombinaciju bilo kog broja kontrolera mrežnog interfejsa (engl. NIC – network interface controller), radio-frekventnog (RF) modula, transpondera, primopredajnika, modema, rutera, gejtveja, žičnog mrežnog adaptera, bežičnog mrežnog adaptera, Bluetooth adaptera, infracrvenog adaptera, adaptera za komunikaciju bliskog polja („NFC“), čipa mobilne mreže ili slično.
[0074] U nekim primerima izvođenja, opciono, uređaj 400 može dodatno da uključuje periferni interfejs 408 radi obezbeđivanja veze sa jednim ili više perifernih uređaja. Kao što je prikazano na SL. 4, periferni uređaj može da uključuje, ali nije ograničen na, uređaj za kontrolu kursora (npr. miš, tačped ili ekran osetljiv na dodir), tastaturu, displej (npr. displej sa katodnom cevi, displej sa tečnim kristalima ili displej sa svetlosnim diodama), uređaj za video ulaz (npr. kameru ili ulazni interfejs povezan sa video arhivom) ili slično.
[0075] Treba napomenuti da video kodeci mogu da budu implementirani kao bilo koja kombinacija bilo kog softverskog ili hardverskog modula u uređaju 400. Na primer, neke ili sve faze kodera 200 sa SL. 2 ili dekodera 300 sa SL. 3 mogu da budu implementirane kao jedan ili više softverskih modula uređaja 400, kao što su programske instrukcije koje mogu da se učitaju u memoriju 404. Kao još jedan primer, neke ili sve faze kodera 200 sa SL. 2 ili dekodera 300 sa SL. 3 mogu da budu implementirane kao jedan ili više hardverskih modula uređaja 400, kao što je specijalizovano kolo za obradu podataka (npr. FPGA, ASIC , NPU ili slično).
[0076] U funkcionalnim blokovima kvantizacije i inverzne kvantizacije (npr. jedinica 206 za kvantizaciju i jedinica 210 za inverznu kvantizaciju sa SL. 2, jedinica 310 za inverznu kvantizaciju sa SL. 3), parametar kvantizacije (engl. QP - quantization parameter) koristi se za određivanje količine kvantizacije (i inverzne kvantizacije) primenjene na reziduale predviđanja. Početne vrednosti QP koje se koriste za kodiranje slike ili isečka mogu da se signaliziraju na visokom nivou, na primer, korišćenjem sintaksnog elementa init_qp_minus26 u skupu parametara o slici (engl. PPS – Picture Parameter Set) i korišćenjem sintaksnog elementa slice_qp_delta u zaglavlju isečka. Dalje, vrednosti QP mogu da se prilagode na lokalnom nivou za svaku CU korišćenjem delta vrednosti QP poslatih na nivou granulacije grupa kvantizacije.
[0079] 1
[0080] U VVC, transformacija podbloka (SBT) koristi se za intra predviđenu jedinicu kodiranja (CU). U ovom režimu transformacije, samo se pod deo rezidualnog bloka kodira za CU. Kada je inter predviđena CU sa sintaksnim elementom cu_cbf jednaka 1, sintaksni element cu_sbt_flag može da bude signaliziran da bi se naznačilo da li je kodiran ceo rezidualni blok ili pod deo rezidualnog bloka. U prvom slučaju, informacija o izboru višestruke transformacije (engl. MTS - multiple transform selected) za inter dalje se raščlanjuje da bi se odredio tip transformacije CU. U drugom slučaju, deo rezidualnog bloka kodira se zaključenom adaptivnom transformacijom, a drugi deo rezidualnog bloka se anulira.
[0081] Kada se SBT koristi za inter predviđenu CU, informacije o tipu SBT i poziciji SBT signaliziraju se u nizu bitova. Postoje dva tipa SBT i dve pozicije SBT, kao što je ilustrovano na SL. 5. Za SBT-V (ili SBT-H), širina (ili visina) jedinice transformacije (engl. TU -transform unit) može da bude jednaka polovini širine (ili visine) CU ili 1/4 širine (ili visine) CU, što rezultuje podelom 2:2 ili podelom 1:3/3:1. Podela 2:2 je kao podela binarnog stabla (engl. BT – binary tree), dok je podela 1:3/3:1 kao podela asimetričnog binarnog stabla (engl. ABT – asymmetric binary tree). Kod podele tipa ABT, samo mali region sadrži rezidual različit od nule. Ako jedna dimenzija CU iznosi 8 u luma uzorcima, podela 1:3/3:1 duž te dimenzije nije dozvoljena. Postoji najviše 8 režima SBT za CU.
[0082] Sintaksa nivoa skupa parametara o sekvenci (engl. SPS - Sequence Parameter Set) može da koristi sintaksni element sps_sbt_enabled_flag da bi se navelo da li je SBT omogućena ili onemogućena. Kada je sintaksni element sps_sbt_enabled_flag jednak 0, on signalizira da je SBT za inter predviđenu CU onemogućena za celu video sekvencu koja se odnosi na ovaj SPS. Kada je sintaksni element sps_sbt_enabled_flag jednak 1, on signalizira da je SBT za inter predviđenu CU omogućena za celu video sekvencu koja se odnosi na ovaj SPS.
[0083] Štaviše, kada je sps_sbt_enabled_flag jednak 1, drugi sintaksni element SPS, sps_sbt_max_size_64_flag, može da se koristi za određivanje maksimalne širine i visine CU za koju je SBT dozvoljen. Kada je sintaksni element sps_sbt_max_size_64_flag jednak 0, on signalizira da maksimalna širina i visina CU za dozvoljavanje SBT iznose 32 luma uzorka. Kada je sintaksni element sps_sbt_max_size_64_flag jednak 1, on signalizira da maksimalna širina i visina CU za dozvoljavanje SBT iznose 64 luma uzoraka. Promenljiva MaxSbtSize koja može da navede maksimalno dozvoljenu veličinu CU za SBT izračunava se na osnovu sledeće Jednačine 1:
[0084] MaxSbtSize = Min( MaxTbSizeY, sps_sbt_max_size_64_flag ? 64 : 32 ) (Jedn. 1)
[0086] gde je MaxTbSizeY maksimalno dozvoljena veličina bloka transformacije (TB) i može da se izvede iz drugog elementa sintakse na SPS nivou, sps_max_luma_transform_size_64_flag, prema sledećoj Jednačini 2:
[0088] MaxTbSizeY = sps_max_luma_transform_size_64_flag ? 64 : 32
[0089] (Jedn. 2)
[0091] Kao što je opisano gore, izvođenje MaxSbtSize zavisi od dva sintaksna elementa sps_max_luma_transform_size_64_flag i sps_sbt_max_size_64_flag. Ako je vrednost sintaksnog elementa sps_max_luma_transform_size_64_flag = 0, MaxSbtSize je uvek 32, bez obzira na vrednost sintaksnog elementa sps_sbt_max_size_64_flag. Stoga, nije potrebno da se signalizira sintaksni element sps_sbt_max_size_64_flag kada je sintaksni element sps_max_luma_transform_size_64_flag jednak nuli. Takva sintaksna redundantnost u VVC nepotrebno povećava opterećenje signalizacije.
[0092] Da bi se poboljšala efikasnost kodiranja videa, prema nekim otkrivenim primerima izvođenja, sintaksni element sps_sbt_max_size_64_flag signalizira se samo kada su oba sintaksna elementa sps_max_luma_transform_size_64_flag i sps_sbt_enabled_flag jednaka 1.
[0093] SL. 6 ilustruje primernu Tabelu 1, prema nekim primerima izvođenja predmetnog otkrića.
[0094] Tabela 1 prikazuje primernu tabelu sintakse SPS nekih primera izvođenja. Kao što je prikazano u Tabeli 1 (naglašavanja su prikazana kurzivom), sintaksni element sps_sbt_max_size_64_flag signalizira se samo ako su oba sintaksna elementa, sps_max_luma_transform_size_64_flag i sps_sbt_enabled_flag, jednaka 1. Ako je sintaksni element sps_max_luma_transform_size_64_flag jednak 0, može da se zaključi da je sintaksni element sps_sbt_max_size_64_flag jednak nuli - što znači da maksimalna širina i visina CU koje dozvoljavaju SBT iznose 32 (u jedinicama luma uzoraka).
[0095] SL. 7 ilustruje dijagram toka primernog postupka 700 za obradu videa, prema nekim primerima izvođenja predmetnog otkrića. U nekim primerima izvođenja, postupak 700 može da se izvodi pomoću kodera (npr. kodera 200 sa SL. 2), dekodera (npr. dekodera 300 sa SL.
[0096] 3) ili jedne ili više softverskih ili hardverskih komponenti uređaja (npr. uređaja 400 sa SL.4). Na primer, procesor (npr. procesor 402 sa SL. 4) može da izvede postupak 700. U nekim primerima izvođenja, postupak 700 može da bude implementiran pomoću računarskog
[0099] 1
[0100] programskog proizvoda, realizovanog na računarski čitljivom medijumu, uključujući instrukcije koje mogu da se izvrše računarom, kao što je programski kod, koji izvršavaju računari (npr. uređaj 400 sa SL.4).
[0101] U koraku 702, postupak 700 može da uključuje određivanje da li je transformacija podbloka (SBT) omogućena u skupu parametara o sekvenci (SPS) za video sekvencu. U nekim primerima izvođenja, fleg (npr. sintaksni element sps_sbt_enabled_flag kao što je prikazano u Tabeli 1 na SL. 6) može da bude signaliziran u SPS koji ukazuje na to da li je SBT omogućena. Na primer, sintaksni element sps_sbt_enabled_flag jednak 0 može da navede da je SBT za inter predviđene CU onemogućena za celu video sekvencu koja se odnosi na SPS. A sintaksni element sps_sbt_enabled_flag jednak 1 može da navede da je SBT za inter predviđene CU omogućena za celu video sekvencu koja se odnosi na SPS.
[0102] U koraku 704, postupak 700 može da uključuje određivanje vrednosti prvog flega u SPS koji ukazuje na maksimalnu veličinu bloka transformacije (TB) koja dozvoljava SBT. Prvi fleg može da bude postavljen na prvu vrednost ili drugu vrednost. Na primer, prva vrednost je 1, a druga vrednost je 0. Maksimalna veličina TB može da bude 32, 64 ili slično. U nekim primerima izvođenja, postupak 700 takođe može da uključuje, kao odgovor na to da maksimalna veličina TB iznosi 64, postavljanje vrednosti prvog flega na prvu vrednost, i kao odgovor to da maksimalna veličina TB iznosi 32, postavljanje vrednosti prvog flega na drugu vrednost. U nekim primerima izvođenja, prvi fleg može da bude sintaksni element sps_max_luma_transform_size_64_flag u Tabeli 1 na SL.6.
[0103] U koraku 706, postupak 700 može da uključuje, kao odgovor na to da je SBT omogućena i da je vrednost prvog flega jednaka prvoj vrednosti, signaliziranje drugog flega koji ukazuje na maksimalnu veličinu jedinice kodiranja (CU) koja dozvoljava SBT. Drugi fleg se ne signalizira kao odgovor na to da je SBT onemogućena ili da je vrednost prvog flega jednaka drugoj vrednosti. Na primer, drugi fleg može da bude sintaksni element sps_sbt_max_size_64_flag kao što je prikazano u Tabeli 1 na SL. 6. Sintaksni element sps_sbt_max_size_64_flag se signalizira samo kada su oba sintaksna elementa, sps_max_luma_transform_size_64_flag i sps_sbt_enabled_flag, jednaka 1.
[0104] U nekim primerima izvođenja, postupak 700 može takođe da uključuje signaliziranje trećeg flega (npr. sintaksnog elementa sps_sbt_enabled_flag kao što je prikazano u Tabeli 1 na SL. 6) u SPS koji ukazuje na to da li je SBT omogućena i signaliziranje prvog flega (npr. sintaksnog elementa sps_max_luma_transform_size_64_flag u Tabeli 1 na SL.6) u SPS.
[0105] U nekim primerima izvođenja, maksimalna veličina CU može da bude 32 ili 64. Maksimalna širina ili visina CU koja dozvoljava SBT može da se odredi na osnovu toga koja
[0108] 1
[0109] vrednost je manja od maksimalne veličine TB i maksimalne veličine CU (npr. prema Jednačini 1).
[0110] U nekim otkrivenim primerima izvođenja, sintaksni element sps_sbt_max_size_64_flag uopšte se ne signalizira. U tom slučaju, maksimalno dozvoljena širina i visina CU za SBT direktno zavisi od sintaksnog elementa sps_max_luma_transform_size_64_flag. Ako je sintaksni element sps_max_luma_transform_size_64_flag jednak 0, maksimalna širina i visina CU za dozvoljavanje SBT iznose 32 luma uzorka. Ako je sintaksni element sps_max_luma_transform_size_64_flag jednak 1, maksimalna širina i visina CU za dozvoljavanje SBT iznose 64 luma uzorka. Drugim rečima, MaxSbtSize je podešen da bude jednak sa MaxTbSizeY. SL.8 ilustruje primernu Tabelu 2, prema nekim primerima izvođenja predmetnog otkrića. Tabela 2 prikazuje primernu sintaksu SPS kojom se implementiraju ovi primeri izvođenja. Kao što je prikazano u Tabeli 2, sintaksni element sps_sbt_max_size_64_flag nije signaliziran i obrisan je iz sintakse. SL. 9 ilustruje primernu Tabelu 3, prema nekim primerima izvođenja predmetnog otkrića. Tabela 3 (naglašavanja su prikazana kurzivom) prikazuje primernu sintaksnu tabelu jedinice kodiranja (CU) koja direktno koristi MaxTbSizeY za podešavanje maksimalne širine i visine CU. MaxTbSizeY se izračunava na osnovu sledeće Jednačine 3:
[0112] MaxTbSizeY = sps_max_luma_transform_size_64_flag ? 64 : 32
[0113] (Jedn. 3)
[0115] SL. 10 ilustruje dijagram toka još jednog primernog postupka 1000 za obradu videa, prema nekim primerima izvođenja predmetnog otkrića. U nekim primerima izvođenja, postupak 1000 može da bude izveden pomoću kodera (npr. kodera 200 sa SL. 2), dekodera (npr. dekodera 300 sa SL. 3) ili jedne ili više softverskih ili hardverskih komponenti uređaja (npr. uređaja 400 sa SL. 4). Na primer, procesor (npr. procesor 402 sa SL.4) može da izvede postupak 1000. U nekim primerima izvođenja, postupak 1000 može da bude implementiran pomoću računarskog programskog proizvoda, realizovanog na računarski čitljivom medijumu, uključujući instrukcije koje mogu da se izvrše računarom, kao što je programski kod, koji izvršavaju računari (npr. uređaj 400 sa SL.4).
[0116] U koraku 1002, postupak 1000 uključuje signaliziranje prvog flega u skupu parametara o sekvenci (SPS) za video sekvencu koji ukazuje na to da li je omogućena transformacija podbloka (SBT). U nekim primerima izvođenja, prvi fleg može da bude
[0119] 1
[0120] sintaksni element sps_sbt_enabled_flag kao što je prikazano u Tabeli 2 na SL.8. Na primer, sintaksni element sps_sbt_enabled_flag jednak 0 može da navede da je SBT za intra predviđene CU onemogućena za celu video sekvencu koja se odnosi na SPS. A sintaksni element sps_sbt_enabled_flag jednak 1 može da navede da je SBT za intra predviđene CU omogućena za celu video sekvencu koja se odnosi na SPS.
[0121] U koraku 1004, postupak 1000 može da uključuje signaliziranje drugog flega koji ukazuje na maksimalnu veličinu bloka transformacije (TB) koja dozvoljava SBT. Drugi fleg može da bude postavljen na prvu vrednost ili drugu vrednost. Na primer, prva vrednost je 1, a druga vrednost je 0. Maksimalna veličina TB može da bude 32, 64 ili slično. U nekim primerima izvođenja, postupak 1000 može takođe da uključuje, kao odgovor na to da maksimalna veličina TB iznosi 32, postavljanje vrednosti drugog flega da bude 0, i kao odgovor na to da maksimalna veličina TB iznosi 64, postavljanje vrednosti drugog flega da bude 1. U nekim primerima izvođenja, prvi fleg može da bude sintaksni element sps_max_luma_transform_size_64_flag u Tabeli 2 na SL 8.
[0122] Maksimalna veličina CU koja dozvoljava SBT može direktno da se odredi na osnovu maksimalne veličine TB kao odgovor na prvi fleg koji ukazuje da je SBT omogućena. Na primer, maksimalna veličina CU se određuje da je jednaka maksimalnoj veličini TB. Maksimalna veličina CU može da uključuje maksimalnu širinu CU i maksimalnu visinu CU.
[0123] U nekim primerima izvođenja, takođe je obezbeđen netranzitorni računarski čitljiv medijum za skladištenje koji uključuje instrukcije, a instrukcije može da izvrši uređaj (kao što su otkriveni koder i dekoder), za izvođenje postupaka opisanih gore. Uobičajeni oblici netranzitornih medija uključuju, na primer, flopi disk, fleksibilni disk, hard disk, SSD, magnetnu traku ili bilo koji drugi magnetni medijum za skladištenje podataka, CD-ROM, bilo koji drugi optički medijum za skladištenje podataka, bilo koji fizički medijum sa obrascima rupa, RAM, PROM i EPROM, FLASH-EPROM ili bilo koju drugu fleš memoriju, NVRAM, keš memoriju, registar, bilo koji drugi memorijski čip ili kertridž i umrežene verzije istog. Uređaj može da sadrži jedan ili više procesora (CPU), ulazno/izlazni interfejs, mrežni interfejs i/ili memoriju.
[0124] Treba napomenuti da se ovde relacioni termini, kao što su „prvi“ i „drugi“, koriste samo za razlikovanje entiteta ili operacije od drugog entiteta ili operacije i ne zahtevaju niti impliciraju bilo kakav stvarni odnos ili redosled između ovih entiteta ili operacija. Štaviše, reči „sadrži“, „ima“, „obuhvata“ i „uključuje“ i drugi slični oblici namenjeni su da budu ekvivalentni po značenju i da budu otvoreni u smislu da stavka ili stavke koje slede posle bilo
[0127] 1
[0128] koje od ovih reči nisu namenjene kao iscrpan spisak takve stavke ili stavki, niti su namenjene da budu ograničene samo na navedenu stavku ili stavke.
[0129] Kako se ovde koristi, osim ako nije drugačije navedeno, termin „ili“ obuhvata sve moguće kombinacije, osim tamo gde je to neizvodljivo. Na primer, ako je navedeno da baza podataka može da uključuje A ili B, onda, osim ako nije drugačije navedeno ili nije neizvodljivo, baza podataka može da uključuje A, ili B, ili A i B. Kao drugi primer, ako je navedeno da baza podataka može da uključuje A, B ili C, onda, osim ako nije drugačije navedeno ili nije neizvodljivo, baza podataka može da uključuje A, ili B, ili C, ili A i B, ili A i C, ili B i C, ili A i B i C.
[0130] Razume se da primeri izvođenja opisani gore mogu da se implementiraju hardverom, ili softverom (programski kodovi), ili kombinacijom hardvera i softvera. Ako se implementiraju softverom, mogu da se skladište na računarski čitljivim medijima opisanim gore. Softver, kada ga izvršava procesor, može da izvede opisane postupke. Računarske jedinice i druge funkcionalne jedinice opisane u ovom otkriću mogu da se implementiraju hardverom, ili softverom, ili kombinacijom hardvera i softvera. Stručnjak u ovoj oblasti takođe će razumeti da više modula/jedinica opisanih gore mogu da se objedine u jedan modul/jedinicu, a i svaki od modula/jedinica opisanih gore može dalje da se podeli na mnoštvo podmodula/podjedinica.
[0131] U prethodnoj specifikaciji, opisani su primeri izvođenja sa pozivanjem na brojne specifične detalje koji mogu da se razlikuju od implementacije do implementacije. Mogu da se naprave određene adaptacije i modifikacije opisanih primera izvođenja. Drugi primeri izvođenja mogu da budu očigledni stručnjacima u ovoj oblasti na osnovu razmatranja specifikacije i primene pronalaska opisanog ovde. Namera je da se specifikacija i primeri smatraju samo primerima, pri čemu je pravi obim pronalaska naznačen sledećim zahtevima. Takođe je namera da je redosled koraka prikazan na slikama samo u ilustrativne svrhe i da nije namenjen da bude ograničen na bilo koji određeni redosled koraka. Stoga, stručnjaci u ovoj oblasti mogu da razumeju da ovi koraci mogu da se izvode različitim redosledom prilikom implementacije istog postupka.
[0132] U crtežima i specifikaciji otkriveni su primeri izvođenja. Međutim, moguće je da se naprave mnoge varijacije i modifikacije ovih primera izvođenja. Prema tome, iako se koriste specifični termini, oni se koriste samo u generičkom i opisnom smislu, a ne u svrhu ograničavanja.
[0135] 1
Claims (9)
1. Patentni zahtevi
1. Postupak (200) za kodiranje video sekvence u niz bitova, gde postupak sadrži:
signaliziranje (1002), u skupu parametara o sekvenci, SPS, kodiranog u nizu (220, 302) bitova, prvog flega koji ukazuje na to da li je transformacija podbloka, SBT, omogućena; i
signaliziranje (1004), u SPS, kodiranog u nizu bitova, drugog flega koji ukazuje na maksimalnu veličinu transformacije za luma uzorke,
naznačen time da
kada prvi fleg ukazuje na to da je SBT omogućena:
maksimalna veličina jedinice kodiranja, CU, koja dozvoljava SBT, postavlja se na 64 kao odgovor na to da drugi fleg ukazuje da maksimalna veličina transformacije za luma uzorke iznosi 64; i
maksimalna veličina jedinice kodiranja, CU, koja dozvoljava SBT, postavlja se na 32 kao odgovor na to da drugi fleg ukazuje da maksimalna veličina transformacije za luma uzorke iznosi 32.
2. Postupak (300) dekodiranja niza bitova da bi se kao izlaz dobio video (320), gde postupak sadrži:
primanje niza (302) bitova;
dekodiranje, iz kodiranih informacija za skup parametara o sekvenci, SPS, kodiranih u nizu (228) bitova, prvog flega koji ukazuje na to da li je omogućena transformacija podbloka, SBT;
dekodiranje, iz kodiranih informacija za SPS kodiranih u nizu (228) bitova, drugog flega koji ukazuje na maksimalnu veličinu transformacije za luma uzorke; i naznačen time da: kada prvi fleg ukazuje na to da je SBT omogućena, postavljanje maksimalne veličine jedinice kodiranja, CU, koja dozvoljava SBT, korišćenjem drugog flega, pri čemu:
2
maksimalna veličina jedinice kodiranja, CU, koja dozvoljava SBT, postavlja se na 64 kao odgovor na drugi fleg koji ukazuje na to da maksimalna veličina transformacije za luma uzorke iznosi 64, i
maksimalna veličina jedinice za kodiranje, CU, koja dozvoljava SBT, postavlja se na 32 kao odgovor na drugi fleg koji ukazuje na to da maksimalna veličina transformacije za luma uzorke iznosi 32.
3. Postupak prema zahtevu 1 ili 2, naznačen time da je maksimalna veličina CU, koja dozvoljava SBT, maksimalna širina CU ili maksimalna visina CU.
4. Postupak prema bilo kojem od prethodnih zahteva, naznačen time da je maksimalna veličina transformacije 32 ili 64.
5. Postupak prema zahtevu 4, koji dalje sadrži:
kao odgovor na to da je vrednost drugog flega 0, postavljanje maksimalne veličine transformacije na 32.
6. Postupak prema zahtevu 4, koji dalje sadrži:
kao odgovor na to da je vrednost drugog flega 1, postavljanje maksimalne veličine transformacije na 64.
7. Uređaj (400) za kodiranje video sekvence u niz bitova, gde uređaj sadrži:
najmanje jednu memoriju (404) za skladištenje instrukcija; i
najmanje jedan procesor (402) konfigurisan da izvršava instrukcije kako bi se prouzrokovalo da uređaj izvede postupak prema bilo kojem od zahteva 1 ili 3 do 6.
8. Uređaj (400) za dekodiranje niza bitova, gde uređaj sadrži:
najmanje jednu memoriju (404) za skladištenje instrukcija; i
najmanje jedan procesor (402) konfigurisan da izvršava instrukcije kako bi se prouzrokovalo da uređaj izvede postupak prema bilo kojem od zahteva 2 do 6.
9. Računarski čitljiv medijum koji sadrži instrukcije koje, kada ih izvrši najmanje jedan procesor ili uređaj, prouzrokuju da najmanje jedan procesor ili uređaj izvrše postupak prema bilo kojem od zahteva od 1 do 6.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962900395P | 2019-09-13 | 2019-09-13 | |
| PCT/US2020/043448 WO2021050166A1 (en) | 2019-09-13 | 2020-07-24 | Method and apparatus for signaling sub-block transform information |
| EP20863945.0A EP4029239B1 (en) | 2019-09-13 | 2020-07-24 | Method and apparatus for signaling sub-block transform information |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RS67292B1 true RS67292B1 (sr) | 2025-11-28 |
Family
ID=74867184
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RS20250981A RS67292B1 (sr) | 2019-09-13 | 2020-07-24 | Postupak i uređaj za signaliziranje informacija o transformaciji podblokova |
Country Status (11)
| Country | Link |
|---|---|
| US (2) | US11589067B2 (sr) |
| EP (3) | EP4598029A3 (sr) |
| JP (3) | JP7652761B2 (sr) |
| KR (1) | KR20220057628A (sr) |
| CN (4) | CN114402547B (sr) |
| ES (1) | ES3042414T3 (sr) |
| HR (1) | HRP20251215T1 (sr) |
| PL (1) | PL4029239T3 (sr) |
| RS (1) | RS67292B1 (sr) |
| SM (1) | SMT202500375T1 (sr) |
| WO (1) | WO2021050166A1 (sr) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4598029A3 (en) * | 2019-09-13 | 2025-10-29 | Alibaba Group Holding Limited | Method and apparatus for signaling sub-block transform information |
| US11606563B2 (en) * | 2019-09-24 | 2023-03-14 | Tencent America LLC | CTU size signaling |
| WO2023246901A1 (en) * | 2022-06-22 | 2023-12-28 | Mediatek Inc. | Methods and apparatus for implicit sub-block transform coding |
| GB2701660A (en) * | 2024-10-22 | 2026-05-06 | Canon Kk | Image and video coding and decoding |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110194613A1 (en) * | 2010-02-11 | 2011-08-11 | Qualcomm Incorporated | Video coding with large macroblocks |
| AU2012232992A1 (en) | 2012-09-28 | 2014-04-17 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding the transform units of a coding unit |
| CN103796031A (zh) * | 2012-10-27 | 2014-05-14 | 朱洪波 | 高灵活变尺寸块变换 |
| WO2015012600A1 (ko) * | 2013-07-23 | 2015-01-29 | 성균관대학교 산학협력단 | 영상 부호화/복호화 방법 및 장치 |
| KR101642092B1 (ko) * | 2014-10-06 | 2016-07-22 | 성균관대학교산학협력단 | 영상의 부호화/복호화 방법 및 이를 이용하는 장치 |
| KR102199463B1 (ko) * | 2015-08-31 | 2021-01-06 | 삼성전자주식회사 | 스캔 순서를 고려한 영상의 변환 방법 및 그 장치, 및 역변환 방법 및 그 장치 |
| WO2017088093A1 (en) * | 2015-11-23 | 2017-06-01 | Mediatek Singapore Pte. Ltd. | On the smallest allowed block size in video coding |
| US9942548B2 (en) * | 2016-02-16 | 2018-04-10 | Google Llc | Entropy coding transform partitioning information |
| MX389723B (es) * | 2016-03-16 | 2025-03-20 | Hfi Innovation Inc | Método y aparato de procesamiento de datos de video con tamaño restringido de bloque en codificación de video. |
| CN115802037A (zh) * | 2016-10-10 | 2023-03-14 | 三星电子株式会社 | 用于对图像进行编码/解码的方法和设备 |
| EP3349455A1 (en) * | 2017-01-11 | 2018-07-18 | Thomson Licensing | Method and device for coding a block of video data, method and device for decoding a block of video data |
| US11102513B2 (en) * | 2018-12-06 | 2021-08-24 | Tencent America LLC | One-level transform split and adaptive sub-block transform |
| GB2585019A (en) * | 2019-06-24 | 2020-12-30 | Canon Kk | Residual signalling |
| CN114145014B (zh) * | 2019-07-19 | 2025-09-19 | 韦勒斯标准与技术协会公司 | 处理视频信号的方法和设备 |
| CN119743597B (zh) | 2019-09-09 | 2026-04-28 | 北京字节跳动网络技术有限公司 | 视频编解码块的递归划分 |
| EP4598029A3 (en) * | 2019-09-13 | 2025-10-29 | Alibaba Group Holding Limited | Method and apparatus for signaling sub-block transform information |
-
2020
- 2020-07-24 EP EP25184083.1A patent/EP4598029A3/en active Pending
- 2020-07-24 PL PL20863945.0T patent/PL4029239T3/pl unknown
- 2020-07-24 ES ES20863945T patent/ES3042414T3/es active Active
- 2020-07-24 JP JP2022513113A patent/JP7652761B2/ja active Active
- 2020-07-24 EP EP20863945.0A patent/EP4029239B1/en active Active
- 2020-07-24 CN CN202080064235.0A patent/CN114402547B/zh active Active
- 2020-07-24 WO PCT/US2020/043448 patent/WO2021050166A1/en not_active Ceased
- 2020-07-24 HR HRP20251215TT patent/HRP20251215T1/hr unknown
- 2020-07-24 CN CN202510423454.8A patent/CN120111255A/zh active Pending
- 2020-07-24 KR KR1020227012215A patent/KR20220057628A/ko active Pending
- 2020-07-24 US US16/938,277 patent/US11589067B2/en active Active
- 2020-07-24 CN CN202510423462.2A patent/CN120151546B/zh active Active
- 2020-07-24 RS RS20250981A patent/RS67292B1/sr unknown
- 2020-07-24 CN CN202510421227.1A patent/CN120017850B/zh active Active
- 2020-07-24 EP EP25186818.8A patent/EP4604550A3/en active Pending
- 2020-07-24 SM SM20250375T patent/SMT202500375T1/it unknown
-
2023
- 2023-01-19 US US18/156,762 patent/US20230156211A1/en active Pending
-
2025
- 2025-01-09 JP JP2025003185A patent/JP7853533B2/ja active Active
-
2026
- 2026-03-12 JP JP2026039543A patent/JP2026095472A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN120017850B (zh) | 2026-08-07 |
| EP4029239B1 (en) | 2025-08-27 |
| JP7853533B2 (ja) | 2026-04-30 |
| SMT202500375T1 (it) | 2025-11-10 |
| JP2022548203A (ja) | 2022-11-17 |
| CN114402547B (zh) | 2025-06-13 |
| CN120151546A (zh) | 2025-06-13 |
| CN114402547A (zh) | 2022-04-26 |
| JP7652761B2 (ja) | 2025-03-27 |
| JP2026095472A (ja) | 2026-06-11 |
| EP4029239A4 (en) | 2022-12-14 |
| EP4598029A3 (en) | 2025-10-29 |
| CN120017850A (zh) | 2025-05-16 |
| KR20220057628A (ko) | 2022-05-09 |
| ES3042414T3 (en) | 2025-11-20 |
| EP4604550A3 (en) | 2025-10-29 |
| EP4604550A2 (en) | 2025-08-20 |
| US20210084321A1 (en) | 2021-03-18 |
| CN120111255A (zh) | 2025-06-06 |
| WO2021050166A1 (en) | 2021-03-18 |
| US11589067B2 (en) | 2023-02-21 |
| JP2025066743A (ja) | 2025-04-23 |
| US20230156211A1 (en) | 2023-05-18 |
| EP4598029A2 (en) | 2025-08-06 |
| EP4029239A1 (en) | 2022-07-20 |
| HRP20251215T1 (hr) | 2026-02-13 |
| PL4029239T3 (pl) | 2025-11-17 |
| CN120151546B (zh) | 2026-02-24 |
| EP4029239C0 (en) | 2025-08-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12108058B2 (en) | Method and apparatus for chroma sampling | |
| JP7808169B2 (ja) | パレットモードを使用するための映像処理方法及び機器 | |
| US12621469B2 (en) | Methods for processing chroma signals | |
| JP7853533B2 (ja) | サブブロック変換情報を信号化するための方法及び装置 | |
| US11606577B2 (en) | Method for processing adaptive color transform and low-frequency non-separable transform in video coding | |
| HK40090450B (en) | Method and apparatus for chroma sampling | |
| HK40090450A (en) | Method and apparatus for chroma sampling | |
| HK40090449B (en) | Method and apparatus for chroma sampling | |
| HK40090449A (en) | Method and apparatus for chroma sampling |