RS64175B1 - Signalizacija identifikatora podslike kod kodiranja videa na bazi podslika - Google Patents

Signalizacija identifikatora podslike kod kodiranja videa na bazi podslika

Info

Publication number
RS64175B1
RS64175B1 RS20230340A RSP20230340A RS64175B1 RS 64175 B1 RS64175 B1 RS 64175B1 RS 20230340 A RS20230340 A RS 20230340A RS P20230340 A RSP20230340 A RS P20230340A RS 64175 B1 RS64175 B1 RS 64175B1
Authority
RS
Serbia
Prior art keywords
sps
indicator
pps
value
subpicture
Prior art date
Application number
RS20230340A
Other languages
English (en)
Inventor
Ye-Kui Wang
Original Assignee
Huawei Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Tech Co Ltd filed Critical Huawei Tech Co Ltd
Publication of RS64175B1 publication Critical patent/RS64175B1/sr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

Opis
OBLAST TEHNIKE
[0001] Ovo otkriće se generalno odnosi na kodiranje videa, a posebno se odnosi na signalizaciju identifikatora (ID) podslike kod kodiranja videa na bazi podslika.
OSNOV
[0002] Količina video podataka potrebnih za prikazivanje čak i relativno kratkog video zapisa može da bude značajna, što može dovesti do poteškoća kada se podaci strimuju ili na drugi način prenose preko komunikacione mreže sa ograničenim kapacitetom propusnog opsega. Dakle, video podaci se generalno komprimuju pre nego što se prenesu preko modemskih telekomunikacionih mreža. Veličina video zapisa takođe može da bude problem kada se video zapis čuva na uređaju za skladištenje jer memorijski resursi mogu da budu ograničeni. Uređaji za video kompresiju često koriste softver i/ili hardver na izvoru da kodiraju video podatke pre prenosa ili skladištenja, čime se smanjuje količina podataka potrebnih za predstavljanje digitalnih video slika. Komprimovani podaci se zatim primaju na odredištu pomoću uređaja za dekompresiju video zapisa koji dekodira video podatke. Sa ograničenim mrežnim resursima i sve većim zahtevima za višim kvalitetom video zapisa, poželjne su poboljšane tehnike kompresije i dekompresije koje poboljšavaju odnos kompresije uz malo ili nimalo žrtvovanja kvaliteta slike. CHEN et al.: "Signalling subpicture coded video sequence", objavljeno kao prilog JVET-N0754 27. marta 2019. na sastanku Zajedničkog tima za istraživanje video zapisa (Joint Video Exploration Team Meeting), predlaže da se specificira signaliziranje mogućih video sekvenci kodiranih podslikom u kodiranoj video sekvenci (CVS) i da se osigura da je tok bitova u skladu sa VVC nakon ekstrakcije ili spajanja CVS podslike. Čini se logičnim da je SPS mesto za specifikaciju osobina za podslike koje mogu da budu jedinica slike za ekstrakciju i spajanje. HANNUKSELA (NOKIA) M M ET AL: "AHG12: On grouping of tiles", objavljen kao prilog JVET-M0261 2. januara 2019. na sastanku Zajedničkog tima za istraživanje video zapisa, predlaže da se aspekti signalizacije u vezi sa podslikom signaliziraju u PPS. Konkretno, predlaže se da se u skup parametara slike doda indikacija širine i visine podslike.
IZLAGANJE SUŠTINE PRONALASKA
[0003] Pronalazak je definisan u nezavisnim zahtevima. Dodatne karakteristike pronalaska su date u zavisnim zahtevima. U daljem tekstu, delovi opisa i crteža koji se odnose na primere izvođenja koji nisu obuhvaćeni zahtevima nisu predstavljeni kao primeri izvođenja pronalaska, već kao primeri korisni za razumevanje pronalaska. Prvi aspekt se odnosi na postupak koji sprovodi dekoder, a koji obuhvata prijem, pomoću dekodera, toka bitova koji uključuje skup parametara sekvence (SPS), skup parametara slike (PPS) i mnoštvo podslika povezanih sa mapiranjem identifikatora (ID) podslike, pri čemu SPS uključuje SPS indikator; određivanje, pomoću dekodera, da li SPS indikator ima prvu ili drugu vrednost, pri čemu SPS indikator koji ima prvu vrednost specificira da se mapiranje ID podslike signalizira u SPS, i pri čemu SPS indikator koji ima drugu vrednost specificira da se mapiranje ID podslike signalizira u PPS; dobijanje, pomoću dekodera, mapiranja ID podslike iz SPS kada SPS indikator ima prvu vrednost i iz PPS kada SPS indikator ima drugu vrednost; i dekodiranje, pomoću dekodera, većeg broja podslika korišćenjem mapiranja ID podslike.
[0004] Postupak obezbeđuje tehnike koje obezbeđuju efikasnu signalizaciju identifikatora (ID) podslike čak i kada se ID podslike menjaju unutar kodirane video sekvence (CVS) u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Efikasna signalizacija se postiže postavljanjem indikatora u skupu parametara sekvence (SPS) ili skupu parametara slike (SPS) da bi se naznačilo da li se IDS podslike u CVS može promeniti i, ako može, gde se nalaze ID podslike. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani postupak video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0005] Opciono, u bilo kom od prethodnih aspekata, druga primena aspekta predviđa da PPS uključuje PPS indikator, a postupak dalje obuhvata određivanje, pomoću dekodera, da li PPS indikator ima prvu ili drugu vrednost, pri čemu PPS indikator koji ima prvu vrednost specificira da je mapiranje ID podslike signalizirano u PPS, a PPS indikator koji ima drugu vrednost specificira da mapiranje ID podslike nije signalizirano u PPS; i dobijanje, pomoću dekodera, mapiranja ID podslike iz PPS kada PPS indikator ima prvu vrednost.
[0006] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da SPS indikator ima prvu vrednost kada PPS indikator ima drugu vrednost, i pri čemu SPS indikator ima drugu vrednost kada PPS indikator ima prva vrednost.
[0007] Opciono, u bilo kom od prethodnih aspekata, druga primena aspekta obezbeđuje da je prva vrednost jedan, a druga vrednost nula.
[0008] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da SPS uključuje drugi SPS indikator, i pri čemu drugi SPS indikator specificira da li je mapiranje ID podslike izričito signalizirano u SPS ili PPS.
[0009] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta predviđa da tok bitova dalje sadrži indikator za promenu kodirane video sekvence (CVS), i pri čemu indikator za promenu CVS ukazuje na to da li je dozvoljeno menjanje mapiranja ID podslike unutar kodirane video sekvence (CVS) toka bitova.
[0010] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da tok bitova sadrži spojeni tok bitova, i pri čemu se mapiranje ID podslike promenilo unutar CVS toka bitova.
[0011] Drugi aspekt se odnosi na postupak koji sprovodi enkoder, gde postupak obuhvata enkodiranje, pomoću dekodera, toka bitova uključujući skup parametara sekvence (SPS), skup parametara slike (PPS) i mnoštvo podslika povezanih sa mapiranjem identifikatora (ID) podslike, pri čemu SPS uključuje SPS indikator; postavljanje, pomoću dekodera, SPS indikatora na prvu vrednost kada je mapiranje ID podslike signalizirano u SPS i na drugu vrednost kada je mapiranje ID podslike signalizirano u PPS; i čuvanje, pomoću dekodera, toka bitova za komunikaciju prema dekoderu.
[0012] Postupak obezbeđuje tehnike koje obezbeđuju efikasnu signalizaciju identifikatora (ID) podslike čak i kada se ID podslike menjaju unutar kodirane video sekvence (CVS) u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Efikasna signalizacija se postiže postavljanjem indikatora u skupu parametara sekvence (SPS) ili skupu parametara slike (SPS) da bi se ukazalo na to da li se IDS podslike u CVS može promeniti i, ako može, gde se nalaze ID podslike. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani proces video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0013] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da dekoder postavi PPS indikator u PPS na prvu vrednost kada je mapiranje ID podslike signalizirano u PPS i na drugu vrednost kada mapiranje ID podslike nije signalizirano u PPS.
[0014] Opciono, u bilo kom od prethodnih aspekata, druga primena aspekta obezbeđuje da SPS indikator ima prvu vrednost kada PPS indikator ima drugu vrednost, i pri čemu SPS indikator ima drugu vrednost kada PPS indikator ima prva vrednost.
[0015] Opciono, u bilo kom od prethodnih aspekata, druga primena aspekta obezbeđuje da je prva vrednost jedan, a druga vrednost nula.
[0016] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da SPS uključuje drugi SPS indikator, i pri čemu drugi SPS indikator specificira da li je mapiranje podslike izričito signalizirano u SPS ili PPS.
[0017] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da tok bitova dalje sadrži indikator za promenu kodirane video sekvence (CVS), i pri čemu indikator za promenu CVS ukazuje na to da li mapiranje ID podslike može da se promeni unutar kodirane video sekvence (CVS) toka bitova.
[0018] Treći aspekt se odnosi na uređaj za dekodiranje, koji sadrži prijemnik konfigurisan za primanje toka bitova videa uključujući skup parametara sekvence (SPS), skup parametara slike (PPS) i mnoštvo podslika povezanih sa mapiranjem identifikatora (ID) podslike, pri čemu SPS uključuje SPS indikator; memoriju povezanu sa prijemnikom, uputstva za skladištenje memorije; i procesor povezan sa memorijom, gde je procesor konfigurisan da izvrši instrukcije dovodeći do toga da uređaj za dekodiranje odredi da li SPS indikator ima prvu vrednost ili drugu vrednost, pri čemu SPS indikator koji ima prvu vrednost specificira da je mapiranje ID podslike signalizirano u SPS, i pri čemu SPS indikator koji ima drugu vrednost specificira da je mapiranje ID podslike signalizirano u PPS; dobijanje mapiranja ID podslike iz SPS kada SPS indikator ima prvu vrednost i iz PPS kada SPS indikator ima drugu vrednost; i dekodiranje mnoštva podslika korišćenjem mapiranja ID podslike.
[0019] Uređaj za dekodiranje obezbeđuje tehnike koje obezbeđuju efikasnu signalizaciju identifikatora (ID) podslike čak i kada se ID podslike menjaju unutar kodirane video sekvence (CVS) u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Efikasna signalizacija se postiže postavljanjem indikatora u skupu parametara sekvence (SPS) ili skupu parametara slike (SPS) da bi se ukazalo da li se IDS podslike u CVS može promeniti i, ako može, gde se nalaze ID podslike. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani postupak video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0020] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da SPS indikator ima prvu vrednost kada PPS indikator ima drugu vrednost, pri čemu SPS indikator ima drugu vrednost kada PPS indikator ima prvu vrednost, i pri čemu je prva vrednost jedan, a druga vrednost nula.
[0021] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da SPS uključuje drugi SPS indikator, i pri čemu drugi SPS indikator specificira da li je mapiranje podslike izričito signalizirano u SPS ili PPS.
[0022] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da tok bitova dalje sadrži indikator za promenu kodirane video sekvence (CVS), i pri čemu indikator za promenu CVS ukazuje na to da li mapiranje ID podslike može da se promeni unutar kodirane video sekvence (CVS) toka bitova.
[0023] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da tok bitova sadrži spojeni tok bitova, i pri čemu se mapiranje ID podslike promenilo unutar CVS toka bitova.
[0024] Četvrti aspekt se odnosi na uređaj za enkodiranje, koji sadrži memoriju koja sadrži instrukcije; procesor spojen sa memorijom, procesor konfigurisan da sprovodi instrukcije tako da dovede do toga da uređaj za enkodiranje enkodira tok bitova uključujući skup parametara sekvence (SPS), skup parametara slike (PPS) i mnoštvo podslika povezanih sa mapiranjem identifikatora (ID) podslike, pri čemu SPS uključuje SPS indikator; postavljanje indikatora SPS na prvu vrednost kada je mapiranje ID podslike signalizirano u SPS i na drugu vrednost kada je mapiranje ID podslike signalizirano u PPS; postavljanje indikatora PPS u PPS na prvu vrednost kada je mapiranje ID podslike signalizirano u PPS i na drugu vrednost kada mapiranje ID podslike nije signalizirano u PPS; i predajnik povezan sa procesorom, pri čemu je predajnik konfigurisan da prenosi tok bitova ka video dekoderu.
[0025] Uređaj za enkodiranje obezbeđuje tehnike koje obezbeđuju efikasnu signalizaciju identifikatora (ID) podslike čak i kada se ID podslike menjaju unutar kodirane video sekvence (CVS) u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Efikasna signalizacija se postiže postavljanjem indikatora u skupu parametara sekvence (SPS) ili skupu parametara slike (SPS) da bi se ukazalo na to da li se IDS podslike u CVS može promeniti i, ako može, gde se nalaze ID podslike. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani postupak video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0026] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da SPS indikator ima prvu vrednost kada PPS indikator ima drugu vrednost, i pri čemu SPS indikator ima drugu vrednost kada PPS indikator ima prva vrednost.
[0027] Opciono, u bilo kom od prethodnih aspekata, druga primena aspekta obezbeđuje da je prva vrednost jedan, a druga vrednost nula.
[0028] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta predviđa da tok bitova dalje sadrži indikator za promenu kodirane video sekvence (CVS), i pri čemu indikator za promenu CVS ukazuje na to da li mapiranje ID podslike može da se promeni unutar kodirane video sekvence (CVS) toka bitova.
[0029] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta predviđa da ID PPS specificira vrednost drugog ID PPS za PPS koji se koristi, i pri čemu drugi ID PPS identifikuje PPS za referencu pomoću elemenata sintakse.
[0030] Peti aspekt se odnosi na aparat za kodiranje. Aparat za kodiranje uključuje prijemnik konfigurisan da primi sliku za enkodiranje ili da primi tok bitova za dekodiranje; predajnik spojen na prijemnik, predajnik je konfigurisan da prenosi tok bitova u dekoder ili da prenosi dekodiranu sliku na ekran; memoriju povezanu sa najmanje jednim od prijemnika ili predajnika, memoriju konfigurisanu za čuvanje instrukcija; i procesor povezan sa memorijom, pri čemu je procesor konfigurisan da izvrši instrukcije uskladištene u memoriji da izvrši bilo koji od ovde otkrivenih postupaka.
[0031] Aparat za kodiranje obezbeđuje tehnike koje obezbeđuju efikasnu signalizaciju identifikatora (ID) podslike čak i kada se ID podslike menjaju unutar kodirane video sekvence (CVS) u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Efikasna signalizacija se postiže postavljanjem indikatora u skupu parametara sekvence (SPS) ili skupu parametara slike (SPS) da bi se ukazalo na to da li se IDS podslike u CVS može promeniti i, ako može, gde se nalaze ID podslike. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani postupak video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0032] Opciono, u bilo kom od prethodnih aspekata, druga implementacija aspekta obezbeđuje da je ekran konfigurisan da prikazuje dekodiranu sliku.
[0033] Šesti aspekt se odnosi na sistem. Sistem uključuje enkoder; i dekoder u komunikaciji sa enkoderom, pri čemu enkoder ili dekoder uključuje uređaj za dekodiranje, uređaj za enkodiranje ili aparat za kodiranje koji je ovde otkriven.
[0034] Sistem obezbeđuje tehnike koje obezbeđuju efikasnu signalizaciju identifikatora (ID) podslike čak i kada se ID podslike menjaju unutar kodirane video sekvence (CVS) u scenarijima primene koji uključuju ekstrakciju podtoka bitova i spajanje podtoka bitova. Efikasna signalizacija se postiže postavljanjem indikatora u skupu parametara sekvence (SPS) ili skupu parametara slike (SPS) da bi se ukazalo na to da li se IDS podslike u CVS može promeniti i, ako može, gde se nalaze ID podslike. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani postupka video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0035] Sedmi aspekt se odnosi na sredstvo za kodiranje. Sredstvo za kodiranje obuhvata sredstvo za prijem konfigurisano da prima sliku za enkodiranje ili da prima tok bitova za dekodiranje; sredstvo za prenos spojeno na sredstvo za prijem, gde je sredstvo za prenos konfigurisano da prenosi tok bitova na sredstvo za dekodiranje ili da prenosi dekodiranu sliku na sredstvo za prikaz; sredstvo za skladištenje povezano sa najmanje jednim od sredstva za prijem ili sredstva za prenos, gde je sredstvo za skladištenje konfigurisano da čuva uputstva; i sredstvo za obradu spojeno sa sredstvom za skladištenje, pri čemu je sredstvo za obradu konfigurisano da izvrši instrukcije uskladištene u sredstvu za skladištenje za izvršavanje bilo kog od ovde otkrivenih postupaka.
[0036] Sredstvo za kodiranje obezbeđuje tehnike koje obezbeđuju efikasnu signalizaciju identifikatora (ID) podslike čak i kada se ID podslike menjaju unutar kodirane video sekvence (CVS) u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Efikasna signalizacija se postiže postavljanjem indikatora u skupu parametara sekvence (SPS) ili skupu parametara slike (SPS) da bi se ukazalo na to da li se IDS podslike u CVS može promeniti i, ako može, gde se nalaze ID podslike. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani postupak video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0037] U svrhu jasnoće, bilo koji od prethodnih primera izvođenja može da se kombinuje sa bilo kojim jednim ili većim brojem drugih prethodnih primera izvođenja da bi se stvorio novi primer izvođenja unutar obima ovog otkrića.
[0038] Ove i druge karakteristike će biti jasnije shvaćene iz sledećeg detaljnog opisa, kada se razmatra zajedno sa pratećim crtežima i zahtevima.
KRATAK OPIS SLIKA NACRTA
[0039] Za potpunije razumevanje ovog otkrića, sada se upućuje na sledeći kratak opis, uzet u vezi sa priloženim crtežima i detaljnim opisom, gde slični referentni brojevi predstavljaju slične delove.
SL. 1 je dijagram toka primera postupka kodiranja video signala.
SL. 2 je šematski dijagram primera sistema za kodiranje i dekodiranje (kodek) za video kodiranje. SL. 3 je šematski dijagram koji ilustruje primer video enkodera.
SL. 4 je šematski dijagram koji ilustruje primer video dekodera.
SL. 5 je šematski dijagram koji ilustruje primer toka bitova koji sadrži enkodiranu video sekvencu.
SL. 6A-6E ilustruju primer mehanizma za kreiranje ekstraktorske trake za kombinovanje podslika više rezolucija iz različitih tokova bitova u jednu sliku za upotrebu u aplikacijama virtuelne realnosti (VR).
SL. 7A-7E ilustruju primer mehanizma za ažuriranje ekstraktorske trake na osnovu promene orijentacije gledanja u VR aplikacijama.
SL. 8 je primer izvođenja postupka dekodiranja kodiranog toka bitova videa.
SL. 9 je primer izvođenja postupka enkodiranja kodiranog toka bitova videa.
SL. 10 je šematski dijagram uređaja za video kodiranje.
SL. 11 je šematski dijagram primer izvođenja sredstva za kodiranje.
DETALJAN OPIS
[0040] Trebalo bi razumeti na početku da iako je ilustrativna implementacija jednog ili većeg broja primera izvođenja data u nastavku, otkriveni sistemi i/ili postupci mogu da budu sprovedeni korišćenjem bilo kog broja tehnika, bilo da su trenutno poznate ili postoje. Otkriće ni na koji način ne treba da bude ograničeno na ilustrativne implementacije, crteže i tehnike ilustrovane u nastavku, uključujući primere dizajna i implementacije ilustrovane i opisane ovde, već može da bude modifikovano u okviru priloženih zahteva.
[0041] Sledeći termini su definisani na sledeći način, osim ako se ovde ne koriste u suprotnom kontekstu. Konkretno, sledeće definicije imaju za cilj da pruže dodatnu jasnoću ovom otkriću. Međutim, termini se mogu drugačije opisati u različitim kontekstima. Shodno tome, sledeće definicije treba smatrati dopunom i ne bi trebalo smatrati da ograničavaju bilo koje druge definicije opisa datih za takve termine ovde.
[0042] Tok bitova je niz bitova koji uključuje video podatke koji su komprimovani za prenos između enkodera i dekodera. Enkoder je uređaj koji je konfigurisan da koristi procese enkodiranja za komprimovanje video podataka u tok bitova. Dekoder je uređaj koji je konfigurisan da koristi procese dekodiranja za rekonstrukciju video podataka iz toka bitova za prikaz. Slika je niz uzoraka osvetljenosti i/ili niz uzoraka boje koji stvaraju njen frejm ili polje. Slika koja se enkodira ili dekodira može se nazvati trenutnom slikom radi jasnoće diskusije. Referentna slika je slika koja sadrži referentne uzorke koja može da se koristi prilikom kodiranja drugih slika pomoću reference prema inter predikciji i/ili međuslojnoj predikciji. Lista referentnih slika je lista referentnih slika koja se koristi za inter predikcija i/ili međuslojna predikcija. Neki sistemi za video kodiranje koriste dve liste referentnih slika, koje se mogu označiti kao lista referentnih slika jedan i lista referentnih slika nula. Struktura liste referentnih slika je adresabilna struktura sintakse koja sadrži više lista referentnih slika. Inter predikcija je mehanizam kodiranja uzoraka trenutne slike upućivanjem na naznačene uzorke u referentnoj slici koja se razlikuje od trenutne slike gde su referentna slika i trenutna slika u istom sloju. Unos strukture liste referentnih slika je adresabilna lokacija u strukturi liste referentnih slika koja ukazuje na referentnu sliku povezanu sa listom referentnih slika. Zaglavlje isečka je deo kodiranog isečka koji sadrži elemente podataka koji se odnose na sve video podatke unutar pločice predstavljene u isečku. Skup parametara sekvence (SPS) je skup parametara koji sadrži podatke koji se odnose na niz slika. Skup parametara slike (PPS) je struktura sintakse koja sadrži elemente sintakse koji se primenjuju na nula ili više celih kodiranih slika kako je određeno elementom sintakse koji se nalazi u zaglavlju svake slike.
[0043] Indikator je promenljivi ili jednobitni sintaksni element koji može imati jednu od dve moguće vrednosti: 0 i 1. Podslika je pravougaoni region jednog ili više isečaka u okviru slike. Identifikator (ID) podslike je broj, slovo ili drugi znak koji jedinstveno identifikuje podsliku. ID podslike (takođe nazvani identifikatori pločica) se koriste za identifikaciju određenih podslika pomoću indeksa podslike, koji se ovde može nazvati mapiranjem ID podslike. Drugačije rečeno, mapiranje ID podslike je tabela koja pruža mapiranje jedan-na-jedan između liste indeksa podslike i ID podslike. To jest, mapiranje ID podslike obezbeđuje poseban ID podslike za svaku podsliku.
[0044] Pristupna jedinica (AU) je skup jedne ili više kodiranih slika povezanih sa istim vremenom prikaza (npr. istom vrednošću redosleda slike) za izlaz iz bafera dekodiranih slika (DPB) (npr. za prikaz korisniku). Razgraničenje pristupne jedinice (AUD) je indikator ili struktura podataka koja se koristi za označavanje početka AU ili granice između više AU. Dekodirana video sekvenca je niz slika koje je rekonstruisao dekoder u pripremi za prikazivanje korisniku.
[0045] CVS je sekvenca pristupnih jedinica (AU) koja uključuje, u redosledu dekodiranja, AU za početak kodirane video sekvence (CVSS), nakon čega sledi nula ili više AU koje nisu CVSS AU, uključujući sve naredne AU do, ali ne uključujući bilo koju naknadnu AU koja je, CVSS AU. CVSS AU je AU u kojoj postoji jedinica za predikciju (PU) za svaki sloj specificiran skupom video parametara (VPS) i kodirana slika u svakoj PU je CLVSS slika. U jednom primeru izvođenja, svaka slika je unutar AU. PU je skup jedinica sloja apstrakcije mreže (NAL) koje su povezane jedna sa drugom prema specificiranom pravilu klasifikacije, uzastopne su u redosledu dekodiranja i sadrže tačno jednu kodiranu sliku.
[0046] U ovom tekstu koriste se sledeći akronimi: adaptivni filter petlje (ALF), blok stabla kodiranja (CTB), jedinica stabla kodiranja (CTU), jedinica kodiranja (CU), kodirana video sekvenca (CVS), bafer za dekodirane slike (DPB), trenutno osvežavanje dekodiranja (IDR), intra nasumična pristupna tačka (IRAP), zajednički tim eksperata za video (JVET), najmanje značajni bit (LSB), najznačajniji bit (MSB), skup pločica sa ograničenjima pokreta (MCTS), maksimalna jedinica prenosa (MTU), sloj apstrakcije mreže (NAL), vrednost redosleda slike (POC), skup parametara slike (PPS), opterećenje sirove sekvence bajtova (RBSP), pomak prilagodljiv uzorku (SAO), skup parametara sekvence (SPS), vremenski prediktor vektora pokreta (TMVP), univerzalno video kodiranje (VVC) i radni nacrt (WD).
[0047] Mnoge tehnike video kompresije se mogu koristiti za smanjenje veličine video datoteka uz minimalan gubitak podataka. Na primer, tehnike kompresije videa mogu uključivati izvođenje prostorne (npr. unutar slike) predikcije i/ili vremenske (npr. među slikama) predikcije kako bi se smanjila ili uklonila suvišnost podataka u video sekvencama. Za video kodiranje zasnovano na
1
blokovima, video isečak (npr. video slika ili deo video slike) može da bude podeljen na video blokove, koji se takođe mogu nazvati blokovi stabla, blokovi stabla kodiranja (CTB), jedinice stabla kodiranja (CTU), jedinice kodiranja (CU) i/ili čvorovi kodiranja. Video blokovi u intra kodiranom (I) isečku slike su kodirani korišćenjem prostorne predikcije u odnosu na referentne uzorke u susednim blokovima na istoj slici. Video blokovi u isečku slike sa inter kodiranom jednosmernom predikcijom (P) ili dvosmernom predikcijom (B) mogu da budu kodirani korišćenjem prostorne predikcije u odnosu na referentne uzorke u susednim blokovima na istoj slici ili vremenske predikcije u odnosu na referentne uzorke u drugim referentnim slikama. Slike se mogu nazvati frejmovima i/ili slikama, a referentne slike se mogu nazvati referentnim frejmovima i/ili referentnim slikama. Prostorna ili vremenska predikcija rezultuje prediktivnim blokom koji predstavlja blok slike. Preostali podaci predstavljaju razlike u pikselima između originalnog bloka slike i bloka za predikciju. Shodno tome, inter kodirani blok se enkodira prema vektoru pokreta koji ukazuje na blok referentnih uzoraka koji formiraju prediktivni blok i rezidualnim podacima koji ukazuju na razliku između kodiranog bloka i prediktivnog bloka. Intra kodirani blok je enkodiran u skladu sa režimom intra kodiranja i preostalim podacima. Za dalju kompresiju, rezidualni podaci se mogu transformisati iz domena piksela u domen transformacije. Ovo rezultira rezidualnim koeficijentima transformacije, koji mogu da se kvantuju. Kvantovani koeficijenti transformacije mogu u početku biti raspoređeni u dvodimenzionalni niz. Kvantovani koeficijenti transformacije mogu da se skeniraju da bi se proizveo jednodimenzionalni vektor koeficijenata transformacije. Entropijsko kodiranje može da se primeni da bi se postigla još veća kompresija. Takve tehnike kompresije videa su detaljnije razmotrene u nastavku.
[0048] Da bi se osiguralo da se enkodirani video može tačno dekodirati, video se enkodira i dekodira prema odgovarajućim standardima video kodiranja. Standardi video kodiranja uključuju Sektor standardizacije (ITU-T) H.261 Međunarodne unije za telekomunikacije (ITU), Međunarodnu organizaciju za standardizaciju/Međunarodnu elektrotehničku komisiju (ISO/IEC) Grupu stručnjaka za filmove (MPEG)-1, 2. deo, ITU-T H.262 ili ISO/IEC MPEG-22. deo, ITU-T H.263, ISO/IEC MPEG-42. deo, napredno video kodiranje (AVC), takođe poznato kao ITU-T H.264 ili ISO/IEC MPEG- 410. deo i visokoefikasno video kodiranje (HEVC), takođe poznato kao ITU-T H.265 ili MPEG-H 2. deo. AVC uključuje ekstenzije kao što su skalabilno video kodiranje (SVC), video kodiranje sa više prikaza (MVC) i video kodiranje sa više prikaza plus dubina (MVC+D) i trodimenzionalni (3D) AVC (3D-AVC). HEVC uključuje ekstenzije kao što su skalabilni HEVC (SHVC), HEVC sa više prikaza (MV-HEVC) i 3D HEVC (3D-HEVC).
[0049] Takođe postoji novi standard video kodiranja, nazvan univerzalno video kodiranje (VVC), koji razvija Zajednički tim eksperata za video (JVET) ITU-T i ISO/IEC. Iako VVC standard ima nekoliko radnih nacrta, ovde se poziva posebno na jedan radni nacrt (WD) VVC, naime B. Bross, J. Chen i S. Liu, "Versatile Video Coding (Draft 5)" JVET-N1001-v3, 13. sastanak JVET, 27. mart 2019. (VVC Draft 5).
[0050] HEVC uključuje četiri različite šeme particionisanja slike, naime regularne isečke, zavisne isečke, pločice i paralelnu obradu talasnog fronta (WPP), koja se može primeniti za podudaranje veličine maksimalne jedinice prenosa (MTU), paralelnu obradu i redukovano kašnjenje između krajnjih tačaka.
[0051] Uobičajeni isečci su slični kao u H.264/AVC. Svaki regularni isečak je inkapsuliran u sopstvenoj NAL jedinici, a predikcija u slici (predikcija unutar uzorka, predikcija informacija o pokretu, predikcija režima kodiranja) i zavisnost od entropijskog kodiranja preko granica isečaka su onemogućeni. Tako se regularni isečak može rekonstruisati nezavisno od drugih regularnih isečaka u okviru iste slike (iako i dalje može imati međuzavisnosti zbog operacija filtriranja u petlji).
[0052] Regularni isečak je jedini alat koji se može koristiti za paralelizaciju koji je takođe dostupan, u praktično identičnom obliku, u H.264/AVC. Uobičajena paralelizacija zasnovana na isečcima ne zahteva mnogo komunikacije između procesora ili jezgara (osim međuprocesorskog ili međujezgarnog deljenja podataka za kompenzaciju pokreta prilikom dekodiranja prediktivno kodirane slike, što je obično mnogo teže od međuprocesorskog ili međujezgarnog deljenja podataka zbog predikcije u slici). Međutim, iz istog razloga, upotreba regularnih isečaka može izazvati značajno prekoračenje (overhead) kodiranja zbog cene bita zaglavlja isečka i zbog nedostatka predikcije preko granica isečka. Dalje, regularni isečci (za razliku od drugih alata pomenutih u nastavku) takođe služe kao ključni mehanizam za particionisanje tok bitova kako bi odgovarali zahtevima za veličinu MTU, zbog nezavisnosti regularnih isečaka u slici i što je svaki regularni isečak inkapsuliran u sopstvenoj NAL jedinici. U mnogim slučajevima, cilj paralelizacije i cilj podudaranja veličine MTU su u suprotnosti sa zahtevima za raspored isečaka u slici. Razumevanje ove situacije dovelo je do razvoja dole navedenih alata za paralelizaciju.
[0053] Zavisni isečci imaju kratka zaglavlja isečka i dozvoljavaju particionisanje toka bitova na granicama stabla bez prekida bilo kakve predikcije u slici. U suštini, zavisni isečci obezbeđuju fragmentaciju regularnih isečaka na više NAL jedinica kako bi se obezbedilo smanjeno kašnjenje između krajnjih tačaka dozvoljavajući da se deo regularnog isečka pošalje pre nego što se završi enkodiranje celog regularnog isečka.
[0054] U WPP, slika je podeljena u pojedinačne redove blokova stabla kodiranja (CTB). Entropijsko dekodiranje i predikcija mogu da koriste podatke iz CTB u drugim particijama. Paralelna obrada je moguća kroz paralelno dekodiranje CTB redova, pri čemu je početak dekodiranja CTB reda odložen za dva CTB, kako bi se osiguralo da podaci koji se odnose na CTB iznad i desno od predmetnog CTB reda budu dostupni pre nego što se predmetni CTB dekodira. Koristeći ovaj raspoređeni početak (koji izgleda kao talasni front kada je predstavljen grafički), paralelizacija je moguća sa najviše procesora/jezgara koliko slika sadrži CTB redove. Pošto je predikcija u slici između susednih redova blokova stabla u okviru slike dozvoljena, potrebna međuprocesorska/međujezgarna komunikacija za omogućavanje predikcije u slici može da bude značajna. WPP particionisanje ne rezultuje proizvodnjom dodatnih NAL jedinica u poređenju sa onim kada se ne primenjuje, tako da WPP nije alat za usklađivanje veličine MTU. Međutim, ako je potrebno podudaranje veličine MTU, regularni isečci se mogu koristiti sa WPP, uz izvesno prekoračenje kodiranja.
[0055] Pločice definišu horizontalne i vertikalne granice koje dele sliku na kolone i redove pločica. Redosled skeniranja CTB se menja tako da bude lokalni unutar pločice (po redosledu CTB rasterskog skeniranja pločice), pre dekodiranja gornjeg levog CTB sledeće pločice po redosledu skeniranja rastera pločica slike. Slično kao kod regularnih isečaka, pločice razbijaju zavisnosti predikcije u slici, kao i zavisnosti dekodiranja entropije. Međutim, one ne moraju da budu uključene u pojedinačne NAL jedinice (isto kao i WPP u ovom pogledu); stoga se pločice ne mogu koristiti za podudaranje veličine MTU. Svaku pločicu može da obradi jedan procesor/jezgro, a međuprocesorska/međujezgarna komunikacija potrebna za predikciju u slici između procesorskih jedinica koje dekodiraju susedne pločice ograničena je na prenošenje zajedničkog zaglavlja isečka u slučajevima kada isečak obuhvata više od jedne pločice i deljenje rekonstruisanih uzoraka i metapodataka vezano za filtriranje u petlji. Kada je više od jedne pločice ili WPP segmenta uključeno u isečak, pomeranje bajta ulazne tačke za svaku pločicu ili WPP segment koji nije prvi u isečku se signalizira u zaglavlju isečka.
[0056] Radi jednostavnosti, ograničenja za primenu četiri različite šeme particionisanja slike su specificirana u HEVC. Data kodirana video sekvenca ne može da sadrži i pločice i talasne frontove za većinu profila navedenih u HEVC. Za svaki isečak i pločicu, jedan ili oba od sledećih uslova moraju biti ispunjeni: 1) svi kodirani blokovi stabla u isečku pripadaju istoj pločici; 2) svi kodirani blokovi stabla u pločici pripadaju istom isečku. Konačno, segment talasnog fronta sadrži tačno jedan CTB red, a kada je WPP u upotrebi, ako isečak počinje unutar CTB reda, mora se završiti u istom CTB redu.
[0057] Nedavna izmena HEVC je navedena u JCT-VC izlaznom dokumentu JCTVC-AC1005, J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang (urednici), "HEVC Additional Supplemental Enhancement Information (Draft 4)", 24. oktobar 2017, javno dostupno na: http://phenix.intevry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zip. Sa ovim uključenim amandmanom, HEVC specificira tri poruke dodatne informacije o poboljšanju (SEI) koje se odnose na MCTS, odnosno vremensku SEI poruku
1
MCTS, SEI poruku skupa informacija za ekstrakciju MCTS i SEI poruku za ugnežđenje informacije za ekstrakciju MCTS.
[0058] Vremenska SEI poruka MCTS ukazuje na postojanje MCTS u toku bitova i signalizira MCTS. Za svaki MCTS, vektori pokreta su ograničeni da upućuju na lokacije punog uzorka unutar MCTS i na lokacije sa delimičnim uzorkom koje zahtevaju samo lokacije punog uzorka unutar MCTS za interpolaciju, i korišćenje kandidata vektora pokreta za izvedenu predikciju vremenskog vektora pokreta iz blokova izvan MCTS nije dozvoljeno. Na ovaj način, svaki MCTS može da bude nezavisno dekodiran bez postojanja pločica koje nisu uključene u MCTS.
[0059] SEI poruka skupa informacija za ekstrakciju MCTS obezbeđuje dodatne informacije koje se mogu koristiti u ekstrakciji MCTS podtoka bitova (specifikovanom kao deo semantike SEI poruke) za generisanje usklađenog toka bitova za skup MCTS. Informacija se sastoji od većeg broja skupova informacija za ekstrakciju, od kojih svaki definiše broj skupova MCTS i sadrži RBSP bajtove zamenskih skupova video parametara (VPS), SPS i PPS koji će se koristiti tokom procesa ekstrakcije MCTS podtoka bitova. Kada se podtok bitova ekstrahuje u skladu sa procesom ekstrakcije podtoka bitova MCTS, skupovi parametara (VPS, SPS i PPS) moraju biti prepisani ili zamenjeni, zaglavlja isečaka moraju malo da se ažuriraju jer jedan ili svi elementi sintakse povezane sa adresom isečka (uključujući first_slice_segment_in_pic_flag i slice_segment_address) obično bi morali da imaju različite vrednosti.
[0060] U najnovijem nacrtu specifikacije VVC, slika može da bude podeljena na više podslika, od kojih svaka pokriva pravougaoni region i sadrži ceo broj kompletnih isečaka. Particionisanje podslike se nastavlja na svim slikama unutar kodirane video sekvence (CVS), a informacija o particionisanju (tj. pozicije i veličine podslike) se signalizira u SPS. Podslika može da bude označena kao kodirana bez korišćenja vrednosti uzorka od bilo koje druge podslike za kompenzaciju pokreta.
[0061] U JVET prilogu JVET-O0141, koji je javno dostupan na: http://phenix.itsudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0261-v1.zip, dizajn podslike je sličan kao u najnovijem nacrtu specifikacije VVC sa nekim razlikama, od kojih je jedna eksplicitna signalizacija ID podslike za svaku podsliku u SPS, kao i signalizacija ID podslike u svakom zaglavlju isečka kako bi se omogućila ekstrakcija podtoka bitova zasnovana na podslici bez potrebe za promenom kodiranih NAL jedinica isečka. U ovom pristupu, ID podslike za svaku podsliku ostaje nepromenjen na svim slikama u CVS.
[0062] Tokom ranijih diskusija, pomenuto je da bi trebalo koristiti drugačiji pristup za signalizaciju ID podslike da bi se takođe omogućilo spajanje podtoka bitova zasnovano na podslici bez potrebe za promenom kodiranih NAL jedinica isečka.
[0063] Na primer, i kao što će biti potpunije objašnjeno u nastavku, u strimingu videa od 360 stepeni koji zavisi od prozora za prikaz, klijent bira koje podslike se primaju i spajaju u tok bitova za dekodiranje. Kada se orijentacija gledanja promeni, neke vrednosti ID podslike mogu ostati iste, dok se druge vrednosti ID podslike menjaju u poređenju sa vrednostima ID podslike primljene pre promene orijentacije gledanja. Dakle, ID podslike koje dekoder prima u spojenom toku bitova se menjaju kada se promeni orijentacija gledanja.
[0064] Jedan pristup koji je razmatran je sledeći.
[0065] Pozicije i veličine podslike su naznačene u SPS korišćenjem, na primer, sintakse u najnovijem nacrtu specifikacije VVC. Dodeljuju se indeksi podslike (0 do N-1, gde je N broj podslika). Preslikavanje ID podslike u indeks podslike nalazi se u PPS jer će to mapiranje možda morati da se promeni u sredini CVS. Ovo može da bude petlja i = 0 do N-1, obezbeđujući subpicture_id[i ] koji se preslikava na indeks i podslike. Ovo mapiranje ID podslike mora ponovo da napiše klijent kada klijent odabere novi skup podslika za dekodiranje. Zaglavlje isečka sadrži ID podslike (npr. subpicture_id), koji je enkoder odabrao (i ovo ne mora da se ponovo piše u spajanju podtoka bitova).
[0066] Nažalost, postoje problemi sa postojećim pristupima signalizaciji ID podslike. Mnogi scenariji aplikacija koji koriste video kodiranje zasnovano na podslici uključuju ekstrakciju podtoka bitova, ali ne i spajanje podtoka bitova. Na primer, svaki ekstrahovani podtok bitova može da bude dekodiran sopstvenom instancom dekodera. U tom slučaju, nema potrebe da se ekstrahovani podtokovi bitova spajaju u jedan tok bitova da bi ih dekodirala samo jedna instanca dekodera. U ovim scenarijima, ID podslike za svaku podsliku se neće promeniti unutar CVS. Dakle, ID podslike mogu da budu signalizirani u SPS. Signalizacija ovakvih ID podslike u SPS umesto u PPS je korisna i sa stanovišta uštede bitova i sa tačke gledišta pregovora o sesiji.
[0067] U scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova, ID podslike se ne menjaju unutar CVS u originalnim tokovima bitova. Stoga, signalizacija ID podslike u SPS omogućava korišćenje ID podslike u SPS i u zaglavljima isečaka, što je korisno za deo procesa ekstrakcije podtoka bitova. Međutim, ovaj pristup je izvodljiv samo kada se ID podslike ne menjaju unutar CVS u originalnom toku bitova.
[0068] Ovde su otkrivene tehnike koje obezbeđuju efikasnu signalizaciju identifikatora (ID) podslike čak i kada se ID podslike menjaju unutar kodirane video sekvence (CVS) u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Efikasna signalizacija se postiže postavljanjem indikatora u skupu parametara sekvence (SPS) ili skupu parametara slike (SPS) kako bi se ukazalo da li se ID podslike u CVS mogu promeniti i, ako mogu, gde se nalaze ID podslike. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na
1
trenutne kodeke. Praktično, poboljšani proces video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0069] SL. 1 je dijagram toka primera operativnog metoda 100 kodiranja video signala. Konkretno, video signal je enkodiran u enkoderu. Proces enkodiranja komprimira video signal upotrebom različitih mehanizama za smanjenje veličine video datoteke. Manja veličina datoteke omogućava da se komprimovana video datoteka prenese ka korisniku, uz smanjenje pridruženog prekoračenja propusnog opsega. Dekoder zatim dekodira komprimovani video fajl da bi rekonstruisao originalni video signal za prikaz krajnjem korisniku. Proces dekodiranja generalno odražava proces enkodiranja kako bi omogućio dekoderu da dosledno rekonstruiše video signal.
[0070] U koraku 101, video signal se unosi u enkoder. Na primer, video signal može da bude nekomprimovani video fajl sačuvan u memoriji. Kao drugi primer, video datoteka može da bude snimljena uređajem za snimanje video zapisa, kao što je video kamera, i enkodirana da podrži striming videa uživo. Video datoteka može da sadrži i audio komponentu i video komponentu. Video komponenta sadrži niz frejmova slike koji, kada se gledaju u nizu, daju vizuelni utisak pokreta. Frejmovi sadrže piksele koji su izraženi u smislu svetlosti, koji se ovde pominju kao komponente svetlosti (ili uzorci svetlosti), i boje, koja se naziva hroma komponente (ili uzorci boja). U nekim primerima, frejmovi mogu takođe da sadrže vrednosti dubine da bi podržali trodimenzionalno gledanje.
[0071] U koraku 103, video se deli na blokove. Particionisanje uključuje podelu piksela u svakom frejmu na kvadratne i/ili pravougaone blokove radi kompresije. Na primer, u visokoefikasnom video kodiranju (HEVC) (takođe poznatom kao H.265 i MPEG-H 2. deo) kadar se prvo može podeliti na jedinice stabla kodiranja (CTU), koje su blokovi unapred definisane veličine (npr. šezdeset četiri piksela sa šezdeset četiri piksela). CTU sadrže uzorke i osvetljenja i intenziteta boje. Stabla kodiranja se mogu koristiti za podelu CTU na blokove, a zatim rekurzivno podelu blokova dok se ne postignu konfiguracije koje podržavaju dalje enkodiranje. Na primer, komponente osvetljenja frejma mogu da budu deljene sve dok pojedinačni blokovi ne sadrže relativno homogene vrednosti osvetljenja. Dalje, hromatske komponente frejma mogu da budu deljene sve dok pojedinačni blokovi ne sadrže relativno homogene vrednosti boja. Shodno tome, mehanizmi particionisanja variraju u zavisnosti od sadržaja video frejmova.
[0072] U koraku 105, koriste se različiti mehanizmi kompresije za kompresiju blokova slike podeljenih u koraku 103. Na primer, može se koristiti inter predikcija i/ili intra predikcija. Inter predikcija je dizajnirana da iskoristi činjenicu da se objekti u zajedničkoj sceni obično pojavljuju u uzastopnim frejmovima. Shodno tome, blok koji prikazuje objekat u referentnom frejmu ne mora biti više puta opisan u susednim frejmovima. Konkretno, objekat, kao što je tabela, može
1
da ostane u konstantnoj poziciji u više frejmova. Stoga je tabela opisana jednom i susedni frejmovi mogu da se odnose na referentni frejm. Mehanizmi za podudaranje uzoraka mogu da se koriste za uparivanje objekata u više frejmova. Dalje, pokretni objekti mogu da budu predstavljeni u više frejmova, na primer zbog kretanja objekta ili kretanja kamere. Kao poseban primer, video može da prikazuje automobil koji se kreće po ekranu u više frejmova. Za opisivanje takvog pokreta mogu da se koriste vektori pokreta. Vektor pokreta je dvodimenzionalni vektor koji obezbeđuje pomak od koordinata objekta u frejmu do koordinata objekta u referentnom frejmu. Kao takva, inter predikcija može da enkodira blok slike u trenutnom frejmu kao skup vektora pokreta koji ukazuju na pomak od odgovarajućeg bloka u referentnom frejmu.
[0073] Intra predikcija enkodira blokove u zajedničkom frejmu. Intra predikcija koristi prednost činjenice da komponente svetlosti i boje imaju tendenciju da se grupišu u frejmu. Na primer, deo zelene boje u delu stabla ima tendenciju da bude pozicioniran pored sličnih zelenih delova. Intra predikcija koristi višestruke režime usmerene predikcije (npr. trideset tri u HEVC), planarni režim i režim jednosmerne struje (DC). Usmereni režimi pokazuju da je trenutni blok sličan/isti kao uzorci susednog bloka u odgovarajućem pravcu. Planarni režim označava da se niz blokova duž reda/kolone (npr. ravan) može interpolirati na osnovu susednih blokova na ivicama reda. Planarni režim, u stvari, ukazuje na glatku tranziciju svetlosti/boje kroz red/kolonu koristeći relativno konstantan nagib u promenljivim vrednostima. DC režim se koristi za izravnavanje granica i ukazuje da je blok sličan/isti kao prosečna vrednost povezana sa uzorcima svih susednih blokova povezanih sa ugaonim pravcima režima usmerene predikcije. Shodno tome, blokovi intra predikcije mogu predstaviti blokove slike kao različite vrednosti režima relacione predikcije umesto stvarnih vrednosti. Dalje, blokovi inter predikcije mogu predstavljati blokove slike kao vrednosti vektora pokreta umesto stvarnih vrednosti. U oba slučaja, blokovi predikcije možda neće tačno predstavljati blokove slike u nekim slučajevima. Sve razlike se čuvaju u rezidualnim blokovima. Transformacije se mogu primeniti na rezidualne blokove radi daljeg komprimovanja datoteke.
[0074] U koraku 107, mogu se primeniti različite tehnike filtriranja. U HEVC, filteri se primenjuju prema šemi filtriranja u petlji. Predikcija zasnovana na bloku o kojoj je gore diskutovano može da rezultuje stvaranjem blokova slika u dekoderu. Dalje, šema predikcije zasnovana na bloku može da enkodira blok i zatim da rekonstruiše enkodirani blok za kasniju upotrebu kao referentni blok. Šema filtriranja u petlji iterativno primenjuje filtere za suzbijanje šuma, filtere za uklanjanje blokovskih efekata, filtere adaptivne petlje i filtere adaptivnog pomeranja uzorka (SAO) na blokove/frejmove. Ovi filteri ublažavaju takve artefakte nastale obradom blokova tako da se enkodirana datoteka može precizno rekonstruisati. Dalje, ovi filteri
1
ublažavaju artefakte u rekonstruisanim referentnim blokovima tako da je manja verovatnoća da će artefakti stvoriti dodatne artefakte u narednim blokovima koji su enkodirani na osnovu rekonstruisanih referentnih blokova.
[0075] Jednom kada je video signal particionisan, komprimovan i filtriran, rezultujući podaci se enkodiraju u tok bitova u koraku 109. Tok bitova uključuje podatke o kojima se raspravljalo gore, kao i sve signalne podatke poželjne za podržavanje odgovarajuće rekonstrukcije video signala u dekoderu. Na primer, takvi podaci mogu da uključuju podatke o particijama, podatke predikcije, rezidualne blokove i različite indikatore koje daju uputstva za kodiranje dekoderu. Tok bitova može da bude sačuvan u memoriji za prenos ka dekoderu na zahtev. Tok bitova se takođe može emitovati i/ili višestruko prenositi prema većem broju dekodera. Kreiranje toka bitova je iterativni proces. Shodno tome, koraci 101, 103, 105, 107 i 109 mogu da se odvijaju kontinuirano i/ili istovremeno u mnogim frejmovima i blokovima. Redosled prikazan na SL.1 je predstavljen radi jasnoće i lakoće diskusije i nema za cilj da ograniči postupak video kodiranja na određeni redosled.
[0076] Dekoder prima tok bitova i počinje postupak dekodiranja u koraku 111. Konkretno, dekoder koristi entropijsku šemu dekodiranja da konvertuje tok bitova u odgovarajuću sintaksu i video podatke. Dekoder koristi sintaksne podatke iz toka bitova da odredi particije za frejmove u koraku 111. Particionisanje treba da odgovara rezultatima particionisanja bloka u koraku 103. Sada je opisano entropijsko enkodiranje/dekodiranje kao što je korišćeno u koraku 111. Enkoder pravi mnoge izbore tokom postupka kompresije, kao što je izbor šema za particionisanje blokova između nekoliko mogućih izbora na osnovu prostornog pozicioniranja vrednosti na ulaznoj slici/slikama. Signalizacija tačnih izbora može da koristi veliki broj binova. Kako se ovde koristi, bin je binarna vrednost koja se tretira kao promenljiva (npr. vrednost bita koja može da varira u zavisnosti od konteksta). Entropijsko kodiranje omogućava enkoderu da odbaci sve opcije koje očigledno nisu održive za određeni slučaj, ostavljajući skup dozvoljenih opcija. Svakoj dozvoljenoj opciji se tada dodeljuje kodna reč. Dužina kodnih reči je zasnovana na broju dozvoljenih opcija (npr., jedan bin za dve opcije, dva bina za tri do četiri opcije, itd.). Enkoder zatim enkodira kodnu reč za izabranu opciju. Ova šema smanjuje veličinu kodnih reči pošto su kodne reči onoliko velike koliko je potrebno da jedinstveno ukažu na izbor iz malog podskupa dozvoljenih opcija za razliku od jedinstvenog označavanja izbora iz potencijalno velikog skupa svih mogućih opcija. Dekoder zatim dekodira izbor određivanjem skupa dozvoljenih opcija na sličan način kao enkoder. Određivanjem skupa dozvoljenih opcija, dekoder može da pročita kodnu reč i odrediti izbor koji je izvršio enkoder.
[0077] U koraku 113, dekoder izvodi blok dekodiranje. Konkretno, dekoder koristi obrnute transformacije za generisanje rezidualnih blokova. Zatim dekoder koristi rezidualne blokove i
1
odgovarajuće blokove predikcije da rekonstruiše blokove slike u skladu sa particionisanjem. Blokovi predikcije mogu uključivati i blokove intra predikcije i blokove inter predikcije, kao generisane u enkoderu u koraku 105. Rekonstruisani blokovi slike se zatim pozicioniraju u frejmove rekonstruisanog video signala u skladu sa podacima o particionisanju utvrđenim u koraku 111. Sintaksa za korak 113 se takođe može signalizirati u toku bitova putem entropijskog kodiranja kao što je gore diskutovano.
[0078] U koraku 115, filtriranje se izvodi na frejmovima rekonstruisanog video signala na način sličan koraku 107 u enkoderu. Na primer, filteri za suzbijanje šuma, filteri za uklanjanje blokovskih efekata, filteri adaptivne petlje i SAO filteri se mogu primeniti na frejmove da bi se uklonili artefakti nastali obradom bloka. Kada se frejmovi filtriraju, video signal može da se emituje na ekran u koraku 117 kako bi ga krajnji korisnik video.
[0079] SL. 2 je šematski dijagram primera sistema 200 za kodiranje i dekodiranje (kodek) za video kodiranje. Konkretno, kodek sistem 200 obezbeđuje funkcionalnost za podršku implementacije operativnog postupka 100. Kodek sistem 200 je generalizovan da prikaže komponente koje se koriste i u enkoderu i u dekoderu. Kodek sistem 200 prima i deli video signal kao što je diskutovano u vezi sa koracima 101 i 103 u operativnom postupku 100, što rezultuje particionisanim video signalom 201. Kodek sistem 200 zatim kompresuje particionisani video signal 201 u kodirani tok bitova kada deluje kao enkoder kao što je diskutovano u vezi sa koracima 105, 107 i 109 u postupku 100. Kada deluje kao dekoder, kodek sistem 200 generiše izlazni video signal iz toka bitova kao što je diskutovano u vezi sa koracima 111, 113, 115 i 117 u operativnom postupku 100. Kodek sistem 200 uključuje opštu komponentu 211 kontrole kodera, komponentu 213 za transformacijsko skaliranje i kvantovanje, komponentu 215 procene unutar slike, komponentu 217 predikcije unutar slike, komponentu 219 za kompenzaciju pokreta, komponentu 221 za procenu pokreta, komponentu 229 skaliranja i inverzne transformacije, komponentu 227 analize kontrole filtera, komponentu 225 filtera u petlji, komponentu 223 bafera dekodirane slike i komponentu 231 za formatiranje zaglavlja i adaptivno prema kontekstu binarno aritmetičko kodiranje (CABAC). Takve komponente su povezane kao što je prikazano. Na SL. 2, crne linije označavaju kretanje podataka koji se enkodiraju/dekodiraju, dok isprekidane linije označavaju kretanje kontrolnih podataka koji kontrolišu rad drugih komponenti. Sve komponente kodek sistema 200 mogu da budu prisutne u enkoderu. Dekoder može da uključuje podskup komponenti kodek sistema 200. Na primer, dekoder može da uključuje komponentu 217 za predikcija unutar slike, komponentu 219 za kompenzaciju pokreta, komponentu 229 skaliranja i inverzne transformacije, komponentu 225 filtera u petlji i komponentu 223 bafera dekodirane slike. Ove komponente su sada opisane.
1
[0080] Particionisani video signal 201 je snimljena video sekvenca koja je podeljena na blokove piksela pomoću stabla kodiranja. Stablo kodiranja koristi različite režime podele da bi podelilo blok piksela na manje blokove piksela. Ovi blokovi se zatim mogu dalje podeliti na manje blokove. Blokovi se mogu nazvati čvorovima na stablu kodiranja. Veći roditeljski čvorovi se dele na manje podređene čvorove. Broj puta kada je čvor podeljen naziva se dubinom stabla čvora/stabla kodiranja. Podeljeni blokovi mogu da budu uključeni u jedinice kodiranja (CU) u nekim slučajevima. Na primer, CU može da bude poddeo CTU koji sadrži blok intenziteta osvetljenja, blok/blokove razlike intenziteta boje crvene (Cr) i blok/blokove intenziteta razlike boje plave (Cb), zajedno sa odgovarajućim sintaksičkim uputstvima za CU. Režimi podele mogu da uključuju binarno stablo (BT), trostruko stablo (TT) i četvorostruko stablo (QT) koje se koristi za particionisanje čvora na dva, tri ili četiri podređena čvora, respektivno, različitih oblika u zavisnosti od režima podele koji se koristi. Particionisani video signal 201 se prosleđuje opštoj komponenti 211 kontrole kodera, komponenti 213 za transformacijsko skaliranje i kvantovanje, komponenti 215 za procenu unutar slike, komponenti 227 analize kontrole filtera i komponenti 221 za procenu pokreta za kompresiju.
[0081] Opšta komponenta 211 kontrole kodera je konfigurisana da donosi odluke koje se odnose na kodiranje slika video sekvence u tok bitova u skladu sa ograničenjima aplikacije. Na primer, opšta komponenta 211 kontrole kodera upravlja optimizacijom bitske brzine/veličine toka bitova u odnosu na kvalitet rekonstrukcije. Takve odluke se mogu doneti na osnovu dostupnosti prostora za skladištenje/propusnog opsega i zahteva za rezolucijom slike. Opšta komponenta 211 kontrole kodera takođe upravlja korišćenjem bafera u svetlu brzine prenosa da bi ublažila probleme sa nedostatkom i prekoračenjem bafera. Za upravljanje ovim problemima, opšta komponenta 211 kontrole kodera upravlja particionisanjem, predikcijom i filtriranjem pomoću drugih komponenti. Na primer, opšta komponenta 211 kontrole kodera može dinamički da poveća složenost kompresije da bi povećala rezoluciju i povećala upotrebu propusnog opsega ili smanjila složenost kompresije, da bi smanjila rezoluciju i korišćenje propusnog opsega. Dakle, opšta komponenta 211 kontrole kodera kontroliše druge komponente kodek sistema 200 da uravnoteži kvalitet rekonstrukcije video signala sa problemima bitske brzine. Opšta komponenta 211 kontrole kodera kreira kontrolne podatke, koji kontrolišu rad ostalih komponenti. Kontrolni podaci se takođe prosleđuju komponenti 231 formatiranja zaglavlja i CABAC da bi se enkodirali u tok bitova za signalizaciju parametara za dekodiranje u dekoderu.
[0082] Particionisani video signal 201 se takođe šalje komponenti 221 za procenu pokreta i komponenti 219 za kompenzaciju pokreta za inter predikciju. Frejm ili isečak particionisanog video signala 201 može da bude podeljen na više video blokova. Komponenta 221 za procenu pokreta i komponenta 219 za kompenzaciju pokreta izvode inter prediktivno kodiranje
2
primljenog video bloka u odnosu na jedan ili više blokova u jednom ili više referentnih frejmova da bi obezbedili vremensku predikciju. Kodek sistem 200 može da izvrši kodiranje u višestrukim prolazima, na primer, da odabere odgovarajući režim kodiranja za svaki blok video podataka.
[0083] Komponenta 221 za procenu pokreta i komponenta 219 za kompenzaciju pokreta mogu da budu visoko integrisane, ali su ilustrovane odvojeno u konceptualne svrhe. Procena pokreta, koju vrši komponenta 221 za procenu pokreta, je postupak generisanja vektora pokreta, koji procenjuju kretanje za video blokove. Vektor pokreta, na primer, može ukazivati na pomeranje kodiranog objekta u odnosu na prediktivni blok. Prediktivni blok je blok za koji je utvrđeno da se blisko podudara sa blokom koji se kodira, u smislu razlike u pikselima. Prediktivni blok se takođe može nazvati referentnim blokom. Takva razlika u pikselima može da bude određena zbirom apsolutne razlike (SAD), zbirom kvadratne razlike (SSD) ili drugim metrikama razlike. HEVC koristi nekoliko kodiranih objekata uključujući CTU, blokove stabla kodiranja (CTB) i CU. Na primer, CTU može da se podeli na CTB, koji zatim može da se podeli na CB radi uključivanja u CU. CU može da se enkodira kao jedinica za predikcija (PU) koja sadrži podatke predikcije i/ili jedinica transformacije (TU) koja sadrži transformisane rezidualne podatke za CU. Komponenta 221 za procenu pokreta generiše vektore pokreta, PU i TU korišćenjem analize brzina-nivo izobličenja kao dela procesa optimizacije brzine-nivoa izobličenja. Na primer, komponenta 221 za procenu pokreta može da odredi više referentnih blokova, više vektora pokreta, itd. za trenutni blok/frejm, i može da izabere referentne blokove, vektore pokreta, itd. koji imaju najbolje karakteristike brzina-nivo izobličenja. Najbolje karakteristike brzina-nivo izobličenja balansiraju kvalitet video rekonstrukcije (npr. količina gubitka podataka kompresijom) i efikasnost kodiranja (npr. veličina konačnog enkodiranja).
[0084] U nekim primerima, kodek sistem 200 može da izračuna vrednosti za podcelobrojne pozicije piksela referentnih slika uskladištenih u komponenti 223 bafera dekodiranih slika. Na primer, video kodek sistem 200 može da interpolira vrednosti od jedne četvrtine pozicije piksela, jedne osmine pozicije piksela, ili druge frakcione pozicije piksela referentne slike. Prema tome, komponenta 221 za procenu pokreta može da izvrši pretragu pokreta u odnosu na pune pozicije piksela i frakcione pozicije piksela i da prikaže vektor pokreta sa frakcionom preciznošću piksela. Komponenta 221 za procenu pokreta izračunava vektor pokreta za PU video bloka u inter kodiranom isečku upoređivanjem položaja PU sa pozicijom prediktivnog bloka referentne slike. Komponenta 221 za procenu pokreta daje izračunati vektor pokreta kao podatke o kretanju komponenti 231 za formatiranje zaglavlja i CABAC za enkodiranje i kretanje komponenti 219 za kompenzaciju pokreta.
[0085] Kompenzacija pokreta, koju vrši komponenta 219 za kompenzaciju pokreta, može da uključuje preuzimanje ili generisanje prediktivnog bloka na osnovu vektora pokreta određenog komponentom 221 za procenu pokreta. Opet, komponenta 221 za procenu pokreta i komponenta 219 za kompenzaciju pokreta mogu da budu funkcionalno integrisane, u nekim primerima. Po prijemu vektora pokreta za PU trenutnog video bloka, komponenta 219 kompenzacije pokreta može da locira prediktivni blok na koji vektor pokreta pokazuje. Rezidualni video blok se zatim formira oduzimanjem vrednosti piksela prediktivnog bloka od vrednosti piksela trenutnog video bloka koji se kodira, formirajući vrednosti razlike piksela. Uopšteno, komponenta 221 za procenu pokreta vrši procenu pokreta u odnosu na komponente osvetljenja, a komponenta 219 za kompenzaciju pokreta koristi vektore pokreta izračunate na osnovu komponenti svetlosti i za komponente hroma i za komponente osvetljenja. Prediktivni blok i rezidualni blok se prosleđuju komponenti 213 za transformacijsko skaliranje i kvantovanje.
[0086] Particionisani video signal 201 se takođe šalje komponenti 215 za procenu unutar slike i komponenti 217 za predikcija unutar slike. Kao i kod komponente 221 za procenu pokreta i komponente 219 za kompenzaciju pokreta, komponenta 215 za procenu unutar slike i komponenta 217 za predikciju unutar slike mogu da budu veoma integrisane, ali su ilustrovane odvojeno u konceptualne svrhe. Komponenta 215 za procenu unutar slike i komponenta 217 za predikciju unutar slike vrše intra predikciju trenutnog bloka u odnosu na blokove u trenutnom frejmu, kao alternativu inter predikciji koju obavlja komponenta 221 za procenu pokreta i komponenta 219 za kompenzaciju pokreta između frejmova, kao što je gore opisano. Konkretno, komponenta 215 za procenu unutar slike određuje režim intra predikcije koji će se koristiti za enkodiranje trenutnog bloka. U nekim primerima, komponenta 215 za procenu unutar slike bira odgovarajući režim intra predikcije za enkodiranje trenutnog bloka iz više testiranih režima intra predikcije. Izabrani režimi intra predikcije se zatim prosleđuju komponenti 231 za formatiranje zaglavlja i CABAC za enkodiranje.
[0087] Na primer, komponenta 215 za procenu unutar slike izračunava vrednosti brzina-nivo izobličenja korišćenjem analize brzina-nivo izobličenja za različite testirane režime intra predikcije i bira režim intra predikcije koji ima najbolje karakteristike brzina-nivo izobličenja među testiranim režimima. Analiza brzina-nivo izobličenja generalno određuje količinu izobličenja (ili greške) između enkodiranog bloka i originalnog neenkodiranog bloka koji je enkodiran da proizvede enkodirani blok, kao i bitske brzine (npr. broj bitova) koja se koristi za proizvodnju enkodiranog bloka. blokirati. Komponenta 215 za procenu unutar slike izračunava odnose iz izobličenja i brzina za različite enkodirane blokove da bi odredila koji režim intra predikcije pokazuje najbolju vrednost brzina-nivo izobličenja za blok. Pored toga, komponenta 215 za procenu unutar slike može da bude konfigurisana da kodira blokove dubine mape dubine korišćenjem režima modeliranja dubine (DMM) zasnovanog na optimizaciji brzine-nivoa izobličenja (RDO).
[0088] Komponenta 217 za predikcija unutar slike može da generiše rezidualni blok iz bloka za predikcija na osnovu izabranih režima intra predikcije određenih komponentom 215 za procenu unutar slike kada se primeni na enkoder ili da pročita rezidualni blok iz toka bitova kada se primeni na dekoder. Rezidualni blok uključuje razliku u vrednostima između prediktivnog bloka i originalnog bloka, predstavljenog kao matrica. Rezidualni blok se zatim prosleđuje komponenti 213 za transformacijsko skaliranje i kvantovanje. Komponenta 215 za procenu unutar slike i komponenta 217 za predikcija unutar slike mogu da rade i na komponentama jačine i na komponentama boje.
[0089] Komponenta 213 za transformacijsko skaliranje i kvantovanje je konfigurisana da dalje komprimuje rezidualni blok. Komponenta 213 za transformacijsko skaliranje i kvantovanje primenjuje transformaciju, kao što je diskretna kosinusna transformacija (DCT), diskretna sinusna transformacija (DST), ili konceptualno slična transformacija, na rezidualni blok, proizvodeći video blok koji sadrži vrednosti koeficijenta rezidualnih transformacija. Talasne transformacije, celobrojne transformacije, transformacije podopsega ili druge vrste transformacija takođe se mogu koristiti. Transformacija može da konvertuje rezidualne informacije iz domena vrednosti piksela u domen transformacije, kao što je frekvencijski domen. Komponenta 213 za transformacijsko skaliranje i kvantovanje je takođe konfigurisana da skalira transformisanu rezidualnu informaciju, na primer na osnovu frekvencije. Takvo skaliranje uključuje primenu faktora skaliranja na rezidualnu informaciju tako da se različite informacije o frekvenciji kvantuju na različitim granularnostima, što može uticati na konačni vizuelni kvalitet rekonstruisanog videa. Komponenta 213 za transformacijsko skaliranje i kvantovanje je takođe konfigurisana da kvantuje koeficijente transformacije da dodatno smanji bitsku brzinu. Postupak kvantovanja može da smanji dubinu bita povezanu sa nekim ili svim koeficijentima. Stepen kvantovanja može da se modifikuje podešavanjem parametra kvantovanja. U nekim primerima, komponenta 213 za transformacijsko skaliranje i kvantovanje može zatim da izvrši skeniranje matrice uključujući kvantovane koeficijente transformacije. Kvantovani koeficijenti transformacije se prosleđuju komponenti 231 za formatiranje zaglavlja i CABAC da bi se enkodirali u toku bitova.
[0090] Komponenta 229 skaliranja i inverzne transformacije primenjuje obrnutu operaciju komponente 213 za transformacijsko skaliranje i kvantovanje da podrži procenu pokreta. Komponenta 229 skaliranja i inverzne transformacije primenjuje inverzno skaliranje, transformaciju i/ili kvantovanje da bi rekonstruisala rezidualni blok u domenu piksela, npr., za kasniju upotrebu kao referentni blok koji može da postane prediktivni blok za drugi trenutni blok. Komponenta 221 za procenu pokreta i/ili komponenta 219 za kompenzaciju pokreta mogu da izračunaju referentni blok dodavanjem preostalog bloka nazad u odgovarajući blok za predikcija
2
za upotrebu u proceni pokreta kasnijeg bloka/frejma. Filteri se primenjuju na rekonstruisane referentne blokove da bi se ublažili artefakti stvoreni tokom skaliranja, kvantovanja i transformacije. Takvi artefakti bi inače mogli uzrokovati netačnu predikciju (i stvoriti dodatne artefakte) pri predikciji narednih blokova.
[0091] Komponenta 227 za analizu kontrole filtera i komponenta 225 filtera u petlji primenjuju filtere na rezidualne blokove i/ili na rekonstruisane blokove slike. Na primer, transformisani rezidualni blok iz komponente 229 skaliranja i inverzne transformacije može da se kombinuje sa odgovarajućim blokom predikcije iz komponente 217 za predikcija unutar slike i/ili komponente 219 za kompenzaciju pokreta da bi se rekonstruisao originalni blok slike. Filteri se zatim mogu primeniti na rekonstruisani blok slike. U nekim primerima, filteri se umesto toga mogu primeniti na rezidualne blokove. Kao i kod drugih komponenti na SL. 2, komponenta 227 za analizu kontrole filtera i komponenta 225 filtera u petlji su visoko integrisane i mogu da se primene zajedno, ali su prikazane odvojeno u konceptualne svrhe. Filteri primenjeni na rekonstruisane referentne blokove primenjuju se na određene prostorne regione i uključuju više parametara za podešavanje načina na koji se takvi filteri primenjuju. Komponenta 227 za analizu kontrole filtera analizira rekonstruisane referentne blokove da bi odredila gde takvi filteri treba da se primenjuju i postavlja odgovarajuće parametre. Takvi podaci se prosleđuju komponenti 231 za formatiranje zaglavlja i CABAC kao kontrolni podaci filtera za enkodiranje. Komponenta 225 filtera u petlji primenjuje takve filtere na osnovu podataka kontrole filtera. Filteri mogu uključivati filter za uklanjanje blokovskih efekata, filter za suzbijanje buke, SAO filter i filter adaptivne petlje. Takvi filteri se mogu primeniti u prostornom/pikselskom domenu (npr. na rekonstruisanom bloku piksela) ili u frekvencijskom domenu, u zavisnosti od primera.
[0092] Pri radu u vidu enkodera, filtrirani rekonstruisani blok slike, rezidualni blok i/ili blok za predikcija se čuvaju u komponenti 223 bafera dekodirane slike za kasniju upotrebu u proceni pokreta kao što je gore diskutovano. Pri radu u vidu dekodera, komponenta 223 bafera dekodirane slike skladišti i prosleđuje rekonstruisane i filtrirane blokove ka ekranu kao deo izlaznog video signala. Komponenta 223 bafera dekodirane slike može da bude bilo koji memorijski uređaj sposoban da skladišti blokove predikcije, rezidualne blokove i/ili rekonstruisane blokove slike.
[0093] Komponenta 231 za formatiranje zaglavlja i CABAC prima podatke od različitih komponenti kodek sistema 200 i enkodira takve podatke u kodirani tok bitova za prenos ka dekoderu. Konkretno, komponenta 231 za formatiranje zaglavlja i CABAC generiše različita zaglavlja za enkodiranje kontrolnih podataka, kao što su opšti kontrolni podaci i kontrolni podaci filtera. Dalje, podaci predikcije, uključujući intra predikciju i podatke o kretanju, kao i rezidualni podaci u obliku kvantovanih podataka o koeficijentu transformacije, svi su enkodirani u toku bitova. Konačni tok bitova uključuje sve informacije koje su potrebne dekoderu da rekonstruiše originalni particionisani video signal 201. Takve informacije mogu takođe da uključuju tabele indeksa režima intra predikcije (takođe se pominju kao tabele mapiranja kodnih reči), definicije konteksta enkodiranja za različite blokove, indikacije za najverovatnije režime intra predikcije, indikacije informacija o particionisanju, itd. Takvi podaci mogu da budu enkodirani korišćenjem entropijskog kodiranja. Na primer, informacija može da bude enkodirana korišćenjem kontekstualno prilagodljivog kodiranja promenljive dužine (CAVLC), CABAC, kontekstualno prilagodljivog binarnog aritmetičkog kodiranja zasnovanog na sintaksi (SBAC), kodiranja entropije za particionisanje intervala verovatnoće (PIPE) ili druge tehnike entropijskog kodiranja. Nakon entropijskog kodiranja, kodirani tok bitova se može preneti na drugi uređaj (npr. video dekoder) ili arhivirati za kasniji prenos ili preuzimanje.
[0094] SL.3 je blok dijagram koji ilustruje primer video enkodera 300. Video enkoder 300 može da se koristi za implementaciju funkcija enkodiranja kodek sistema 200 i/ili implementaciju koraka 101, 103, 105, 107 i/ili 109 operativnog postupka 100. Enkoder 300 deli ulazni video signal, što rezultuje particionisanim video signalom 301, koji je u suštini sličan particionisanom video signalu 201. Particionisani video signal 301 se zatim komprimuje i enkodira u tok bitova pomoću komponenti enkodera 300.
[0095] Konkretno, particionisani video signal 301 se prosleđuje komponenti 317 za predikcija unutar slike za intra predikciju. Komponenta 317 za predikciju unutar slike može da bude u suštini slična komponenti 215 za procenu unutar slike i komponenti 217 za predikciju unutar slike. Particionisani video signal 301 se takođe prosleđuje komponenti 321 za kompenzaciju pokreta za inter predikciju zasnovanu na referentnim blokovima u komponenti 323 bafera dekodirane slike. Komponenta 321 za kompenzaciju pokreta može da bude u suštini slična komponenti 221 za procenu pokreta i komponenti 219 za kompenzaciju pokreta. Blokovi predikcije i rezidualni blokovi iz komponente 317 za predikciju unutar slike i komponente 321 za kompenzaciju pokreta se prosleđuju komponenti 313 za transformaciju i kvantovanje za transformaciju i kvantovanje rezidualnih blokova. Komponenta 313 za transformaciju i kvantovanje može da bude u suštini slična komponenti 213 za transformacijsko skaliranje i kvantovanje. Transformisani i kvantovani rezidualni blokovi i odgovarajući blokovi predikcije (zajedno sa povezanim kontrolnim podacima) se prosleđuju komponenti 331 entropijskog kodiranja radi kodiranja u tok bitova. Komponenta 331 entropijskog kodiranja može da bude u suštini slična komponenti 231 za formatiranje zaglavlja i CABAC.
[0096] Transformisani i kvantovani rezidualni blokovi i/ili odgovarajući blokovi predikcije se takođe prosleđuju iz komponente 313 za transformaciju i kvantovanje u komponentu 329 za inverznu transformaciju i kvantovanje radi rekonstrukcije u referentne blokove za upotrebu
2
pomoću komponente 321 za kompenzaciju pokreta. Komponenta 329 za inverznu transformaciju i kvantovanje može da bude u suštini slična komponenti 229 skaliranja i inverzne transformacije. Filteri unutar petlje u komponenti 325 filtera u petlji se takođe primenjuju na rezidualne blokove i/ili rekonstruisane referentne blokove, u zavisnosti od primera. Komponenta 325 filtera u petlji može da bude u suštini slična komponenti 227 za analizu kontrole filtera i komponenti 225 filtera u petlji. Komponenta 325 filtera u petlji može da uključuje više filtera kao što je diskutovano u vezi sa komponentom 225 filtera u petlji. Filtrirani blokovi se zatim čuvaju u komponenti 323 bafera dekodirane slike za korišćenje u vidu referentnih blokova pomoću komponente 321 za kompenzaciju pokreta. Komponenta 323 bafera dekodirane slike može da bude u suštini slična komponenti 223 bafera dekodirane slike.
[0097] SL. 4 je blok dijagram koji ilustruje primer video dekodera 400. Video dekoder 400 se može koristiti za implementaciju funkcija dekodiranja kodek sistema 200 i/ili implementaciju koraka 111, 113, 115 i/ili 117 operativnog postupka 100. Dekoder 400 prima tok bitova, na primer iz enkodera 300, i generiše rekonstruisani izlazni video signal na osnovu toka bitova za prikaz krajnjem korisniku.
[0098] Tok bitova se prima pomoću komponente 433 za entropijsko dekodiranje. Komponenta 433 za entropijsko dekodiranje je konfigurisana da primeni šemu entropijskog dekodiranja, kao što je kodiranje CAVLC, CABAC, SBAC, PIPE ili druge tehnike entropijskog kodiranja. Na primer, komponenta 433 za entropijsko dekodiranje može da koristi informacije zaglavlja da obezbedi kontekst za tumačenje dodatnih podataka enkodiranih kao kodne reči u toku bitova. Dekodirana informacija uključuje bilo koju informaciju potrebnu za dekodiranje video signala, kao što su opšti kontrolni podaci, podaci kontrole filtera, informacije o particionisanju, podaci o kretanju, podaci predikcije i kvantovani koeficijenti transformacije iz rezidualnih blokova. Kvantovani koeficijenti transformacije se prosleđuju komponenti 429 inverzne transformacije i kvantovanja za rekonstrukciju u rezidualne blokove. Komponenta 429 inverzne transformacije i kvantovanja može da bude slična komponenti 329 inverzne transformacije i kvantovanja.
[0099] Rekonstruisani rezidualni blokovi i/ili blokovi predikcije se prosleđuju komponenti 417 za predikciju unutar slike za rekonstrukciju u blokove slike na osnovu operacija intra predikcije. Komponenta 417 za predikciju unutar slike može da bude slična komponenti 215 za procenu unutar slike i komponenti 217 za predikciju unutar slike. Konkretno, komponenta 417 za predikciju unutar slike koristi režime predikcije da locira referentni blok u frejmu i primenjuje rezidualno blok na rezultat da bi se rekonstruisali intra prediktivni blokovi slike. Rekonstruisani intra prediktivni blokovi slike i/ili rezidualni blokovi i odgovarajući inter prediktivni podaci se prosleđuju komponenti 423 bafera dekodirane slike preko komponente 425 filtera u petlji, koja može da bude suštinski slična komponenti 223 bafera dekodirane slike i komponenti 225 filtera u
2
petlji, respektivno. Komponenta 425 filtera u petlji filtrira rekonstruisane blokove slike, rezidualne blokove i/ili blokove predikcije, i takve informacije se čuvaju u komponenti 423 bafera dekodirane slike. Rekonstruisani blokovi slike iz komponente 423 bafera dekodirane slike se prosleđuju komponenti 421 za kompenzaciju pokreta za inter predikciju. Komponenta 421 za kompenzaciju pokreta može da bude u suštini slična komponenti 221 za procenu pokreta i/ili komponenti 219 za kompenzaciju pokreta. Konkretno, komponenta 421 za kompenzaciju pokreta koristi vektore pokreta iz referentnog bloka da generiše blok predikcije i primenjuje rezidualni blok na rezultat za rekonstruisanje bloka slike. Rezultujući rekonstruisani blokovi mogu takođe da budu prosleđeni preko komponente 425 filtera u petlji u komponentu 423 bafera dekodirane slike. Komponenta 423 bafera dekodirane slike nastavlja da skladišti dodatne rekonstruisane blokove slike, koji se mogu rekonstruisati u frejmove preko informacija o particionisanju. Takvi frejmovi se takođe mogu postaviti u sekvenci. Sekvenca se emituje prema ekranu kao rekonstruisani izlazni video signal.
[0100] SL. 5 je šematski dijagram koji ilustruje primer toka bitova 500 koji sadrži enkodiranu video sekvencu. Na primer, tok bitova 500 može da bude generisan pomoću kodek sistema 200 i/ili enkodera 300 za dekodiranje pomoću kodek sistema 200 i/ili dekodera 400. Kao još jedan primer, tok bitova 500 može da bude generisan pomoću enkodera u koraku 109 postupka 100 za upotrebu pomoću dekodera u koraku 111.
[0101] Tok bitova 500 uključuje skup 510 parametara sekvence (SPS), mnoštvo skupova 512 parametara slike (PPS), zaglavlja 514 grupa pločica i podatke 520 o slici. SPS 510 sadrži podatke o sekvenci zajedničke za sve slike u video sekvenca sadržana u toku bitova 500. Takvi podaci mogu da uključuju veličinu slike, dubinu bita, parametre alata za kodiranje, ograničenja brzine bitova, itd. U jednom primeru izvođenja, SPS 510 uključuje SPS indikator 565. U jednom primeru izvođenja, SPS indikator 565 ima prvu vrednost (npr. jedan) ili drugu vrednost (npr. nula). SPS indikator 565 koja ima prvu vrednost specificira da je mapiranje 575 ID podslike signalizirano u SPS 510, a SPS indikator 565 koja ima drugu vrednost specificira da je mapiranje 575 ID podslike signalizirano u PPS 512.
[0102] PPS 512 sadrži parametre koji su specifični za jednu ili više odgovarajućih slika. Dakle, svaka slika u video sekvenci može da se odnosi na jedan PPS 512. PPS 512 može da ukaže na alate za kodiranje dostupne za pločice u odgovarajućim slikama, parametre kvantovanja, pomake, parametre alata za kodiranje specifične za sliku (npr. kontrole filtera), itd. U jednom primeru izvođenja, PPS 512 uključuje PPS indikator 567. U jednom primeru izvođenja, PPS indikator 567 ima prvu vrednost (npr. jedan) ili drugu vrednost (npr. nula). PPS indikator 567 koja ima prvu vrednost specificira da je mapiranje 575 ID podslike signalizirano u PPS 512, a PPS
2
indikator 567 koja ima drugu vrednost specificira da mapiranje 575 ID podslike nije signalizirano u PPS 512.
[0103] Zaglavlje 514 grupe pločica sadrži parametre koji su specifični za svaku grupu pločica na slici. Dakle, može postojati jedno zaglavlje 514 grupe pločica po grupi pločica u video sekvenci. Zaglavlje 514 grupe pločica može da sadrži informacije o grupi pločica, vrednosti redosleda slike (POC), liste referentnih slika, težine predikcije, ulazne tačke pločica, parametre za uklanjanje blokovskih efekata, itd. Treba napomenuti da je u nekim sistemima zaglavlje 514 grupe pločica označeno kao zaglavlje isečaka i u njima se takva informacija koristi da podrži isečke umesto grupe pločica.
[0104] Podaci 520 o slici sadrže video podatke enkodirane u skladu sa inter predikcijom i/ili intra predikcijom, kao i odgovarajuće transformisane i kvantovane rezidualne podatke. Takvi podaci 520 o slici se sortiraju prema particionisanju koje se koristi za particionisanje slike pre enkodiranja. Na primer, slika u podacima 520 o slici uključuje jednu ili više slika 521. Niz ili serija slika 527 može da se označi kao CVS 527. Kako se ovde koristi, CVS 527 je niz pristupnih jedinica (AU) koji uključuje, u redosledu dekodiranja, AU za početak kodirane video sekvence (CVSS), nakon čega sledi nula ili više AU koje nisu CVSS AU, uključujući sve naredne AU do, ali ne uključujući, bilo koje sledeće AU koja je CVSS AU. CVSS AU je AU u kojoj postoji jedinica za predikcija (PU) za svaki sloj specificiran skupom video parametara (VPS) i kodirana slika u svakoj PU je CLVSS slika. U jednom primeru izvođenja, svaka slika 521 je unutar AU. PU je skup NAL jedinica koje su povezane jedna sa drugom prema specificiranom pravilu klasifikacije, uzastopne su po redosledu dekodiranja i sadrže tačno jednu kodiranu sliku.
[0105] CVS je kodirana video sekvenca za svaku video sekvencu kodiranog sloja (CLVS) u toku bitova videa. Primetno je da su CVS i CLVS iste kada tok bitova videa uključuje jedan sloj. CVS i CLVS se razlikuju samo kada tok bitova videa uključuje više slojeva.
[0106] Svaka od slika 521 može da bude podeljena na pločice 523. Pločica 523 je podeljeni deo slike kreiran horizontalnim i vertikalnim granicama. Pločice 523 mogu da budu pravougaone i/ili kvadratne. Konkretno, pločica 523 uključuje četiri strane koje su povezane pod pravim uglom. Četiri strane uključuju dva para paralelnih stranica. Dalje, stranice u paralelnom paru stranica su jednake dužine. Kao takva, pločica 523 može da bude bilo kog pravougaonog oblika, gde je kvadrat poseban slučaj pravougaonika gde su sve četiri stranice jednake dužine. Prikaz/slika može da sadrži jednu ili više pločica 523.
[0107] Slika (npr., slika 521) može da bude stavljena u redove i kolone pločica 523. Red pločica je skup pločica 523 pozicioniranih na horizontalno susedan način kako bi se stvorila neprekidna linija od leve granice do desne granice slike (ili obrnuto). Kolona pločica je skup pločica 523
2
postavljenih na vertikalno susedni način da bi se stvorila neprekidna linija od gornje granice do donje granice slike (ili obrnuto).
[0108] Pločice 523 mogu, ali ne moraju da omoguće predikcija na osnovu drugih pločica 523, u zavisnosti od primera. Svaka pločica 523 može imati jedinstveni indeks pločice na slici. Indeks pločice je proceduralno odabran numerički identifikator koji može da se koristi za razlikovanje jedne pločice 523 od druge. Na primer, indeksi pločica se mogu brojčano povećati u redosledu skeniranja rastera. Redosled skeniranja rastera je s leva na desno i odozgo prema dole.
[0109] Treba napomenuti da, u nekim primerima, pločicama 523 mogu takođe biti dodeljeni identifikatori (ID) pločica. ID pločice je dodeljeni identifikator koji može da se koristi za razlikovanje jedne pločice 523 od druge. U nekim primerima proračuni mogu koristiti ID pločica umesto indeksa pločica. Dalje, ID pločica mogu da se dodele iste vrednosti kao indeksi pločica u nekim primerima. Indeksi pločica i/ili ID mogu da budu signalizirani da ukazuju na grupe pločica koje sadrže pločice 523. Na primer, indeksi pločica i/ili ID mogu da budu korišćeni za mapiranje podataka slike povezanih sa pločicom 523 na odgovarajuću poziciju za prikaz. Grupa pločica je srodni skup pločica 523 koje mogu zasebno da se ekstrahuju i kodiraju, na primer da podrže prikaz oblasti od interesa i/ili da podrže paralelnu obradu. Pločice 523 u grupi pločica mogu se kodirati bez pozivanja na pločice 523 izvan grupe pločica. Svaka pločica 523 može da bude dodeljena odgovarajućoj grupi pločica, i stoga slika može da sadrži više grupa pločica.
[0110] Pločice 523 su dalje podeljene na jedinice stabla kodiranja (CTU). CTU su dalje podeljeni na blokove kodiranja na osnovu stabala kodiranja. Blokovi kodiranja se tada mogu enkodirati/dekodirati prema mehanizmima predikcije.
[0111] SL.6A-6E ilustruju primer mehanizma 600 za kreiranje trake 610 za ekstrakciju (takođe nazvane spojeni tok bitova) za kombinovanje podslika više rezolucija iz različitih tokova bitova u jednu sliku za upotrebu u aplikacijama virtuelne realnosti (VR). Mehanizam 600 se može koristiti da podrži primer korišćenja postupka 100. Na primer, mehanizam 600 se može koristiti za generisanje toka bitova 500 za prenos iz kodek sistema 200 i/ili enkodera 300 ka kodek sistemu 200 i/ili dekoderu 400. Kao specifičan primer, mehanizam 600 može da se koristi za upotrebu u kombinaciji sa VR, omnidirekcionim formatom medija (OMAF), video zapisom od trista šezdeset stepeni, itd.
[0112] U VR, samo deo videa se prikazuje korisniku. Na primer, VR video može da se snima tako da uključuje sferu koja okružuje korisnika. Korisnik može da koristi ekran postavljen na glavi (HMD) za gledanje VR videa. Korisnik može da usmeri HMD ka regionu od interesa. Region od interesa se prikazuje korisniku, a ostali video podaci se odbacuju. Na ovaj način, korisnik u svakom trenutku gleda samo deo VR videa koji je korisnik izabrao. Ovaj pristup oponaša percepcije korisnika i stoga uzrokuje da korisnik doživi virtuelno okruženje na način
2
koji oponaša stvarno okruženje. Jedan od problema sa ovim pristupom je da se ceo VR video može preneti korisniku, ali se zapravo koristi samo trenutni prozor za prikaz videa, a ostatak se odbacuje. Da bi se povećala efikasnost signalizacije za aplikacije za striming, korisnikov trenutni prozor za prikaz može se preneti u višoj prvoj rezoluciji, a drugi prozori za prikaz mogu se preneti u nižoj drugoj rezoluciji. Na ovaj način, prozori za prikaz koji će verovatno biti odbačeni zauzimaju manje propusnog opsega od jednog ili više prozora za prikaz koje će korisnik verovatno videti. U slučaju da korisnik odabere novi prozor za prikaz, sadržaj niže rezolucije može da bude prikazan sve dok dekoder ne zatraži da se drugi trenutni prozor za prikaz prenese u višoj prvoj rezoluciji. Mehanizam 600 se može upotrebiti za kreiranje trake 610 za ekstrakciju, kao što je prikazano na SL. 6E, da podrži ovu funkcionalnost. Traka 610 za ekstrakciju je traka slikovnih podataka koja inkapsulira sliku (npr. sliku 521) u više rezolucija za upotrebu kao što je gore opisano.
[0113] Mehanizam 600 enkodira isti video sadržaj u prvoj rezoluciji 611 i drugoj rezoluciji 612, kao što je prikazano na SL.6A i 6B, respektivno. Kao poseban primer, prva rezolucija 611 može da bude 5120×2560 uzoraka intenziteta osvetljenja, a druga rezolucija 612 može da bude 2560×1280 uzoraka intenziteta osvetljenja. Slike video snimka mogu da budu podeljene na pločice 601 u prvoj rezoluciji 611 i pločice 603 u drugoj rezoluciji 612, respektivno. Kako se ovde koristi, pločice se mogu nazvati podslike. U prikazanom primeru, pločice 601 i 603 su podeljene u mrežu 4x2. Dalje, MCTS se može kodirati za svaku poziciju pločice 601 i 603. Svaka slika prve rezolucije 611 i druge rezolucije 612 rezultiraju MCTS sekvencom koja opisuje video tokom vremena u odgovarajućoj rezoluciji. Svaka kodirana MCTS sekvenca se čuva kao traka podslike ili traka pločica. Mehanizam 600 onda može da koristi slike za kreiranje segmenata koji podržavaju izbor MCTS prilagođen prozoru za prikaz. Na primer, razmatra se svaki opseg orijentacija gledanja koji izaziva različit izbor MCTS visoke i niske rezolucije. U ilustrovanom primeru, dobijaju se četiri pločice 601 koje sadrže MCTS u prvoj rezoluciji 611 i četiri pločice 603 koje sadrže MCTS u drugoj rezoluciji 612.
[0114] Mehanizam 600 onda može da kreira traku 610 za ekstrakciju za svaki mogući izbor MCTS prilagođen prozoru prikaza. SL. 6C i 6D ilustruju primer izbora MCTS prilagođen prozoru za prikaz. Konkretno, skup odabranih pločica 605 i 607 se bira u prvoj rezoluciji 611 i drugoj rezoluciji 612, respektivno. Odabrane pločice 605 i 607 su ilustrovane sivim nijansama. U prikazanom primeru, izabrane pločice 605 su pločice 601 u prvoj rezoluciji 611 koje treba da se pokažu korisniku, a izabrane pločice 607 su pločice 603 u drugoj rezoluciji 612 koje će verovatno biti odbačene, ali održavane da podržavaju prikaz u slučaju da korisnik izabere novi prozor za prikaz. Izabrane pločice 605 i 607 se zatim kombinuju u jednu sliku koja sadrži podatke o slici i u prvoj rezoluciji 611 i u drugoj rezoluciji 612. Takve slike se kombinuju da bi se kreirala traka 610 za ekstrakciju. SL. 6E ilustruje jednu sliku sa odgovarajuće trake 610 za ekstrakciju u svrhu ilustracije. Kao što je prikazano, slika na traci 610 za ekstrakciju sadrži izabrane pločice 605 i 607 iz prve rezolucije 611 i druge rezolucije 612. Kao što je gore navedeno, SL. 6C-6E ilustruju jedan izbor MCTS prilagođen prozoru za prikaz. Da bi se omogućio korisnikov izbor bilo kog prozora za prikaz, treba kreirati traku za izdvajanje 610 za svaku moguću kombinaciju izabranih pločica 605 i 607.
[0115] U prikazanom primeru, svaki izbor pločica 603 koji inkapsulira sadržaj iz druge rezolucije 612 toka bitova sadrži dva isečka. RegionWisePackingBox može da bude uključen u traku 610 za ekstrakciju da kreira mapiranje između upakovane slike i projektovane slike u formatu ekvipravougaone projekcije (ERP). U predstavljenom primeru, tokovi bitova razrešeni sa traka 610 za ekstrakciju imaju rezoluciju 3200×2560. Shodno tome, dekoder sa sposobnošću za četiri hiljade uzoraka (4K) može da dekodira sadržaj gde je prozor za prikaz ekstrahovan iz kodiranog toka bitova sa pet hiljada uzoraka 5K (5120×2560) rezolucije.
[0116] Kao što je prikazano na SL. 6C, izabrane pločice 605 (prikazane sivom bojom) u prvoj rezoluciji 611 imaju sledeće identifikatore pločica: 10, 11, 14 i 15. Kako se ovde koriste, identifikatori pločica se takođe mogu nazvati identifikatorima podslike. Izabrane pločice 607 u drugoj rezoluciji 612 imaju sledeće identifikatore: 1, 5, 4 i 8. Dakle, traka 610 za ekstrakciju sadrži sledeće identifikatore pločica: 10, 11, 14, 15, 1, 5, 4 i 8. Identifikatori pločica se koriste da identifikuju određene podslike koristeći indeks podslike, što se ovde može nazvati mapiranjem ID podslike.
[0117] SL. 7A-7E ilustruju primer mehanizma 700 za kreiranje trake 710 za ekstrakciju za kombinovanje podslika više rezolucija iz različitih tokova bitova u jednu sliku za upotrebu u VR aplikacijama kada je korisnik promenio prozore za prikaz u odnosu na prozor za prikaz koji je izabran za SL.6A-6E. To jest, SL.7A-7E ilustruju kako se stvara nova traka 710 za ekstrakciju kada dođe do promene orijentacije gledanja unutar CVS, što uključuje traku 610 za ekstrakciju i traku 710 za ekstrakciju.
[0118] Kao što je prikazano na SL. 7A-7B, slike videa su podeljene na pločice 701 u prvoj rezoluciji 711 i pločice 703 u drugoj rezoluciji 712, respektivno. Međutim, došlo je do promene u orijentaciji gledanja u mehanizmu 700 u odnosu na mehanizam 600. Stoga, kao što je prikazano na SL. 7C-7D, izabrane pločice 705 (prikazane sivom bojom) u prvoj rezoluciji 711 sada imaju sledeće identifikatore pločica: 9, 10, 13 i 14, a izabrane pločice 707 u drugoj rezoluciji 712 sada imaju sledeće identifikatore: 3, 4, 7 i 8. Dakle, traka 710 za ekstrakciju sadrži sledeće identifikatore pločica: 3, 4, 7, 8, 9, 10, 13 i 14 zbog promene orijentacije gledanja.
[0119] Kada CVS koji se prenosi uključuje konstantan skup podslika, tada se relevantni ID podslike ostavljaju u SPS (svi ostali se uklanjaju). Kada dođe do spajanja (npr. da bi se formirala
1
jedna od traka 610 ili 710 za ekstrakciju), ID podslike se premeštaju u PPS. U oba slučaja, indikator je postavljen u toku bitova da bi se naznačilo gde se trenutno nalaze ID podslike.
[0120] Normalno, kada dođe do promene orijentacije gledanja, nove IRAP slike moraju da se pošalju. IRAP slika je kodirana slika za koju sve VCL NAL jedinice imaju istu vrednost tipa NAL jedinice. IRAP slika pruža sledeće dve važne funkcionalnosti / prednosti. Prvo, prisustvo IRAP slike ukazuje na to da postupak dekodiranja može početi od te slike. Ova funkcionalnost omogućava funkciju slučajnog pristupa u kojoj postupak dekodiranja počinje na toj poziciji u toku bitova, a ne nužno na početku toka bitova, sve dok je IRAP slika prisutna na toj poziciji. Drugo, prisustvo IRAP slike osvežava postupak dekodiranja tako da se kodirana slika koja počinje od IRAP slike, isključujući preskočene vodeće slike slučajnog pristupa (RASL), kodira bez ikakvog pozivanja na prethodne slike. Imati IRAP sliku prisutnu u tok bitova bi stoga zaustavilo svaku grešku koja se može desiti tokom dekodiranja kodiranih slika pre IRAP slike da bi se proširila na IRAP sliku i one slike koje prate IRAP sliku u redosledu dekodiranja.
[0121] Dok IRAP slike pružaju važne funkcionalnosti, uz njih ide nedostatak u efikasnosti kompresije. Prisustvo IRAP slike izaziva porast bitske brzine. Ovaj nedostatak u efikasnosti kompresije je zbog dva razloga. Prvo, pošto je IRAP slika intra prediktovana slika, sama slika bi zahtevala relativno više bitova za predstavljanje u poređenju sa drugim slikama (npr. slike na početku, slike na kraju) koje su inter prediktovane slike. Drugo, budući da prisustvo IRAP slike narušava vremensko predikcija (to je zato što bi dekoder osvežio postupak dekodiranja, u kojem je jedna od radnji postupka dekodiranja za ovo uklanjanje prethodnih referentnih slika u baferu dekodirane slike (DPB)), IRAP slika uzrokuje da kodiranje slika koje prate IRAP sliku u redosledu dekodiranja bude manje efikasno (tj. potrebno je više bitova za predstavljanje) jer imaju manje referentnih slika za njihovo inter prediktovano kodiranje.
[0122] U jednom primeru izvođenja, IRAP slika se naziva slika čistog slučajnog pristupa (CRA) ili slika trenutnog osvežavanja dekodera (IDR) sa slikom koja se može dekodirati slučajnim pristupom (RADL). U HEVC, IDR slike, CRA slike i slike pristupa prekinutom linku (BLA) se smatraju IRAP slikama. Za VVC, tokom 12. sastanka JVET u oktobru 2018. godine, dogovoreno je da se i IDR i CRA slike smatraju IRAP slikama. U jednom primeru izvođenja, slike pristupa prekinutom linku (BLA) i postepenog osvežavanja dekodera (GDR) se takođe mogu smatrati IRAP slikama. Postupak dekodiranja za kodiranu video sekvencu uvek počinje od IRAP slike.
[0123] Za razliku od slanja novih IRAP slika kao što je gore opisano, bolji pristup je da se nastavi sa slanjem svih pločica (tzv. podslike) koje se dele između trake 610 za ekstrakciju i trake 710 za ekstrakciju. To jest, nastavak slanja pločica koje imaju sledeće ID pločica: 4, 8, 10 i 14 pošto se te pločice nalaze i u traci 610 za ekstrakciju i u traci 710 za ekstrakciju. Pri tome, nove IRAP slike treba da se pošalju samo za one pločice u traci 710 za ekstrakciju koje takođe
2
nisu bile u traci 610 za ekstrakciju. To jest, nove IRAP slike je potrebno poslati samo za pločice sa sledećim ID pločica: 1, 5, 9 i 13 kada se promeni orijentacija gledanja. Međutim, promena ID podslike unutar CVS može izazvati probleme u signalizaciji.
[0124] Da bi se rešio bar problem signalizacije, indikacija (npr., indikator) se signalizira u toku bitova da bi se ukazalo da li se ID pločice (takođe nazvan ID podslike) za svaku pločicu (takođe nazvanu podslika) može promeniti unutar CVS. Takav indikator može da bude označen u SPS ili u PPS. Pored signalizacije da li se ID pločice može promeniti unutar CVS, indikator takođe može da obezbedi i drugu funkcionalnost.
[0125] U jednom pristupu, ID podslike se signaliziraju ili u SPS sintaksi (kada je naznačeno da se ID podslike za svaku podsliku ne menja unutar CVS) ili u PPS sintaksi (kada je naznačeno da ID podslike za svaku podsliku može da se promeni u okviru CVS). U jednom primeru izvođenja, ID podslike se nikada ne signaliziraju i u SPS sintaksi i u PPS sintaksi.
[0126] U drugom pristupu, ID podslike se uvek signaliziraju u SPS sintaksi, a kada indikator ukazuje da se ID podslike za svaku podsliku može promeniti unutar CVS, vrednosti ID podslike signalizirane u SPS mogu da budu zamenjene ID podslike signaliziranim u PPS sintaksi.
[0127] U još jednom pristupu, ID podslike se ne signaliziraju u SPS sintaksi već samo u PPS sintaksi, a indikacija da li se ID podslike za svaku podsliku može promeniti unutar CVS takođe se signalizira samo u PPS sintaksi.
[0128] U ovom pristupu, druge informacije o podslici, kao što su pozicija i veličina svake podslike, dužina ID podslike u bitovima, kao i indikator subpic_treated_as_pic_flag[i] i loop_filter_across _subpic_enabled_flag[i] kao u poslednjem nacrtu specifikacije VVC, takođe mogu da budu signalizirane u PPS umesto u SPS, ali sve su iste za sve PPS na koje se pozivaju kodirane slike unutar CVS.
[0129] Kada se pozicije i veličine podslike signaliziraju u PPS, umesto da budu signalizirane na sličan način kao u najnovijem nacrtu specifikacije VVC, one se mogu signalizirati na osnovu isečaka uključenih u svaku podsliku. Na primer, za svaku podsliku, indeks isečka ili ID isečka koji se nalazi u gornjem levom uglu podslike i indeks isečka ili ID isečka koji se nalazi u donjem desnom uglu podslike mogu da budu signalizirani, radi izvođenja pozicije i veličine podslike, pri čemu signalizacija može da bude zasnovana na delta, a u nekim posebnim prilikama signalizacija indeksa ili ID isečka ili njegove delte može da bude izbegnuta i vrednost se izvodi zaključivanjem, npr. slično načinu na koji se indeksi cigle u gornjem levom i donjem desnom uglu signaliziraju za pravougaone isečke u najnovijem nacrtu specifikacije VVC.
[0130] U ovom primeru izvođenja, ID podslike se signaliziraju na sledeći način.
[0131] U SPS sintaksi, kada je naznačeno da je broj podslika na svakoj slici u CVS veći od 1, važi sledeće.
[0132] Indikator (npr. označen kao subpicture_ids_signalled_in_sps_flag ili sps_subpic_id_mapping_present_flag) je signaliziran u SPS. U jednom primeru izvođenja, indikator ima sledeću semantiku: subpicture_ids_signalled_in_sps_flag jednako 1 specificira da se ID podslike signaliziraju u SPS, jedan za svaku podsliku, i da se vrednost ID podslike za svaku određenu podsliku ne menja unutar CVS. Subpicture_ids_signalled_in_sps_flag jednako 0 određuje da se ID podslike ne signaliziraju u SPS, već se umesto toga signaliziraju u PPS, a vrednost ID podslike za svaku određenu podsliku može da se promeni unutar CVS. Kada je ids_signalled_in_sps_flag podslike jednako 1, ID podslike se signalizira za svaku podsliku u SPS.
[0133] U PPS sintaksi, indikator (npr. označen kao subpicture_ids_signalled_in_pps_flag ili pps_subpic_id_mapping_present_flag) je signaliziran u PPS. Indikator ima sledeću semantiku: subpicture_ids_signalled_in_pps_flag jednako 1 označava da se ID podslike signaliziraju u PPS, po jedan za svaku podsliku, a vrednost ID podslike za svaku određenu podsliku može da se promeni unutar CVS. Subpicture_ids_signalled_in_pps_flag jednako 0 određuje da se ID podslike ne signaliziraju u PPS, već se umesto toga signaliziraju u SPS, a vrednost ID podslike za svaku određenu podsliku se ne menja unutar CVS.
[0134] U jednom primeru izvođenja, vrednost subpicture_ids_signalled_in_pps_flag biće jednaka 1 - subpicture_ids_signalled_in_sps_flag. Kada je subpicture_ids_signalled_in_pps_flag jednako 1, ID podslike se signalizira za svaku podsliku u PPS.
[0135] U sintaksi zaglavlja isečka, ID podslike se signalizira bez obzira na broj podslika specificiranih pomoću referentnog SPS.
[0136] Alternativno, kada je broj podslika na svakoj slici veći od 1, SPS sintaksa uvek uključuje ID podslike, po jedan za svaku podsliku, a SPS sintaksa takođe uključuje indikator koji specificira da li ID podslike mogu da budu zamenjeni ID podslike signaliziranim u PPS sintaksi i da li se vrednost ID podslike za svaku određenu podsliku može promeniti unutar CVS. Zamena ID podslike se može izvršiti ili uvek za sve ID podslike ili samo za izabrani podskup svih ID podslike.
[0137] SL. 8 predstavlja primer izvođenja postupka 800 dekodiranja koju sprovodi video dekoder (npr. video dekoder 400). Postupak 800 se može izvesti nakon što je dekodirani tok bitova direktno ili indirektno primljen od video enkodera (npr., video enkodera 300). Postupak 800 poboljšava postupak dekodiranja tako što obezbeđuje efikasnu signalizaciju ID podslike čak i kada se ID podslike menjaju unutar CVS u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (takođe nazvan "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani postupak video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
4
[0138] U bloku 802, video dekoder prima tok bitova videa (npr. tok bitova 500) uključujući SPS (npr. SPS 510), PPS (npr. PPS 512) i mnoštvo podslika (npr. pločice 605 i 607) povezanih sa mapiranjem 575 identifikatora (ID) podslike. Kao što je gore navedeno, mapiranje 575 ID podslike je mapiranje ID podslike u određene podslike putem indeksa podslike (npr., ID 8 podslike odgovara indeksu 8 podslike, koji identifikuje određenu podsliku iz mnoštva podslika). U jednom primeru izvođenja, SPS 510 sadrži SPS indikator 565. U jednom aspektu, PPS 512 sadrži PPS indikator 567.
[0139] U bloku 804, video dekoder određuje da li SPS indikator 565 ima prvu vrednost ili drugu vrednost. SPS indikator 565 koji ima prvu vrednost specificira da je mapiranje 575 ID podslike uključeno u SPS 510, a SPS indikator 565 koji ima drugu vrednost specificira da je mapiranje 575 ID podslike signalizirano u PPS 512.
[0140] Kada SPS indikator 565 ima drugu vrednost, u bloku 806, video dekoder određuje da li PPS indikator 567 ima prvu ili drugu vrednost. PPS indikator 567 koji ima prvu vrednost specificira da je mapiranje 575 ID podslike uključeno u PPS 512, a PPS indikator 567 koji ima drugu vrednost specificira da mapiranje 575 ID podslike nije signalizirano u PPS 512.
[0141] U jednom primeru izvođenja, SPS indikator 656 ima prvu vrednost kada PPS indikator 567 ima drugu vrednost. U jednom primeru izvođenja, SPS indikator 565 ima drugu vrednost kada PPS indikator 567 ima prvu vrednost. U jednom primeru izvođenja, prva vrednost je jedan, a druga vrednost je nula.
[0142] U jednom primeru izvođenja, SPS 510 sadrži drugi SPS indikator 569. Drugi SPS indikator 569 specificira da li je mapiranje 575 podslike izričito signalizirano u SPS 510 ili PPS 512. U jednom primeru izvođenja, tok bitova 500 dalje sadrži indikator 571 CVS promene. Indikator 571 CVS promene ukazuje na to da li mapiranje 575 ID podslike može da se promeni unutar CVS 590 toka bitova 500. U jednom primeru izvođenja, indikator 571 CVS promene je uključen u SPS 510, PPS 512 ili neki drugi skup parametara ili zaglavlje u toku bitova 500.
[0143] U bloku 808, video dekoder dobija mapiranje 575 ID podslike od SPS 510 kada SPS indikator 565 ima prvu vrednost i od PPS 512 kada SPS ima drugu vrednost i/ili kada PPS indikator 567 ima prva vrednost. U jednom primeru izvođenja, tok bitova sadrži spojeni tok bitova. U jednom aspektu, mapiranje 575 ID podslike se promenilo unutar CVS 590 toka bitova 500.
[0144] U bloku 810, video dekoder dekodira mnoštvo podslika koristeći mapiranje 575 ID podslike. Jednom dekodirano, mnoštvo podslika može se koristiti za generisanje ili proizvodnju slike ili video sekvence za prikaz korisniku na displeju ili ekranu elektronskog uređaja (npr. pametni telefon, tablet, laptop, personalni računar, itd.).
[0145] SL.9 je primer izvođenja postupka 900 enkodiranja toka bitova videa koji sprovodi video enkoder (npr. video enkoder 300). Postupak 900 se može izvesti kada slika (npr. iz video zapisa) treba da se enkodira u tok bitova videa i zatim prenese ka video dekoderu (npr. video dekoderu 400). Postupak 900 poboljšava postupak enkodiranja obezbeđujući efikasnu signalizaciju ID podslike čak i kada se ID podslike menjaju unutar CVS u scenarijima primene koji uključuju i ekstrakciju podtoka bitova i spajanje podtoka bitova. Ovo smanjuje redundantnost i povećava efikasnost kodiranja. Dakle, koder/dekoder (tzv. "kodek") u video kodiranju je poboljšan u odnosu na trenutne kodeke. Praktično, poboljšani postupak video kodiranja nudi korisniku bolje korisničko iskustvo kada se video snimci šalju, primaju i/ili gledaju.
[0146] U bloku 902, video enkoder enkodira tok bitova uključujući SPS (npr. SPS 510), PPS (npr. PPS 512) i mnoštvo podslika (npr. pločice 605 i 607) povezanih sa mapiranjem identifikatora (ID) podslike. Kao što je gore navedeno, mapiranje 575 ID podslike je mapiranje ID podslike u određene podslike putem indeksa podslike (npr., ID 8 podslike odgovara indeksu 8 podslike, koji identifikuje određenu podsliku iz mnoštva podslika). U jednom primeru izvođenja, SPS 510 sadrži SPS indikator 565, a PPS 512 sadrži PPS indikator 567.
[0147] U bloku 904, video enkoder postavlja SPS indikator 565 na prvu vrednost kada je mapiranje 575 ID podslike uključeno u SPS 510 i na drugu vrednost kada je mapiranje 575 ID podslike signalizirano u PPS 512.
[0148] U bloku 906, video enkoder postavlja PPS indikator 567 na prvu vrednost kada je mapiranje 575 ID podslike uključeno u PPS 512 i na drugu vrednost kada mapiranje 575 ID podslike nije signalizirano u PPS 512.
[0149] U jednom primeru izvođenja, SPS indikator 565 ima prvu vrednost kada PPS indikator 567 ima drugu vrednost. U jednom primeru izvođenja, SPS indikator 565 ima drugu vrednost kada PPS indikator 567 ima prvu vrednost. U jednom primeru izvođenja, prva vrednost je jedan, a druga vrednost je nula.
[0150] U jednom primeru izvođenja, SPS 510 sadrži drugi SPS indikator 569. Drugi SPS indikator 569 specificira da li je mapiranje 575 ID podslike izričito signalizirano u SPS 510 ili PPS 512. U jednom primeru izvođenja, tok bitova 500 dodatno sadrži indikator 571 promene CVS. Indikator 571 promene CVS ukazuje na to da li mapiranje 575 ID podslike može da se promeni unutar CVS 590 toka bitova 500. U jednom primeru izvođenja, indikator 571 promene CVS je uključen u SPS 510, PPS 512 ili drugi skup parametara ili zaglavlje u toku bitova 500.
[0151] U bloku 908, video enkoder čuva tok bitova za komunikaciju prema dekoderu. Tok bitova može da bude uskladišten u memoriji sve dok se tok bitova videa ne prenese ka video dekoderu. Kada ga video dekoder primi, enkodirani tok bitova videa može da se dekodira (npr., kao što je gore opisano) da bi se generisala ili proizvela slika ili video sekvenca za prikaz korisniku na displeju ili ekranu elektronskog uređaja (npr. pametnog telefona, tableta, laptopa, personalnog računara, itd.).
[0152] U jednom primeru izvođenja, ID podslike se signaliziraju na sledeći način.
[0153] SPS sintaksa ne uključuje signalizaciju ID podslike.
[0154] U PPS sintaksi, signalizira se vrednost koja ukazuje na broj podslika, a koji je potrebno da bude isti za sve PPS na koje se pozivaju kodirane slike unutar CVS, a kada je naznačeni broj podslika veći od 1, primenjuje se sledeće:
[0155] Indikator, na primer, pod nazivom subpicture_id_unchanging_in_cvs_flag, signalizira se u PPS, sa sledećom semantikom: subpicture_id_unchanging_in_cvs_flag jednako 1 specificira da se ID podslike za svaku određenu podsliku signaliziranu u PPS ne menja unutar CVS. Subpicture_id_unchanging_in_cvs_flag jednako 0 specificira da se ID podslike za svaku određenu podsliku signaliziranu u PPS može promeniti unutar CVS.
[0156] Vrednost koja ukazuje na broj podslika se signalizira u PPS. Navedeni broj podslika će biti isti za sve PPS na koje se upućuje kodiranim slikama unutar CVS.
[0157] ID podslike se signalizira za svaku podsliku u PPS. Kada je subpicture_id_unchanging_in_cvs_flag jednako 1, ID podslike za svaku određenu podsliku će biti isti za sve PPS na koje se pozivaju kodirane slike unutar CVS.
[0158] U sintaksi zaglavlja isečka, ID podslike je signaliziran, bez obzira na broj podslika specificiranih referentnim SPS.
[0159] Takođe treba razumeti da se koraci primera postupaka koji su ovde izloženi ne moraju nužno izvoditi opisanim redosledom, a redosled koraka takvih postupaka treba shvatiti kao samo primer. Slično, dodatni koraci mogu da budu uključeni u takve postupke, a određeni koraci mogu da budu izostavljeni ili kombinovani, u postupcima u skladu sa različitim primerima izvođenja ovog otkrića.
[0160] SL. 10 je šematski dijagram uređaja 1000 za video kodiranje (npr. video enkoder 300 ili video dekoder 400) prema jednom primeru izvođenja otkrića. Uređaj 1000 za video kodiranje je pogodan za implementaciju otkrivenih primera izvođenja kao što je ovde opisano. Uređaj 1000 za video kodiranje sadrži ulazne portove 1010 i prijemne jedinice (Rx) 1020 za prijem podataka; procesor, logičku jedinicu ili centralnu procesorsku jedinicu (CPU) 1030 za obradu podataka; transmiterske jedinice (Tx) 1040 i izlazne portove 1050 za prenos podataka; i memoriju 1060 za čuvanje podataka. Uređaj 1000 za video kodiranje može takođe da sadrži optičke-električne (OE) komponente i električne-optičke (EO) komponente povezane sa ulaznim portovima 1010, prijemnim jedinicama 1020, transmiterskim jedinicama 1040 i izlaznim portovima 1050 za izlazak ili ulazak optičkih ili električnih signala.
[0161] Procesor 1030 je implementiran pomoću hardvera i softvera. Procesor 1030 može da bude implementiran kao jedan ili više CPU čipova, jezgara (npr., kao višejezgarni procesor), programabilnih logičkih kola (FPGA), integrisanih kola specifične namene (ASIC) i procesora digitalnih signala (DSP). Procesor 1030 je u komunikaciji sa ulaznim portovima 1010, prijemnim jedinicama 1020, transmiterskim jedinicama 1040, izlaznim portovima 1050 i memorijom 1060. Procesor 1030 sadrži modul 1070 za kodiranje. Modul 1070 za kodiranje sprovodi gore opisane otkrivene primere izvođenja. Na primer, modul 1070 za kodiranje sprovodi, obrađuje, priprema ili obezbeđuje različite funkcije kodeka. Uključivanje modula 1070 za kodiranje stoga obezbeđuje značajno poboljšanje funkcionalnosti uređaja 1000 za video kodiranje i utiče na transformaciju uređaja 1000 za video kodiranje u drugačije stanje. Alternativno, modul 1070 za kodiranje je implementiran kao instrukcije uskladištene u memoriji 1060 koje izvršava procesor 1030.
[0162] Uređaj 1000 za video kodiranje može takođe da uključuje ulazne i/ili izlazne (I/O) uređaje 1080 za prenošenje podataka do i od korisnika. I/O uređaji 1080 mogu da uključuju izlazne uređaje kao što su displej za prikazivanje video podataka, zvučnici za izlaz audio podataka, itd. I/O uređaji 1080 mogu takođe da uključuju ulazne uređaje, kao što su tastatura, miš, trekbol, itd., i/ili odgovarajući interfejse za interakciju sa takvim izlaznim uređajima.
[0163] Memorija 1060 sadrži jedan ili više diskova, uređaja za rad sa trakama i poluprovodničkih diskova, i može da se koristi kao uređaj za skladištenje podataka sa prekomernim protokom podataka, za skladištenje programa kada su takvi programi izabrani za izvršenje, i za skladištenje instrukcija i podataka koji se čitaju tokom izvršavanja programa. Memorija 1060 može da bude nezadrživa i/ili zadrživa i može da bude memorija samo za čitanje (ROM), memorija sa slučajnim pristupom (RAM), ternarna memorija sa adresabilnim sadržajem (TCAM) i/ili statička memorija sa slučajnim pristupom (SRAM).
[0164] SL. 11 je šematski dijagram primera izvođenja sredstva 1100 za kodiranje. U jednom primeru izvođenja, sredstvo 1100 za kodiranje je implementirano u uređaj 1102 za video kodiranje (npr., video enkoder 300 ili video dekoder 400). Uređaj 1102 za video kodiranje uključuje sredstvo 1101 za prijem. Sredstvo 1101 za prijem je konfigurisano da primi sliku za enkodiranje ili da primi tok bitova za dekodiranje. Uređaj 1102 za video kodiranje uključuje sredstvo 1107 za prenos povezano sa sredstvom 1101 za prijem. Sredstvo 1107 za prenos je konfigurisano da prenosi tok bitova u dekoder ili da prenosi dekodiranu sliku na sredstvo za prikaz (npr., jedan od I/O uređaja 1080).
[0165] Uređaj 1102 za video kodiranje uključuje sredstvo 1103 za skladištenje. Sredstvo 1103 za skladištenje je povezano sa najmanje jednim od sredstava 1101 za prijem ili sredstava 1107 za prenos. Sredstvo 1103 za skladištenje je konfigurisano da čuva uputstva. Uređaj 1102 za video kodiranje takođe uključuje sredstvo 1105 za obradu. Sredstvo 1105 za obradu je povezano sa sredstvom 1103 za skladištenje. Sredstvo 1105 za obradu je konfigurisano da izvrši instrukcije uskladištene u uređaju 1103 za skladištenje kako bi se izveli ovde otkriveni postupci.
[0166] Iako je u ovom otkriću dato nekoliko primera izvođenja, može se razumeti da otkriveni sistemi i postupci mogu da budu oličeni u mnogim drugim specifičnim oblicima bez odstupanja od obima ovog otkrića. Sadašnje primere treba smatrati ilustrativnim, a ne ograničavajućim, a namera nije da se ograniči na detalje koji su ovde dati. Na primer, različiti elementi ili komponente mogu da budu kombinovani ili integrisani u drugi sistem.
[0167] Pored toga, tehnike, sistemi, podsistemi i postupci opisani i ilustrovani u različitim primerima izvođenja kao pojedinačni ili odvojeni mogu da budu kombinovani ili integrisani sa drugim sistemima, komponentama, tehnikama ili postupcima bez odstupanja od obima ovog otkrića.

Claims (14)

Patentni zahtevi
1. Postupak koji sprovodi dekoder, koji obuhvata:
primanje (802), pomoću dekodera, toka bitova koji uključuje skup parametara sekvence, SPS, skup parametara slike, PPS, i mnoštvo podslika povezanih sa mapiranjem identifikatora, ID, podslike, pri čemu SPS uključuje SPS indikator;
određivanje (804), pomoću dekodera, da li SPS indikator ima prvu vrednost ili drugu vrednost, pri čemu SPS indikator koji ima prvu vrednost specificira da je mapiranje ID podslike signalizirano u SPS, i pri čemu SPS indikator koji ima drugu vrednost specificira da je mapiranje ID podslike signalizirano u PPS;
dobijanje (808), pomoću dekodera, mapiranja ID podslike iz SPS kada SPS indikator ima prvu vrednost i iz PPS kada SPS indikator ima drugu vrednost; i
dekodiranje (810), pomoću dekodera, mnoštva podslika upotrebom mapiranja ID podslike.
2. Postupak prema zahtevu 1, naznačen time što PPS uključuje PPS indikator, i postupak dodatno obuhvata:
određivanje (806), pomoću dekodera, da li PPS indikator ima prvu vrednost ili drugu vrednost, pri čemu PPS indikator koji ima prvu vrednost specificira da je mapiranje ID podslike signalizirano u PPS, i pri čemu PPS indikator koji ima drugu vrednost specificira da mapiranje ID podslike nije signalizirano u PPS; i
dobijanje (808), pomoću dekodera, mapiranja ID podslike iz PPS kada PPS indikator ima prvu vrednost.
3. Postupak prema zahtevu 2, naznačen time što SPS indikator ima prvu vrednost kada PPS indikator ima drugu vrednost, i pri čemu SPS indikator ima drugu vrednost kada PPS indikator ima prvu vrednost.
4. Postupak prema bilo kom od zahteva 1-3, naznačen time što je prva vrednost jedan, a druga vrednost je nula.
5. Postupak prema bilo kom od zahteva 1-4, naznačen time što SPS uključuje drugi SPS indikator, i gde drugi SPS indikator specificira da li je mapiranje ID podslike izričito signalizirano u SPS ili PPS.
6. Postupak prema bilo kom od zahteva 1-5, naznačen time što tok bitova dalje sadrži indikator promene kodirane video sekvence, CVS, i gde indikator promene CVS pokazuje da li je dozvoljeno menjanje mapiranja ID podslike unutar kodirane video sekvence, CVS, toka bitova.
7. Postupak prema bilo kom od zahteva 1-6, naznačen time što tok bitova sadrži spojeni tok bitova, i pri čemu je mapiranje ID podslike promenjeno unutar CVS toka bitova.
8. Postupak koji sprovodi enkoder, gde postupak obuhvata:
4
enkodiranje (902), pomoću enkodera, toka bitova koji uključuje skup parametara sekvence, SPS, skup parametara slike, PPS, i mnoštvo podslika povezanih sa mapiranjem identifikatora, ID, podslike, pri čemu SPS uključuje SPS indikator;
podešavanje (904), pomoću enkodera, SPS indikatora na prvu vrednost kada je mapiranje ID podslike signalizirano u SPS i na drugu vrednost kada je mapiranje ID podslike signalizirano u PPS; i
skladištenje (908), pomoću dekodera, toka bitova za komunikaciju prema dekoderu.
9. Postupak prema zahtevu 8, u kome se dalje, pomoću enkodera, PPS indikator u PPS podešava (906) na prvu vrednost kada je mapiranje ID podslike signalizirano u PPS, a na drugu vrednost kada mapiranje ID podslike nije signalizirano u PPS.
10. Postupak prema zahtevu 9, naznačen time što SPS indikator ima prvu vrednost kada PPS indikator ima drugu vrednost, i pri čemu SPS indikator ima drugu vrednost kada PPS indikator ima prvu vrednost.
11. Postupak prema bilo kom od zahteva 8-10, naznačen time što je prva vrednost jedan, a druga vrednost je nula.
12. Postupak prema bilo kom od zahteva 8-11, naznačen time što SPS uključuje drugi SPS indikator, i gde drugi SPS indikator specificira da li je mapiranje podslike izričito signalizirano u SPS ili PPS.
13. Postupak prema bilo kom od zahteva 8-12, naznačen time što tok bitova dalje sadrži indikator promene kodirane video sekvence, CVS, i gde indikator promene CVS pokazuje da li mapiranje ID podslike može da se promeni unutar kodirane video sekvence, CVS, toka bitova.
14. Uređaj za dekodiranje, koji sadrži:
prijemnik (1020) konfigurisan za primanje toka bitova videa koji uključuje skup parametara sekvence, SPS, skup parametara slike, PPS, i mnoštvo podslika povezanih sa mapiranjem identifikatora, ID, podslike, pri čemu SPS uključuje SPS indikator;
memoriju (1032) povezanu sa prijemnikom, pri čemu memorija skladišti instrukcije; i procesor (1030) povezan sa memorijom (1032), pri čemu je procesor (1030) konfigurisan za izvršavanje instrukcija, kako bi doveo do toga da uređaj za dekodiranje:
odredi da li SPS indikator ima prvu vrednost ili drugu vrednost, pri čemu SPS indikator koji ima prvu vrednost specificira da je mapiranje ID podslike signalizirano u SPS, i pri čemu SPS indikator koji ima drugu vrednost specificira da je mapiranje ID podslike signalizirano u PPS; dobije mapiranje ID podslike iz SPS kada SPS indikator ima prvu vrednost, a iz PPS kada SPS indikator ima drugu vrednost; i
dekodira mnoštvo podslika upotrebom mapiranja ID podslike.
RS20230340A 2019-09-17 2020-09-15 Signalizacija identifikatora podslike kod kodiranja videa na bazi podslika RS64175B1 (sr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962901552P 2019-09-17 2019-09-17
PCT/US2020/050835 WO2021035225A1 (en) 2019-09-17 2020-09-15 Signaling subpicture ids in subpicture based video coding
EP20855518.5A EP4018658B1 (en) 2019-09-17 2020-09-15 Signaling subpicture ids in subpicture based video coding

Publications (1)

Publication Number Publication Date
RS64175B1 true RS64175B1 (sr) 2023-05-31

Family

ID=74660755

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20230340A RS64175B1 (sr) 2019-09-17 2020-09-15 Signalizacija identifikatora podslike kod kodiranja videa na bazi podslika

Country Status (24)

Country Link
US (2) US12356012B2 (sr)
EP (3) EP4213487B1 (sr)
JP (3) JP7460760B2 (sr)
KR (2) KR102806946B1 (sr)
CN (7) CN116828191A (sr)
AU (2) AU2020332002B2 (sr)
BR (1) BR122023003915B1 (sr)
CA (1) CA3151255A1 (sr)
CL (1) CL2022000640A1 (sr)
CY (1) CY1126045T1 (sr)
DK (1) DK4018658T3 (sr)
ES (1) ES2944451T3 (sr)
FI (1) FI4018658T3 (sr)
HR (1) HRP20230554T1 (sr)
HU (1) HUE061642T2 (sr)
IL (1) IL291464B2 (sr)
LT (1) LT4018658T (sr)
MX (2) MX2022003221A (sr)
MY (1) MY210518A (sr)
PL (1) PL4018658T3 (sr)
PT (1) PT4018658T (sr)
RS (1) RS64175B1 (sr)
SI (1) SI4018658T1 (sr)
WO (1) WO2021035225A1 (sr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11716488B2 (en) * 2019-09-20 2023-08-01 Qualcomm Incorporated Subpicture signaling in high-level syntax for video coding
KR20210035062A (ko) * 2019-09-23 2021-03-31 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN120017859A (zh) * 2019-12-23 2025-05-16 Lg电子株式会社 图像解码方法、图像编码方法和图像数据发送方法
EP4138401A1 (en) * 2021-08-17 2023-02-22 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10034018B2 (en) 2011-09-23 2018-07-24 Velos Media, Llc Decoded picture buffer management
US10244246B2 (en) 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
US20130272619A1 (en) * 2012-04-13 2013-10-17 Sharp Laboratories Of America, Inc. Devices for identifying a leading picture
WO2014006854A1 (en) 2012-07-01 2014-01-09 Sharp Kabushiki Kaisha Device for signaling a long-term reference picture in a parameter set
US9648352B2 (en) 2012-09-24 2017-05-09 Qualcomm Incorporated Expanded decoding unit definition
US9491457B2 (en) 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
JP6505026B2 (ja) * 2013-07-10 2019-04-24 シャープ株式会社 符号化方法
EP3090558A4 (en) * 2014-01-03 2017-08-16 Nokia Technologies OY Parameter set coding
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
US9998742B2 (en) * 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
EP3284258A4 (en) * 2015-05-28 2019-04-17 HFI Innovation Inc. METHOD AND DEVICE FOR USING A CURRENT PICTURE AS A REFERENCE PICTURE
US10404992B2 (en) * 2015-07-27 2019-09-03 Qualcomm Incorporated Methods and systems of restricting bi-prediction in video coding
JP6559337B2 (ja) * 2015-09-23 2019-08-14 ノキア テクノロジーズ オーユー 360度パノラマビデオの符号化方法、符号化装置、及びコンピュータプログラム
US10523966B2 (en) * 2017-03-31 2019-12-31 Mediatek Inc. Coding transform blocks
US10623738B2 (en) * 2017-04-06 2020-04-14 Futurewei Technologies, Inc. Noise suppression filter
KR102515357B1 (ko) 2018-01-25 2023-03-29 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 서브 픽처 추출
US11153607B2 (en) * 2018-01-29 2021-10-19 Mediatek Inc. Length-adaptive deblocking filtering in video coding
CN113287313A (zh) * 2019-01-09 2021-08-20 华为技术有限公司 视频译码中的子图像布局指示
KR102707618B1 (ko) * 2019-03-11 2024-09-20 텐센트 아메리카 엘엘씨 타일 및 서브-픽처 파티셔닝
US11375223B2 (en) * 2019-09-20 2022-06-28 Tencent America LLC Method for signaling output layer set with sub-picture
US11490099B2 (en) * 2019-12-23 2022-11-01 Qualcomm Incorporated Reference subpicture scaling ratios for subpictures in video coding

Also Published As

Publication number Publication date
MX2024015825A (es) 2025-02-10
CN114556938B (zh) 2023-04-11
JP2022548663A (ja) 2022-11-21
EP4018658A1 (en) 2022-06-29
SI4018658T1 (sl) 2023-06-30
JP2026034483A (ja) 2026-02-27
CN116567252A (zh) 2023-08-08
EP4712465A2 (en) 2026-03-18
IL291464B2 (en) 2026-02-01
PL4018658T3 (pl) 2023-06-05
IL291464B1 (en) 2025-10-01
MX2022003221A (es) 2022-04-26
CN116828191A (zh) 2023-09-29
CL2022000640A1 (es) 2022-10-21
JP7807479B2 (ja) 2026-01-27
PT4018658T (pt) 2023-05-12
CN116600126A (zh) 2023-08-15
BR112022004859A2 (pt) 2022-06-07
CN115567713A (zh) 2023-01-03
EP4213487B1 (en) 2026-01-28
AU2020332002B2 (en) 2026-01-22
HRP20230554T1 (hr) 2023-08-18
MY210518A (en) 2025-09-29
BR122023003915B1 (pt) 2024-02-15
CA3151255A1 (en) 2021-02-25
US20250274612A1 (en) 2025-08-28
KR20220053676A (ko) 2022-04-29
US12356012B2 (en) 2025-07-08
LT4018658T (lt) 2023-05-10
FI4018658T3 (fi) 2023-05-02
DK4018658T3 (da) 2023-04-24
EP4018658A4 (en) 2022-10-12
KR20250065947A (ko) 2025-05-13
EP4018658B1 (en) 2023-03-29
NZ786368A (en) 2024-10-25
CY1126045T1 (el) 2023-11-15
US20220210477A1 (en) 2022-06-30
JP2024083350A (ja) 2024-06-21
JP7460760B2 (ja) 2024-04-02
AU2020332002A1 (en) 2022-04-07
AU2024219747B2 (en) 2025-12-18
HUE061642T2 (hu) 2023-07-28
EP4213487A1 (en) 2023-07-19
CN116600125A (zh) 2023-08-15
IL291464A (en) 2022-05-01
KR102806946B1 (ko) 2025-05-12
AU2024219747A1 (en) 2024-10-10
CN114556938A (zh) 2022-05-27
WO2021035225A1 (en) 2021-02-25
EP4213487C0 (en) 2026-01-28
ES2944451T3 (es) 2023-06-21
CN115567713B (zh) 2023-07-07
CN116567251A (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
AU2019414460B2 (en) A video encoder, a video decoder and corresponding methods
JP7807479B2 (ja) サブピクチャベースビデオコーディングにおいてサブピクチャidをシグナリングする
ES3010349T3 (en) Indication of one slice per subpicture in subpicture-based video coding
KR102859482B1 (ko) 식별자 시그널링을 갖는 비디오 코딩 비트스트림 추출
AU2019414459B2 (en) A video encoder, a video decoder and corresponding methods
RU2827654C1 (ru) Сигнализация id подызображений при кодировании видео на основе подызображений
AU2026202006A1 (en) Signaling subpicture ids in subpicture based video coding
BR112022004859B1 (pt) Método implementado por um decodificador, método implementado por um codificador, dispositivo, aparelho e sistema de codificação, e meios para codificação