RS67489B1 - Postupak i uređaj za obradu video signala na osnovu inter predikcije - Google Patents
Postupak i uređaj za obradu video signala na osnovu inter predikcijeInfo
- Publication number
- RS67489B1 RS67489B1 RS20251221A RSP20251221A RS67489B1 RS 67489 B1 RS67489 B1 RS 67489B1 RS 20251221 A RS20251221 A RS 20251221A RS P20251221 A RSP20251221 A RS P20251221A RS 67489 B1 RS67489 B1 RS 67489B1
- Authority
- RS
- Serbia
- Prior art keywords
- merge
- candidate
- block
- list
- candidates
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/507—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
[0001] Opis
[0002] [Tehnička oblast]
[0003] Jedan način ostvarivanja ovog otkrivanja se odnosi na postupak i uređaj za obradu video signala na osnovu inter predikcije i, određenije, na postupak i uređaj za izvođenje inter predikcije pomoću predikcije vektora pokreta zasnovane na istoriji.
[0005] [Pozadina]
[0006] Kodiranje kompresijom znači niz tehnika obrade signala za prenos digitalizovanih informacija kroz komunikacionu liniju ili tehnike za čuvanje informacija u obliku pogodnom za medijum za čuvanje. Medijum koji obuhvata sliku, sliku, audio zapis itd. može biti cilj za kodiranje kompresijom, a naročito, tehnika za izvođenje kodiranja kompresijom na slici označena je kao kompresija slike video zapisa.
[0007] Smatra se da video sadržaji naredne generacije imaju karakteristike visoke prostorne rezolucije, visoke brzine kadrova i visoke dimenzionalnosti prikaza scene. Kako bi se takvi sadržaji obradili, doći će do drastičnog povećanja memorija kapaciteta za čuvanje, brzine pristupa memoriji i procesorske snage.
[0008] Shodno tome, potrebno je napraviti alat za kodiranje radi efikasne obrade video sadržaja naredne generacije.
[0009] WO 2020/114407 A1 opisuje tehnike za video kodiranje i dekodiranje. Jedan primer postupka obrade video zapisa obuhvata određivanje pravila orezivanja za HMVP (predikcija vektora pokreta zasnovana na istoriji) kandidata izvedenog iz jedne ili više HMVP tabela; izvršavanje orezivanja ili preskakanja orezivanja HMVP kandidata na osnovu pravila orezivanja, pri čemu se orezivanje primenjuje radi određivanja da li će se HMVP kandidat ubaciti u finalnu listu kandidata za trenutni blok; i izvođenje obrade video zapisa na trenutnom bloku na osnovu finalne liste kandidata, pri čemu je HMVP kandidat klasifikovan u jednu od više kategorija, a pravilo orezivanja određuje se na osnovu kategorije u koju je HMVP kandidat svrstani.
[0010] Sledeći dokumenti predstavljaju priloge relevantnoj standardizaciji video kodiranja i svaki se odnosi na aspekte predikcije vektora pokreta, kao što je generisanje liste za spajanje koja uključuje kandidate prediktora vektora pokreta:
[0011] (i) JVET-L0309, ZHAO J ET AL: "CE4-related: Simplification to History Based Motion Vector Prediction", 124. MPEG MEETING, 20181008 - 20181012, MACAO, (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), 3 October 2018 (2018-10-03);
[0012] (ii) JVET-L0266, ZHANG L ET AL: "CE4: History-based Motion Vector Prediction (Test
[0013] 4.4.7)", 124. MPEG MEETING, 20181008 - 20181012, MACAO, (MOTION PICTURE
[0014] EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), 4 October 2018 (2018-10-04);
[0015] (iii) JVET-L0187, XU L ET AL: "CE4-related: Merge Candidate List Construction for P Frames" 12. JVET MEETING, 20181003 - 20181012, MACAO, (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), 10 October 2018 (2018-10-10);
[0016] (iv) JVET-N0373, LEE H ET AL: "Non-CE4: HMVP unification between the Merge and MVP list", 14. JVET MEETING, 20190319 - 20190327, GENEVA, (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 21 March 2019 (2019-03-21);
[0017] (v) JVET-M1001, BROSS B ET AL: "Versatile Video Coding (Draft 4)", 13. JVET MEETING, 20190109 - 20190118, MARRAKECH, (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), March 2019 (2019-03-17), pages 1-300; i
[0018] (vi) JVET-L0448, XU W ET AL: "CE4-related: constraint of pruning in history-based motion vector prediction", 12. JVET MEETING, 20181003 -20181012, MACAO, (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16), 1 October 2018 (2018-10-01).
[0020] [Otkrivanje]
[0021] [Tehnički problem]
[0022] Cilj je da se predlože ograničenja o proveri redundantnosti za dodavanje HMVP kandidata na listu za spajanje (ili AMVP listu).
[0023] Tehnički ciljevi koji treba da se postignu u jednom načinu ostvarivanja ovog otkrivanja nisu ograničeni na prethodno pomenute tehničke ciljeve, a druge tehničke ciljeve koji nisu prethodno opisani može očigledno razumeti stručno lice iz odgovarajuće oblasti na osnovu opisa u nastavku.
[0024] [Tehničko rešenje]
[0025] Ovaj pronalazak definišu nezavisni patentni zahtevi. U nastavku teksta, biće pozivanja na mnoge primere i načine ostvarivanja. U tom smislu, trebalo bi da se ima u vidu da je 'način ostvarivanja 4' opisan u nastavku u skladu sa ovim pronalaskom, dok drugi primeri i načini ostvarivanja opisani u nastavku nisu u skladu sa ovim pronalaskom.
[0027] [Tehnički efekti]
[0028] Prema jednom načinu ostvarivanja ovog otkrivanja, složenost u vezi sa proverom redundantnosti može biti poboljšana i efikasnost povećana ograničavanjem provere redundantnosti za dodavanje na listu za spajanje (ili AMVP listu).
[0029] Efekti koji se mogu postići ovim otkrivanjem nisu ograničeni na prethodno pomenute efekte, a stručnjak iz ove oblasti očigledno može razumeti druge tehničke efekte koji nisu prethodno opisani na osnovu opisa u nastavku.
[0031] [Opis crteža]
[0032] Prateći crteži, koji su obuhvaćeni kao deo detaljnog opisa kako bi bili od pomoći u razumevanju ovog otkrivanja, obezbeđuju načine ostvarivanja ovog otkrivanja i opisuju tehničke karakteristike ovog otkrivanja uz detaljan opis.
[0033] FIG.1 ilustruje primer funkcionalne konfiguracije kodera na primer uređaja za obradu video signala prema jednom načinu ostvarivanja ovog otkrivanja.
[0034] FIG.2 predstavlja način ostvarivanja na koji se ovo otkrivanje primenjuje i šematski blok dijagram uređaja za dekodiranje u kojem se vrši dekodiranje video/slikovnog signala.
[0035] FIG.3 predstavlja način ostvarivanja na koji se ovo otkrivanje primenjuje i prikaz koji pokazuje primer strukture stabla sa više tipova.
[0036] FIG.4 predstavlja način ostvarivanja na koji ovo otkrivanje može da se primenjuje i dijagram koji ilustruje mehanizam signalizacije informacija o podeli particija kvadratnog stabla sa ugnježdenim stablom sa više tipova.
[0037] FIG.5 predstavlja način ostvarivanja na koji ovo otkrivanje može da se primenjuje i dijagram koji ilustruje postupak podele CTU na više CU na osnovu strukture kvadratnog stabla i ugnježdenog stabla sa više tipova.
[0038] FIG.6 predstavlja način ostvarivanja na koji ovo otkrivanje može da se primenjuje i dijagram koji ilustruje postupak ograničavanja deljenja ternarnog stabla.
[0039] FIG.7 predstavlja način ostvarivanja na koji ovo otkrivanje može da se primenjuje i dijagram koji ilustruje modele redundantne raspodele koji mogu nastati u raspodeli binarnog stabla i ternarnog stabla.
[0040] FIG.8 i 9 su, redom, dijagrami koji ilustruju postupak kodiranja video zapisa na osnovu inter predikcije prema jednom načinu ostvarivanja ovog otkrivanja i inter predikcija jedinicu u uređaju za kodiranje prema jednom načinu ostvarivanja ovog otkrivanja.
[0041] FIG.10 i 11, redom predstavljaju, postupak dekodiranja slike/video zapisa na osnovu inter predikcije i inter prediktor unutar uređaja za dekodiranje prema jednom načinu ostvarivanja ovog otkrivanja.
[0042] FIG.12 predstavlja način ostvarivanja na koji se ovo otkrivanje primenjuje i prikaz za objašnjenje susednih blokova koji se koriste u režimu spajanja ili režimu preskakanja.
[0043] FIG.13 je dijagram toka koji ilustruje postupak konfigurisanja liste kandidata za spajanje prema jednom načinu ostvarivanja na koji se ovo otkrivanje primenjuje.
[0044] FIG.14 je dijagram toka koji ilustruje postupak konstruisanja liste kandidata za spajanje prema jednom načinu ostvarivanja na koji se ovo otkrivanje primenjuje.
[0045] FIG.15 ilustruje primer modela pokreta prema jednom načinu ostvarivanja ovog otkrivanja. FIG.16 ilustruje primer kontrolne tačke vektora pokreta za predikciju afinog pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0046] FIG.17 ilustruje primer vektora pokreta za svaki podblok bloka na koji je primenjena predikcija afinog pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0047] FIG.18 ilustruje primer susednih blokova korišćenih za predikciju afinog pokreta u afinom režimu spajanja prema jednom načinu ostvarivanja ovog otkrivanja.
[0048] FIG.19 ilustruje primer bloka na kojem se izvršava predikcija afinog pokreta korišćenjem susednih blokova na koje je primenjena predikcija afinog pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0049] FIG.20 je dijagram za opis postupka generisanja liste kandidata za spajanje korišćenjem susednog afinog kodirajućeg bloka prema jednom načinu ostvarivanja ovog otkrivanja.
[0050] FIG.21 i 22 su dijagrami za opis postupka konstruisanja liste afinih kandidata za spajanje korišćenjem susednog bloka kodiranog afinom predikcijom prema jednom načinu ostvarivanja ovog otkrivanja.
[0051] FIG.23 ilustruje primer susednih blokova korišćenih za predikciju afinog pokreta u afinom inter režimu prema jednom načinu ostvarivanja ovog otkrivanja.
[0052] FIG.24 ilustruje primer susednih blokova koji se koriste za predikciju afinog pokreta u afinom inter režimu prema jednom načinu ostvarivanja ovog otkrivanja.
[0053] FIG.25 i 26 predstavljaju dijagrame koji ilustruju postupak izvođenja kandidata vektora pokreta korišćenjem informacija o pokretu susednog bloka u afinom inter režimu prema jednom načinu ostvarivanja ovog otkrivanja.
[0054] FIG.27 ilustruje primer polja vektora afinog pokreta podbloka jedinica prema jednom načinu ostvarivanja ovog otkrivanja.
[0055] FIG.28 primera radi prikazuje postupak i vektor pokreta u kojem se predikcioni blok generiše u inter predikciji na koju je primenjen afini model pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0056] FIG.29 predstavlja dijagram koji ilustruje postupak izvođenja kompenzacija pokreta na osnovu vektora pokreta kontrolnih tačaka prema jednom načinu ostvarivanja ovog otkrivanja.
[0057] FIG.30 predstavlja dijagram koji ilustruje postupak izvođenja kompenzacija pokreta na osnovu vektora pokreta kontrolnih tačaka u nekvadratnom bloku prema jednom načinu ostvarivanja ovog otkrivanja.
[0058] FIG.31 predstavlja dijagram koji ilustruje postupak izvođenja kompenzacija pokreta na osnovu vektora pokreta kontrolnih tačaka u nekvadratnom bloku prema jednom načinu ostvarivanja ovog otkrivanja.
[0059] FIG.32 to 38 predstavljaju dijagrame koji ilustruje postupak izvođenja kompenzacija pokreta na osnovu vektora pokreta kontrolnih tačaka u nekvadratnom bloku prema jednom načinu ostvarivanja ovog otkrivanja.
[0060] FIG.39 predstavlja dijagram toka za opisivanje postupka čuvanja HMVP prema jednom načinu ostvarivanja ovog otkrivanja.
[0061] FIG.40 predstavlja dijagram za opisivanje HMVP tabele koja radi u nekontrolisanom FIFO režimu prema jednom načinu ostvarivanja ovog otkrivanja.
[0062] FIG.41 predstavlja dijagram za opisivanje HMVP tabele koja radi u ograničenom FIFO režimu prema jednom načinu ostvarivanja ovog otkrivanja.
[0063] FIG.42 predstavlja dijagram koji ilustruje HMVP LUT i dugoročnu HMVP LUT prema jednom načinu ostvarivanja ovog otkrivanja.
[0064] FIG.43 predstavlja dijagram koji ilustruje primer postupka ažuriranja HMVP LUT prema jednom načinu ostvarivanja ovog otkrivanja.
[0065] FIG.44 predstavlja dijagram koji ilustruje postupak ograničavanja broja HMVP kandidata, odnosno cilja provere orezivanja, prema jednom načinu ostvarivanja ovog otkrivanja.
[0066] FIG.45 predstavlja dijagram toka koji ilustruje primer postupka izvođenja provere orezivanja prema jednom načinu ostvarivanja ovog otkrivanja.
[0067] FIG.46 predstavlja dijagram za opisivanje postupka izvođenja H-STMVP kandidata korišćenjem vektora pokreta koji se odnose na različite referentne slike prema jednom načinu ostvarivanja ovog otkrivanja.
[0068] FIG.47 predstavlja dijagram koji ilustruje lokaciju bloka za izvođenje nasleđenog afinog HMVP kandidata prema jednom načinu ostvarivanja ovog otkrivanja.
[0069] FIG.48 predstavlja dijagram koji ilustruje afinu listu za spajanje ili afinu AMVP listu prema jednom načinu ostvarivanja ovog otkrivanja.
[0070] FIG.49 predstavlja dijagram toka koji ilustruje postupak obrade video signala na osnovu inter predikcije prema jednom načinu ostvarivanja na koji se ovo otkrivanje primenjuje.
[0071] FIG.50 prikazuje primer blok dijagrama uređaja za obradu video signala prema jednom načinu ostvarivanja ovog otkrivanja.
[0072] FIG.51 ilustruje video kodirajući sistem na koji se ovo otkrivanje primenjuje.
[0073] FIG.52 prikazuje strukturni dijagram sistema za strimovanje sadržaja.
[0074] FIG.53 predstavlja dijagram koji šematski prikazuje primer servisnog sistema uključujući digitalni uređaj.
[0075] FIG.54 predstavlja blok dijagram koji ilustruje digitalni uređaj prema jednom načinu ostvarivanja.
[0076] FIG.55 je konfiguracioni blok dijagram koji ilustruje drugi način ostvarivanja digitalnog uređaja. FIG.56 predstavlja blok dijagram koji ilustruje digitalni uređaj prema drugom načinu ostvarivanja.
[0077] FIG.57 predstavlja blok dijagram koji ilustruje detaljnu konfiguraciju kontrolne jedinice sa FIG.
[0078] 54 do 56.
[0079] FIG.58 predstavlja dijagram koji ilustruje primer u kojem ekran digitalnog uređaja istovremeno prikazuje glavnu sliku i pomoćnu sliku, prema jednom načinu ostvarivanja.
[0081] [Režim za ovaj pronalazak]
[0082] [0013] U nastavku, poželjni načini ostvarivanja ovog otkrivanja biće opisani pozivanjem na prateće crteže. Ovaj opis, koji će biti predstavljen u nastavku uz prateće crteže, služi da opiše primerne načine ostvarivanja ovog otkrivanja i nije namenjen da opiše jedini način ostvarivanja u kojem se ovo otkrivanje može primeniti. Opis u nastavku uključuje posebne detalje kako bi se omogućilo potpuno razumevanje ovog otkrivanja. Međutim, razume se da ovo otkrivanje može
biti realizovano i bez tih posebnih detalja od strane stručnjaka iz ove oblasti. U nekim slučajevima, kako bi se tehnički koncept ovog otkrivanja jasno prikazao, strukture ili uređaji koji su javno poznati mogu biti izostavljeni, ili prikazani kao blok dijagram fokusiran na osnovne funkcije struktura ili uređaja.
[0083] U nekim slučajevima, kako bi idejno rešenje ovog otkrivanja bilo jasno prikazao, strukture ili uređaji koji su javno poznati mogu biti izostavljeni, ili prikazani kao blok dijagram fokusiran na osnovne funkcije struktura ili uređaja.
[0084] Dalje, iako su opšti izrazi koji se široko koriste trenutno izabrani kao izrazi u ovom otkrivanju koliko je moguće, termin koji je podnosilac proizvoljno izabrao da se koristi u konkretnom slučaju. Pošto će značenje termina biti jasno opisano u odgovarajućem delu opisa u takvom slučaju, jasno je da otkrivanje neće biti tumačeno samo na osnovu izraza korišćenih u ovom opisu, već da značenje termina treba biti utvrđeno iz konteksta.
[0085] Specifične terminologije korišćene u opisu u nastavku mogu biti objašnjene kako bi se olakšalo razumevanje ovog otkrivanja. Na primer, signal, podaci, uzorak, slika, isečak, pločica, okvir, blok itd., mogu biti pravilno zamenjeni i mogu se tumačiti u svakom postupku kodiranja.
[0086] Ovaj dokument se odnosi na video/video kodiranje. Na primer, postupci/načini ostvarivanja opisani u ovom dokumentu mogu se primeniti na postupke opisane u standardu za svestrano video kodiranje (VVC) ili standardu za kodiranje video/slika naredne generacije.
[0087] U ovom dokumentu, slika generalno označava jedinicu koja predstavlja jednu sliku u određenom vremenskom periodu, a isečak/pločica je jedinica koja čini deo slike u kodiranju. Isečak/pločica može da uključuje jednu ili više jedinica stabla kodiranja (CTU). Jedna slika može biti sastavljena od više isečaka/pločica.
[0088] Piksel ili pel može označavati najmanju jedinicu koja čini jednu sliku (ili sliku). Pojam „uzorak“ može se koristiti kao pojam koji odgovara pikselu. Uzorak generalno može predstavljati piksel ili vrednost piksela, može predstavljati samo piksel/vrednost piksela luminoznih komponenti, ili može predstavljati samo piksel/vrednost piksela hromatskih komponenti.
[0089] Jedinica može predstavljati osnovnu jedinicu obrade slike. Jedinica može da uključuje najmanje jedan specifični region slike i informacije povezane sa tim regionom. Jedinica se u nekim slučajevima može koristiti naizmenično sa pojmovima kao što su blok ili oblast. U opštem slučaju, MxN blok može predstavljati grupu (ili niz) uzoraka ili transformacionih koeficijenata sastavljenih od M kolona i N redova.
[0090] [0021] U ovom dokumentu, "/" i "," se tumače kao "i/ili". Na primer, "A/B" se tumači kao "A i/ili
B", a "A, B" se tumači kao "A i/ili B". Dodatno, "A/B/C" znači "najmanje jedan od A, B i/ili C". Takođe, "A, B i C" znači "najmanje jedan od A, B i/ili C".
[0091] Dodatno, izraz "ili" u ovom dokumentu treba tumačiti kao "i/ili". Na primer, "A ili B" može da označava 1) samo A, 2) samo B, ili 3) A i B. Drugim rečima, izraz "ili" u ovom dokumentu može da označava "dodatno ili alternativno".
[0092] U nastavku, u ovoj specifikaciji, "jedinica obrade" znači jedinicu u kojoj se izvodi proces kodiranja/dekodiranja, kao što su predikcija, transformacija i/ili kvantizacija. Za praktičnost opisa, jedinica obrade može biti označena kao "blok obrade" ili "blok".
[0093] Jedinica obrade može se tumačiti tako da uključuje jedinicu za luminu komponentu i jedinicu za hromatsku komponentu. Na primer, jedinica obrade može odgovarati jedinici kodirajućeg stabla (CTU), kodirajućoj jedinici (CU), predikcionoj jedinici (PU) ili transformacionoj jedinici (TU).
[0094] Dodatno, jedinica obrade može se tumačiti kao jedinica za luminu komponentu ili jedinica za hromatsku komponentu. Na primer, jedinica obrade može odgovarati bloku kodirajućeg stabla (CTB), kodirajući bloku (CB), predikcionom bloku (PB) ili transformacionom bloku (TB) za luminu komponentu. Alternativno, jedinica obrade može odgovarati bloku kodirajućeg stabla (CTB), kodirajućem bloku (CB), predikcionom bloku (PB) ili transformacionom bloku (TB) za hromatsku komponentu. Dodatno, otkrivanje nije ograničeno na ovo, i jedinica obrade može se tumačiti kao jedinica koja uključuje i jedinicu za luma komponentu i jedinicu za hromatsku komponentu.
[0095] Dodatno, jedinica obrade nije nužno ograničena na kvadratni blok i može biti konstruisana u obliku poligona sa tri ili više temena.
[0096] Dodatno, u nastavku, u ovoj specifikaciji, piksel i slične jedinice se generalno nazivaju uzorci. Takođe, korišćenje uzorka može označavati korišćenje vrednosti piksela.
[0097] FIG.1 ilustruje primer funkcionalne konfiguracije kodera na primer uređaja za obradu video signala prema jednom načinu ostvarivanja ovog otkrivanja.
[0098] [0029] Pozivanjem na FIG.1, uređaj 100 za kodiranje može biti konfigurisan da uključuje razdelnik 110 slike, oduzimač 115, transformator 120, kvantizator 130, dekvantizator 140, inverzni transformator 150, sabirač 155, filter 160, memoriju 170, inter prediktor 180, intra prediktor 185 i entropijski koder 190. Inter prediktor 180 i intra prediktor 185 se zajednički mogu nazivati prediktorom. Drugim rečima, prediktor može uključivati inter prediktor 180 i intra prediktor 185. Transformator 120, kvantizator 130, dekvantizator 140 i inverzni transformator 150 mogu biti uključeni u preostali procesor, koji takođe može uključivati oduzimač 115. U
jednom načinu ostvarivanja, razdelnik 110 slike, oduzimač 115, transformator 120, kvantizator 130, dekvantizator 140, inverzni transformator 150, sabirač 155, filter 160, inter prediktor 180, intra prediktor 185 i entropijski koder 190 mogu biti konfigurisan kao jedna hardverska komponenta (npr. koder ili procesor). Dodatno, memorija 170 može uključivati bafer dekodiranih slika (DPB) i može biti konfigurisan sa digitalnim medijumom za čuvanje.
[0099] Razdelnik 110 slike može podeliti ulaznu sliku (ili okvir/sliku) koja se unosi u uređaj 100 za kodiranje na jednu ili više jedinica obrade. Na primer, jedinica obrade može biti nazvana kodirajuća jedinica (CU). U ovom slučaju, kodirajuća jedinica može biti rekurzivno podeljena iz jedinice kodirajućeg stabla (CTU) ili najveće kodirajuće jedinice (LCU) na osnovu kvadratnog stabla (QTBT) i/ili strukture binarnog stabla. Na primer, jedna kodirajuća jedinica može biti podeljena na više kodirajućih jedinica dublje dubine na osnovu kvadratnog stabla i/ili binarnog stabla. U ovom slučaju, kvadratno stablo može biti primenjeno prvo, a binarno stablo potom. Alternativno, binarno stablo može biti primenjeno prvo. Kodirajući postupak prema ovom otkrivanju može biti izveden na osnovu finalne kodirajuće jedinice koja se više ne deli. U ovom slučaju, najveća kodirajuća jedinica može se direktno koristiti kao finalna kodirajuća jedinica na osnovu efikasnosti kodiranja prema karakteristikama slike, ili kodirajuća jedinica može biti rekurzivno podeljena u kodirajuće jedinice dublje dubine, ako je potrebno. Shodno tome, kodirajuća jedinica optimalne veličine može se koristiti kao finalna kodirajuća jedinica. U ovom slučaju, kodirajući postupak može uključivati postupke, kao što su predikcija, transformacija ili rekonstrukcija, koji će biti opisani u nastavku. Kao drugi primer, jedinica obrade može dalje uključivati predikcionu jedinicu (PU) ili transformacionu jedinicu (TU). U ovom slučaju, svaka predikciona jedinica i transformaciona jedinica može biti podeljena ili particionisana iz svake finalne kodirajuće jedinice. Predikciona jedinica može biti jedinica za predikciju uzoraka, a transformaciona jedinica može biti jedinica iz koje se izvode transformacioni koeficijenti i/ili jedinica u kojoj se preostali signal izvodi iz transformacionog koeficijenta.
[0100] Jedinica se može koristiti naizmenično sa pojmovima blok ili oblast, u zavisnosti od okolnosti. U uobičajenom slučaju, MxN blok može označavati skup uzoraka sastavljenih od M kolona i N redova ili skup transformacionih koeficijenata. Generalno, uzorak može označavati piksel ili vrednost piksela, a može označavati samo piksel/vrednost piksela luma komponente ili samo piksel/vrednost piksela hroma komponente. Pojam uzorka može se koristiti tako da jedna slika (ili SLIKA) odgovara pikselu ili pelu.
[0101] [0032] Uređaj 100 za kodiranje može generisati preostali signal (preostali blok ili niz preostalih uzoraka) oduzimanjem predikcionog signala (predikcioni blok ili niz predikcionih uzoraka), koji je
izveo inter prediktor 180 ili intra prediktor 185, od ulaznog signala slike (originalni blok ili originalni niz uzoraka). Generisani preostali signal se prosleđuje transformatoru 120. U ovom slučaju, kao što je ilustrovano, jedinica u kojoj se predikcioni signal (predikcioni blok ili niz predikcionih uzoraka) oduzima od ulaznog signala slike (originalni blok ili originalni niz uzoraka) unutar kodera može se nazvati oduzimač 115. Prediktor može izvršiti predikciju na obradi ciljnog bloka (u nastavku nazvan trenutni blok) i može generisati predikcioni blok koji uključuje predikcione uzorke za trenutni blok. Prediktor može odrediti da li se u trenutnom bloku ili CU jedinici primenjuje intra predikcija ili inter predikcija. Prediktor može generisati različite informacije o predikciji, kao što su informacije o režimu predikcije, koje će biti opisane u nastavku u opisu svakog režima predikcije, i može proslediti te informacije entropijskom koderu 190. Informacije o predikciji mogu biti kodirane u entropijskom koderu 190 i mogu biti izlazne u obliku protoka bitova.
[0102] Intra prediktor 185 može predvideti trenutni blok sa referencom na uzorke unutar tekuće slike. Referisani uzorci mogu biti pozicionirani u susedstvu trenutnog bloka ili mogu biti odmaknuti od trenutnog bloka, u zavisnosti od režima predikcije. U intra predikciji, režimi predikcije mogu uključivati više neugaonih režima i više ugaonih režima. Neugaoni režimi mogu uključivati, na primer, DC režim i planarni režim. Ugaoni režimi mogu uključivati, na primer, 33 angularna režima predikcije ili 65 ugaonih režima predikcije, u zavisnosti od preciznosti pravca predikcije. U ovom slučaju, ugaoni režimi predikcije koji su više ili manje od 33 ili 65 režima mogu se koristiti u zavisnosti od konfiguracije, na primer. Intra prediktor 185 može odrediti režim predikcije koji se primenjuje na trenutni blok koristeći režim predikcije primenjen na susedni blok.
[0103] [0034] Inter prediktor 180 može izvesti predikcioni blok za trenutni blok na osnovu referentnog bloka (niza referentnih uzoraka) određenog vektorom pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacija o pokretu koje se prenose u inter režimu predikcije, informacije o pokretu mogu se predvideti kao blok, podblok ili jedinica uzorka, na osnovu korelacije informacija o pokretu između susednog bloka i trenutnog bloka. Informacije o pokretu mogu uključivati vektor pokreta i indeks referentne slike. Informacije o pokretu mogu dodatno uključivati podatke o inter predikciji, kao što su L0 predikcija, L1 predikcija ili Bi predikcija. U slučaju inter predikcije, susedni blokovi mogu uključivati prostorni susedni blok unutar tekuće slike i vremenski susedni blok unutar referentne slike. Referentna slika koja uključuje referentni blok i referentna slika koja uključuje vremenski susedni blok mogu biti iste ili različite. Vremenski susedni blok može biti označen kao tzv. kolocirani referentni blok ili
kolocirana CU (colCU). Referentna slika koja uključuje vremenski susedni blok može biti označena kao kolocirana slika (colPic). Na primer, inter prediktor 180 može konstruisati listu kandidata informacija o pokretu na osnovu susednih blokova i može generisati informacije koje označavaju koji kandidat se koristi za izvođenje vektora pokreta i/ili indeksa referentne slike trenutnog bloka. Inter predikcija može biti izvedena na osnovu različitih režima predikcije. Na primer, u slučaju režima preskakanja i režima spajanja, inter prediktor 180 može koristiti informacije o pokretu susednog bloka kao informacije o pokretu trenutnog bloka. U slučaju režima preskakanja, za razliku od režima spajanja, preostali signal možda neće biti prenesen. U slučaju predikcije vektora pokreta (MVP) moda, vektor pokreta susednog bloka može se koristiti kao vektor pokreta prediktor. Vektor pokreta trenutnog bloka može biti označen signalizacijom razlike vektora pokreta.
[0104] Predikcioni signal generisan putem inter prediktora 180 ili intra prediktora 185 može da se koristi za generisanje rekonstruisanog signala ili preostalog signala.
[0105] Transformator 120 može da generiše transformacione koeficijente primenom transformacione šeme na preostali signal. Na primer, transformaciona šema može da obuhvati najmanje jednu od sledećih: diskretnu kosinusnu transformaciju (DCT), diskretnu sinusnu transformaciju (DST), Karhunen–Loève transformaciju (KLT), transformaciju zasnovanu na grafkonu (GBT) ili uslovno nelinearnu transformaciju (CNT). U tom slučaju, GBT označava transformaciju dobijenu iz grafa kada se informacija o odnosima između piksela predstavlja kao grafikon. CNT označava transformaciju dobijenu na osnovu predikcionog signala generisanog korišćenjem svih prethodno rekonstruisanih piksela. Dodatno, transformacioni postupak može da se primeni na blokove piksela koji imaju istu veličinu kvadratnog oblika ili na blokove promenljive veličine koji nisu kvadratnog oblika.
[0106] Kvantizator 130 može da kvantizuje transformacione koeficijente i da ih prosledi entropijskom koderu 190. Entropijski koder 190 može da kodira kvantizovani signal (informacije o kvantizovanim transformacionim koeficijentima) i da ga izvede u obliku protoka bitova.
[0107] Informacije o kvantizovanim transformacionim koeficijentima mogu da se nazivaju preostale informacije. Kvantizator 130 može da preraspoređuje kvantizovane transformacione koeficijente blokovskog oblika u jednodimenzionalni vektorski oblik na osnovu sekvence skeniranja koeficijenata i može da generiše informacije o kvantizovanim transformacionim koeficijentima na osnovu kvantizovanih transformacionih koeficijenata u jednodimenzionalnom vektorskom obliku. Entropijski koder 190 može da izvodi različite postupke kodiranja, kao što su eksponencijalno Golomb kodiranje, kontekst-adaptivno kodiranje promenljive dužine (CAVLC) i
kontekst-adaptivno binarno aritmetičko kodiranje (CABAC). Entropijski koder 190 može da kodira informacije (npr. vrednosti sintaksnih elemenata) neophodne za rekonstrukciju videa/slike, uz kvantizovane transformacione koeficijente, zajedno ili odvojeno. Kodirane informacije (npr. kodirane informacije o video zapisu/slici) mogu da budu prenete ili sačuvane u jedinici sloja apstrakcije mreže (NAL jedinica) u obliku protoka bitova. Protok bitova može da se prenosi preko mreže ili da se čuva na digitalnom medijumu za čuvanje. U tom slučaju, mreža može da obuhvata emitujuću mrežu i/ili komunikacionu mrežu. Digitalni medijum za čuvanje može da obuhvati različite medijume za čuvanje, kao što su USB, SD, CD, DVD, blu-rej, HDD i SSD. Predajnik (nije prikazan) koji prenosi signal koji izlazi iz entropijskog kodera 190 i/ili memorija (nije prikazana) za čuvanje tog signala može biti konfigurisana kao interni/eksterni element uređaja za kodiranje 100, ili predajnik može biti element entropijskog kodera 190.
[0108] Kvantizovani transformacioni koeficijenti koje izlazno generiše kvantizator 130 mogu da se koriste za generisanje predikcionog signala. Na primer, preostali signal može da bude rekonstruisan primenom dekvantizacije i inverzne transformacije na kvantizovane transformacione koeficijente putem dekvantizatora 140 i inverznog transformatora 150 unutar petlje. Sabirač 155 može da doda rekonstruisani preostali signal na predikcioni signal koji izlazi iz inter prediktora 180 ili intra prediktora 185, tako da se može generisati rekonstruisani signal (rekonstruisana slika, rekonstruisani blok ili rekonstruisani niz uzoraka). Predviđeni blok može da se koristi kao rekonstruisani blok ako ne postoji preostali signal za obradu ciljnog bloka, kao u slučaju kada je primenjen režim preskakanja. Sabirač 155 može da se nazove rekonstruktor ili generator rekonstruisanog bloka. Generisani rekonstruisani signal može da se koristi za intra predikciju sledećeg ciljnog bloka za obradu u okviru trenutne slike, i može da se koristi za inter predikciju sledeće slike kroz filtriranje, kako će biti opisano u nastavku.
[0109] Filter 160 može da poboljša subjektivni/objektivni kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 160 može da generiše modifikovanu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku. Modifikovana rekonstruisana slika može da se čuva u memoriji 170, konkretno u DPB delu memorije 170. Različiti postupci filtriranja mogu da obuhvate, na primer, filtriranje deblokiranjem, adaptivni pomeraj uzorka, adaptivni filter u petlji i bilateralni filter. Filter 160 može da generiše različite informacije za filtriranje, koje će biti opisane u nastavku u okviru opisa svakog postupka filtriranja, i može da ih prosledi entropijskom koderu 190. Informacije o filtriranju mogu da budu kodirane entropijskim koderom 190 i izvedene u obliku protoka bitova.
[0110] [0040] Modifikovana rekonstruisana slika koja je preneta u memoriju 170 može da se koristi kao
referentna slika u inter prediktoru 180. Uređaj za kodiranje može da izbegne neusaglašenost predikcije između uređaja 100 za kodiranje i uređaja za dekodiranje i da poboljša efikasnost kodiranja ako se primeni inter predikcija.
[0111] DPB memorije 170 može da čuva modifikovanu rekonstruisanu sliku kako bi se ona koristila kao referentna slika u inter prediktoru 180. Memorija 170 može da čuva informacije o pokretu bloka iz kog su izvedene (ili kodirane) informacije o pokretu unutar trenutne slike i/ili informacije o pokretu blokova unutar već rekonstruisane slike. Sačuvane informacije o pokretu mogu da budu prenete do inter prediktora 180 kako bi se koristile kao informacije o pokretu prostorno susednog bloka ili vremenski susednog bloka. Memorija 170 može da čuva rekonstruisane uzorke rekonstruisanih blokova unutar trenutne slike i može da ih prosledi intra prediktoru 185.
[0112] FIG.2 predstavlja način ostvarivanja na koji se ovo otkrivanje primenjuje i šematski blok dijagram uređaja za dekodiranje u kome se izvodi dekodiranje signala video zapisa/slike.
[0113] Pozivajući se na FIG.2, uređaj 200 za dekodiranje može biti konfigurisan da obuhvata entropijski dekoder 210, dekvantizator 220, inverzni transformator 230, sabirač 235, filter 240, memoriju 250, inter prediktor 261 i intra prediktor 262. Inter prediktor 261 i intra prediktor 262 mogu se kolektivno nazivati prediktor 260. To znači da prediktor može da uključuje inter prediktor 180 i intra prediktor 185. Dekvantizator 220 i inverzni transformator 230 mogu se kolektivno nazivati preostali procesor. To znači da preostali procesor može da uključuje dekvantizator 220 i inverzni transformator 230. Entropijski dekoder 210, dekvantizator 220, inverzni transformator 230, sabirač 235, filter 240, inter prediktor 261 i intra prediktor 262 mogu biti konfigurisan kao jedan hardverski element (npr. dekoder ili procesor) prema jednom načinu ostvarivanja. Dodatno, memorija 170 može da uključuje bafer dekodiranih slika (DPB) i može biti konfigurisan sa digitalnim medijumom za čuvanje.
[0114] Kada se protok bitova koji uključuje video/slikovne informacije unese, uređaj 200 za dekodiranje može da rekonstruiše sliku u skladu sa postupkom obrade video/slikovnih informacija u uređaju za kodiranje prikazanom na FIG.2. Na primer, uređaj 200 za dekodiranje može da izvodi dekodiranje koristeći jedinicu obrade primenjenu u uređaju za kodiranje. Shodno tome, jedinica obrade za dekodiranje može biti kodirajuća jedinica, na primer. Kodirajuća jedinica može biti podeljena sa kodirajućeg stabla jedinica ili najveće kodirajuće jedinice, u zavisnosti od strukture kvadratnog stabla i/ili binarnog stabla. Dodatno, rekonstruisani signal slike, dekodiran i izlazno generisan kroz uređaj 200 za dekodiranje, može biti reprodukovan putem uređaja za reprodukciju.
[0115] Uređaj 200 za dekodiranje može da primi signal, izlazno generisan od strane uređaja za kodiranje sa FIG.1, u obliku protoka bitova. Primljeni signal može biti dekodiran putem entropijskog dekodera 210. Na primer, entropijski dekoder 210 može da izvede informacije (npr. video/slikovne informacije) za rekonstrukciju slike (ili slike) tako što parsira protok bitova.
[0116] Entropijski dekoder 210 može da dekodira informacije unutar protoka bitova na osnovu kodirajućeg postupka, kao što su eksponencijalno Golomb kodiranje, CAVLC ili CABAC, i može da izvede vrednost sintaksnog elementa za rekonstrukciju slike ili kvantizovane vrednosti transformacionih koeficijenata koje se odnose na preostali signal. Konkretno, u CABAC entropijskom dekodirajućem postupku, bin koji odgovara svakom sintaksnom elementu može biti primljen iz protoka bitova, kontekstni model može biti određen koristeći informacije ciljnog sintaksnog elementa za dekodiranje i informacije o susednom i ciljnom bloku ili informacije o simbolu/binu dekodiranom u prethodnoj fazi, verovatnoća pojavljivanja bina može biti predviđena na osnovu određenog kontekstni modela, i simbol koji odgovara vrednosti svakog sintaksnog elementa može biti generisan izvođenjem aritmetičkog dekodiranja nad binom. U ovom slučaju, u CABAC entropijskom postupku dekodiranja, nakon što je kontekstni model određen, kontekstni model može biti ažuriran korišćenjem informacija o simbolu/binu dekodiranom za kontekstni model sledećeg simbola/bina. Informacije o predikciji među informacijama dekodiranim u entropijskom dekoderu 210 mogu biti prosleđene prediktoru (inter prediktor 261 i intra prediktor 262). Parametarske informacije vezane za preostalu vrednost nad kojom je izvršeno entropijsko dekodiranje u entropijskom dekoderu 210, tj. kvantizovani transformacioni koeficijenti, mogu biti prosleđene dekvantizatoru 220. Dodatno, informacije o filtriranju među informacijama dekodiranim u entropijskom dekoderu 210 mogu biti prosleđene filteru 240. U međuvremenu, prijemnik (nije ilustrovano) koji prima signal izlazno generisan od uređaja za kodiranje može biti dodatno konfigurisan kao interni/eksterni element uređaja 200 za dekodiranje ili prijemnik može biti element entropijskog dekodera 210.
[0117] Dekvantizator 220 može da izvrši dekvantizaciju kvantizovanih transformacionih koeficijenata i da kao izlaz generiše transformacione koeficijente. Dekvantizator 220 može da preraspoređuje kvantizovane transformacione koeficijente u dvodimenzionalni blokovski oblik. U ovom slučaju, preraspoređivanje može biti izvedeno na osnovu sekvence skeniranja koeficijenata koja je primenjena u uređaju za kodiranje. Dekvantizator 220 može da izvrši dekvantizaciju kvantizovanih transformacionih koeficijenata koristeći parametar kvantizacije (npr. informacije o veličini faze kvantizacije) i da dobije transformacione koeficijente.
[0118] [0047] Inverzni transformator 230 može da generiše preostali signal (preostali blok ili preostali
niz uzoraka) primenom inverznih transformacija na transformacione koeficijente.
[0119] Prediktor može da izvrši predikciju nad trenutnim blokom i da generiše predviđeni blok koji uključuje predikcione uzorke za trenutni blok. Prediktor može da odredi da li će se na trenutni blok primeniti intra predikcija ili inter predikcija na osnovu informacija o predikciji koje izlaze iz entropijskog dekodera 210, i može da odredi detaljan intra/inter režim predikcije.
[0120] Intra prediktor 262 može da predvidi trenutni blok sa referencom na uzorke unutar trenutne slike. Referisani uzorci mogu biti smešteni u neposrednoj blizini trenutnog bloka ili mogu biti udaljeni od trenutnog bloka, u zavisnosti od režima predikcije. U intra predikciji, režimi predikcije mogu da obuhvataju veći broj neugaonih režima i veći broj ugaonih režima. Intra prediktor 262 može da odredi režim predikcije koji se primenjuje na trenutni blok koristeći režim predikcije primenjen na susedni blok.
[0121] Inter prediktor 261 može da generiše predviđeni blok za trenutni blok na osnovu referentnog bloka (referentni niz uzoraka) koji je određen vektorom pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacija o pokretu koje se prenose u inter režimu predikcije, informacije o pokretu mogu biti predviđene na nivou bloka, podbloka ili jedinice uzorka, na osnovu korelacije informacija o pokretu između susednog bloka i trenutnog bloka. Informacije o pokretu mogu da uključuju vektor pokreta i indeks referentne slike. Dodatno, informacije o pokretu mogu da obuhvataju i informacije o smeru inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija). U slučaju inter predikcije, susedni blokovi mogu da uključuju prostorno susedne blokove unutar trenutne slike i vremenski susedne blokove unutar referentne slike. Na primer, inter prediktor 261 može da konfiguriše listu kandidata za informacije o pokretu na osnovu susednih blokova i može da odredi vektor pokreta i/ili indeks referentne slike trenutnog bloka na osnovu primljenih informacija o kandidatu. Inter predikcija može biti izvedena na osnovu različitih režima predikcije. Informacije o predikciji mogu da uključuju informacije koje označavaju režim inter predikcije za trenutni blok.
[0122] Sabirač 235 može da generiše rekonstruisani signal (rekonstruisanu sliku, rekonstruisani blok ili rekonstruisani niz uzoraka) dodavanjem dobijenog preostalog signala na predikcioni signal (predikcioni blok ili niz predikcionih uzoraka) koji izlazi iz inter prediktora 261 ili intra prediktora 262. Predikcioni blok može da se koristi kao rekonstruisani blok ako ne postoji preostali signal za obradu ciljnog bloka, kao u slučaju kada je primenjen režim preskakanja.
[0123] [0052] Sabirač 235 može se nazivati rekonstruktorom ili generatorom rekonstruisanih blokova. Generisani rekonstruisani signal može se koristiti za intra predikciju sledećeg ciljnog bloka unutar trenutne slike, kao i za inter predikciju sledeće slike kroz filtriranje, što će biti detaljnije
opisano u nastavku.
[0124] Filter 240 može da poboljša subjektivni i objektivni kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 240 može da generiše modifikovanu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku i može da prenese modifikovanu rekonstruisanu sliku u memoriju 250, konkretno u DPB 250 memorije. Različiti postupci filtriranja mogu da obuhvate, na primer, filtriranje deblokiranjem, adaptivni pomeraj uzorka SAO, adaptivni filter u petlji ALF i bilateralni filter.
[0125] Rekonstruisana slika koja je preneta (modifikovana) u DPB memorije 250 može da se koristi kao referentna slika u inter prediktoru 261. Memorija 250 može da čuva informacije o pokretu bloka iz kog su izvedene (ili dekodirane) informacije o pokretu unutar trenutne slike i/ili informacije o pokretu blokova unutar već rekonstruisane slike. Sačuvane informacije o pokretu mogu da budu prenete do inter prediktora 261 kako bi se koristile kao informacije o pokretu prostorno susednog bloka ili informacije o pokretu vremenski susednog bloka. Memorija 250 može da čuva rekonstruisane uzor ke rekonstruisanih blokova unutar trenutne slike i može da ih prosledi intra prediktoru 262.
[0126] U otkrivanju, način ostvarivanja opisan za filter 160, inter prediktor 180 i intra prediktor 185 uređaja za kodiranje 100 može se primeniti na filter 240, inter prediktor 261 i intra prediktor 262 uređaja 200 za dekodiranje, tim redom, identično ili na odgovarajući način.
[0128] Particionisanje blokova
[0129] Postupak kodiranja video zapisa/slike prema ovom dokumentu može biti izveden na osnovu različitih detaljnih tehnologija. Svaka od ovih detaljnih tehnologija je šematski opisana na sledeći način. Oni koji su vešti u ovoj oblasti mogu lako razumeti da sledeće tehnologije mogu biti povezane sa pripadajućim postupcima, kao što su predikcija, obrada preostalog signala ((inverzna) transformacija, (de)kvantizacija), kodiranje sintaksnih elemenata, filtriranje i particionisanje/podela u postupku kodiranja/dekodiranja video zapisa/slike koji je već opisan i/ili će biti opisan u nastavku.
[0130] [0057] Postupak particionisanja bloka prema ovom dokumentu može biti izveden u razdelniku 110 slike uređaja za kodiranje. Informacije koje se odnose na particionisanje mogu biti obrađene (kodirane) u entropijskom koderu 190 i prenete do uređaja za dekodiranje u obliku protoka bitova. Entropijski dekoder 210 uređaja za dekodiranje može da rekonstruiše strukturu particionisanja bloka trenutne slike na osnovu informacija o particionisanju dobijenih iz protoka
bitova, i može da izvrši niz postupaka (npr. predikciju, obradu preostalog signala, rekonstrukciju bloka i filtriranje unutar petlje) na osnovu te strukture particionisanja bloka.
[0132] Particionisanje slike na CTU
[0133] Slike mogu biti particionisane u sekvencu jedinica stabla kodiranja (CTU). Jedna CTU može odgovarati jednom bloku stabla kodiranja (CTB). Alternativno, CTU može da uključuje blok stabla kodiranja luma uzoraka i dva bloka stabla kodiranja odgovarajućih hroma uzoraka. Drugim rečima, u odnosu na sliku koja uključuje tri matrice uzoraka, CTU može da obuhvati NxN blok luma uzoraka i dva odgovarajuća bloka hroma uzoraka.
[0134] Maksimalna dozvoljena veličina CTU za kodiranje i predikciju može biti različita od maksimalne dozvoljene veličine CTU za transformaciju. Na primer, maksimalna dozvoljena veličina luma bloka unutar CTU može biti 128x128.
[0136] Particionisanje CTU pomoću strukture stabla
[0137] CTU mogu biti particionisane na osnovu strukture kvadratnog stabla (QT). Struktura kvadratnog stabla može se nazvati i kvadratnom strukturom stabla. Ovo je korisno za uključivanje različitih lokalnih karakteristika. U međuvremenu, u ovom dokumentu, CTU mogu biti particionisane na osnovu strukture stabla podela više tipova, uključujući binarno stablo (BT) i ternarno stablo (TT), pored kvadratnog stabla. Dalje, QTBT struktura može da uključuje kvadratno stablo i strukturu podela zasnovanu na binarnom stablu. QTBTTT može da uključuje kvadratno stablo, binarno stablo i strukturu podela zasnovanu na ternarnom stablu.
[0138] Alternativno, QTBT struktura može da uključuje kvadratno stablo, binarno stablo i strukturu podela zasnovanu na ternarnom stablu. U strukturi stabla kodiranja, CU može imati kvadratni ili pravougaoni oblik. CTU mogu biti particionisane kao struktura kvadratnog stabla. Nakon toga, listovi kvadratnog stabla mogu biti dodatno particionisani pomoću strukture stabla više tipova.
[0139] FIG.3 predstavlja način ostvarivanja na koji se ovo otkrivanje primenjuje, i predstavlja izgled koji prikazuje primer višestruke strukture stabla.
[0140] [0062] U jednom načinu ostvarivanja ovog otkrivanja, višestruka struktura stabla može da uključuje četiri tipa podele, kao što je prikazano na FIG.3. Ta četiri tipa podele mogu da uključuju: vertikalnu binarnu podelu SPLIT_BT_VER, horizontalnu binarnu podelu SPLIT_BT_HOR, vertikalnu ternarnu podelu SPLIT_TT_VER i horizontalnu ternarnu podelu SPLIT_TT_HOR. Čvorovi lista višestruke strukture stabla mogu se nazvati CU. Takvi CU mogu biti korišćeni za postupak predikcije i transformacije. U ovom dokumentu, generalno, CU, PU ili TU
mogu imati istu veličinu bloka. U ovom slučaju, ako je maksimalna podržana dužina transformacije manja od širine ili visine komponente boje CU, CU i TU mogu imati različite veličine bloka.
[0141] FIG.4 predstavlja način ostvarivanja na koji se ovo otkrivanje može primeniti i prikazuje dijagram koji ilustruje mehanizam signalizacije informacija o particionisanju u strukturi kvadratnog stabla sa ugnježdenim višestrukim stablom.
[0142] U ovom slučaju, CTU se tretira kao koren kvadratnog stabla i prvo se particioniše kao struktura kvadratnog stabla. Svaki list kvadratnog stabla može biti dalje particionisan u višestruku strukturu stabla. U višestrukoj strukturi stabla, prvi indikator (npr. mtt_split_cu_flag) se signalizira da označi da li se odgovarajući čvor dodatno particioniše. Ako se odgovarajući čvor dodatno particioniše, drugi indikator (npr. mtt_split_cu_vertical_flag) može biti signaliziran da označi smer podele. Zatim, treći indikator (npr. mtt_split_cu_binary_flag) može biti signaliziran da označi da li je tip podele binarna podela ili ternarna podela. Na primer, režim višestruke podele stabla (MttSplitMode) za CU može se izvesti kao u tabeli 1, na osnovu indikatora mtt_split_cu_vertical_flag i mtt_split_cu_binary_flag.
[0143] [Tabela 1]
[0144] MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag
[0147]
[0150] FIG.5 predstavlja način ostvarivanja na koji se ovo otkrivanje može primeniti i prikazuje dijagram koji ilustruje postupak podele CTU na više CU jedinica na osnovu kvadratnog stabla i ugnježdene višestruke strukture stabla.
[0151] [0066] U ovom slučaju, podebljane ivice blokova označavaju particionisanje kvadratnog stabla, dok preostale ivice označavaju particionisanje višestrukog stabla. Podela kvadratnog stabla u kombinaciji sa višestrukim stablom može da obezbedi sadržinski prilagođenu strukturu stabla kodiranja. CU može odgovarati kodirajućem bloku (CB). Alternativno, CU može da uključuje kodirajući blok luma uzoraka i dva kodirajuća bloka odgovarajućih hroma uzoraka. Veličina CU može biti velika kao CTU ili mala kao 4×4 u luma jedinici uzorka. Na primer, u slučaju 4:2:0
formata boje (ili hroma formata), maksimalna veličina hroma CB može biti 64×64, a minimalna veličina hroma CB može biti 2×2.
[0152] U ovom dokumentu, na primer, maksimalna dozvoljena veličina luma TB može biti 64×64, a maksimalna dozvoljena veličina hroma TB može biti 32×32. Ako je širina ili visina CB-a, dobijena podelom zasnovanom na strukturi stabla, veća od maksimalne širine ili visine transformacije, odgovarajući CB može biti podeljen sve dok se ograničenje veličine TB u horizontalnom i vertikalnom smeru ne ispuni automatski (odnosno implicitno).
[0153] U međuvremenu, za šemu stabla kodiranja kvadratnog stabla sa višestrukim stablom, sledeći parametri mogu biti definisani i označeni kao SPS sintaksni elementi.
[0154] − CTU veličima: veličina čvora korena kvaternarnog stabla
[0155] − MinQTSize: minimalna dozvoljena veličina čvora lista kvadratnog stabla
[0156] − MaxBtSize: maksimalna dozvoljena veličina čvora korena binarnog stabla
[0157] − MaxTtSize: maksimalna dozvoljena veličina čvora korena stabla
[0158] − MaxMttDepth: maksimalna dozvoljena dubina hijerarhije podele višestrukog stabla iz lista kvadratnog stabla
[0159] − MinBtSize: minimalna dozvoljena veličina čvora lista binarnog stabla
[0160] − MinTtSize: minimalna dozvoljena veličina čvora lista ternarnog stabla
[0161] Na primer, u slučaju strukture stabla kodiranja kvadratnog stabla sa višestrukim stablom, veličina CTU može biti podešena na 128×128 luma uzoraka i 64×64 blokova dva odgovarajuća hroma uzorka (u 4:2:0 hroma formatu).U tom slučaju, MinOTSize može biti podešen na 16×16, MaxBtSize na 128×128, MaxTtSize na 64×64, MinBtSize i MinTtSize (za širinu i visinu) na 4×4, a MaxMttDepth može biti podešen na 4. Particionisanje kvadratnog stabla može se primeniti na CTU da bi se generisali čvorovi lista kvadratnog stabla. Čvor lista kvadratnog stabla može se nazvati QT čvor lista. Čvorovi lista kvadratnog stabla mogu imati veličinu od 16×16 (tj.
[0162] MinOTSize) do 128×128 (tj. veličina CTU). Ako je čvor lista kvadratnog stabla 128×128, on se ne može dodatno podeliti binarnim/ternarnim stablom. Razlog za to je što bi se podelom premašile vrednosti MaxBtSize i MaxTtSize (tj.64×64). U drugim slučajevima, čvor lista kvadratnog stabla može biti dodatno podeljen višestrukim stablom. Shodno tome, čvor lista kvadratnog stabla predstavlja korenski čvor višestrukog stabla i može imati vrednost dubine višestrukog stabla (mttDepth) jednaku 0. Ako dubina višestrukog stabla dostigne MaxMttDepth (npr.4), dodatne podele se više ne razmatraju. Ako je širina čvora višestrukog stabla jednaka MinBtSize i manja ili jednaka 2×MinTtSize, dodatna horizontalna podela se više ne razmatra. Ako je visina čvora višestrukog stabla jednaka MinBtSize i manja ili jednaka 2×MinTtSize, dodatna vertikalna podela
se više ne razmatra.
[0163] FIG.6 predstavlja način ostvarivanja na koji ovo otkrivanje može da se primenjuje, i predstavlja dijagram koji ilustruje postupak za ograničavanje particionisanja ternarnog stabla.
[0164] Pozivanjem na FIG.6, da bi se omogućio dizajn hardverskog dekodera zasnovan na 64×64 luma bloku i 32×32 hroma bloku, TT podela može biti ograničena u određenom slučaju. Na primer, ako je širina ili visina luma kodirajućeg bloka veća od unapred zadate vrednosti (npr.32 ili 64), TT podela može biti ograničena kao što je prikazano na FIG.6.
[0165] U ovom otkrivanju, šema stabla kodiranja može podržati da luma i hroma blok imaju odvojenu strukturu stabla po bloku. Što se tiče P i B isečaka, luma i hroma CTB unutar jedne CTU mogu biti ograničeni da imaju istu strukturu stabla kodiranja. Međutim, što se tiče I isečaka, luma i hroma blokovi mogu imati odvojene strukture stabla po bloku. Ako se primeni režim odvojene strukture stabla po bloku, luma CTB može biti podeljen na CU jedinice zasnovane na određenoj strukturi stabla kodiranja. Hroma CTB može biti podeljen na hroma CU jedinice zasnovane na drugačijoj strukturi stabla kodiranja. Ovo može značiti da CU unutar I isečka može biti konfigurisan sa kodirajućim blokom luma komponente ili kodirajućim blokovima dve hroma komponente, dok CU unutar P ili B isečka može biti konfigurisan sa blokovima svih triju kolor komponenti.
[0166] U prethodno pomenutom „particionisanju CTU korišćenjem strukture stabla“, opisana je struktura stabla kodiranja kvadratnog stabla sa višestrukim stablom, ali struktura u kojoj se CU deli nije ograničena na to. Na primer, BT struktura i TT struktura mogu se tumačiti kao koncept uključen u strukturu višestrukog stabla particionisanja (MPT), a CU se može tumačiti kao da je podeljen kroz QT strukturu i MPT strukturu. U jednom primeru u kojem je CU podeljen kroz QT strukturu i MPT strukturu, struktura particionisanja može biti određena signaliziranjem sintaksnog elementa (npr. MPT_split_type), koji uključuje informacije koje označavaju na koliko blokova je list QT strukture podeljen, i sintaksnog elementa (npr. MPT_split_mode), koji uključuje informacije koje označavaju u kojem pravcu (vertikalnom ili horizontalnom) je list QT strukture podeljen.
[0167] [0074] U drugom primeru, CU može biti podeljen korišćenjem postupka koji se razlikuje od onog kod QT strukture, BT strukture ili TT strukture. Odnosno, za razliku od slučaja kada se CU dublje dubine deli na 1/4 veličine CU manje dubine zasnovano na QT strukturi, ili kada se CU dublje dubine deli na 1/2 veličine CU manje dubine zasnovano na BT strukturi, ili kada se CU dublje dubine deli na 1/4 ili 1/2 veličine CU manje dubine zasnovano na TT strukturi, CU dublje dubine može biti podeljen na 1/5, 1/3, 3/8, 3/5, 2/3 ili 5/8 veličine CU manje dubine. Postupak podele
CU nije ograničen samo na ovo.
[0168] Ako deo bloka čvora stabla premašuje donju ili desnu granicu slike, odgovarajući blok čvora stabla može biti ograničen tako da svi uzorci svih kodiranih CU jedinica budu smešteni unutar granica slike. U ovom slučaju, na primer, sledeće pravilo podele može biti primenjeno. − Ako deo bloka čvora stabla premašuje i donju i desnu granicu slike,
[0169] − Ako je blok QT čvor i veličina bloka je veća od minimalne QT veličine, blok se primorava da se podeli koristeći QT režim podele.
[0170] − U suprotnom, blok se primorava da se podeli koristeći režim SPLIT_BT_HOR.
[0171] − Ako deo bloka čvora stabla premašuje donju granicu slike,
[0172] − Ako je blok QT čvor, veličina bloka je veća od minimalne QT veličine i veličina bloka je veća od maksimalne BT veličine, blok se primorava da se podeli koristeći QT režim podele.
[0173] − U suprotnom, ako je blok QT čvor, veličina bloka je veća od minimalne QT veličine i manja ili jednaka maksimalnoj BT veličini, blok se primorava da se podeli koristeći QT režim podele ili režim SPLIT_BT_HOR.
[0174] − U suprotnom (blok je BTT čvor ili veličina bloka je manja ili jednaka minimalnoj QT veličini), blok se primorava da se podeli koristeći režim SPLIT_BT_HOR.
[0175] − Ako deo bloka čvora stabla premašuje desnu granicu slike,
[0176] − Ako je blok QT čvor, veličina bloka je veća od minimalne QT veličine i veća od maksimalne BT veličine, blok se primorava da se podeli koristeći QT režim podele.
[0177] − U suprotnom, ako je blok QT čvor, veličina bloka je veća od minimalne QT veličine i manja ili jednaka maksimalnoj BT veličini, blok se primorava da se podeli koristeći QT režim podele ili režim SPLIT_BT_VER.
[0178] − U suprotnom (blok je BTT čvor ili veličina bloka je manja ili jednaka minimalnoj QT veličini), blok se primorava da se podeli koristeći režim SPLIT_BT_VER.
[0179] U međuvremenu, prethodno opisana struktura kodirajućih blokova kvadratnog stabla sa višestrukim stablom može da obezbedi veoma fleksibilnu strukturu particionisanja blokova. Zbog tipova podela koje podržava višestruko stablo, isti rezultat strukture kodirajućeg bloka može se potencijalno dobiti u zavisnosti od različitih obrazaca podela. Količina podataka o informacijama o particionisanju može se smanjiti ograničavanjem pojave takvih modela redundantne raspodele. Ovo je opisano pozivanjem na FIG.7.
[0180] FIG.7 predstavlja način ostvarivanja na koji se ovo otkrivanje može primeniti i prikazuje dijagram koji ilustruje modele redundantne raspodele koji se mogu pojaviti u podeli binarnog stabla i ternarnog stabla.
[0181] Kao što je prikazano na FIG.7, dva uzasgornjina binarna podele u jednom pravcu imaju istu strukturu kodirajućeg bloka kao binarna podela za centralnu particiju nakon tercijarne podele. U takvom slučaju, raspodela binarnog stabla (u datom pravcu) za centralnu particiju tercijarne podele može biti ograničena. Takvo ograničenje može se primeniti na CU jedinice svih slika. Ako je takva specifična podela ograničena, signalizacija odgovarajućih sintaksnih elemenata može biti modifikovana uključivanjem ovog ograničenog slučaja. Shodno tome, broj bitova signaliziranih za particionisanje može biti smanjen. Na primer, kao u primeru prikazanom na FIG.7, ako je raspodela binarnog stabla za centralnu particiju CU ograničena, sintaksni element mtt_split_cu_binary_flag, koji označava da li je podela binarna ili tercijarna, se ne signalizira, a odgovarajuća vrednost može biti zaključena kao 0 od strane dekodera.
[0183] Predikcija
[0184] Da bi se rekonstruisala trenutna jedinica obrade u kojoj se vrši dekodiranje, dekodirani deo trenutne slike ili drugih slika koje uključuju trenutnu jedinicu obrade može biti korišćen.
[0185] Slika (isečak) koja koristi samo trenutnu sliku za rekonstrukciju, tj. vrši samo intrapredikciju, može biti označena kao intra slika ili I slika (isečak). Slika (isečak) koja koristi najmanje jedan vektor pokreta i referentni indeks za predikciju odgovarajućih jedinica može biti označena kao predikciona slika ili P slika (isečak). Slika (isečak) koja koristi do dva vektora pokreta i dva referentna indeksa može biti označena kao bi-predikciona slika ili B slika (isečak).
[0186] Intra-predikcija se odnosi na postupak predikcije koji izvodi predikciju trenutnog bloka obrade koristeći podatke (npr. vrednosti uzoraka itd.) iz dekodirane iste slike (ili isečka). To znači postupak predviđanja vrednosti piksela trenutnog bloka obrade pozivanjem na rekonstruisane regione u trenutnoj slici.
[0187] U nastavku, će inter predikcija biti detaljnije opisana.
[0189] Inter predikcija (predikcija između slika)
[0190] Inter predikcija se odnosi na postupak predikcije koji izvodi predikciju trenutnog bloka obrade na osnovu podataka (npr. vrednosti uzoraka ili vektora pokreta) iz slike koja nije trenutna slika. To znači postupak predviđanja vrednosti piksela trenutnog bloka obrade pozivanjem na rekonstruisane regione u drugoj rekonstruisanoj slici, koja nije trenutna slika.
[0191] Inter predikcija (ili predikcija između slika) je tehnika koja uklanja redundantnost koja postoji između slika, i uglavnom se izvodi kroz procenu pokreta i kompenzaciju pokreta.
[0192] Otkrivanje opisuje detaljnu tehniku prethodno opisanog postupka inter predikcije, pozivajući se na FIG.1 i 2. U slučaju dekodera, inter predikcija zasnovana na postupku dekodiranja video zapisa/slike prikazanom na FIG.10, kao i jedinica inter predikcije u uređaju za dekodiranje prikazanom na FIG.11, može biti opisano. Pored toga, što se tiče kodera, postupak video/video kodiranja zasnovan na inter predikciji prikazan na FIG.8 i jedinica inter predikcije u uređaju za kodiranje prikazanom na FIG.9 može biti opisan u nastavku. Nadalje, podaci kodirani na FIG.8 i 9 mogu biti sačuvani u obliku protoka bitova.
[0193] Jedinica predikcije uređaja za kodiranje/dekodiranje može da generiše predikcione uzorke izvođenjem inter predikcije na nivou blokova. Inter predikcija može predstavljati predikciju izvedenu na način zavistan od podataka (npr. vrednosti uzoraka, informacije o pokretu itd.) iz slike/slika koje nisu trenutna slika. Kada se inter predikcija primeni na trenutni blok, predikcioni blok (niz predikcionih uzoraka) za trenutni blok može biti izveden na osnovu referentnog bloka (niza referentnih uzoraka) specificiranog vektorom pokreta na referentnoj slici označenoj indeksom referentne slike.
[0194] U ovom trenutku, da bi se smanjila količina informacija o pokretu koja se prenosi u inter režimu predikcije, informacije o pokretu trenutnog bloka mogu se predvideti u jedinicama blokova, podblokova ili uzoraka na osnovu korelacije informacija o pokretu između susednih blokova i trenutnog bloka. Informacije o pokretu mogu uključivati vektor pokreta i indeks referentne slike. Informacije o pokretu mogu dodatno uključivati i tip inter predikcije (npr. L0 predikcija, L1 predikcija, Bi predikcija itd.).
[0195] Kada se primeni inter predikcija, susedni blok može uključivati prostorni susedni blok koji postoji u trenutnoj slici i vremenski susedni blok koji se nalazi u referentnoj slici. Referentna slika koja uključuje referentni blok i referentna slika koja uključuje vremenski susedni blok mogu biti iste ili različite. Vremenski susedni blok može biti označen nazivom poput kolociranog referentnog bloka, a referentna slika koja uključuje vremenski susedni blok može biti nazvana kolocirana slika coIPic. Na primer, informacije o pokretu kandidata mogu biti konstruisane na osnovu susednih blokova trenutnog bloka, a indikator ili indeks informacije koji označava koji kandidat je odabran (koristi se) za izvođenje vektora pokreta i/ili indeksa referentne slike trenutnog bloka može biti signaliziran.
[0196] [0089] Inter predikcija može biti izvedena na osnovu različitih režima predikcije. Na primer, u slučaju režima preskakanja i režima spajanja, informacije o pokretu trenutnog bloka mogu biti iste kao informacije o pokretu odabranog susednog bloka. U režimu preskakanja, za razliku od režima spajanja, preostali signal možda se ne prenosi. U režimu predikcije vektora pokreta (MVP
režim), vektor pokreta odabranog susednog bloka se koristi kao prediktor vektora pokreta, a razlika vektora pokreta može biti signalizirana. U ovom slučaju, vektor pokreta trenutnog bloka može se izračunati kao zbir prediktora vektora pokreta i razlike vektora pokreta.
[0197] FIG.8 i FIG.9 su dijagrami koji redom ilustruju postupak video kodiranja na osnovu inter predikcije/postupak video kodiranja zasnovan na inter predikciji prema jednom načinu ostvarivanja ovog otkrivanja i jedinicu inter predikcije u uređaju za kodiranje prema jednom načinu ostvarivanja ovog otkrivanja.
[0198] Pozivanjem na FIG.8 i FIG.9, S801 može biti izveden od strane inter prediktora 180 uređaja za kodiranje, a S802 može biti izveden od strane preostale jedinice obrade uređaja za kodiranje. Konkretno, S802 može biti izveden od strane oduzimača 115 uređaja za kodiranje. U S803, informacije o predikciji se izvode putem inter predikcione jedinice 180 i mogu biti kodirane od strane entropijskog kodera 190. Takođe, u S803, preostale informacije se izvode od strane preostale jedinice obrade i mogu biti kodirane od strane entropijskog kodera 190.
[0199] Preostale informacije su informacije o preostalim uzorcima. Preostale informacije mogu uključivati i informacije o kvantizovanim transformacionim koeficijentima za preostale uzorke.
[0200] Kao što je prethodno opisano, preostali uzorci mogu biti izvedeni kao transformacioni koeficijenti kroz transformator 120 uređaja za kodiranje, a transformacioni koeficijenti mogu biti kvantizovani kroz kvantizator 130. Informacije o kvantizovanim transformacionim koeficijentima mogu biti kodirane u entropijskom koderu 190 putem preostalog postupka kodiranja.
[0201] Uređaj 100 za kodiranje izvodi inter predikciju na trenutnom bloku (S801). Uređaj 100 za kodiranje može da izvrši inter režim predikcije i da generiše informacije o pokretu trenutnog bloka, kao i da generiše predikcione uzorke trenutnog bloka. U ovom slučaju, procedura određivanja inter režima predikcije, izvođenja informacija o pokretu i generisanja predikcionih uzoraka može biti izvedena istovremeno, ili se bilo koja od procedura može izvršiti pre druge. Na primer, inter prediktor 180 uređaja za kodiranje 100 može uključivati jedinicu 181 za određivanje režima predikcije, jedinicu 182 za izvođenje informacija o pokretu i jedinicu 183 za izvođenje predikcionih uzoraka. Jedinica 181 može odrediti režim predikcije za trenutni blok. Jedinica 182 može izvesti informacije o pokretu trenutnog bloka. Jedinica 183 može generisati predikcione uzorke trenutnog bloka.
[0202] [0094] Na primer, inter prediktor 180 uređaja za kodiranje 100 može da pretraži zadato područje referentnih slika kako bi pronašao blok sličan trenutnom bloku kroz procenu pokreta, i može da izvede referentni blok koji ima minimalnu razliku ili razliku manju ili jednaku zadatoj referenci u odnosu na trenutni blok. Inter prediktor 180 može da odredi indeks referentne slike koji
pokazuje na referentnu sliku u kojoj se nalazi referentni blok na osnovu referentnog bloka, i može da izvede vektor pokreta na osnovu razlike lokacije između referentnog bloka i trenutnog bloka. Uređaj 100 za kodiranje može da odredi režim koji se primenjuje na trenutni blok među različitim režimima predikcije. Uređaj za kodiranje može da uporedi RD troškove za različite režime predikcije i da odredi optimalan režim predikcije za trenutni blok.
[0203] Na primer, ako se režim preskakanja ili režim spajanja primeni na trenutni blok, uređaj 100 za kodiranje može da konfiguriše listu kandidata za spajanje koja će biti opisana u nastavku, i može da izvede referentni blok koji ima minimalnu razliku ili razliku manju ili jednaku zadatoj referenci u odnosu na trenutni blok, među referentnim blokovima koje označavaju kandidati za spajanje uključeni u listu kandidata za spajanje. U ovom slučaju, kandidat za spajanje povezan sa izvedenim referentnim blokom može biti izabran. Indeks spajanja koji označava izabranog kandidata za spajanje može biti generisan i signaliziran uređaju 200 za dekodiranje. Informacije o pokretu trenutnog bloka mogu se izvesti koristeći informacije o pokretu izabranog kandidata za spajanje.
[0204] Kao drugi primer, ako se (A)MVP režim primeni na trenutni blok, uređaj za kodiranje može da konfiguriše (A)MVP listu kandidata, koja će biti opisana u nastavku, i može da koristi vektor pokreta kandidata prediktora vektora pokreta (MVP), izabranog među MVP kandidatima uključenim u (A)MVP listu kandidata, kao MVP trenutnog bloka. U ovom slučaju, na primer, vektor pokreta koji pokazuje na referentni blok izveden procenom pokreta može biti korišćen kao vektor pokreta trenutnog bloka. MVP kandidat koji uključuje vektor pokreta sa najmanjom razlikom u odnosu na vektor pokreta trenutnog bloka, među MVP kandidatima, može postati izabrani MVP kandidat. Razlika vektora pokreta (MVD), tj. razlika dobijena oduzimanjem MVP prediktora od vektora pokreta trenutnog bloka, može biti izvedena. U ovom slučaju, informacije o MVD mogu biti signalizirane uređaju 200 za dekodiranje. Dodatno, ako se primeni (A)MVP režim, vrednost indeksa referentne slike može biti konfigurisana kao informacija o indeksu referentne slike i može biti posebno signalizirana uređaju za dekodiranje.
[0205] Uređaj 100 za kodiranje može da izvede preostale uzorke na osnovu predikcionih uzoraka (S802). Uređaj 100 za kodiranje može da izvede preostale uzorke poređenjem originalnih uzoraka trenutnog bloka sa predikcionim uzorcima.
[0206] [0098] Uređaj 100 za kodiranje kodira informacije slike uključujući informacije o predikciji i preostale informacije (S803). Uređaj za kodiranje može da izlazno generiše kodirane informacije slike u obliku protoka bitova. Informacije o predikciji mogu da uključuju informacije o režimu predikcije (npr. zastavica preskakanja, zastavica spajanja ili indeks režima) i informacije koje se
odnose na informacije o pokretu kao informacije povezane sa postupkom predikcije. Informacije koje se odnose na informacije o pokretu mogu da uključuju informacije o izboru kandidata (npr. indeks spajanja, mvp zastavica ili mvp indeks), odnosno informacije za izvođenje vektora pokreta. Dodatno, informacije koje se odnose na informacije o pokretu mogu da uključuju informacije o MVD i/ili informacije o indeksu referentne slike.
[0207] Dodatno, informacije koje se odnose na informacije o pokretu mogu da uključuju informacije koje ukazuju na to da li se primenjuje L0 predikcija, L1 predikcija ili bi-predikcija. Preostale informacije predstavljaju informacije o preostalim uzorcima. Preostale informacije mogu da uključuju informacije o kvantizovanim transformacionim koeficijentima za preostale uzorke.
[0208] Izlazni protok bitova može biti čuvan u (digitalnom) medijumu za čuvanje i prenet do uređaja za dekodiranje, ili može biti prenet do uređaja za dekodiranje preko mreže.
[0209] U međuvremenu, kao što je prethodno opisano, uređaj za kodiranje može da generiše rekonstruisanu sliku (uključujući rekonstruisane uzorke i rekonstruisani blok) na osnovu referentnih uzoraka i preostalih uzoraka. Ovo se radi kako bi se u uređaju 100 za kodiranje dobili isti rezultati predikcije kao oni koji se ostvaruju u uređaju 200 za dekodiranje. Shodno tome, efikasnost kodiranja može biti poboljšana. Shodno tome, uređaj 100 za kodiranje može da čuva rekonstruisanu sliku (ili rekonstruisane uzorke i rekonstruisani blok) u memoriji i može da koristi rekonstruisanu sliku kao referentnu sliku za inter predikciju. Kao što je prethodno opisano, postupak filtriranja unutar petlje može biti dodatno primenjen na rekonstruisanu sliku.
[0210] FIG.10 i 11 predstavljaju, tim redom, inter-predikcioni postupak dekodiranja videozapisa/slike i inter prediktor u okviru uređaja za dekodiranje prema jednom načinu ostvarivanja ovog otkrivanja.
[0211] Pozivanjem na FIG.10 i 11, uređaj 200 za dekodiranje može da izvodi operaciju koja odgovara operaciji izvedenoj u uređaju 100 za kodiranje. Uređaj 200 za dekodiranje može da izvodi predikciju za trenutni blok na osnovu primljenih informacija o predikciji i može da generiše predikcione uzorke.
[0212] [0104] Faze S1001 do S1003 mogu biti izvedeni od strane inter prediktora 261 uređaja za dekodiranje, a preostale informacije iz faze S1004 mogu biti dobijene iz protoka bitova od strane entropijskog dekodera 210 uređaja za dekodiranje. Preostala jedinica obrade uređaja za dekodiranje može da izvede preostale uzorke za trenutni blok na osnovu preostalih informacija. Konkretno, inverzni kvantizator 220 preostale jedinice obrade izvodi transformacione koeficijente vršeći inverznu kvantizaciju na osnovu kvantizovanih transformacionih koeficijenata
dobijenih iz preostalih informacija. Inverzni transformator 230 preostale jedinice obrade može da izvodi inverznu transformaciju na transformacionim koeficijentima kako bi se dobili preostali uzorci za trenutni blok. Faza S1005 može biti izvedena pomoću sabirača 235 ili jedinice za restauraciju uređaja za dekodiranje.
[0213] Konkretno, uređaj 200 za dekodiranje može da odredi režim predikcije za trenutni blok na osnovu primljenih informacija o predikciji (S1001). Uređaj 200 za dekodiranje može da utvrdi koji inter režim predikcije se primenjuje na trenutni blok na osnovu informacija o režimu predikcije unutar informacija o predikciji.
[0214] Na primer, uređaj 200 za dekodiranje može da odredi da li se na trenutni blok primenjuje režim spajanja ili (A)MVP režim na osnovu zastavice spajanja. Alternativno, uređaj 200 za dekodiranje može da izabere jedan od različitih kandidata inter režima predikcije na osnovu indeksa režima. Kandidati inter režima predikcije mogu da uključuju režim preskakanja, režim spajanja i/ili (A)MVP režim, ili mogu da uključuju različite inter režime predikcije koji će biti opisani u nastavku.
[0215] Uređaj 200 za dekodiranje izvodi informacije o pokretu trenutnog bloka na osnovu utvrđenog inter režima predikcije (S1002). Na primer, ako se na trenutni blok primenjuje režim preskakanja ili režim spajanja, uređaj 200 za dekodiranje može da konfiguriše listu kandidata za spajanje, koja će biti opisana u nastavku, i da izabere jednog od kandidata za spajanje uključenih u toj listi. Izbor može biti izveden na osnovu prethodno opisanih informacija o izboru (indeks spajanja). Informacije o pokretu trenutnog bloka mogu biti izvedene iz informacija o pokretu izabranog kandidata za spajanje. Informacije o pokretu izabranog kandidata za spajanje mogu biti korišćene kao informacije o pokretu trenutnog bloka.
[0216] Kao drugi primer, ako se na trenutni blok primenjuje (A)MVP režim, uređaj 200 za dekodiranje može da konfiguriše (A)MVP listu kandidata, koja će biti opisana u nastavku, i može da koristi vektor pokreta kandidata prediktora vektora pokreta (mvp) izabranog među mvp kandidatima uključenim u (A)MVP listu kandidata, kao mvp trenutnog bloka. Izbor može biti izveden na osnovu informacija o izboru (mvp zastavica ili mvp indeks). U tom slučaju, uređaj 200 za dekodiranje može da izvede MVD trenutnog bloka na osnovu informacija o MVD. Uređaj za dekodiranje može da izvede vektor pokreta trenutnog bloka na osnovu mvp trenutnog bloka i MVD-a. Dodatno, uređaj za dekodiranje može da izvede indeks referentne slike trenutnog bloka na osnovu informacija o indeksu referentne slike. Slika označena indeksom referentne slike unutar liste referentnih slika za trenutni blok može biti izvedena kao referentna slika koja se koristi za inter predikciju trenutnog bloka.
[0217] U međuvremenu, kao što će biti opisano u nastavku, informacije o pokretu trenutnog bloka mogu da budu izvedene i bez konfiguracije liste kandidata. U tom slučaju, informacije o pokretu trenutnog bloka mogu da budu izvedene prema postupku otkrivenom u režimu predikcije koji će biti opisan u nastavku. U tom slučaju, konfiguracija liste kandidata, kao što je ona opisana iznad, može da bude izostavljena.
[0218] Uređaj 200 za dekodiranje može da generiše predikcione uzorke za trenutni blok na osnovu informacija o pokretu trenutnog bloka (S1003). U tom slučaju, uređaj 200 za dekodiranje može da izvede referentnu sliku na osnovu indeksa referentne slike trenutnog bloka i može da izvede predikcione uzorke trenutnog bloka označene na referentnoj slici vektorom pokreta trenutnog bloka. U tom slučaju, kao što će biti opisano u nastavku, postupak filtriranja predikcionog uzorka može dodatno da se primeni na neke ili sve predikcione uzorke trenutnog bloka, u zavisnosti od okolnosti.
[0219] Na primer, inter prediktor 261 uređaja 200 za dekodiranje može da uključuje jedinicu za određivanje režima predikcije 261, jedinicu za izvođenje informacija o pokretu 262 i jedinicu za izvođenje predikcionog uzorka 263. Uređaj 200 za dekodiranje može da odredi režim predikcije trenutnog bloka na osnovu informacija o režimu predikcije primljenih od jedinice za određivanje režima predikcije 261, može da izvede informacije o pokretu (vektor pokreta i/ili indeks referentne slike) trenutnog bloka na osnovu informacija koje se odnose na informacije o pokretu primljenih od jedinice 262 za izvođenje informacija o pokretu. Jedinica 263 za izvođenje predikcionog uzorka može da izvede predikcione uzorke trenutnog bloka.
[0220] Uređaj 200 za dekodiranje generiše preostale uzorke za trenutni blok na osnovu primljenih preostalih informacija (S1004). Uređaj 200 za dekodiranje može da generiše rekonstruisane uzorke za trenutni blok na osnovu predikcionih uzoraka i preostalih uzoraka i može da generiše rekonstruisanu sliku na osnovu rekonstruisanih uzoraka (S1005). Nakon toga, kao što je prethodno opisano, postupak filtriranja unutar petlje može dodatno da se primeni na rekonstruisanu sliku.
[0221] Kao što je prethodno opisano, postupak inter predikcije može da uključuje fazu određivanja inter režima predikcije, fazu izvođenja informacija o pokretu u skladu sa utvrđenim režimom predikcije, i fazu izvođenja predikcije (generisanje predikcionih uzoraka) na osnovu izvedenih informacija o pokretu.
[0222] Određivanje režima inter predikcije
[0223] Različiti inter režimi predikcije mogu da se koriste za predikciju trenutnog bloka unutar slike. Na primer, različiti režimi, kao što su režim spajanja, režim preskakanja, MVP režim i afini režim, mogu da se koriste. Režim finog podešavanja vektora pokreta na strani dekodera (DMVR), adaptivni režim rezolucije vektora pokreta (AMVR) itd. takođe mogu dodatno da se koriste kao dodatni režimi. Afini režim može biti označen kao afini režim predikcije pokreta. MVP režim može biti označen kao režim napredne predikcije vektora pokreta (AMVP).
[0224] Informacije o režimu predikcije koje ukazuju na inter režim predikcije trenutnog bloka mogu biti signalizirane iz uređaja za kodiranje ka uređaju za dekodiranje. Informacije o režimu predikcije mogu biti uključene u protok bitova i primljene od strane uređaja za dekodiranje. Informacije o režimu predikcije mogu da uključuju indeks informacije koji označava jedan od više kandidat režima. Alternativno, inter režim predikcije može biti označen hijerarhijskim signaliziranjem zastavice za informacije.
[0225] U tom slučaju, informacije o režimu predikcije mogu da uključuju jednu ili više zastavica. Na primer, zastavica može dodatno biti signalizirana kako bi označila da li se primenjuje režim preskakanja, signaliziranjem zastavice preskakanja; zatim da označi da li se primenjuje režim spajanja, signaliziranjem zastavice spajanja, ukoliko se režim preskakanja ne primenjuje; i da označi da se primenjuje MVP režim ako se režim spajanja ne primenjuje ili radi dodatne identifikacije. Afini režim može biti signaliziran kao nezavisan režim ili može biti signaliziran kao režim zavisan od režima spajanja ili MVP režima. Na primer, afini režim može biti konfigurisan kao jedan od kandidata u listi za spajanje ili u MVP listi kandidata, kao što će biti opisano u nastavku.
[0227] Izvođenje informacija o pokretu prema režimu inter predikcije
[0228] [0117] Uređaj 100 za kodiranje ili uređaj 200 za dekodiranje može da izvodi inter predikciju koristeći informacije o pokretu trenutnog bloka. Uređaj 100 za kodiranje može da izvede optimalne informacije o pokretu za trenutni blok prema postupku procene pokreta. Na primer, uređaj 100 za kodiranje može da pretraži referentni blok koji ima sličnu korelaciju koristeći originalni blok unutar originalne slike za trenutni blok, u frakcionoj jedinici piksela, unutar određenog opsega pretrage u okviru referentne slike. Shodno tome, uređaj za kodiranje može da izvede informacije o pokretu. Sličnost bloka može da se izvede na osnovu razlike između fazno zasnovanih vrednosti uzoraka. Na primer, sličnost bloka može da se izračuna na osnovu SAD (zbir apsolutnih razlika) između trenutnog bloka (ili šablona trenutnog bloka) i referentnog
bloka (ili šablona referentnog bloka). U tom slučaju, informacije o pokretu mogu da se izvedu na osnovu referentnog bloka koji ima najmanji SAD unutar oblasti pretrage. Izvedene informacije o pokretu mogu da budu signalizirane uređaju za dekodiranje koristeći nekoliko postupaka na osnovu inter režima predikcije.
[0230] Režim spajanja i režim preskakanja
[0231] FIG.12 predstavlja način ostvarivanja kojim se ovo otkrivanje primenjuje i jeste prikaz za objašnjenje susednih blokova koji se koriste u režimu spajanja ili u režimu preskakanja.
[0232] Ako se primeni režim spajanja, informacije o pokretu trenutnog predikcionog bloka se ne prenose direktno, već se informacije o pokretu trenutnog predikcionog bloka izvedu korišćenjem informacija o pokretu susednog predikcionog bloka. Shodno tome, uređaj 100 za kodiranje može da označi informacije o pokretu trenutnog predikcionog bloka prenosom zastavice za informacije radi obaveštavanja da je korišćen režim spajanja i prenosom indeksa spajanja radi obaveštavanja koji susedni predikcioni blok je korišćen.
[0233] Uređaj 100 za kodiranje može da pretraži blok kandidata za spajanje koji se koristi za izvođenje informacija o pokretu trenutnog predikcionog bloka kako bi sproveo režim spajanja. Na primer, može se koristiti najviše do 5 blokova kandidata za spajanje, ali otkrivanje time nije ograničeno. Dodatno, maksimalni broj blokova kandidata za spajanje može biti prenet u zaglavlju isečka ili zaglavlju grupe pločica, i otkrivanje time nije ograničeno. Nakon pretraživanja blokova kandidata za spajanje, uređaj 100 za kodiranje može da generiše listu kandidata za spajanje i može da izabere blok kandidata za spajanje sa najmanjim troškom, među blokovima kandidata za spajanje, kao krajnji blok kandidata za spajanje.
[0234] Način ostvarivanja ovog otkrivanja obezbeđuje različite načine ostvarivanja blokova kandidata za spajanje koji formiraju listu kandidata za spajanje.
[0235] Lista kandidata za spajanje može da koristi, na primer, 5 blokova kandidata za spajanje. Na primer, mogu se koristiti 4 prostorna kandidata za spajanje i 1 vremenski kandidat za spajanje.
[0236] Kao detaljan primer, u slučaju prostornog kandidata za spajanje, blokovi prikazani na FIG.
[0237] 12 mogu se koristiti kao prostorni kandidati za spajanje.
[0238] FIG.13 predstavlja dijagram toka koji ilustruje postupak konfigurisanja liste kandidata za spajanje prema jednom načinu ostvarivanja na koji se ovo otkrivanje primenjuje.
[0239] [0125] Pozivanjem na FIG.13, uređaj za kodiranje (uređaj 100 za kodiranje ili uređaj 200 za dekodiranje) pretražuje prostorne susedne blokove trenutnog bloka i ubacuje izvedene
prostorne kandidate za spajanje u listu kandidata za spajanje (S1301). Na primer, prostorni susedni blokovi mogu da uključuju donji levi ugao susednog bloka, levi susedni blok, gornji desni ugao susednog bloka, gornji susedni blok i gornji levi ugao susednog bloka trenutnog bloka. U ovom primeru, dodatni susedni blokovi, kao što su desni susedni blok, donji susedni blok i donji desni ugao susednog bloka, pored prostorno definisanih susednih blokova, mogu takođe biti korišćeni kao prostorni susedni blokovi. Uređaj za kodiranje može da detektuje dostupne blokove pretražujući prostorne susedne blokove po prioritetu i može da izvede informacije o pokretu detektovanih blokova kao prostorne kandidate za spajanje. Na primer, uređaj 100 za kodiranje ili uređaj 200 za dekodiranje može da pretraži 5 blokova prikazanih na FIG.11 u redosledu A1, B1, B0, A0 i B2, i može da konfiguriše listu kandidata za spajanje tako što će dostupne kandidate indeksirati sekvencijalno.
[0240] Uređaj za kodiranje pretražuje vremenski susedni blok trenutnog bloka i ubacuje izvedeni vremenski kandidat za spajanje u listu kandidata za spajanje (S1302). Vremenski susedni blok može se nalaziti na referentnoj slici, tj. slici različitoj od trenutne slike u kojoj se nalazi trenutni blok. Referentna slika na kojoj se nalazi vremenski susedni blok može se nazvati kolocirana slika ili kol-slika. Vremenski susedni blok može se pretražiti u redosledu donjeg desnog ugla susednog bloka i donjeg desnog centralnog bloka kolociranog bloka za trenutni blok na kol-slici.
[0241] U međuvremenu, ako se primenjuje kompresija podataka o pokretu, specifične informacije o pokretu mogu biti čuvane na kol-slici kao reprezentativne informacije o pokretu za svaku zadatu jedinicu čuvanja. U tom slučaju, nije neophodno čuvati informacije o pokretu za sve blokove unutar date jedinice čuvanja, čime se postiže efekat kompresije podataka o pokretu. U ovom slučaju, data jedinica čuvanja može biti prethodno određena kao 16x16 jedinica uzoraka ili 8x8 jedinica uzoraka, na primer, ili veličina informacije za datu jedinicu čuvanja može biti signalizirana iz uređaja 100 za kodiranje ka uređaju 200 za dekodiranje. Ako se primenjuje kompresija podataka o pokretu, informacije o pokretu vremenski susednog bloka mogu biti zamenjene reprezentativnim informacijama o pokretu date jedinice čuvanja u kojoj se vremenski susedni blok nalazi.
[0242] [0128] Zapravo, u ovom slučaju, u jednom aspektu ostvarivanja, nakon što se izvrši aritmetički desni pomak sa zadatom vrednošću na osnovu koordinata (položaj gornjeg levog uzorka) vremenskog susednog bloka, a ne predikcionog bloka u kojem se nalaze koordinate vremenskog susednog bloka, vremenski kandidat za spajanje može biti izveden na osnovu informacija o pokretu predikcionog bloka koji pokriva aritmetički levo pomerenu lokaciju. Na primer, ako je data jedinica čuvanja 2ⁿx2ⁿ jedinica uzoraka, pretpostavljajući da su koordinate vremenskog
susednog bloka (xTnb, yTnb), informacije o pokretu predikcionog bloka lociranog u ((xTnb>>n)<<n, (yTnb>>n)<<n), tj. modifikovanoj lokaciji, mogu biti korišćene za vremenski kandidat za spajanje.
[0243] Konkretno, na primer, ako je data jedinica čuvanja 16x16 jedinica uzoraka, pretpostavljajući da su koordinate vremenskog susednog bloka (xTnb, yTnb), informacije o pokretu predikcionog bloka lociranog u ((xTnb>>4)<<4, (yTnb>>4)<<4), tj. modifikovanoj lokaciji, mogu biti korišćene za vremenski kandidat za spajanje. Alternativno, na primer, ako je data jedinica čuvanja 8x8 jedinica uzoraka, pretpostavljajući da su koordinate vremenskog susednog bloka (xTnb, yTnb), informacije o pokretu predikcionog bloka lociranog u ((xTnb>>3)<<3, (yTnb>>3)<<3), tj. modifikovanoj lokaciji, mogu biti korišćene za vremenski kandidat za spajanje.
[0244] Uređaj za kodiranje može da proveri da li je trenutni broj kandidata za spajanje manji od maksimalnog broja kandidata za spajanje (S1303). Maksimalan broj kandidata za spajanje može biti prethodno definisan ili može biti signaliziran iz uređaja 100 za kodiranje ka uređaju 200 za dekodiranje. Na primer, uređaj 100 za kodiranje može da generiše informacije o maksimalnom broju kandidata za spajanje, može da kodira te informacije i može da prenese informacije uređaju 200 za dekodiranje u obliku protoka bitova. Ako je maksimalan broj kandidata za spajanje popunjen, proces dodavanja kandidata možda neće biti sproveden.
[0245] Ako, kao rezultat provere, trenutni broj kandidata za spajanje jeste manji od maksimalnog broja kandidata za spajanje, uređaj za kodiranje ubacuje dodati kandidat za spajanje u listu kandidata za spajanje (S1240). Dodati kandidati za spajanje mogu da uključuju ATMVP (predikcija adaptivnog vremenskog vektora pokreta), kombinovani bi-predikcioni kandidat za spajanje (ako je tip isečka trenutnog isečka B tip) i/ili kandidat za spajanje sa nultim vektorom, na primer.
[0246] Ako, kao rezultat provere, trenutni broj kandidata za spajanje nije manji od maksimalnog broja kandidata za spajanje, uređaj za kodiranje može da završi konfiguraciju liste kandidata za spajanje. U tom slučaju, koder može da izabere optimalnog kandidata za spajanje među kandidatima koji čine listu kandidata za spajanje, na osnovu rate-distortion (RD) troška, i može da signalizira dekoderu informacije o izboru (npr. indeks spajanja) koje označavaju izabranog kandidata za spajanje. Dekoder može da izabere optimalnog kandidata za spajanje na osnovu liste kandidata za spajanje i informacija o izboru.
[0247] Informacije o pokretu izabranog kandidata za spajanje mogu da se koriste kao informacije o pokretu trenutnog bloka. Kao što je prethodno opisano, predikcioni uzorci trenutnog bloka mogu da budu izvedeni na osnovu informacija o pokretu trenutnog bloka.
[0248] Koder može da izvede preostale uzorke trenutnog bloka na osnovu predikcionih uzoraka i može da signalizira dekoderu preostale informacije koje se odnose na preostale uzorke. Dekoder može da generiše rekonstruisane uzorke na osnovu preostalih uzoraka izvedenih na osnovu preostalih informacija i predikcionih uzoraka. Kao što je prethodno opisano, dekoder može da generiše rekonstruisanu sliku na osnovu rekonstruisanih uzoraka.
[0249] Ako se primenjuje režim preskakanja, informacije o pokretu trenutnog bloka mogu biti izvedene koristeći isti postupak kao kada se primenjuje režim spajanja. U ovom slučaju, ako se primenjuje režim preskakanja, preostali signal za odgovarajući blok se izostavlja. Shodno tome, predikcioni uzorci mogu biti direktno korišćeni kao rekonstruisani uzorci.
[0251] MVP režim
[0252] FIG.14 predstavlja dijagram toka koji ilustruje postupak konstruisanja liste kandidata za spajanje prema jednom načinu ostvarivanja na koji se ovo otkrivanje primenjuje.
[0253] Ako se primenjuje režim vektorske predikcije pokreta (MVP), lista kandidata za vektor pokreta prediktor (mvp) može biti generisana na osnovu vektora pokreta rekonstruisanog prostornog susednog bloka (npr. susednog bloka opisanog na FIG.12) i/ili vektora pokreta odgovarajućeg vremenskog susednog bloka (ili kol bloka). Odnosno, vektor pokreta rekonstruisanog prostornog susednog bloka i/ili vektor pokreta vremenskog susednog bloka mogu biti korišćeni kao kandidat za vektor pokreta prediktor.
[0254] Informacije o predikciji mogu da uključuju informacije o izboru (npr. MVP zastavica ili MVP indeks) koje označavaju optimalnog kandidata za vektor pokreta prediktor iz liste kandidata za vektor pokreta prediktor. U ovom slučaju, prediktor može da izabere vektor pokreta prediktor trenutnog bloka, među kandidatima za vektor pokreta prediktor uključenim u listu, koristeći informacije o izboru. Prediktor uređaja za kodiranje 100 može da izračuna razliku vektora pokreta (MVD) između vektora pokreta trenutnog bloka i vektora pokreta prediktora, može da kodira MVD i može da pošalje kodirani MVD u obliku protoka bitova. Odnosno, MVD može biti izračunat kao vrednost dobijena oduzimanjem vektora pokreta prediktora od vektora pokreta trenutnog bloka. U ovom slučaju, prediktor uređaja za dekodiranje može da dobije razliku vektora pokreta uključenu u informacije o predikciji i može da izvede vektor pokreta trenutnog bloka sabiranjem razlike vektora pokreta i vektora pokreta prediktora. Prediktor uređaja za dekodiranje može da dobije ili izvede indeks referentne slike koji označava referentnu sliku iz informacija o predikciji. Na primer, lista kandidata za vektor pokreta prediktor može biti konfigurisana kao što je ilustrovano na FIG.14.
[0255] Predikcija afinog pokreta
[0256] FIG.15 ilustruje primer modela pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0257] U konvencionalnoj tehnologiji kompresije slike (npr. kodiranje video zapisa visoke efikasnosti (HEVC)), jedan vektor pokreta se koristi za predstavljanje pokreta jednog kodirajućeg bloka. Iako optimalni pokret blok jedinice može biti predstavljen korišćenjem jednog vektora pokreta za svaki blok, on možda ne odražava stvarni optimalni pokret svakog elementa slike. Shodno tome, ako se optimalni vektor pokreta odredi za jedinicu elementa slike, efikasnost kodiranja može biti povećana. Na taj način, jedan način ostvarivanja ovog otkrivanja opisuje postupak predikcije pokreta prilikom kodiranja ili dekodiranja video signala korišćenjem modela sa višestrukim pokretima. Konkretno, vektor pokreta može biti predstavljen u svakoj jedinici elementa slike bloka ili podbloka korišćenjem vektora pokreta na 2 do 4 kontrolne tačke. Šema predikcije koja koristi vektor pokreta sa većim brojem kontrolnih tačaka može biti označena kao predikcija afinog pokreta ili afina predikcija.
[0258] Afini model pokreta prema jednom načinu ostvarivanja ovog otkrivanja može da predstavi 4 modela pokreta, kao što je ilustrovano na FIG.14. Afini model pokreta koji predstavlja tri pokreta (translacija, skaliranje i obrtanje) među pokretima koji mogu biti predstavljeni afiniim modelom pokreta naziva se slični (ili pojednostavljeni) afini model pokreta. Prilikom opisivanja načina ostvarivanja ovog otkrivanja, slični (ili pojednostavljeni) afini model pokreta je u osnovi opisan radi lakšeg objašnjenja, ali otkrivanje nije ograničeno na ovo.
[0259] FIG.16 ilustruje primer kontrolne tačke vektora pokreta za predikciju afinog pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0260] Kao što je prikazano na FIG.16, u predikciji afinog pokreta, vektor pokreta lokacije elementa slike (ili podbloka) uključenog u blok može biti određen korišćenjem para vektora pokreta sa dve kontrolne tačke (CPMV) v0v_0v0 i v1v_1v1. U ovom slučaju, skup vektora pokreta može biti označen kao vektorsko polje afinog pokreta (MVF). Vektorsko polje afinog pokreta može biti određeno korišćenjem jednačine 1.
[0262]
[0264] U jednačini 1, v0v_0v0 (v0={v0x,v0y}v_0=\{v_{0x}, v_{0y}\}v0={v0x,v0y}) označava vektor pokreta CPMV0 na prvoj kontrolnoj tački na gornjoj levoj lokaciji trenutnog bloka 1300.
[0265] v1v_1v1 (v1={v1x,v1y}v_1=\{v_{1x}, v_{1y}\}v1={v1x,v1y}) označava vektor pokreta CPMV1 na drugoj kontrolnoj tački na gornjoj desnoj lokaciji trenutnog bloka 1300. Dodatno, w označava širinu trenutnog bloka 1300. v (v={vx,vy}v=\{v_x, v_y\}v={vx,vy}) označava vektor pokreta na lokaciji {x,y}\{x,y\}{x,y}. Vektor pokreta podblok (ili element slike) jedinice može da se izvede korišćenjem jednačine 1. U jednom načinu ostvarivanja, tačnost vektora pokreta može biti zaokružena na tačnost 1/16.
[0266] FIG.17 ilustruje primer vektora pokreta za svaki podblok bloka na koji je primenjena predikcija afinog pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0267] Pozivanjem na FIG.17, u postupku kodiranja ili dekodiranja, vektorsko polje afinog pokreta (MVF) može biti određeno u jedinici elementa slike ili jedinici bloka. To jest, u predikciji afinog pokreta, vektor pokreta trenutnog bloka može da se izvede u jedinici elementa slike ili u jedinici podbloka.
[0268] Ako se vektorsko polje afinog pokreta određuje u jedinici elementa slike, vektor pokreta se može dobiti na osnovu vrednosti svakog elementa slike. U slučaju jedinice bloka, vektor pokreta odgovarajućeg bloka može se dobiti na osnovu vrednosti centralnog elementa slike tog bloka. U ovom dokumentu pretpostavlja se da se vektorsko polje afinog pokreta (MVF) određuje u jedinici bloka veličine 4×4, kao na FIG.17. Ovo je radi lakšeg objašnjenja i način ostvarivanja ovog otkrivanja nije ograničen na to. FIG.17 ilustruje primer slučaja u kome je blok za kodiranje konfigurisan sa 16×16 uzoraka i vektorsko polje afinog pokreta (MVF) određeno je u jedinici bloka veličine 4×4.
[0269] Predikcija afinog pokreta može da uključi afini režim spajanja (ili AF_MERGE) i afini inter režim (AF_INTER). AF_INTER režim može da uključi režim AF4_INTER, koji koristi model pokreta zasnovan na 4 parametra, i režim AF_6_INTER, koji koristi model pokreta zasnovan na 6 parametara.
[0271] Afini režim spajanja
[0272] AF_MERGE određuje kontrolnu tačku vektor pokreta (CPMV) na osnovu afinog modela pokreta susednog bloka kodiranog kao predikcija afinog pokreta. Susedni blok kodiran afino, pronađen u sekvenci pretrage, može se koristiti za AF_MERGE. Kada je jedan ili više susednih blokova kodirano kao predikcija afinog pokreta, trenutni blok može biti kodiran kao AF_MERGE.
[0273] [0149] Odnosno, ako se primenjuje afini režim spajanja, CPMV trenutnog bloka mogu da se izvedu korišćenjem CPMV susednog bloka. U tom slučaju, CPMV susednog bloka mogu da se koriste kao CPMV trenutnog bloka bez ikakve izmene, ili se CPMV susednog bloka mogu
modifikovati na osnovu veličina susednog bloka i veličina trenutnog bloka, i tako koristiti kao CPMV-ovi trenutnog bloka.
[0274] FIG.18 ilustruje primer susednih blokova koji se koriste za predikciju afinog pokreta u afinom režimu spajanja prema jednom načinu ostvarivanja ovog otkrivanja.
[0275] U režimu afinog spajanja (AF_MERGE), koder može da izvrši kodiranje prema sledećem postupku:
[0276] Faza-1: Skenirati susedne blokove A do E 1810, 1820, 1830, 1840 i 1850 trenutnog kodirajućeg bloka 1800 redosledom po alfabetu, i odrediti blok koji je prvi kodiran prema afinom režimu predikcije, na osnovu redosleda skeniranja, kao kandidat-blok za afino spajanje (AF_MERGE).
[0277] Faza-2: Odrediti afini model pokreta korišćenjem kontrolnih tačaka vektora pokreta (CPMV) određenog kandidat-bloka.
[0278] Faza-3: Odrediti kontrolne tačke vektora pokreta (CPMV) trenutnog bloka 1800 na osnovu afinog modela pokreta kandidat-bloka i odrediti MVF trenutnog bloka 1800.
[0279] FIG.19 ilustruje primer bloka na kojem se predikcija afinog pokreta izvodi korišćenjem susednih blokova na koje je primenjena predikcija afinog pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0280] Na primer, kao na FIG.19, ako je blok A 1920 kodiran prema afinom režimu, nakon što se blok A 1920 odredi kao kandidat-blok, afini model pokreta može da se izvede korišćenjem vektora pokreta kontrolnih tačaka (CPMV) (npr. v2 i v3) bloka A 1920, i mogu da se odrede vektori pokreta kontrolnih tačaka (CPMV) v0 i v1 trenutnog bloka 1900. Vektor afinog pokreta field (MVF) trenutnog bloka 1900 može da se odredi na osnovu vektora pokreta kontrolnih tačaka (CPMV) trenutnog bloka 1900, i kodiranje može biti izvedeno.
[0281] FIG.20 predstavlja dijagram za opisivanje postupka generisanja liste kandidata za spajanje korišćenjem susednog afino kodirajućeg bloka prema jednom načinu ostvarivanja ovog otkrivanja.
[0282] Pozivanjem na FIG.20, ako je CPMV-par određen korišćenjem afinih kandidata za spajanje, kandidati poput onih prikazanih na FIG.20 mogu da se koriste. Na FIG.20 pretpostavlja se da je redosled skeniranja liste kandidata podešen kao A, B, C, D i E. U ovom slučaju, otkrivanje nije ograničeno na to, i različiti redosledi mogu unapred biti podešeni.
[0283] U jednom načinu ostvarivanja, ako je broj kandidata (u nastavku označenih kao afini kandidati) kodiranih prema afinom režimu (ili afinoj predikciji), a koji su dostupni u susednim blokovima (tj. A, B, C, D, E), jednak 0, afini režim spajanja trenutnog bloka može biti preskočen.
[0284] Ako je broj dostupnih afinih kandidata jedan (npr. A), model pokreta odgovarajućeg kandidata može da se koristi za izvođenje vektora pokreta kontrolnih tačaka (CPMV_0 i CPMV_1) trenutnog bloka. U ovom slučaju, indeks koji ukazuje na odgovarajući kandidat možda ne mora da se signalizira (ili kodira). Ako je broj dostupnih afinih kandidata dva ili više, dva kandidata po redosledu skeniranja mogu da se konfigurišu kao lista kandidata za AF_MERGE. U tom slučaju, kandidat-informacije o izboru, kao što je indeks koji ukazuje na kandidata izabranog unutar liste kandidata, mogu biti signalizirane. Informacije o izboru mogu biti flag ili indeks-informacije, i mogu biti označene kao AF_MERGE_flag ili AF_merge_idx.
[0285] U jednom načinu ostvarivanja ovog otkrivanja, kompenzacija pokreta za trenutni blok može biti izvedena na osnovu veličine podbloka. U ovom slučaju, veličina podbloka afino kodiranog bloka (tj. trenutnog bloka) se određuje. Ako su širina i visina svakog podbloka veće od 4 luma uzorka, vektor pokreta za svaki podblok može biti izveden, i DCT-IF bazirana kompenzacija pokreta (1/16 pel za luma i 1/32 za hroma) može biti izvedena na podbloku. Ako nisu, kompenzacija pokreta zasnovana na poboljšanom bi-linearnom interpolacionom filteru može biti izvedena na svim afino kodiranim blokovima.
[0286] U jednom načinu ostvarivanja ovog otkrivanja, ako je zastavica spajanja/preskakanja tačna i ako su širina i visina CU veće ili jednake 8, na CU nivou, afina zastavica se signalizira kroz protok bitova, ukazujući da li je korišćen afini režim spajanja. Kada je CU kodiran kao AF_MERGE, kandidat za spajanje indeks sa maksimalnom vrednošću ‘5’ se signalizira kako bi označio da se koristi informacije o pokretu kandidata za CU u listi afinih kandidata za spajanje.
[0287] FIG.21 i 22 predstavljaju dijagrame za opisivanje postupka konstruisanja liste afinih kandidata za spajanje korišćenjem susednog bloka kodiranog afinom predikcijom prema jednom načinu ostvarivanja ovog otkrivanja.
[0288] Pozivanjem na FIG.21, lista afinih kandidata za spajanje se konfiguriše sledećim fazama:
[0290] 1) Ubacivanje afinog kandidata baziranog na modelu
[0291] Afini kandidat zasnovan na modelu znači da je kandidat izveden iz važećeg susednog rekonstruisanog bloka koji je kodiran prema afini režimu. Kao što je prikazano na FIG.21, sekvenca skeniranja za kandidat blok ide sledećim redosledom: sa leva A, sa vrha B, sa gornje desne strane C, sa donje leve strane D do gornje leve strane E.
[0292] [0162] Ako je susedni dole levo blok A kodiran u 6-parametarskom afinom režimu, vektori pokreta (v_4, v_5, v_6) za gornji levi ugao, gornji desni ugao i donji levi ugao CU koji uključuje blok A se dobijaju. Vektori pokreta (v_0, v_1, v_2) za gornji levi ugao trenutnog bloka se
izračunavaju na osnovu vektora pokreta (v_4, v_5, i v_6) prema 6-parametarskom afinom režimu.
[0293] Ako je susedni donje-levo blok A kodiran u 4-parametarskom afinom režimu, vektori pokreta (v_4, v_5) za gornji levi i gornji desni ugao CU koji uključuje blok A se dobijaju. Vektori pokreta (v_0, v_1) za gornji levi ugao trenutnog bloka se izračunavaju na osnovu vektora pokreta (v_4, v_5) prema 4-parametarskom afinom režimu.
[0295] 2) Ubacivanje afinih kandidata baziranih na kontrolnim tačkama
[0296] Pozivanjem na FIG.21, kandidat zasnovan na kontrolnoj tački znači da je kandidat konfigurisan kombinovanjem susednih informacija o pokretu kontrolnih tačaka.
[0297] Informacije o pokretu kontrolnih tačaka se prvo izvode iz označenih prostornih susednih blokova i vremenskog susednog bloka prikazanih na FIG.21. CP_k (k=1, 2, 3, 4) označava k-tu kontrolnu tačku. Dodatno, A, B, C, D, E, F i G su prostorne lokacije za predikciju CP_k (k=1, 2, 3), dok je H vremenska lokacija za predikciju CP4.
[0298] Koordinate CP_1, CP_2, CP_3 i CP_4 su (0, 0), (W, 0), (H, 0) i (W, H), tim redom. U ovom slučaju, W i H su širina i visina trenutnog bloka.
[0299] Informacije o pokretu za svaku kontrolnu tačku se dobijaju na osnovu sledećeg prioriteta.
[0300] Što se tiče CP_1, prioritet provere je A → B → C, i koristi se A ako je A dostupno. Ako nije, a B je dostupno, koristi se B. Ako ni A ni B nisu dostupni, koristi se C. Ako nijedan od tri kandidata nije dostupan, informacije o pokretu za CP_1 ne mogu se dobiti.
[0301] Što se tiče CP_2, prioritet provere je E → D.
[0302] Što se tiče CP_3, prioritet provere je G → F.
[0303] Što se tiče CP_4, koristi se H.
[0304] Drugo, kombinacije kontrolnih tačaka se koriste za konfigurisanje modela pokreta.
[0305] Vektori pokreta dve kontrolne tačke su potrebni za izračunavanje transformacionih parametara u 4-parametarskom afini režimu. Dve kontrolne tačke mogu biti odabrane iz jedne od sledećih 6 kombinacija: {CP_1, CP_4}, {CP_2, CP_3}, {CP_1, CP_2}, {CP_2, CP_4}, {CP_1, CP_3} i {CP_3, CP_4}. Na primer, korišćenje kontrolnih tačaka CP_1 i CP_2 za konstrukciju 4-parametarskog afinog modela pokreta označava se kao „afini (CP_1, CP_2)“.
[0306] [0174] Vektori pokreta tri kontrolne tačke su potrebni za izračunavanje transformacionih parametara u 6-parametarskom afini režimu. Tri kontrolne tačke mogu biti odabrane iz jedne od sledeće 4 kombinacije: {CP_1, CP_2, CP_4}, {CP_1, CP_2, CP_3}, {CP_2, CP_3, CP_4} i {CP_1,
CP_3, CP_4}. Na primer, korišćenje kontrolnih tačaka CP_1, CP_2 i CP_3 za konstrukciju 6-parametarskog afinog modela pokreta označava se kao „afini (CP_1, CP_2, CP_3)“.
[0307] Dodatno, u jednom načinu ostvarivanja ovog otkrivanja, ako postoji afine kandidat za spajanje u okviru afine režima spajanja, ovo se može uvek smatrati 6-parametarskim afini režimom.
[0309] Afini inter režim
[0310] FIG.23 ilustruje primer susednih blokova koji se koriste za predikciju afinog pokreta u afinom inter režimu prema jednom načinu ostvarivanja ovog otkrivanja.
[0311] Pozivanjem na FIG.23, predikcija afinog pokreta može da uključuje afine režim spajanja (ili AF_MERGE) i afini inter režim (ili AF_INTER). U afini inter režimu (AF_INTER), nakon što se odrede 2-kontrolna tačka vektor pokreta predikcija (CPMVP) i CPMV, može se preneti razlika vektora pokreta kontrolne tačke (CPMVD) koja odgovara razlici sa kodera na dekoder. Detaljan postupak kodiranja u afini inter režimu (AF_INTER) može biti isti kao što je opisano u nastavku. Faza-1: Odredi kandidat za par sa dve CPMVP tačke
[0312] Faza-1.1: Odredi maksimum od 12 CPMVP kombinacija kandidata (vidi jednačinu 2)
[0314]
[0316] [0178] U jednačini 2, v_0 označava vektor pokreta CPMV0 na gornjoj levoj kontrolnoj tački 2310 tekućeg bloka 2300. v_1 označava vektor pokreta CPMV1 na gornjoj desnoj kontrolnoj tački 2311 tekućeg bloka 2300. v_2 označava vektor pokreta CPMV2 na kontrolnoj tački 2312 na donjoj levoj strani tekućeg bloka 2300. v_A označava vektor pokreta susednog bloka A 2320, koji je sused gornje levo u odnosu na gornju levu kontrolnu tačku 2310 tekućeg bloka 2300. v_B označava vektor pokreta susednog bloka B 2322, koji je sused iznad gornje leve kontrolne tačke 2310 tekućeg bloka 2300. v_C označava vektor pokreta susednog bloka C 2324, koji je sused levo od gornje leve kontrolne tačke 2310 tekućeg bloka 2300. v_D je vektor pokreta susednog bloka D 2326, koji je sused iznad gornje desne kontrolne tačke 2311 tekućeg bloka 2300. v_E označava vektor pokreta susednog bloka E 2328, koji je sused gore desno u odnosu na gornju desnu kontrolnu tačku 2311 tekućeg bloka 2300. v_F označava vektor pokreta susednog bloka F 2330, koji je sused levo od donje leve kontrolne tačke 2312 tekućeg bloka 2300. v_G označava
vektor pokreta susednog bloka G 2332, koji je sused levo od donje leve kontrolne tačke 2312 tekućeg bloka 2300.
[0317] Faza-1.2: Sortiraj CPMVP kombinacije kandidata na osnovu vrednosti sa najmanjom razlikom (DV) i izaberi dva najbolja kandidata (vidi jednačinu 3 u nastavku).
[0319]
[0321] v_0x označava element vektora pokreta (V_0 ili CPMV_0) na x-osi za gornju levu kontrolnu tačku 2310 trenutnog bloka 2300. v_1x označava element vektora pokreta (V_1 ili CPMV_1) na x-osi za gornju desnu kontrolnu tačku 2311 trenutnog bloka 2300. v_2x označava element vektora pokreta (V_2 ili CPMV_2) na x-osi za donju levu kontrolnu tačku 2312 trenutnog bloka 2300. v_0y označava element vektora pokreta (V_0 ili CPMV_0) na y-osi za gornju levu kontrolnu tačku 2310 trenutnog bloka 2300. v_1y označava element vektora pokreta (V_1 ili CPMV_1) na y-osi za gornju desnu kontrolnu tačku 2311 trenutnog bloka 2300. v_2y označava element vektora pokreta (V_2 ili CPMV_2) na y-osi za donju levu kontrolnu tačku 2312 trenutnog bloka 2300. w označava širinu trenutnog bloka 2300. h označava visinu trenutnog bloka 2300.
[0322] Faza-2: Koristi AMVP listu kandidata kada broj kandidata za par CPMVP (kontrolna tačka vektor pokreta prediktor) bude manji od 2.
[0323] Faza-3: Odredi CPMVP za svaki od dva kandidata i optimalno izaberi kandidata sa manjom vrednošću poređenjem troškova RD i odgovarajućeg CPMV.
[0324] Faza-4: Prenesi indeks koji odgovara optimalnom kandidatu i kontrolnu tačku vektor pokreta razliku (CPMVD).
[0325] U jednom načinu ostvarivanja ovog otkrivanja, pruža se postupak konstruisanja CPMVP kandidata u AF_INTER režimu. Isto kao i kod AMVP, broj kandidata je 2, i signaliziran je indeks koji pokazuje položaj u listi kandidata.
[0326] Postupak konstruisanja CPMVP liste kandidata je sledeći.
[0327] 1) Proverava se da li su susedni blokovi kodirani kao predikcija afinog pokreta skeniranjem susednih blokova. Ako su skenirani blokovi kodirani kao afina predikcija, vektor pokreta trenutnog bloka se izračunava na osnovu afinih modela pokreta skeniranih susednih blokova, sve dok broj kandidata ne dostigne 2.
[0328] 2) Ako broj kandidata ostane manji od 2, izvršava se proces konfiguracije kandidata. Dodatno, u jednom načinu ostvarivanja ovog otkrivanja koristi se 4-parametarski (2kontrolna tačka) afini režim za inter predikciju modela pokreta pri zumiranju (uvećavanje/zmanjivanje), rotaciji i promeni sadržaja. Kao što je prikazano na FIG.16, polje afinog pokreta bloka se opisuje pomoću dva vektora pokreta kontrolnih tačaka.
[0329] Polje vektora pokreta (MVF) bloka opisuje prethodno opisana jednačina 1.
[0330] U konvencionalnoj tehnologiji, režim napredne predikcije vektora pokreta (AMVP) je neophodan za skeniranje indeksa vektora pokreta prediktora (MVP) i razlika vektora pokreta (MVD). Kada se AMVP režim primeni na otkrivanje, signalizirana je afina zastavica (affine_flag) kako bi se označilo da li se koristi afina predikcija. Ako se primeni afina predikcija, sintakse inter_dir, ref_idx, mvp_index i dve MVD vrednosti (mvd_x i mvd_y) se signaliziraju. Generiše se lista kandidata afinih MVP parova, koja uključuje dva afina MVP para. Signalizirani mvp_index se koristi za odabir jednog od ta dva afina MVP para. Afini MVP par se generiše pomoću dva tipa afinih MVP kandidata. Jedan je prostorni nasleđeni afini kandidat, a drugi je afini kandidat izveden iz ugla. Ako su susedni CU blokovi kodirani u afini režim, mogu se generisati prostorni nasledjeni afini kandidati. Afini pokret model susednog bloka kodiranog u afini režim koristi se za generisanje vektora pokreta 2-kontrolne tačke MVP para. Vektori pokreta 2-kontrolne tačke MVP para prostornog nasledjenog afinih kandidata izvedu se korišćenjem odgovarajućih jednačina.
[0331] V0x = VB0x (VB2_x - VB0x ) * ( posCurCU_Y - posRefCU_Y ) / RefCU_height+ (VB1x - VB0x ) * (posCurCU_X - posRefCU_X) / RefCU_width [Jednačina 4]
[0333] V0y = VB0y (VB2_y - VB0y ) * (posCurCU_Y - posRefCU_Y) / RefCU_height+ (VB1y - VB0y ) * (posCurCU_X - posRefCU_X) / RefCU_width [Jednačina 5]
[0335] Ako V_B0, V_B1, i V_B2 mogu biti supstituisani sa gornjim levim MV, gornji desni MV, i donji levi MV date referentne/susedne CU, (posCurCU_X, posCurCU_Y) predstavljaju lokaciju gornjeg levog uzorka trenutne CU za gornji levi uzorak okvira. (posRefCU_X, posRefCU_Y) je lokacija gornjeg levog uzorka referentne/susedne CU za gornji levi uzorak okvira.
[0336] FIG.24 ilustruje primer susednih blokova koji se koriste za predikciju afinog pokreta u afinom inter režimu prema jednom načinu ostvarivanja ovog otkrivanja.
[0337] Pozivanjem na FIG.24, kada je broj MVP parova manji od 2, koristi se afini kandidat izveden iz ugla. Kao što je prikazano na FIG.24, susedni vektori pokreta koriste se za izvođenje afine MVP parove. Što se tiče prvog afini kandidata izvedenog iz ugla, koristi se prvi dostupni MV iz skupa A (A0, A1 i A2) i prvi dostupni MV iz skupa B (B0 i B1) da bi se konfigurisao prvi MVP par. Što se tiče drugog afini kandidata izvedenog iz ugla, koristi se prvi dostupni MV iz skupa A i prvi dostupni MV iz skupa C (C0 i C1) da bi se izračunao MV gornje desne kontrolne tačke. Prvi dostupni MV iz skupa A i izračunati MV gornje desne kontrolne tačke čine drugi MVP par.
[0338] U jednom načinu ostvarivanja ovog otkrivanja, dva skupa kandidata, uključujući dva (tri) kandidata {mv_0, mv_1} ({mv_0, mv_1, mv_2) se koriste da predvide dve (tri) kontrolne tačke modela afinog pokreta. Imajući u vidu razlike vektora pokreta (mvd_0, mvd_1, mvd_2) i kontrolne tačke se izračunavaju korišćenjem jednačina u nastavku.
[0340]
[0342] FIG.25 i 26 predstavljaju dijagrame koji ilustruju postupak izvođenja kandidata vektora pokreta korišćenjem informacija o pokretu susednog bloka u afinom inter režimu, prema jednom načinu ostvarivanja ovog otkrivanja.
[0343] U afinoj listi kandidata, afini pokret se proširuje iz prostorno susednih blokova (ekstrapolovani afini kandidati), a lista afinih kandidata se dopunjuje kombinacijom vektora pokreta iz prostorno susednih blokova (virtuelni afini kandidati). Skupovi kandidata su postavljeni na sledeći način:
[0344] 1. Maksimalno dva različita skupa prediktora afinih MV se izvode iz afinih pokreta susednih blokova. Susedni blokovi A0, A1, B0, B1 i B2 se proveravaju, kao što je ilustrovano na FIG.25. Ako je susedni blok kodiran prema afinom pokret modelu i odgovarajući referentni okvir je isti kao referentni okvir trenutnog bloka, tada se dve kontrolne tačke (za 4-parametarski afini režim) ili tri kontrolne tačke (za 6-parametarski afini režim) trenutnog bloka izvode iz afinih režima susednih blokova.
[0345] 2. FIG.26 ilustruje susedne blokove koji se koriste za generisanje virtuelnog skupa afinih kandidata. Susedni vektori pokreta (MVs) se dele u tri grupe: : S_0={mv_A, mv_B, mv_C},
S_1={mv_D, mv_E}, i S_2={mv_F, mv_G}. mv_0 je prvi MV koji se odnosi na istu referentnu sliku kao onu od trenutnog bloka u S0. mv_2 je prvi MV koji se odnosi na istu referentnu sliku kao onu od trenutnog bloka u S1.
[0346] Ako su dati mv_0 i mv_1, mv_2 može da se izvede jednačinom 9 u nastavku.
[0348]
[0350] U jednačini 9, veličina trenutnog bloka je WxH.
[0351] Ako su dati samo mv_0 i mv_2, mv_1 može da se izvede jednačinom 10 u nastavku.
[0353]
[0355] U jednom načinu ostvarivanja ovog otkrivanja, afina inter predikcija može biti izvedena prema sekvenci u nastavku.
[0356] Ulaz: parametri afinog pokreta, uzorci referentne slike
[0357] Izlaz: predikcioni blok od CU
[0358] Procesor
[0359] Izvođenje veličine podbloka afinog bloka
[0360] − Ako su i širina i visina podbloka veće od 4 luma uzorka,
[0361] --u odnosu na svaki podblok,
[0362] − Izvesti vektor pokreta podbloka
[0363] − Izvesti kompenzaciju pokreta (1/16 pel za luma i 1/32 pel za hroma) na osnovu DCT-IF na podblokovima (pokrenutim)
[0364] − Ako ne, kompenzacija na osnovu pojačanog bilinearnog interpolacionog filtera se izvodi (pokreće) na svim afinim blokovima
[0365] Dodatno, u jednom načinu ostvarivanja ovog otkrivanja, ako je zastavica spajanja/zastavica preskakanja lažna i širina i visina CU su veće ili jednake 8, afina zastavica se signalizira kako bi se označilo da li će se koristiti afini inter režim na nivou CU. Ako je CU kodirana u afinom inter režimu, zastavica modela se signalizira da bi se označilo da li se na CU primenjuje 4-parametarski ili 6-parametarski afini režim. Ako je zastavica modela istinit, primenjuje se AF_6_INTER mode (6-parametarski afini režim) i parsiraju se MVD. Ako nije, primenjuje se AF_4_INTER mode (4-parametarski afini režim) i parsiraju se dva MVD.
[0366] U AF_4_INTER mode, slično kao kod afini režim spajanja, vektor pokreta parovi ekstrapolisani iz susednih blokova kodiranih afini režimom se generišu i po prioritetu ubacuju u listu kandidata.
[0367] Nakon toga, ako je veličina liste kandidata manja od 4, generišu se kandidati koji imaju vektor pokreta par {(v_0,v_1)|v0= {v_A,v_B,v_c},v_1={v_D, v_E}} pomoću susednih blokova. Kao što je ilustrovano na FIG.26, v0v_0v0 se bira iz vektora pokreta blokova A, B i C. Vektor pokreta iz susednog bloka se skalira na osnovu odnosa između reference liste, POC-a referentnog za susedni blok, POC-a referentnog za trenutni CU i trenutnog CU. Dodatno, postupak biranja v_1 iz susednih blokova D i E je sličan. Kada je lista kandidata veća od 4, kandidati se prvo sortiraju na osnovu konzistentnosti susednih vektora pokreta (slično kao dva vektora pokreta u parovima kandidata), i prva 4 kandidata se čuvaju.
[0368] Ako je broj kandidata u listi manji od 4, lista se dopunjuje vektor pokreta parovima dupliranjem AMVP kandidata.
[0369] U AF_6_INTER mode, slično kao kod afini režim spajanja, generišu se trojke vektora pokreta (trojke vektora afinog pokreta) ekstrapolisane iz susednih blokova kodiranih afini režimom spajanja i po prioritetu se ubacuju u listu kandidata.
[0370] Zatim, kada je veličina liste kandidata manja od 4, generišu se kandidati koji uključuju trojke vektora pokreta {(v_0, v_1, v_2)| v0={v_A, v_B, v_c}, v1={v_D, v_E}, v2={v_G, v_H}} koristeći susedne blokove. Kao što je prikazano na FIG.26, v_0 se bira iz vektora pokreta blokova A, B ili C. Vektor pokreta iz susednog bloka se skalira na osnovu odnosa između reference liste, POC-a referentnog za susedni blok, POC referentnog za trenutni CU i samog trenutnog CU. Dodatno, postupak izbora v1v_1v1 iz susednih blokova D i E je sličan postupku izbora v_2 iz susednih blokova F i G. Kada je lista kandidata veća od 4, kandidati se sortiraju na osnovu konzistentnosti susednih vektora pokreta (na sličan način kao kod dva vektora pokreta u okviru trojke kandidata), i prva 4 kandidata se zadržavaju.
[0371] Kada je broj kandidata u listi manji od 4, lista se može dopuniti trojkama vektora pokreta formiranim dupliranjem odgovarajućih AMVP kandidata.
[0372] Nakon što je CPMV trenutnog CU izveden, MVF trenutnog CU se generiše prema jednačini 11 za 4-parametarski afini režim, odnosno prema jednačini 12 za 6-parametarski afini režim, na osnovu broja afinih parametara.
[0373]
[0375] U ovom slučaju, veličina podbloka MxN je izvedena u jednačini 13, a MvPre predstavlja tačnost dela vektora pokreta (1/16).
[0377]
[0379] Nakon što se izvedu vrednosti pomoću jednačine 12, M i N treba, po potrebi, dodatno smanjiti tako da postanu delioci širine w i visine h. Kada je M ili N manji od 8, primenjuje se WIF. Ako nisu manji, primenjuje se afini kompenzacija pokreta na osnovu podbloka.
[0380] FIG.27 ilustruje primer polja vektora afinog pokreta podblok jedinica prema jednom načinu ostvarivanja ovog otkrivanja.
[0381] Pozivajući se na FIG.27, da bi se izveo vektor pokreta svakog M×N podbloka, vektor pokreta centralnog uzorka svakog podbloka kao što je prikazano na FIG.27 izračunava se prema jednačini 11 ili jednačini 12, a zatim se zaokružuje na tačnost od 1/16 dela piksela. SHVC interpolacioni filteri za uvećanje rezolucije koriste se za generisanje predikcije svakog podbloka na osnovu izvedenog vektora pokreta.
[0382] SHVC interpolacioni filteri za uvećanje rezolucije, koji imaju istu dužinu filtera i faktor normalizacije kao HEVC interpolacioni filteri za kompenzaciju pokreta, mogu se koristiti kao interpolacioni filteri kompenzacije pokreta za dodatne frakcione pel položaje. Tačnost vektora pokreta hroma komponente iznosi 1/32 uzorka. Dodatni interpolacioni filteri za položaje od 1/32 pel izvode se kao proseci filtera iz dva susedna položaja od 1/16 pel.
[0383] AF_MERGE spajanja može biti izabran na strani kodera koristeći isti postupak kao i pri izboru uobičajenog režima spajanja. Lista kandidata se najpre generiše po prioritetu, a zatim se bira kandidat sa najmanjim RD-troškom za poređenje sa RD-troškovima drugih inter režima. Rezultat poređenja određuje da li će se primeniti AF_MERGE ili ne.
[0384] Za režim AF_4_INTER, provera RD troška koristi se da bi se utvrdilo da li je par kandidata vektora pokreta izabran kao kontrolna tačka vektor pokreta predikcija (CPMVP) trenutne CU jedinice. Nakon što je CPMVP za trenutnu afinu CU određen, primenjuje se afina procena pokreta, i dobija se kontrolna tačka vektor pokreta (CPMV). Shodno tome, određuje se razlika između CPMV i CPMVP.
[0385] Na strani koderа, režim AF_6_INTER se identifikuje samo kada su AF_MERGE ili AF_4_INTER određeni kao optimalni režimi u prethodnoj fazi izbora režima.
[0386] U jednom načinu ostvarivanja ovog otkrivanja, afini inter (afini AMVP) režim može biti izveden na sledeći način:
[0387] 1) AFFINE_MERGE_IMPROVE: umesto traženja prvog susednog bloka u afini režim, poboljšanje je da se traži susedni blok koji ima maksimalnu veličinu kodirajuće jedinice kao afini kandidat za spajanje.
[0388] 2) AFFINE_AMVL_IMPROVE: susedni blokovi u afini režim dodaju se u afinu AMVP listu kandidata, slično kao u uobičajenom AMVP postupku.
[0389] Detaljan postupak generisanja afine AMVP liste kandidata je sledeći.
[0390] Prvo se proverava da li susedni blok na donjoj levoj strani koristi afini model pokreta i ima isti referentni indeks kao trenutni referentni indeks. Ako susedni blok nije prisutan, levi susedni blok se identifikuje koristeći isti postupak. Ako ni tada susedni blok nije prisutan, proverava se da li susedni blok na donjoj levoj strani koristi afini model pokreta i ima drugačiji referentni indeks. Ako je susedni blok prisutan, skalirani vektor afinog pokreta se dodaje u listu referentne slike. Ako susedni blok nije prisutan, levi susedni blok se ponovo identifikuje istim postupkom.
[0391] Zatim se, istim postupkom, identifikuju gornji desni susedni blok, gornji susedni blok i gornji levi susedni blok.
[0392] Nakon ovih procesa, ako su pronađena dva kandidata, postupak generisanja afine AMVP liste kandidata se završava. Ako dva kandidata nisu pronađena, primenjuje se originalna operacija unutar JEM softvera kako bi se generisala afina AMVP lista kandidata.
[0393] 3) AFFINE_SIX_PARAM: pored 4-parametarskog afinog modela pokreta, dodaje se i model 6-parametarskog afinog pokreta kao dodatni model.
[0394] Model 6-parametarskog afinog pokreta izvodi se pomoću jednačine 14.
[0395] Tri vektora pokreta na gornjem levom položaju MV_0, gornjem desnom položaju MV_1 i donjem levom položaju MV_2 neophodna su da bi se odredio model, jer su u modelu pokreta prisutni 6 parametara. Tri vektora pokreta mogu se odrediti koristeći postupak sličan postupku određivanja dva vektora pokreta u 4-parametarskom afinom modelu pokreta. U afini režim spajanja uvek se postavlja model 6-parametarskog afinog pokreta.
[0396] 4) AFFINE_CLIP_REMOVE: ograničenja vektora pokreta za sve vektore afinog pokreta se uklanjaju. Procesi kompenzacije pokreta se koriste za kontrolu samih ograničenja vektora pokreta.
[0398] Model afinog pokreta
[0399] Kao što je prethodno opisano, različiti afini modeli pokreta mogu se koristiti ili razmatrati u afinoj inter predikciji. Na primer, afini model pokreta može predstavljati četiri pokreta kao na FIG.15. Afini model pokreta koji je sposoban da predstavlja tri pokreta (translacija, skaliranje i obrtanje), među pokretima koji mogu biti predstavljeni afinim modelom pokreta, može se nazvati model sličnosti (ili pojednostavljeni) afini model pokreta. Broj CPMV i/ili postupak izvođenja MV uzorka/podblok jedinice trenutnog bloka može biti različit u zavisnosti od toga koji afini model pokreta se koristi.
[0400] U jednom načinu ostvarivanja ovog otkrivanja, koriste se adaptivni četvoroparametarski i šestoparametarski modeli pokreta. U AF_INTER režimu, 6-parametarski model pokreta se predlaže kao dodatak postojećem 4-parametarskom modelu pokreta u JEM-u. Model 6-parametarskog afinog pokreta je opisan kao jednačina 15.
[0402]
[0404] U ovom slučaju, koeficijenti a, b, c, d, e i f su parametri afinih pokreta. (x, y) i (x', y') predstavljaju koordinate na piksel položajima pre i posle transformacije afinih modela pokreta. U video kodiranju, da bi se koristio afini model pokreta, ako su CPMV0, CPMV1 i CPMV2 vektori pokreta za CP0 (gornji levi), CP1 (gornji desni) i CP2 (donji levi), jednačina 16 može biti opisana na sledeći način.
[0405] U ovom slučaju, CPMV_0 = {v_0x, v_0y}, CPMV_1 = {v_1x, v_1y}, CPMV_2 = {v_2x, v_2y}, a w i h su širina i visina svakog kodirajućeg bloka. Jednačina 16 predstavlja polje vektora pokreta (MVF) bloka.
[0406] Na nivou CU jedinice parsira se zastavica kako bi se označilo da li se koristi 4-parametarski ili 6-parametarski model afinog pokreta kada su susedni blokovi kodirani kao afina predikcija. Ako susedni blok kodiran kao afina predikcija nije prisutan, zastavica se izostavlja i koristi se 4-parametarski model za afinu predikciju. Drugim rečima, 6-parametarski model se razmatra u uslovu kada je jedan ili više susednih blokova kodirano u afini model pokreta. U vezi sa brojem CPMVD, dva ili tri CPMVD-a se signaliziraju u odnosu na 4-parametarski i 6-parametarski model afinog pokreta.
[0407] Dodatno, u jednom načinu ostvarivanja ovog otkrivanja, može se koristiti fino podešavanje vektora pokreta zasnovano na poklapanju šablona. Kod izvođenja vektora pokreta zasnovanoj na poklapanju šablona (PMMVD, dalje skraćeno kao PMVD u opisu JEM kodera), dekoder mora da proceni određene vektore pokreta (MV) kako bi odredio početnog kandidata MV za pretragu na nivou CU. U pretrazi na nivou pod-CU jedinice dodaju se neki MV kandidati, pored optimalnog MV na nivou CU. Dekoder mora da proceni te MV kandidate kako bi pronašao optimalni MV. Ovo zahteva veliki memorijski protok. U predloženom finom podešavanju vektora pokreta zasnovanom na poklapanju šablona (PMVR), koncepti poklapanja šablona i bilateralnog poklapanja u PMVD su usvojeni u JEM. Kada je režim preskakanja ili režim spajanja izabran da označi da je PMVR dostupan, signalizira se jedna PMVR zastavica. Da bi se značajno smanjio zahtev za memorijskim protokom u odnosu na PMVD, generiše se MV lista kandidata. Ako se PMVR primenjuje, indeks početnog MV kandidata se eksplicitno signalizira.
[0408] Lista kandidata se generiše koristeći postupak generisanja liste kandidata za spajanje, ali se kandidati za spajanje na nivou pod-CU jedinice, na primer afini kandidati i ATMVP kandidati, isključuju. Za bilateralno poklapanje, uključuje se samo uni-predikcija MV kandidat. Bi-predikcija MV kandidat se deli na dva MV kandidata jedinične predikcije. Dodatno, slični MV kandidati (oni sa MV razlikama manjim od prethodno definisanog donjeg praga) se takođe uklanjaju. Za pretragu na nivou CU jedinice, dijamantska pretraga za fino podešavanje MV se izvodi počevši od signaliziranog MV kandidata.
[0409] Pretraga na nivou pod-CU jedinice dostupna je samo u režimu bilateralnog spajanja. Prozor pretrage za pretragu svih pod-CU jedinica isti je kao prozor pretrage na nivou CU jedinice. Shodno tome, za pretragu na nivou pod-CU jedinice nije potrebna dodatna memorijska širina protoka.
[0410] Kako bi se MVP rafinisao u datom režimu, koristi se i poklapanje šablona. U AMVP režimu generišu se dva MVP koristeći HEVC postupak generisanja MVP, a jedan MVP indeks se signalizuje kako bi se izabrao jedan od ta dva MVP. Izabrani MVP se dalje rafiniše pomoću poklapanja šablona u PMVR postupku. Ako se primenjuje adaptivna rezolucija vektora pokreta (AMVR), MVP se zaokružuje na odgovarajuću tačnost pre finog podešavanja poklapanjem šablona. Ovakav postupak finog podešavanja naziva se fino podešavanje prediktora vektora pokreta zasnovano na poklapanju šablona (PMVPR). U ostatku ovog dokumenta, izraz PMVR obuhvata poklapanje šablona PMVR, bi-direkciono poklapanje PMVR i PMVPR, osim ako nije posebno drugačije definisano.
[0411] Kako bi se smanjio zahtev za memorijskim protokom, PMVR nije dostupan za CU jedinice veličine 4x4, 4x8 i 8x4. Da bi se smanjila količina potrebnog dodatnog memorijskog protoka, opseg pretrage za {poklapanje šablona, bi-direkciono poklapanje} za CU površinu jednaku 64 može se smanjiti na {±2, ±4}. Opseg pretrage za {poklapanje šablona, bi-direkciono poklapanje} za CU površinu veću od 64 može se smanjiti na {±6, ±8}. U poređenju sa najgorim slučajem u HEVC-u, potreban memorijski protok je smanjen sa 45,9x u PMVD JEM-7.0 na 3,1x u PMVR-u koristeći sve postupke opisane u sekciji PMVR ovog dokumenta.
[0413] Afini: Primenjena tehnologija kada se koristi afina u ne-QT bloku
[0414] FIG.28 za primer prikazuje postupak i vektor pokreta u kojem se generiše predikcioni blok u inter predikciji, na koji je primenjen afini model pokreta prema jednom načinu ostvarivanja ovog otkrivanja.
[0415] Pozivanjem na FIG.28, može se videti jednačina za izvođenje vektora pokreta ako se primeni afini model pokreta. Vektor pokreta može se odrediti na osnovu sledeće jednačine 17.
[0417]
[0420] [0232] U ovom slučaju, v_x označava x komponentu jedinice uzorka vektora pokreta za uzorak koordinata (x, y) unutar trenutnog bloka. v_y označava y komponentu jedinice uzorka vektora pokreta za uzorak koordinata (x, y) unutar trenutnog bloka. Drugim rečima, (v_x, v_y) je jedinica uzorka vektora pokreta za uzorak koordinata (x, y). U ovom slučaju, a, b, c, d, e, f predstavljaju parametre jednačine za izvođenje jedinice uzorka vektora pokreta (informacije o pokretu) koordinata (x, y) na osnovu kontrolnih tačaka (CP) trenutnog bloka. CP može biti predstavljen
kao kontrolni element slike. Parametri se mogu odrediti iz informacija o pokretu CP svake PU jedinice koja je preneta unutar PU. Jednačina za izvođenje jedinice uzorka vektora pokreta izvedena iz informacija o pokretu CP može se primeniti na svaki uzorak bloka, i može se odrediti kao položaj uzorka unutar referentne slike, u zavisnosti od relativnog položaja između x i y ose svakog uzorka. Jedinica uzorka vektora pokreta može se različito izvoditi u zavisnosti od veličine bloka prema QTBT(TT) strukturi podele bloka, asimetričnog ili simetričnog tipa, ili položaja bloka. Detaljan način ostvarivanja ovoga ilustruju FIG.29 do FIG.38, koji će biti opisani u nastavku.
[0421] FIG.29 predstavlja dijagram koji ilustruje postupak izvođenja kompenzacije pokreta na osnovu vektora pokreta kontrolnih tačaka prema jednom načinu ostvarivanja ovog otkrivanja.
[0422] Pozivanjem na FIG.29, opisuje se pretpostavka da je trenutni blok 2Nx2N blok. Na primer, vektor pokreta gornjeg levog uzorka unutar trenutnog bloka može se označiti kao v_0. Dodatno, vektori pokreta CP mogu biti v_1 i v_2, koristeći uzorke susednih blokova susednih trenutnom bloku kao CP. Drugim rečima, ako su širina i visina trenutnog bloka S, a koordinate gornjeg levog uzorka trenutnog bloka su (xp, yp), koordinate CP0 CP mogu biti (xp, yp), koordinate CP1 mogu biti (xp+S, yp), a koordinate CP2 mogu biti (xp, yp+S). Vektor pokreta CP0 može biti v_0, vektor pokreta CP1 može biti v_1, a vektor pokreta CP2 može biti v_2. Jedinica uzorka vektora pokreta može se izvesti koristeći vektore pokreta CP. Jedinica uzorka vektora pokreta može se odrediti na osnovu sledeće jednačine 18.
[0424]
[0427] U ovom slučaju, v_x, v_y označavaju x i y komponentu vektora pokreta za uzorak sa koordinatama (x, y) unutar svakog trenutnog bloka. v_x0, v_y0 označavaju x i y komponentu vektora pokreta v_0 za CP0, tim redom. v_x1, v_y1 označavaju x i y komponentu vektora pokreta v_1 za CP1, tim redom. v_x2, v_y2 označavaju x i y komponentu vektora pokreta v_2 za CP2, tim redom. Vektor pokreta svakog uzorka unutar trenutnog bloka može se odrediti na osnovu relativnog položaja unutar trenutnog bloka, koristeći jednačinu za izvođenje jedinice uzorka vektora pokreta, kao što je jednačina 1.3.4.4-2.
[0428] FIG.30 predstavlja dijagram koji ilustruje postupak izvođenja kompenzacije pokreta na osnovu vektora pokreta kontrolnih tačaka u nekvadratnom bloku, prema jednom načinu ostvarivanja ovog otkrivanja.
[0429] FIG.30 ilustruje CP bloka podeljenog na Nx2N. Jednačina za izvođenje jedinice uzorka vektora pokreta unutar trenutnog bloka može se odrediti koristeći isti postupak kao u slučaju 2Nx2N particionisanja. U procesu izvođenja jednačine može se koristiti vrednost širine odgovarajuća obliku trenutnog bloka. Da bi se odredila jedinica uzorka vektora pokreta, mogu se koristiti tri CP, a lokacije CP mogu se prilagoditi kao na FIG.1.3.4.4-3. Drugim rečima, ako su širina i visina trenutnog bloka S/2 i S, tim redom, a koordinate gornjeg levog uzorka trenutnog bloka su (xp, yp), koordinate CP0 mogu biti (xp, yp), koordinate CP1 mogu biti (xp+S/2, yp), a koordinate CP2 mogu biti (xp, yp+S). Jedinica uzorka vektora pokreta može se odrediti na osnovu sledeće jednačine 19.
[0431]
[0434] U ovom slučaju, v_x, v_y označavaju x i y komponentu vektora pokreta za uzorak sa koordinatama (x, y) unutar trenutnog bloka, tim redom. v_x0, v_y0 označavaju x i y komponentu vektora pokreta v_0 za CP0, tim redom. v_x1, v_y1 označavaju x i y komponentu vektora pokreta v_1 za CP1, tim redom. v_x2, v_y2 označavaju x i y komponentu vektora pokreta v_2 za CP2, tim redom. Jednačina 19 ilustruje jednačinu za izvođenje jedinice uzorka vektora pokreta uzimajući u obzir da je širina trenutnog bloka S/2. Svaki uzorak unutar trenutnog bloka, podeljenog iz CU na osnovu particionisanja tipa Nx2N, korišćenjem jednačine za izvođenje jedinice uzorka vektora pokreta, kao što je jednačina 1.3.4.4-3, može se odrediti na osnovu relativnog položaja unutar trenutnog bloka.
[0435] FIG.31 predstavlja dijagram koji ilustruje postupak izvođenja kompenzacije pokreta na osnovu vektora pokreta kontrolnih tačaka u nekvadratnom bloku, prema jednom načinu ostvarivanja ovog otkrivanja.
[0436] [0240] FIG.31 ilustruje blokove podeljene na osnovu particionisanja tipa 2NxN. Da bi se odredila jedinica uzorka vektora pokreta, mogu se koristiti tri CP. Lokacije CP mogu se prilagoditi kao na FIG.31, a visina može biti prilagođena na S/2, u zavisnosti od oblika trenutnog bloka prikazanog na FIG.31. Drugim rečima, ako su širina i visina trenutnog bloka S i S/2, tim redom, a koordinate gornjeg levog uzorka trenutnog bloka su (xp, yp), koordinate CP0 mogu biti (xp, yp), koordinate CP1 mogu biti (xp+S, yp), a koordinate CP2 mogu biti (xp, yp+S/2). Jedinica uzorka
vektora pokreta može se odrediti korišćenjem sledeće jednačine 20.
[0438]
[0441] U ovom slučaju, v_x, v_y označavaju x i y komponentu vektora pokreta za uzorak sa koordinatama (x, y) unutar trenutnog bloka, redom. v_x0, v_y0 označavaju x i y komponentu vektora pokreta v_0 za CP0, redom. v_x1, v_y1 označavaju x i y komponentu vektora pokreta v_1 za CP1, redom. v_x2, v_y2 označavaju x i y komponentu vektora pokreta v_2 za CP2, redom. Jednačina 20 ilustruje jednačinu za izvođenje jedinice uzorka vektora pokreta uzimajući u obzir da je visina trenutnog bloka S/2. Svaki uzorak unutar trenutnog bloka, podeljenog iz CU na osnovu particionisanja tipa Nx2N, korišćenjem jednačine za izvođenje jedinice uzorka vektora pokreta, kao što je jednačina 1.3.4.4-4, može se odrediti na osnovu relativnog položaja unutar trenutnog bloka.
[0442] FIG.32 do FIG.38 predstavljaju dijagrame koji ilustruju postupak izvođenja kompenzacije pokreta na osnovu vektora pokreta kontrolnih tačaka u nekvadratnom bloku, prema jednom načinu ostvarivanja ovog otkrivanja.
[0443] FIG.32 ilustruje CP asimetričnih tipova trenutnih blokova. Kao što je prikazano na FIG.
[0444] 32, širina i visina asimetričnih trenutnih blokova mogu biti označene kao W i H, redom. Da bi se odredila jedinica uzorka vektora pokreta, mogu se koristiti tri CP za svaki trenutni blok, a koordinate CP mogu se prilagoditi u zavisnosti od širine i visine, prema obliku trenutnog bloka prikazanom na FIG.32. Drugim rečima, ako su širina i visina trenutnog bloka W i H, a koordinate gornjeg levog uzorka svakog trenutnog bloka su (xp, yp), koordinate CP0 mogu biti (xp, yp), koordinate CP1 mogu biti (xp+W, yp), a koordinate CP2 mogu biti (xp, yp+H). U ovom slučaju, jedinica uzorka vektora pokreta unutar trenutnog bloka može se odrediti na osnovu sledeće jednačine 21.
[0446]
[0449] U ovom slučaju, v_x, v_y označavaju x i y komponentu vektora pokreta za uzorak sa koordinatama (x, y) unutar trenutnog bloka, redom. v_x0, v_y0 označavaju x i y komponentu vektora pokreta v_0 za CP0, redom. v_x1, v_y1 označavaju x i y komponentu vektora pokreta v_1 za CP1, redom. v_x2, v_y2 označavaju x i y komponentu vektora pokreta v_2 za CP2, redom.
[0450] Jednačina 21 ilustruje jednačinu za izvođenje jedinice uzorka vektora pokreta uzimajući u obzir širinu i visinu asimetričnih tipova trenutnih blokova.
[0451] U međuvremenu, prema ovom otkrivanju, kako bi se smanjila količina podataka informacija o pokretu CP u blok jedinici, informacija o pokretu predikcioni kandidat za bar jedan CP može se izabrati na osnovu informacije o pokretu susednog bloka ili susednog uzorka trenutnog bloka. Takav informacija o pokretu predikcioni kandidat može se nazvati afini kandidat informacija o pokretu ili kandidat vektora afinog pokreta. Afini kandidati informacija o pokretu mogu uključivati sadržaje prikazane na FIG.33 do FIG.38, na primer.
[0453] ATMVP simplifikacija
[0454] Napredna predikcija vremenskog vektora pokreta (ATMVP) je inter predikcija koja koristi vremenski kandidat informacija o pokretu, ali može predstavljati inter predikciju koristeći kandidat informacija o pokretu predložen za unapređenje postojećeg TMVP. U načinu ostvarivanja ovog otkrivanja, ATMVP nije ograničen na svoje ime, i ATMVP mogu biti označeni kao podblok vremenski kandidat za spajanje, podblok baziran vremenski kandidat za spajanje, podblok vremenski vektor pokreta prediktor, podblok baziran vremenski vektor pokreta prediktor i slično.
[0455] Konkretno, pokret unutar okvira možda nije uključen u TMVP koristeći vektor pokreta colPB u desno-donjem bloku trenutnog bloka ili u centralnom položaju trenutnog bloka kao vremenski kandidat informacija o pokretu. Suprotno tome, ako se primeni ATMVP, vektor pokreta colPB na lokaciji označenoj vektorom pokreta susednog bloka može se koristiti kao ATMVP kandidat.
[0456] U primeru primene ATMVP, nakon što se vektor pokreta dostupnog prostornog susednog bloka prvo pretraži dok se sekvencijalno proveravaju konfiguracije kandidata za spajanje, lokacija označena vremenskim vektorom u referentnoj slici može se odrediti kao kol-PB (ATMVP kandidat). Dodatno, vektor pokreta odgovarajućeg bloka može se koristiti u svakoj podblok jedinici koristeći vremenski vektor. U ovom slučaju, ako MV nije prisutan u određenom podbloku, MV bloka koji se nalazi u centru odgovarajućeg bloka koristi se kao MV za nedostupni podblok i čuva se kao reprezentativni MV.
[0457] Dodatno, mogu biti predložene različite sheme pojednostavljenja ATMVP za korišćenje ATMVP, koje omogućavaju smanjenje količine memorije koja se koristi.
[0458] [0250] U jednom načinu ostvarivanja, korišćenje memorije može biti smanjeno jer je referentna slika za pronalaženje odgovarajućeg bloka ograničena na kolociranu sliku (naznačenu u zaglavlju
segmenta isečka). Na primer, može se koristiti do 4 referentne slike. Da bi se pronašao odgovarajući blok, vremenski vektor može se odrediti iz jednog od prostornog kandidata po redosledu skeniranja. Ako trenutni kandidat ima referentnu sliku istu kao kolocirana slika, proces pretrage može biti završen.
[0459] Na primer, mogu se izvršiti modifikacije ATMVP i STMVP podblok režima spajanja:
[0460] 1. Dodaje se signalizacija na nivou slike/isečka kako bi se omogućila upotreba različitih veličina podbloka za ATMVP/STMVP bazirano izvođenje pokreta.
[0461] 2. Pojednostavljeno ATMVP bazirano izvođenje pokreta omogućavanjem korišćenja samo jedne kolocirane slike.
[0462] U jednom načinu ostvarivanja, predlaže se podrška za prilagođavanje na nivou slike/isečka granularnosti polja pokreta izvedenog korišćenjem ATMVP i STMVP režima.
[0463] Konkretno, predlaže se da se u skupu sekvencijalnih parametara (SPS) signalizira podrazumevana vrednost veličine podbloka koja se koristi za izvođenje parametara pokreta za ATMVP i STMVP u isečcima koji se odnose na SPS. Dodatno, jedna zastavica se signalizira u zaglavlju segmenta isečka. Ako je zastavica jednaka 0, to označava da se podrazumevana veličina podbloka, kako je navedena u SPS, koristi za ATMVP/STMVP bazirano izvođenje pokreta u trenutnom isečku. U suprotnom (tj. zastavica je postavljena na 1), drugi sintaksni element se signalizira u zaglavlju segmenta isečka da označi ATMVP/STMVP veličinu podbloka koja se koristi za taj isečak.
[0464] U jednom načinu ostvarivanja, koristi se jednostavan postupak kodiranja da se odredi ATMVP/STMVP veličina podbloka za trenutnu sliku. Jedna od dve ATMVP/STMVP veličine podbloka, 4 i 8, se bira na osnovu prosečne veličine ATMVP/STMVP blokova iz poslednje kodirane slike u istom vremenskom sloju. Pretpostavimo da je upravo kodirana slika i-ta slika u ktom vremenskom sloju i da sadrži N CU kodiranih ATMVP i STMVP režimima. Takođe, pretpostavimo da su veličine tih CU S<0>, S<1>, ..., S<N-1>. Prosečna veličina ATMVP/STMVP CU se računa kao
[0466] . Zatim, kada kodiranje (i+1)-te slike u istom k-om vremenskom sloju, odgovarajuća veličina podbloka
se određuje prema jednačini 22 u nastavku.
[0467] U jednom načinu ostvarivanja, za prvu sliku u svakom vremenskom sloju, ATMVP/STMVP veličina podbloka može biti uvek postavljena na 4.
[0468] U jednom načinu ostvarivanja, ATMVP može se izvesti korišćenjem sledeće dve faze:
[0469] 1. Koder/dekoder može dodati vektore pokreta iz prostorno susednih CU ako je susedni CU dostupan i ako je MV tog CU različit od MV u postojećoj listi kandidata, po redosledu A1, B1, B0 i A0, kao što je prikazano na FIG.12. Broj dostupnih i jedinstvenih prostornih kandidata može biti označen kao N0;
[0470] 2. Prvi MV kandidat iz N0 prostornih kandidata može se koristiti za određivanje kolocirane slike i položaji sa kojih se preuzima pokret za svaki podblok (dodavanjem pomeraja u skladu sa MV). Ako je N0 jednako 0, koristi se kolocirana slika signalizirana u zaglavlju isečka i kolocirana položaj sa nultim pokretom za preuzimanje pokreta za svaki podblok.
[0471] Kolocirana slika različitih CU za ATMVP možda nije uvek ista ako se koriste više referentnih slika. Za različite CU-ove u trenutnoj slici, imanje različitih kolociranih slika za ATMVP izvođenje može označavati da je potrebno preuzeti polja pokreta više referentnih slika, što je neželjeno zbog povećanja memorijske propusnosti. Zato se, u jednom načinu ostvarivanja, predlaže pojednostavljen dizajn da se koristi ista kolocirana slika kao u HEVC, koja je signalizirana u zaglavlju isečka, kao kolocirana slika za ATMVP izvođenje. Na nivou bloka, ako je referentna slika susednog bloka A različita od ove kolocirane slike, MV bloka A može se skalirati korišćenjem HEVC vremenskog MV skaliranja, i skalirani MV bloka A može se koristiti u ATMVP.
[0472] Vektor pokreta koji se koristi za preuzimanje polja pokreta u kolociranoj slici Rcol može biti označen kao MVcol. Da bi se minimizirao uticaj skaliranja MV-a, MV u prostornoj listi kandidata koji se koristi za izvođenje MVcol se bira na sledeći način: Ako je referentna slika MV kandidata kolocirana slika, ovaj MV se izabira i koristi kao MVcol bez skaliranja. U suprotnom, bira se MV čija je referentna slika najbliža kolociranoj slici da bi se izveo MVcol sa skaliranjem.
[0474] Opšta predikcija vektora pokreta zasnovana na istoriji (HMVP)
[0475] [0258] Generalno, tehnologija kompresije slike koristi prostornu i vremensku redundanciju kao dva glavna pristupa. Na primer, i HEVC i VVC koriste dva režima kompresije pokreta bazirana na inter kodiranju. Jedan je pokret spajanja, a drugi je napredna predikcija vektora pokreta (AMVP). Kako bi se unapredila ova dva režima predikcije, razmatraju se različite modifikacije. Te modifikacije uključuju povećanje broja kandidata kako bi se tražili prostorno prošireni kandidati, kao i proveru vremenskih kandidata na netradicionalnim lokacijama. Oba režima uglavnom
uključuju: konstruisanje liste koristeći dostupne kandidate, svođenje na minimum troškova ratedistortion (RD) i signalizaciju izabranog kandidata u protoku bitova.
[0476] Konkretno, u najnovijim tehnologijama kompresije slike, razmatra se HMVP u kojem se informacije o pokretu prethodno kodiranog bloka čuvaju, i te sačuvane informacije se koriste za predikciju pokreta naknadno kodiranog bloka. Takav HMVP može da se doda na listu za spajanje (ili listu kandidata za spajanje) ili AMVP listu (ili AMVP listu kandidata).
[0477] Dekoder održava tabelu pretraživanja (LUT) koja funkcioniše po sistemu (ili postupku) prvi ulaz, prvi izlaz (FIFO) za HMVP. U ovom otkrivanju, LUT nije ograničena na svoje ime, i može biti označena kao tabela, HMVP tabela, HMVP kandidat tabela, bafer, HMVP bafer, HMVP kandidat bafer, HMVP lista ili HMVP lista kandidata. Konkretno, kada se dekodira ne-afina predikciona jedinica (PU) ili kodirajuća jedinica (CU), odgovarajuće informacije o pokretu se čuvaju u LUT-u. Dekoder zatim vrši dekodiranje na sledećoj PU. U ovom slučaju, sačuvane informacije o pokretu mogu uključivati vektore pokreta, informacije o referentnom indeksu i informacije o režimu u x (horizontalnoj) i y (vertikalnoj) dimenziji.
[0478] Dekoder održava LUT u kojoj se čuvaju informacije o pokretu progresivno dekodiranih neafinih kandidata. Veličina LUT može biti ograničena na predefinisan broj S kandidata. U jednom načinu ostvarivanja, LUT se može resetovati na početku isečka, na početku CTU reda ili na početku CTU.
[0479] HMVP može biti primenjen kako u režimu spajanja, tako i u AMVP režimu. Lista za spajanje može imati B kandidata, a AMVP lista može imati dva kandidata. U konvencionalnoj tehnologiji kompresije slike, lista za spajanje je konfigurisana sa sledećim kandidatima: i) prostorni kandidat, ii) vremenski kandidat, iii) bi-direkciono predikcija (Bi-Pred) kandidat, iv) nulti vektor pokreta kandidat. Postupak dodatnog razmatranja napredne predikcije vektora pokreta (ATMVP) kao kandidata je nedavno razmatran. Na primer, ATMVP kandidat može biti ubačen u listu za spajanje pre vremenskog kandidata. Kandidati u listi za spajanje se dodaju sve dok lista ne dostigne maksimalnu veličinu. Duplikat kandidata se ne dodaje u listu. Dva kandidata mogu biti ubačena u AMVP listu. Na primer, prvi kandidat od ta dva kandidata može biti izabran iz dostupnih prostornih kandidata, a drugi kandidat može biti izabran iz vremenskih kandidata. Ako lista nije popunjena, može se dodati nulti vektor pokreta kandidat.
[0480] HMVP se primenjuje na osnovu FIFO reda, pri čemu kandidati izlaze iz tabele pretraživanja (LUT) identično kao što su i uneseni.
[0481] U jednom načinu ostvarivanja, kada se HMVP primeni na konfiguraciju liste za spajanje, HMVP kandidat može biti ubačen (ili dodat) na trećem položaju liste na sledeći način:
[0482] 1. Prostorni Kandidat
[0483] 2. Vremenski Kandidat
[0484] 3. Do S HMVP kandidata za LUT
[0485] 4. Kombinovani Bi-Pred kandidat
[0486] 5. Kandidat nultog pokreta vektora
[0487] U jednom načinu ostvarivanja, kada se HMVP primeni na konfiguraciju AMVP liste, HMVP kandidat može biti ubačen na treći položaj, nakon vremenskog kandidata, na sledeći način:
[0488] 1. Prostorni Kandidat
[0489] 2. Vremenski Kandidat
[0490] 3. Do K HMVP kandidati
[0491] 4. Kandidat nultog pokreta vektora
[0492] FIG.39 predstavlja dijagram toka za opisivanje postupka čuvanja HMVP prema jednom načinu ostvarivanja ovog otkrivanja.
[0493] Pozivanjem na FIG.39, dekoder dekodira trenutni PU (ili CU) (S3901).
[0494] Dekoder proverava da li je trenutni PU blok kodiran u ne-afinom režimu (S3902). Kako bi se olakšala upotreba HMVP kandidata, ako je trenutni PU blok kodiran u afinom režimu, dekoder ne čuva informacije o pokretu trenutnog PU u tabeli.
[0495] Ako je trenutni PU blok kodiran u ne-afinom režimu, dekoder čuva (ili ažurira) informacije o pokretu trenutnog PU u tabeli (S3903).
[0496] U jednom načinu ostvarivanja ovog otkrivanja, HMVP tabela može se ažurirati koristeći dva postupka, odnosno: i) neograničeni FIFO, ii) ograničeni FIFO. U prvom slučaju, redundantne informacije o pokretu mogu biti prisutne, ali postupak uklanjanja suvišnih kandidata se ne primenjuje. Ovo doprinosi smanjenju složenosti celokupnog procesa. Ovo je opisano sa referencom na sledeću figuru.
[0497] FIG.40 predstavlja dijagram za opisivanje HMVP tabele koja funkcioniše u neograničenom FIFO načinu prema jednom načinu ostvarivanja ovog otkrivanja.
[0498] Pozivanjem na FIG.40, kandidat koji se dodaje u tabelu se dodaje na kraj (desnu stranu) tabele. Suprotno tome, kandidat koji se izbacuje iz tabele prema FIFO postupku se nalazi na prednjem kraju (levoj strani, najstariji kandidat) tabele.
[0499] Ako tabela nije potpuno popunjena maksimalnim brojem predefinisanih kandidata na indeksu L-1 (tj. na kraju), novi kandidati se dodaju bez uklanjanja postojećeg kandidata.
[0500] Suprotno tome, ako je tabela već potpuno popunjena, odnosno, ako je maksimalan broj
kandidata u tabeli dostignut, kandidat na prednjem kraju, odnosno najstariji u tabeli, se uklanja, i novi kandidat se dodaje.
[0501] FIG.41 predstavlja dijagram za opisivanje HMVP tabele koja funkcioniše u ograničenom FIFO načinu prema jednom načinu ostvarivanja ovog otkrivanja.
[0502] Pozivanjem na FIG.41, u slučaju da se koristi ograničeni FIFO, uklanjanje suvišnih kandidata se primenjuje ako dodavanje novog kandidata izazove bilo kakvu redundantnost. U jednom načinu ostvarivanja, ako u tabeli postoji kandidat sa redundantnim informacijama o pokretu, redundantni kandidat u tabeli se uklanja, i informacije o pokretu trenutnog kandidata mogu biti dodate.
[0504] Način ostvarivanja 1
[0505] U vezi sa HMVP kandidatima, u mnogim slučajevima, najnoviji istorijski MV mogu preklapati informacije o pokretu prostornog kandidata (ili prostornog susednog kandidata). Shodno tome, sadašnji način ostvarivanja predlaže postupak za postavljanje reda dodavanja kandidata drugačije od HMVP LUT indeksnog reda kada se HMVP kandidat dodaje u AMVP ili listu za spajanje.
[0506] Prema jednom načinu ostvarivanja ovog otkrivanja, lista kandidata može biti efikasno konfigurisana adaptivnim podešavanjem HMVP kandidata. Shodno tome, broj signaliziranih binova korišćenih za binarizaciju može biti smanjen, a efikasnost kodiranja poboljšana.
[0507] Odnosno, HMVP kandidati dodati u listu za spajanje ili AMVP listu ne moraju biti ograničeni indeksom u HMVP listi. Kao jedan način ostvarivanja, tabela 2 ilustruje postupak promene reda dodavanja HMVP kandidata u AMVP ili listu za spajanje.
[0508] [Tabela 2]
[0510]
[0513] Pozivanjem na tabelu 2, kao što je prethodno opisano, postoji velika verovatnoća da najnovije ubačeni HMVP kandidat može imati iste informacije o pokretu kao prostorni kandidat.
[0514] Shodno tome, red dodavanja HMVP kandidata može biti predefinisan bez obzira na HMVP indeks, uzimajući u obzir ovu mogućnost.
[0515] Dodatno, u jednom načinu ostvarivanja, koder ili dekoder može dodati HMVP kandidata u listu za spajanje ili AMVP listu počevši od n-tog kandidata u listi. Tabela 3 u nastavku ilustruje promenjeni red dodavanja kandidata u AMVP ili listu za spajanje.
[0516] [Tabela 3]
[0518]
[0521] Pozivanjem na tabelu 3, HMVP kandidat može biti dodat u listu za spajanje ili AMVP listu počevši od drugog indeksa.
[0522] U jednom načinu ostvarivanja, informacije o redu dodavanja HMVP kandidata unutar tabele (LUT) mogu biti signalizirane sa kodera dekoderu. Na primer, takve informacije o redosledu mogu biti prenete putem visokog nivoa sintakse (HLS). Visoki nivo sintakse može biti, na primer, sekvencijalni parametarski set, parametarski set slike, zaglavlje isečka, jedinica stabla kodiranja, kodirajuća jedinica i/ili neki drugi odgovarajući zaglavlje sintaksnih podataka.
[0523] Tabela 4 ilustruje strukturu visokog nivoa sintakse na koju se može primeniti postupak predložen u ovom otkrivanju.
[0524] [Tabela 4]
[0525] high_level_parameter_ set() { Opis
[0528]
[0531] Pozivanjem na tabelu 4, set_HMVP_order_flag jednak 1 označava da je set_HMVP_order_flag prisutan u zaglavlju isečka unutar non-IDR slika u CVS.
[0532] set_HMVP_order_flag jednak 0 označava da set_HMVP_order_flag nije prisutan u zaglavljima isečka i da se adaptivni HMVP ne koristi u VCS.
[0533] Tabela 5 ilustruje sintaksnu strukturu zaglavlja segmenta isečka na koju se može primeniti postupak predložen u ovom otkrivanju.
[0534] [Tabela 5]
[0537]
[0540] Pozivanjem na tabelu 5, slice_HMVP_idx označava indeks za redosled korišćenih kandidata. Na primer, slice_HMVP_idx jednak 0 može predstavljati osnovni HMVP redosled, kao što je 0, 1, 2, 3. Slično, vrednost indeksa 1 može se koristiti da predstavlja HMVP redosled 3, 2, 1, 0.
[0542] Način ostvarivanja 2
[0543] U jednom načinu ostvarivanja ovog otkrivanja, pored HMVP LUT-a, predlaže se postupak korišćenja dugoročne liste za predikciju pokreta. Shodno tome, broj održavanih HMVP kandidata može biti povećan. U jednom načinu ostvarivanja, mogu se razmatrati 2 HMVP tabele. U ovom slučaju, jedna se može koristiti za čuvanje uobičajenih HMVP kandidata, dok se druga može koristiti kao dugoročna lista u kojoj se čuvaju kandidati koji treba da budu dodatno održavani.
[0544] Sledeće ilustruje postupke resetovanja i konstruisanja dugoročne liste (ili dugoročne HMVP liste).
[0545] − Nakon što se prva CTU jedinica u CTU redu dekodira, jedan ili više istorijskih MV iz naredne CTU jedinice mogu biti dodati u dugoročni HMVP LUT. Takav dugoročni HMVP LUT se ne koristi niti ažurira do sledećeg CTU reda.
[0546] − Na početku sledećeg CTU reda, dugoročni HMVP LUT se može koristiti za resetovanje zajedničkog HMVP LUT-a. Razlog za ovo je što HMVP kandidati CTU jedinice na početku
CTU reda mogu biti više međusobno povezani u poređenju sa istorijskim MV-om na kraju prethodnog CTU reda.
[0547] -- Prethodno navedeni postupak može da se ponovi.
[0548] FIG.42 predstavlja dijagram koji ilustruje HMVP LUT i dugoročni HMVP LUT prema jednom načinu ostvarivanja ovog otkrivanja.
[0549] Pozivanjem na FIG.42, mogu postojati dva LUT. Jedan može biti HMVP LUT (ili zajednički HMVP LUT ili kratkoročni HMVP LUT), a drugi može biti dugoročni HMVP LUT. Kada se HMVP kandidat dodaje u obe liste, spajanje i AMVP, on se može dodati iz HMVP LUT ili iz dugoročnog LUT, kao što je ilustrovano na FIG.42.
[0550] Upotreba dugoročnog LUT može biti naznačena kroz sintaksu visokog nivoa usvajanjem novog sintaksnog elementa. Na primer, sintaksni element može biti prisutan u skupu sekvencijalnih parametara, skupu parametara slike, zaglavlju isečka, stablu kodirajuće jedinice, kodirajućoj jedinici i/ili drugom odgovarajućem sintaksnom zaglavlju.
[0552] Način ostvarivanja 3
[0553] U jednom načinu ostvarivanja ovog otkrivanja, predlaže se postupak u kojem se razmatra fleksibilnost za dekodiranje prilikom dodavanja HMVP kandidata u HMVP LUT. Koder/dekoder može razmotriti odluku na osnovu jedne ili više karakteristika PU (ili CU).
[0554] U jednom načinu ostvarivanja, koder/dekoder može razmotriti sledeće sadržaje prilikom dodavanja HMVP kandidata u tabelu. Koder/dekoder može dodati kandidata u tabelu uzimajući u obzir karakteristike, kao što su režim (npr. režim spajanja, afini režim ili AMVP režim) PU i/ili veličina bloka, zasebno ili u kombinaciji. U jednom načinu ostvarivanja, pored ovih karakteristika, mogu se razmotriti i druge karakteristike. Na primer, tip spajanja (npr. prostorni kandidat ili vremenski kandidat) u kojem se razmatra ažuriranje HMVP LUT-a, da li je u pitanju pod-PU, i slično, mogu se uzeti kao kriterijum za izbor kandidata. Kriterijum selekcije može biti određen tako da smanji redundantnost sa prethodnom istorijom (ili prethodnim HMVP). Na primer, ako je PU kodiran u režimu spajanja i tip spajanja je prostorno spajanje, dekoder možda neće ažurirati HMVP LUT informacijama o pokretu odgovarajućeg PU.
[0555] FIG.43 predstavlja dijagram koji ilustruje primer postupka ažuriranja HMVP LUT-a prema jednom načinu ostvarivanja ovog otkrivanja.
[0556] Pozivanjem na FIG.43, koder/dekoder dobija informacije o pokretu kodiranog kandidata (S4301).
[0557] [0296] Koder/dekoder procenjuje da li će ažurirati LUT informacijama o pokretu kandidata na
osnovu unapred definisanog kriterijuma odluke (S4302). Kriterijumi odluke mogu uključivati karakteristike koje se odnose na jednu ili više od sledećih stavki: režim kandidata (npr. režim spajanja, afini režim ili AMVP režim), veličina bloka kandidata i/ili tip spajanja kandidata.
[0558] Koder/dekoder ažurira LUT na osnovu kriterijuma odluke (S4303). Drugim rečima, ako kandidat zadovoljava unapred definisani kriterijum odluke, koder/dekoder može dodati informacije o pokretu kandidata u LUT.
[0560] Način ostvarivanja 4
[0561] Prema ovom pronalasku, opstoje predložena ograničenja za proveru redundantnosti prilikom dodavanja HMVP kandidata u listu za spajanje (ili AMVP listu). Ograničenja za proveru redundantnosti mogu se primenjivati na različite načine.
[0562] U jednom načinu ostvarivanja, koji nije deo ovog otkrivanja, koder/dekoder može da ograniči broj provera postupka uklanjanje suvišnih kandidata za prvi određeni broj kandidata u listi za spajanje. Kao primer, koder/dekoder može da izvrši postupak uklanjanje suvišnih kandidata samo na kandidatima od prvog kandidata u listi za spajanje do određenog kandidata. HMVP kandidat, odnosno cilj provere uklanjanje suvišnih kandidata, može biti ograničen na unapred definisan broj.
[0563] Dodatno, u jednom načinu ostvarivanja, koder/dekoder može da ograniči proveru uklanjanja suvišnih kandidata tako što će je izvršavati samo za određeni tip kandidata za spajanje unutar liste za spajanje. Na primer, koder/dekoder može da izvrši proveru uklanjanja suvišnih kandidata samo na prostornim kandidatima liste za spajanje prilikom dodavanja HMVP kandidata. U drugom primeru, koder/dekoder može da izvrši proveru uklanjanja suvišnih kandidata samo na nekim od prostornih kandidata liste za spajanje, pri čemu su neki od tih kandidata unapred definisani – na primer, najmanje jedan od levog susednog prostornog kandidata i/ili gornjeg susednog prostornog kandidata. Ovaj način ostvarivanja nije ograničen samo na ove tipove i drugi tipovi kandidata mogu se kombinovati i ograničiti kao ciljevi uklanjanje suvišnih kandidata provere.
[0564] FIG.44 prikazuje dijagram koji ilustruje postupak ograničavanja broja HMVP kandidata, odnosno cilja uklanjanje suvišnih kandidata provere, prema jednom načinu ostvarivanja ovog otkrivanja.
[0565] Pozivanjem na FIG.44, u jednom načinu ostvarivanja ovog otkrivanja, broj HMVP kandidata, odnosno ciljeva uklanjanje suvišnih kandidata provere, može biti ograničen na M.
[0566] [0303] Koder/dekoder može da proveri redundantnost informacija o pokretu između prvih M
kandidata unutar HMVP LUT i kandidata za spajanje u listi za spajanje prilikom konstruisanja liste za spajanje koristeći HMVP kandidate.
[0567] Alternativno, koder/dekoder može da proveri redundantnost informacija o pokretu između prvih M kandidata unutar HMVP LUT i trenutno dekodiranog PU prilikom dodavanja informacija o pokretu dekodiranog bloka (npr. PU) u HMVP LUT.
[0568] FIG.45 prikazuje dijagram toka koji ilustruje primer postupka izvođenja provere uklanjanja suvišnih kandidata prema jednom načinu ostvarivanja ovog otkrivanja, koji nije deo ovog otkrivanja.
[0569] Pozivanjem na FIG.45, koder/dekoder dobija informacije o pokretu dekodiranog kandidata i određuje (ili dekodira) broj provera uklanjanja suvišnih kandidata (S4501, S4502).
[0570] Koder/dekoder izvršava proveru uklanjanja suvišnih kandidata na osnovu određenog broja provera (S4503).
[0571] U jednom načinu ostvarivanja, koji nije deo ovog otkrivanja, kao u Tabeli 4 i Tabeli 5, informacije vezane za proveru uklanjanja suvišnih kandidata mogu biti signalizirane putem sintakse visokog nivoa. U ovom slučaju, sintaksni element koji se prenosi od kodera do dekodera može biti uključen u određeno zaglavlje radi indikacije broja provera uklanjanja suvišnih kandidata koje treba izvršiti. Sintaksa visokog nivoa može biti uključen u skup sekvencijalnih parametara, skup parametara slike, zaglavlje isečka, stablo kodirajuće jedinice, kodirajuću jedinicu i/ili drugo odgovarajuće zaglavlje sintaksnih podataka, na primer.
[0573] Način ostvarivanja 5
[0574] U jednom načinu ostvarivanja ovog otkrivanja, predložen je efikasan postupak selekcije HMVP kandidata. Kada se kandidat istorijskog vektora pokreta (tj. HMVP kandidat) umeće u listu za spajanje (ili AMVP listu), provera uklanjanja suvišnih kandidata može da se izvede (LGE360-2EP EP23176981.1 New description (clean copy) 14 November 2024) tako da se HMVP kandidat ne preklapa sa postojećom listom za spajanje.
[0575] Da bi se uradile provere ukupne redundantnosti između liste za spajanje veličine M i istorijske LUT tabele veličine N, neophodne su (M−1) × N provere. Shodno tome, u jednom načinu ostvarivanja ovog otkrivanja, broj HMVP kandidata može da zavisi od postojećih kandidata za spajanje. Na primer, broj HMVP kandidata može da zavisi od broja prostorno dostupnih kandidata prisutnih u listi za spajanje. Alternativno, na primer, broj HMVP kandidata može da zavisi od broja prostornih kandidata i vremenskih kandidata prisutnih u listi za spajanje.
[0576] Ako postoji drugi kandidat za spajanje prisutan u listi za spajanje, broj HMVP kandidata na koje će se izvršiti provera uklanjanja suvišnih kandidata, na osnovu određenog kriterijuma (ili pravila) zasnovanog na broju kandidata za spajanje i/ili broju HVVP kandidata liste za spajanje, može da se smanji. Shodno tome, broj provera redundantnosti u najgorem slučaju može da se redukuje.
[0577] Na primer, u slučaju liste za spajanje veličine (ili dužine) 6, ako je lista za spajanje u potpunosti popunjena, lista za spajanje može da uključuje najviše 5 prostornih ili drugih kandidata za spajanje. Da bi se HMVP kandidat ubacio u 6 HMVP lista, u najgorem slučaju može biti neophodno 30 provera redundantnosti.
[0578] U jednom načinu ostvarivanja, primer ograničenja broja HMVP koji treba da se provere ilustrovan je u jednačini 23 i tabeli 6.
[0580]
[0582] [Tabela 6]
[0584]
[0587] Pozivanjem na tabelu 6, broj provera redundantnosti za dodavanje HMVP kandidata u najgorem slučaju može da se smanji na 12 puta, a ne 30 puta, ograničavanjem broja HMVP kandidata — odnosno cilja provere uklanjanja suvišnih kandidata, do 2.
[0589] Način ostvarivanja 6
[0590] [0315] U jednom načinu ostvarivanja ovog otkrivanja, predlaže se postupak konstruisanja liste za spajanje korišćenjem prostorno-vremenske predikcije vektora pokreta zasnovane na istoriji (H-STMVP). H-STMVP označava kandidata izvedenog kao srednja vrednost dve prostorne MVP i TMVP zasnovane na istoriji. Ova dva prostorna HMVP mogu da se dobiju iz HMVP bafera. TMVP može da se dobije iz trenutne liste za spajanje. U ovom slučaju, prostorni kandidat može da
bude kandidat dobijen na osnovu poslednja 2 kodirana vektora pokreta u dekodirajućoj sekvenci pre trenutnog bloka.
[0591] Kao primer, poslednji kodirani vektor pokreta (nazvan MV_L u ovom otkrivanju), vektor pokreta pretposlednjeg kodiranja (nazvan MV_(L-1)), i MV_TMVP mogu da se koriste za generisanje H-STMVP kandidata koji će biti ubačen u listu za spajanje.
[0592] Ako sva tri kandidata mogu da se koriste, vektori pokreta koji se dodaju u listu za spajanje mogu da se izračunaju jednačinom 24 u nastavku.
[0594]
[0596] U jednom načinu ostvarivanja, ako su dostupna samo dva od tri kandidata, samo ta dva kandidata mogu biti prosečena da bi se generisao H-STMVP. Isto tako, ako je dostupan samo jedan kandidat, taj jedan kandidat može biti korišćen. Ako nijedan dostupni kandidat nije prisutan, H-STMVP se ne koristi za konfiguraciju liste za spajanje.
[0597] U jednom načinu ostvarivanja ovog otkrivanja, predlaže se postupak dobijanja vektora pokreta H-STMVP kandidata koristeći postupak različit od jednačine 24.
[0598] Na primer, umesto da se tri ili više kandidata dovode u prosek odjednom, može biti računarski jednostavnije prvo da se prostorni kandidati dovedu u prosek, a zatim se ponovo dva kandidata dovode u prosek koristeći rezultat tog proseka. Primer toga je ilustrovan u sledećim jednačinama.
[0600]
[0602] Alternativno, prosečna vrednost može da se dobije na sledeći način.
[0603]
[0606] Koder/dekoder može najpre da izračuna prosek dva kandidata kao u jednačinama 25 do 27, a zatim da izračuna prosek dobijenih vrednosti koristeći treći kandidat. Alternativno, koder/dekoder može da dodeli veću važnost/težinu kandidatu, odnosno MV_L, primenom dvostruke operacije pomeranja kao u jednačini 28. Prosečna vrednost može da se izvede bez operacije podele, već samo operacijom pomeranja, korišćenjem jednačina 25 do 28.
[0608] Način ostvarivanja 7
[0609] U jednom načinu ostvarivanja ovog otkrivanja, predlaže se postupak koji koristi dati broj (n) prostorno zasnovanih kandidata umesto dva kandidata zasnovana na istoriji u izvođenju H-STMVP. n kandidati ne moraju da budu suštinski uzastopna dekodirajuća sekvenca. n kandidati mogu biti izabrani nasumično ili prema nekom pravilu.
[0610] Shodno tome, prethodno opisana jednačina 24 može biti predstavljena korišćenjem postupka kao što je jednačina 29 u nastavku.
[0612]
[0614] U još jednom načinu ostvarivanja, pod pretpostavkom da se koristi 5 prostornih kandidata, uticaj prostornih kandidata koji se povećava prilikom generisanja H-STMVP kandidata može da se minimizuje, a prostorni kandidat i vremenski kandidat mogu da budu pravilno uključeni poboljšavanjem težine primenjene na vremenski kandidat.
[0615] Shodno tome, u tu svrhu, nakon što se prostorni kandidati izračunaju prosekom korišćenjem jednačine 30, navedeni cilj može da se postigne izvođenjem proseka MV_TMVP koristeći rezultat tog proseka.
[0617]
[0620] Način ostvarivanja 8
[0621] [0327] U jednom načinu ostvarivanja ovog otkrivanja, predlaže se postupak dodavanja težine (ili faktora ponderisanja) kandidatu vektora pokreta koji se koristi za izvođenje H-STMVP. U ovom
slučaju, težina može biti empirijski određena, ili može biti određena uzimajući u obzir vremensku udaljenost do fiksnog referentnog okvira, ili može biti određena uzimajući u obzir lokaciju u istorijskoj tabeli. Na primer, novi kandidat može imati veću težinu od prethodnog kandidata.
[0622] Odnosno, u ovom načinu ostvarivanja, prethodno opisana jednačina 24 može biti predstavljena kao jednačina 31 u nastavku.
[0624]
[0627] U ovom slučaju, težina može imati istu vrednost ili nejednako raspodeljenu vrednost.
[0629] Način ostvarivanja 9
[0630] U jednom načinu ostvarivanja ovog otkrivanja, predlaže se postupak skaliranja vektora pokreta koji se koristi za izvođenje H-STMVP kandidata na osnovu jedne referentne slike.
[0631] FIG.46 predstavlja dijagram za opisivanje postupka izvođenja H-STMVP kandidata koristeći vektore pokreta koji se odnose na različite referentne slike prema jednom načinu ostvarivanja ovog otkrivanja.
[0632] Pozivanjem na FIG.46, pretpostavlja se da kandidati MV_L, MV_L-1 i MV_TMVP referišu (ili označavaju) različite referentne slike. Odnosno, FIG.46 ilustruje da kandidati korišćeni za generisanje H-STMVP kandidata mogu imati različite reference indekse i, posledično, različite referentne okvire.
[0633] Prosek iz jednačina 24 do 31 može dati nejednaku vrednost rezultata jer okvir koji ima bližu referentnu sliku može suštinski imati veći uticaj na vektor pokreta H-STMVP. Shodno tome, predlaže se postupak skaliranja svih vektora pokreta na jednu referentnu sliku radi jednake uporedbe i uključivanja.
[0634] U ovom slučaju, koder može da odredi koja jedinstvena slika, određena u okviru RD optimizacije, je najpogodnija za korišćenje kao referentna slika. U jednom načinu ostvarivanja, odabrana referentna slika može biti signalizirana u zaglavlju isečka slično TMVP indeksu prisutnom u zaglavlju isečka. Na primer, referentna slika koja će se koristiti može biti generisana korišćenjem fiksnog pravila. Alternativno, lista može biti skalirana kao prva dostupna referentna slika iz L0 ili lista može biti skalirana na osnovu broja sekvence trenutne slike.
[0635] U jednom načinu ostvarivanja, kako bi se postigao prethodno navedeni cilj, koder može da prenese dekoderu informacije za jednu fiksnu sliku koristeći sintaksu visokog nivoa (HLS) koja može biti deo skupa sekvencijalnih parametara, skupa parametara slike, zaglavlja isečka, stabla kodirajuće jedinice i/ili drugog zaglavlja podataka. Na primer, struktura sintakse visokog nivoa, kao u Tabeli 6 i/ili Tabeli 7 u nastavku, može biti definisana.
[0636] [Tabela 7]
[0639]
[0642] Pozivanjem na tabelu 7, set_HSTMVP_ref_pic_flag jednak 1 označava da je set_HSTMVP_idx prisutan u zaglavlju isečka ne-IDR slike u CVS. set_ref_pic_flag jednak 0 označava da set_HSTMVP_idx nije prisutan u zaglavlju isečka.
[0643] [Tabela 8]
[0646]
[0649] Pozivanjem na tabelu 8, slice_HMVP_idx označava referentni indeks. U jednom načinu ostvarivanja, referentni indeks može biti izabran u odnosu na listu L0.
[0651] Način ostvarivanja 10
[0652] [0338] U načinima ostvarivanja ovog otkrivanja, detaljniji načini ostvarivanja biće opisani u vezi sa prethodno opisanim načinima ostvarivanja. Konkretno, predložen je postupak indirektnog korišćenja afine HMVP kandidata korišćenjem informacija o položaju i dimenzijama radi izračunavanja ili izvođenja CPMV trenutnog bloka. U otkrivanju, izvedeni CPMV mogu biti označeni kao kandidat za nasleđenu afinu HMVP. Kandidat za nasleđenu afinu HMVP prema
jednom načinu ostvarivanja ovog otkrivanja može biti korišćen u prethodno opisanim procesima generisanja afine liste za spajanje i/ili afine AMVP liste.
[0653] FIG.47 predstavlja dijagram koji ilustruje položaj bloka za izvođenje nasleđene afine HMVP kandidata prema jednom načinu ostvarivanja ovog otkrivanja.
[0654] Pozivanjem na FIG.47, CPMV trenutnog bloka 4701 može biti izveden na osnovu položaja i dimenzija afine HMVP kandidata na sličan način kao postupak izvođenja opšteg nasleđenog CPMV iz susednih blokova. Odnosno, koder/dekoder mogu da izvedu vektore pokreta kontrolnih tačaka trenutnog bloka 4701 na osnovu informacija o položaju i dimenzijama (npr. širina i visina) referentnog bloka 4702 koji je afine HMVP kandidat.
[0655] Kao jedan način ostvarivanja, CPMV trenutnog bloka izvedenog iz nasleđeni afini HMVP kandidat može biti dobijen korišćenjem jednačina 32 i 33 prikazanih u nastavku.
[0656] VOx = VBOx (VB2_x - VB0x ) * ( posCurCU_Y - posRefCU_Y ) / RefCU_height (VB1x - VB0x ) * (posCurCU_X - posRefCU_X) / RefCU_width [Jednačina 32] VOy = VBOy (VB2_y - VB0y ) * (posCurCU_Y - posRefCU_Y) / RefCU_height (VB1y - VB0y ) * (posCurCU_X - posRefCU_X) / RefCU_width [Jednačina 33]
[0657] U jednačinama 32 i 33, posCurCU_Y predstavlja vrednost vertikalne koordinate gornjeg levog uzorka trenutnog bloka 4701, a posRefCU_Y predstavlja vrednost vertikalne koordinate gornjeg levog uzorka referentnog bloka 4702. posCurCU_X predstavlja vrednost horizontalne koordinate gornjeg levog uzorka trenutnog bloka 4701, a posRefCU_X predstavlja vrednost horizontalne koordinate gornjeg levog uzorka referentnog bloka 4702. RefCU_height predstavlja visinu referentnog bloka 4702, a RefCU_width predstavlja širinu referentnog bloka 4702.
[0659] Način ostvarivanja 11
[0660] U jednom načinu ostvarivanja ovog otkrivanja, kada se dodaje afini HMVP kandidat (direktni ili nasleđeni HMVP), mogu se primeniti ograničenja kako bi se izabrao afini HMVP kandidat koji može da se upotrebi za generisanje afine liste za spajanje ili afine AMVP liste.
[0661] Na primer, afini HMVP kandidat može da se doda u afinu listu za spajanje ili afinu AMVP listu samo kada je afini HMVP kandidat susedan trenutnom bloku.
[0662] Kao drugi primer, afini HMVP kandidat može da se doda u afinu listu za spajanje ili afinu AMVP listu samo kada je afini HMVP kandidat lociran (ili postoji) unutar određene udaljenosti od trenutnog bloka. Na primer, ta određena udaljenost može biti unapred definisana udaljenost u pikselima. Koder/dekoder može da odredi da li se afini HMVP kandidat nalazi unutar unapred definisane određene udaljenosti kako bi se utvrdilo da li je afini HMVP kandidat dostupan.
[0663] Kao drugi primer, afini HMVP kandidat može da se doda u afinu listu za spajanje ili afinu AMVP listu samo kada je afini HMVP kandidat lociran (ili postoji) na određenom položaju na osnovu trenutnog bloka. Na primer, kada se afini HMVP kandidat nalazi na toj određenom položaju, to može biti slučaj kada je afini HMVP kandidat levi ili gornji susedni blok trenutnog bloka.
[0664] Za afini HMVP LUT koji ima N elemenata, prethodno opisani postupak provere za sve elemente ili za prvih M elemenata može biti izveden sve dok se lista za spajanje ili AMVP lista ne popuni ili dok se ne dostigne unapred definisan broj HMVP kandidata.
[0666] Način ostvarivanja 12
[0667] U jednom načinu ostvarivanja ovog otkrivanja, predlaže se postupak u kojem se afini HMVP kandidat koristi za zamenu nasleđenog afinog kandidata koji već postoji u afinoj listi za spajanje i/ili afinoj AMVP listi.
[0668] FIG.48 predstavlja dijagram koji ilustruje afinu listu za spajanje ili afinu AMVP listu prema jednom načinu ostvarivanja ovog otkrivanja.
[0669] Pozivanjem na FIG.48, koder/dekoder može da zameni nasleđenog kandidata koji postoji u postojećoj afinoj listi za spajanje ili afinoj AMVP listi nasleđenim afinim HMVP kandidatom. Odnosno, kada se režim spajanja zasnovan na podbloku primenjuje na trenutni blok, koder/dekoder može da generiše listu kandidata za spajanje zasnovanu na podbloku korišćenjem nasleđenog afinog kandidata i već konstruisanog afinog kandidata, da izvede nasleđenog afinog HMVP kandidata i da zameni najmanje jednog nasleđenog afinog kandidata koji je uključen u listu kandidata za spajanje zasnovanu na podbloku nasleđenim afinim HMVP kandidatom.
[0670] Dodatno, u jednom načinu ostvarivanja ovog otkrivanja, afina HMVP tabela za pretragu (LUT) može da se inicijalizuje na početku isečka, CTU reda ili CTU-a. Time je moguće poboljšati performanse paralelne obrade.
[0671] U nastavku, u sledećim načinima ostvarivanja, predlaže se postupak za smanjenje broja najgorih provera uklanjanja suvišnih kandidata iz HMVP.
[0673] Način ostvarivanja 13
[0674] [0353] U jednom načinu ostvarivanja ovog otkrivanja, kada se HMVP kandidat doda u listu za spajanje, broj provera uklanjanja suvišnih kandidata može da se odredi na osnovu broja
dostupnih kandidata u listi za spajanje i broja HMVP kandidata koji mogu da budu dodati u listu za spajanje. U nastavku, prilikom opisivanja načina ostvarivanja ovog otkrivanja, radi jednostavnosti opisa, promenljive su definisane kako sledi.
[0675] − NST: broj dostupnih (ili postojećih) kandidata u listi za spajanje
[0676] − NHMVP: broj HMVP kandidata u tabeli (tj. veličina HMVP tabele)
[0677] − NmrgToBeAdded: broj HMVP kandidata dodatih u listu za spajanje
[0678] − NHMVPChecked: broj HMVP kandidata koji su provereni u okviru uklanjanja suvišnih kandidata
[0679] − Nmax_hmvp_prunning: broj provera uklanjanja suvišnih kandidata u najgorem slučaju, potrebnih da bi se HMVP kandidat dodao u listu za spajanje
[0680] U jednom načinu ostvarivanja ovog otkrivanja, HMVP kandidat može biti dodat u listu za spajanje u skladu sa sledećim uslovima.
[0681] − Prvi uslov: Kada je LUT prethodno proređen (tj. kada ne postoji identičan vektor pokreta između kandidata u HMVP LUT).
[0682] − Drugi uslov: Kada je veličina HMVP LUT tabele jednaka 6.
[0683] − Treći uslov: Kada je maksimalan broj dostupnih (ili postojećih) kandidata za spajanje, pri dodavanju HMVP kandidata u listu za spajanje, jednak 4.
[0684] Odnosno, ovo je slučaj kada je broj kandidata za spajanje u listi za spajanje manji od vrednosti dobijene oduzimanjem 1 od maksimalne veličine liste za spajanje (ili od maksimalnog broja kandidata za spajanje).
[0685] Na primer, maksimalna veličina liste za spajanje može biti 6, i ako je broj trenutno dostupnih kandidata za spajanje manji od 5, HMVP kandidat može biti dodat (ili ubačen). Drugim rečima, HMVP kandidat može biti dodat samo do indeksa 5 liste za spajanje.
[0686] Kada se HMVP kandidat doda u listu za spajanje (tj. kada postane kandidat za spajanje), svaki HMVP kandidat može zahtevati proveru uklanjanja suvišnih kandidata da bi se uklonila dupliranja između kandidata za spajanje. U skladu sa postojećom tehnikom kompresije slike, najgori slučaj broja provera uklanjanja suvišnih kandidata potrebnih za dodavanje HMVP kandidata u listu za spajanje može se izračunati kao što je prikazano u tabeli 8 u nastavku.
[0687] [Tabela 9]
[0690]
[0691]
[0694] Pozivanjem na tabelu 9, u skladu sa postojećom tehnikom kompresije slike, provere uklanjanja suvišnih kandidata mogu biti izvedene na šest HMVP kandidata u HMVP tabeli (ili HMVP listi, HMVP listi kandidata).
[0695] Konkretno, 1) kada je jedan kandidat na listi za spajanje, HMVP kandidati dodati na listu za spajanje mogu biti 4. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za šest HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 4.2) Kada su na listi za spajanje dva kandidata, HMVP kandidati dodati na listu za spajanje mogu biti 3. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za šest HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 7.3) Kada su na listi za spajanje tri kandidata, HMVP kandidati dodati na listu za spajanje mogu biti 2. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za šest HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 9.4) Kada postoje četiri kandidata na listi za spajanje, HMVP kandidati dodati na listu za spajanje mogu biti 1. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za šest HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 10.
[0697] Način ostvarivanja 14
[0698] U jednom načinu ostvarivanja ovog otkrivanja, predložen je postupak za smanjenje broja provera najgoreg slučaja uklanjanja prethodno opisanih suvišnih kandidata. Ako u listi za spajanje postoji više kandidata za spajanje, pošto kodirajući efekat HMVP opada kako broj kandidata za spajanje (tj. ne-HMVP kandidata) raste, broj HMVP kandidata koji treba proveriti može se smanjiti. Shodno tome, u ovom načinu ostvarivanja otkrivanja, koder/dekoder može podesiti broj HMVP kandidata koji će biti provereni (NHMVPChecked) jednak broju dostupnih HMVP kandidata koji se dodaju (NmrgToBeAdded) kako bi se smanjio broj provera najgoreg slučaja uklanjanja suvišnih kandidata. U ovom slučaju, broj provera najgoreg slučaja uklanjanja suvišnih kandidata može se izračunati kao što je prikazano u tabeli 10.
[0699] [Tabela 10]
[0702]
[0703]
[0706] Pozivanjem na tabelu 10, broj najgoreg slučaja broja suvišnih kandidata provere za HMVP mogu biti smanjene sa 10 na 6 u poređenju sa konvencionalnim tehnikama kompresije slika.
[0707] Pozivanjem na tabelu 10, u jednom načinu ostvarivanja, 1) kada je jedan kandidat na listi za spajanje, HMVP kandidati dodati na listu za spajanje mogu biti 4. Zatim, provere uklanjanja suvišnih kandidata za četiri HMVP kandidata mogu biti izvedene. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 4.2) Kada su na listi za spajanje dva kandidata, HMVP kandidati dodati na listu za spajanje mogu biti 3. Zatim, provere uklanjanja suvišnih kandidata za tri HMVP kandidata mogu biti izvedene. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 6.3) Kada su na listi za spajanje tri kandidata, HMVP kandidati dodati na listu za spajanje mogu biti 2. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za dva HMVP kandidata . U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 6.4) Kada postoje četiri kandidata na listi za spajanje, HMVP kandidati dodati na listu za spajanje mogu biti 1. Zatim, mogu biti izvedene provere uklanjanje suvišnih kandidata za jednog HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 4.
[0709] Način ostvarivanja 15
[0710] U jednom načinu ostvarivanja ovog otkrivanja, kako bi se smanjio broj provera najgoreg slučaja uklanjanja suvišnih kandidata, koder/dekoder može da postavi broj HMVP kandidata (NHMVPChecked) koji će biti proveravani uklanjanjem suvišnih kandidata da bude jednak zbiru broja dostupnih HMVP kandidata (NmrgToBeAdded) koji se dodaju i K. Ovde, K predstavlja unapred definisanu konstantnu vrednost. Na primer, kada je K = 1, broj provera najgoreg slučaja uklanjanja suvišnih kandidata može se izračunati kao što je prikazano u tabeli 10.
[0711] [Tabela 11]
[0714]
[0715]
[0718] Pozivanjem na tabelu 11, u jednom načinu ostvarivanja, 1) kada je jedan kandidat na listi za spajanje, HMVP kandidati dodati na listu za spajanje mogu biti 4. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za pet HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 4.2) Kada su na listi za spajanje dva kandidata, HMVP kandidati dodati na listu za spajanje mogu biti 3. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 7.3) Kada su na listi za spajanje tri kandidata, HMVP kandidati dodati na listu za spajanje mogu biti 2. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za tri HMVP kandidati. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 8.4) Kada postoje četiri kandidata na listi za spajanje, HMVP kandidati dodati na listu za spajanje mogu biti 1. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za dva HMVP kandidata . U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 7.
[0720] Način ostvarivanja 16
[0721] U jednom načinu ostvarivanja ovog otkrivanja, kako bi se smanjio broj provera uklanjanja suvišnih kandidata u najgorem slučaju, broj HMVP kandidata koji će biti proveravani (NHMVPChecked) može biti definisan kao u jednačini 34 u nastavku.
[0723]
[0726] U jednačini 34, C predstavlja unapred definisanu konstantu. Ako je C = 2, broj provera uklanjanja suvišnih kandidata u najgorem slučaju može se izračunati kao što je prikazano u tabeli 12 u nastavku.
[0727] [Tabela 12]
[0730]
[0731]
[0734] Pozivanjem na tabelu 12, u jednom načinu ostvarivanja, 1) kada je jedan kandidat na listi za spajanje, HMVP kandidati dodati na listu za spajanje mogu biti 4. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za šest HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 4.2) Kada su na listi za spajanje dva kandidata, HMVP kandidati dodati na listu za spajanje mogu biti 3. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za šest HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 7.3) Kada su na listi za spajanje tri kandidata, HMVP kandidati dodati na listu za spajanje mogu biti 2. Zatim, mogu biti izvedene provere uklanjanje suvišnih kandidata za četiri HMVP kandidata. U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 9.4) Kada postoje četiri kandidata na listi za spajanje, HMVP kandidati dodati na listu za spajanje mogu biti 1. Zatim, mogu biti izvedene provere uklanjanja suvišnih kandidata za dva HMVP kandidata . U ovom slučaju, broj provera najgoreg slučaja broja suvišnih kandidata može biti 7.
[0735] Prethodno opisani način ostvarivanja ovog otkrivanja može biti podeljen i opisan radi preglednosti, ali otkrivanje se time ne ograničava. Odnosno, prethodno opisani načini ostvarivanja 1 do 12 mogu da se izvode nezavisno ili se jedan ili više načina ostvarivanja mogu kombinovati i izvoditi zajedno.
[0736] FIG.49 predstavlja dijagram toka koji ilustruje postupak obrade video signala na osnovu inter predikcije prema jednom načinu ostvarivanja ovog otkrivanja.
[0737] Pozivanjem na FIG.49, dekoder je opisan radi preglednosti, ali otkrivanje se time ne ograničava. Postupak obrade video signala na osnovu inter predikcije prema jednom načinu ostvarivanja ovog otkrivanja može se identično izvoditi i u koderu i u dekoderu.
[0738] Dekoder konfiguriše listu za spajanje ili listu kandidata za spajanje na osnovu susednih blokova trenutnog bloka (S4901).
[0739] Kada je broj kandidata za spajanje uključenih u listu za spajanje manji od unapred definisane prve veličine, dekoder dodaje kandidat za spajanje zasnovan na istoriji na listu za spajanje kandidata za spajanje zasnovanih na istoriji na listu za spajanje (S4902). Ovde, kandidat za spajanje zasnovan na istoriji predstavlja informacije o pokretu bloka koji je kodiran pre trenutnog bloka.
[0740] Dekoder dobija indeks spajanja koji označava kandidata za spajanje korišćenog za inter predikciju trenutnog bloka u listi za spajanje (S4903).
[0741] Dekoder generiše predikcioni blok trenutnog bloka na osnovu informacija o pokretu kandidata za spajanje označenog indeksom spajanja (S4904).
[0742] Kao što je prethodno opisano, u jednom načinu ostvarivanja, faza dodavanja kandidata za spajanje zasnovanog na istoriji u listu za spajanje može da uključuje fazu provere da li se unapred definisani drugi broj kandidata za spajanje zasnovanih na istoriji iz liste kandidata za spajanje zasnovanih na istoriji preklapa sa kandidatima za spajanje uključenim u listu za spajanje u pogledu njihovih informacija o pokretu.
[0743] Kao što je prethodno opisano, u jednom načinu ostvarivanja, drugi broj kandidata za spajanje zasnovanih na istoriji može se dodati u listu za spajanje ako kandidati za spajanje zasnovani na istoriji imaju informacije o pokretu koje se ne preklapaju sa informacijama o pokretu unapred definisanog kandidata za spajanje, među kandidatima za spajanje uključenim u listu za spajanje.
[0744] Kao što je prethodno opisano, u jednom načinu ostvarivanja, drugi broj kandidata za spajanje zasnovanih na istoriji može se dodati u listu za spajanje ako kandidati za spajanje zasnovani na istoriji imaju informacije o pokretu koje se ne preklapaju sa informacijama o pokretu unapred definisanog trećeg broja kandidata za spajanje, među kandidatima za spajanje uključenim u listu za spajanje.
[0745] Kao što je prethodno opisano, u jednom načinu ostvarivanja, drugi broj kandidata za spajanje zasnovanih na istoriji može se dodati u listu kandidata za spajanje ako kandidati za spajanje zasnovani na istoriji imaju informacije o pokretu koje se ne preklapaju sa informacijama o pokretu određenog prostornog kandidata za spajanje uključenog u listu za spajanje.
[0746] Kao što je prethodno opisano, u jednom načinu ostvarivanja, prvi specifičan broj može biti definisan kao vrednost dobijena oduzimanjem 1 od maksimalnog kandidata za spajanje.
[0747] Kao što je prethodno opisano, u jednom načinu ostvarivanja, faza dodavanja kandidata za spajanje zasnovanog na istoriji u listu za spajanje može da uključuje faza provere da li se dva kandidata za spajanje zasnovana na istoriji preklapaju u informacijama o pokretu sa kandidatima za spajanje uključenim u listu za spajanje, kada postoje tri trenutna kandidata za spajanje uključena u listu za spajanje.
[0748] FIG.50 prikazuje primer blok dijagrama uređaja za obradu video signala prema jednom načinu ostvarivanja ovog otkrivanja. Uređaj za obradu video signala iz FIG.50 može da odgovara uređaju 100 za kodiranje iz FIG.1 ili uređaju 200 za dekodiranje iz FIG.2.
[0749] Uređaj 5000 za obradu video signala prema načinu ostvarivanja ovog otkrivanja može da uključuje memoriju 5020 za čuvanje video signala i procesor 5010 za obradu video signala u kombinaciji sa memorijom 5020.
[0750] Procesor 5010 prema jednom načinu ostvarivanja ovog otkrivanja može biti konfigurisan sa najmanje jednim procesnim kolom za obradu video signala, i može obrađivati video signal izvršavanjem instrukcija za kodiranje ili dekodirajući video signal. Odnosno, procesor 5010 može da kodira izvorni video signal ili dekodira kodirani video signal izvršavanjem prethodno opisanih postupaka kodiranja ili dekodiranja.
[0751] FIG.51 ilustruje video sistem za kodiranje na koji se ovo otkrivanje primenjuje.
[0752] Sistem za kodiranje videa može da uključuje izvorni uređaj i uređaj za prijem. Izvorni uređaj može da prenosi kodirane video/slikovne informacije ili podatke u fajl ili strimovanje formatu do uređaja za prijem putem medijuma za čuvanje ili mreže.
[0753] Izvorni uređaj može da uključuje izvor videa, uređaj za kodiranje i predajnik. Uređaj za prijem može da uključuje prijemnik, uređaj za dekodiranje i prikazivač. Izvorni uređaj može biti označen kao video/slikovni uređaj za kodiranje, a uređaj za prijem može biti označen kao video/slikovni uređaj za dekodiranje. Predajnik može biti uključen u uređaj za kodiranje.
[0754] Prijemnik može biti uključen u uređaj za dekodiranje. Prikazivač može da uključuje displej, a displej može biti konfigurisan kao poseban uređaj ili kao spoljašnja komponenta.
[0755] Izvor videa može da pribavi video/slikovne podatke putem procesa snimanja, sinteze ili generisanja videa/slike. Izvor videa može da uključuje uređaj za hvatanje video/slikovnih sadržaja i/ili uređaj za generisanje video/slikovnih sadržaja. Uređaj za hvatanje video/slikovnih sadržaja može da uključuje, na primer, jednu ili više kamera, arhivu videa/slika koja obuhvata prethodno snimljene video/slike i slično. Uređaj za generisanje video/slikovnih sadržaja može da uključuje, na primer, računar, tablet ili pametni telefon, i može elektronski da generiše video/slikovne podatke. Na primer, virtuelni video/slikovni podaci mogu biti generisani putem računara ili sličnog uređaja, i u tom slučaju postupak hvatanja video/slike može biti zamenjen postupkom generisanja odgovarajućih podataka.
[0756] Uređaj za kodiranje može da kodira ulazni video/sliku. Uređaj za kodiranje može da izvodi niz postupaka kao što su predikcija, transformacija i kvantizacija radi kompresije i efikasnosti kodiranja. Kodirani podaci (kodirani video/slikovne informacije) mogu biti izlaz u obliku protoka bitova.
[0757] [0387] Predajnik može da prenese kodirani video/slikovne informacije ili podatke, koji su izbačeni u obliku protoka bitova, prijemniku uređaja za prijem putem digitalnog medijuma za
čuvanje ili mreže, u fajl ili strimovanje formatu. Digitalni medijumi za čuvanje mogu da uključuju različite medijume za čuvanje kao što su USB (univerzalna serijska magistrala), SD kartica, CD, DVD, blu-rej, tvrdi disk (HDD) i SSD. Predajnik može da uključuje element za generisanje medija fajla putem unapred definisanog fajl formata i može da uključuje element za prenos putem mreže emitovanja/komunikacije. Prijemnik može da izvuče protok bitova i prenese ga uređaju za dekodiranje.
[0758] Uređaj za dekodiranje može da dekodira video/slikovne podatke izvođenjem niza postupaka kao što su dekvantizacija, inverzna transformacija i predikcija, koji odgovaraju operacijama uređaja za kodiranje.
[0759] Prikazivač može da prikaže dekodirani video/sliku. Prikazani video/slika mogu biti prikazani putem ekrana.
[0760] FIG.52 prikazuje strukturni dijagram sistema za strimovanje sadržaja.
[0761] Pozivanjem na FIG.52, sistem za strimovanje sadržaja na koji se ovo otkrivanje primenjuje može u osnovi da obuhvata server za kodiranje, server za strimovanje, veb server, medija čuvanje, korisnički uređaj i multimedijalni ulazni uređaj.
[0762] Server za kodiranje može da kompresuje sadržaj unet iz multimedijalnih ulaznih uređaja kao što su pametni telefon, kamera, kamkorder itd. u digitalne podatke kako bi generisao protok bitova i prosledio ga serveru za strimovanje. Kao drugi primer, kada multimedijalni ulazni uređaji 460, kao što su pametni telefon, kamera i kamkorder, direktno generišu protok bitova, server za kodiranje može biti izostavljen.
[0763] Protok bitova može biti generisan postupkom kodiranja ili postupkom generisanja protoka bitova na koji se ovo otkrivanje primenjuje, a server za strimovanje može privremeno da čuva protok bitova tokom njegovog slanja ili prijema.
[0764] Server za strimovanje prenosi multimedijalne podatke korisničkom uređaju na osnovu korisničkog zahteva preko veb servera, a veb server služi kao posrednik koji obaveštava korisnika o tome koja je usluga dostupna. Kada korisnik zatraži željenu uslugu preko veb servera, veb server je prosleđuje serveru za strimovanje, a server za strimovanje prenosi multimedijalne podatke korisniku. U tom trenutku, sistem za strimovanje sadržaja može da uključuje poseban kontrolni server, pri čemu kontrolni server služi za upravljanje komandama/odgovorima između uređaja u sistemu za strimovanje sadržaja.
[0765] [0395] Server za strimovanje može da primi sadržaj iz medijskog skladišta i/ili sa servera za kodiranje. Na primer, server za strimovanje može da prima sadržaj u realnom vremenu sa
servera za kodiranje. U tom slučaju, kako bi se obezbedila nesmetana usluga strimovanja, server za strimovanje može da čuva protok bitova tokom unapred određenog vremena.
[0766] Na primer, korisnički uređaj može da uključuje mobilni telefon, pametan telefon, laptop računare, terminal za digitalno emitovanje, lični digitalni asistent (PDA), prenosivi multimedijalni plejer (PMP), navigacioni terminal, “slejt” PC, tablet PC, ultrabuk, nosivi uređaj (na primer, pametan sat, pametne naočare, kacigu sa ekranom – HMD), digitalni TV, desktop računar i digitalni natpisi.
[0767] Svaki server u sistemu za strimovanje sadržaja može da funkcioniše kao distribuirani server, i u tom slučaju, podaci primljeni od svakog servera mogu da se obrađuju na distribuirani način.
[0768] Kao što je prethodno opisano, načini ostvarivanja predstavljeni u ovom otkrivanju mogu da se primene i izvršavaju na procesoru, mikroprocesoru, kontroleru ili čipu. Na primer, funkcione jedinice ilustrovane na crtežima mogu da se primene i izvršavaju na računaru, procesoru, mikroprocesoru, kontroleru ili čipu.
[0769] Dodatno, dekoder i koder na koji se ovo otkrivanje primenjuje mogu biti uključeni u uređaj za prenos i prijem multimedijalnog emitovanja, terminal za mobilnu komunikaciju, kućni bioskopski video uređaj, digitalni bioskopski video uređaj, kameru za nadzor, uređaj za videodijalog, uređaj za komunikaciju u realnom vremenu poput video komunikacije, uređaj za mobilno strimovanje, medijum za čuvanje, kamkorder, uređaj za pružanje video-na-zahtev (VoD) usluge, OTT video uređaj, uređaj za pružanje internet usluge strimovanja, trodimenzionalni (3D) video uređaj, uređaj za video-telefoniju i medicinski video uređaj, i mogu se koristiti za obradu video signala ili signala podatka. Na primer, OTT video uređaj mogu da uključuju konzolu za igrice, blu-rej plejer, TV sa pristupom internetu, kućni bioskopski sistem, pametan telefon, tablet PC i digitalni video rekorder (DVR).
[0770] [0400] Dodatno, postupak obrade na koji se ovo otkrivanje primenjuje može biti realizovan u obliku programa koji izvršava računar i može biti sačuvan u računarski čitljivom zapisnom medijumu. Multimedijalni podaci sa strukturom podataka prema ovom otkrivanju takođe mogu biti sačuvani u računarski čitljivom zapisnom medijumu. Računarski čitljiv zapisni medijum obuhvata sve vrste uređaja za čuvanje u kojima su sačuvani računarski čitljivi podaci. Računarski čitljiv zapisni medijum mogu da uključuju blu-rej disk (BD), univerzalnu serijsku magistralu (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetnu traku, flopi disk i optički uređaj za čuvanje podataka, na primer. Dodatno, računarski čitljiv zapisni medijum uključuje medijume ostvarene u obliku nosilaca (npr. prenos putem Interneta). Dodatno, protok bitova
generisan korišćenjem postupka kodiranja može biti sačuvan u računarski čitljivom zapisnom medijumu ili može biti prenet preko žičnih i bežičnih komunikacionih mreža.
[0771] Dodatno, način ostvarivanja ovog otkrivanja može da se primenjuje kao računarski programski proizvod korišćenjem programskog koda. Programske kodove računar može izvršavati prema jednom načinu ostvarivanja ovog otkrivanja. Programske kodove je moguće čuvati na nosaču koji je čitljiv računarom.
[0772] Uređaj za dekodiranje i uređaj za kodiranje na koji se ovo otkrivanje primenjuje mogu biti uključeni u digitalni uređaj. Pojam „digitalni uređaj“ obuhvata sve digitalne uređaje sposobne da izvršavaju najmanje jednu od funkcija prenosa, prijema, obrade i izlaza, na primer podataka, sadržaja i usluga. Ovde obrada podataka, sadržaja, usluge itd. od strane digitalnog uređaja uključuje operaciju kodiranja i/ili dekodiranja podataka, sadržaja, usluge i sl. Digitalni uređaj se uparuje ili povezuje (u nastavku nazvano „uparivanje“) sa drugim digitalnim uređajima, spoljnim serverima itd. putem žične/bežične mreže radi prenosa i prijema podataka i, po potrebi, njihove konverzije.
[0773] Digitalni uređaj obuhvata, na primer, fiksni uređaj (ili stacionarni uređaj) kao što je mrežni TV, HBBTV (hibridni širokopojasni TV sa emitovanjem), pametni TV, IPTV (internet protokol televizija), PC itd., i mobilni uređaj (ili ručni uređaj) kao što je PDA (lični digitalni asistent), pametni telefon, tablet-računar, laptop. U otkrivanju opisanom u nastavku, radi jednostavnosti, FIG.54 prikazuje i opisuje digitalni TV kao način ostvarivanja digitalnog uređaja, a FIG.55 prikazuje i opisuje mobilni uređaj kao način ostvarivanja digitalnog uređaja.
[0774] U međuvremenu, pojam „žičana/bežična mreža“ opisan ovde odnosi se na komunikacionu mrežu koja podržava različite komunikacione standarde ili protokole za međusobno povezivanje i/ili prenos i prijem podataka između digitalnih uređaja ili između digitalnih uređaja i spoljašnjih servera. Ove žičane/bežične mreže mogu da uključuju i trenutne i buduće podržane komunikacione mreže i odgovarajuće komunikacione protokole, i mogu biti formirane komunikacionim standardom ili protokolima za žičano povezivanje, kao što su USB (Universal Serial Bus), CVBS (Composite Video Banking Sync), komponenta, S-Video (analogni), DVI (Digital Visual Interface), HDMI (High Definition Multimedia Interface), RGB, D-SUB i slično, kao i komunikacionim standardima za bežično povezivanje, kao što su blutut, identifikacija radio frekvencije (RFID), Povezivanje infracrvenih podataka (IrDA), Ultra Širokopojasna (UWB), ZigBee, Digital Living Network Alliance (DLNA), Wireless LAN (WLAN) (Wi-Fi), Wibro (Wireless Broadband), Wimax (Svetska interoperabilnost za mikrotalasni pristup), HSDPA (High Speed Down-link Packet Access), LTE (Long Term Evolution), Wi-Fi Direct i dr.
[0775] U nastavku, u slučaju kada se jednostavno poziva na digitalni uređaj u ovom otkrivanju, on može označavati fiksni uređaj ili mobilni uređaj, ili uključivati oba, u zavisnosti od konteksta.
[0776] U međuvremenu, digitalni uređaj je, na primer, inteligentan uređaj koji podržava funkciju prijema emitovanja, funkciju računara i najmanje jedan eksterni ulaz, i može podržavati e-poštu, pretraživanje interneta, bankarstvo, igre i aplikacije putem prethodno opisanih žičanih/bežičnih mreža. Pored toga, digitalni uređaj može uključivati interfejs za podršku najmanje jednog sredstva za unos ili kontrolu (u nastavku nazvano sredstvo za unos), kao što su ručni uređaj za unos, ekran osetljiv na dodir i daljinski upravljač sa prostorom kretanja. Digitalni uređaj može koristiti standardizovani operativni sistem opšte namene (OS). Na primer, digitalni uređaj može dodavati, brisati, modifikovati i ažurirati razne aplikacije na jezgru OS-a opšte namene i može konfigurisati i pružiti korisniku prijatnije okruženje kroz njih.
[0777] U međuvremenu, eksterni ulaz opisan u otkrivanju uključuje eksterni uređaj za unos, odnosno sva sredstva za unos ili digitalni uređaji koji su žično ili bežično povezani sa prethodno opisanim digitalnim uređajem i prenose/primaju odgovarajuće podatke preko njega. Ovde, eksterni ulazi mogu uključivati sve uređaje kao što su multimedijalni interfejs visoke definicije (HDMI), uređaj za igranje kao što su PlayStation ili X-Box, pametan telefon, tablet računar, štampač ili pametan TV.
[0778] A pojam „server“ opisan u otkrivanju uključuje i klijenta, odnosno sve digitalne uređaje ili sisteme koji obezbeđuju podatke za prethodno opisane digitalne uređaje, i naziva se procesorom. Primeri takvih servera uključuju portal server koji obezbeđuje web stranicu ili web sadržaj, reklamni server koji obezbeđuje reklamne podatke, server za sadržaj koji obezbeđuje sadržaj, server društvenih mreža (SNS), servisni server ili proizvodni server koji obezbeđuje proizvođač, itd.
[0779] [0409] Dodatno, „kanal“ opisan ovde znači put, sredstvo itd. za prenos i prijem podataka i može biti ilustrovan primerom emitovanog kanala. Ovde se emitovani kanal izražava u pojmovima fizičkog kanala, virtuelnog kanala i logičkog kanala u zavisnosti od aktivacije digitalnog emitovanja. Kanal za emitovanje se može nazvati i mrežom za emitovanje. Kao što je prethodno opisano, emitovani kanal se odnosi na kanal za pružanje ili pristup emitovanom sadržaju koji obezbeđuje stanica za emitovanje, a emitovani sadržaj je uglavnom zasnovan na emitovanju u realnom vremenu i takođe se naziva „živi kanal“. Međutim, u poslednje vreme, medijum za emitovanje je postao raznovrsniji, i emitovanje koje nije u realnom vremenu takođe je omogućeno pored emitovanja u realnom vremenu. Takođe se može shvatiti kao pojam koji obuhvata ceo kanal. Dakle, „živi kanal“ se može shvatiti kao pojam koji znači ne samo
emitovanje u realnom vremenu, već i ceo emitovani kanal, uključujući i emitovanje koje nije u realnom vremenu u nekim slučajevima.
[0780] U otkrivanju, „proizvoljni kanal“ je dalje definisan u odnosu na kanal koji nije prethodno opisani emitovani kanal. Proizvoljni kanal može pružati vodič za usluge, kao što je elektronski programski vodič (EPG), zajedno sa emitovanim kanalom. Vodič za usluge, GUI (grafički korisnički interfejs) ili OSD ekran (ekran na ekranu) može biti konfigurisan/obezbeđen samo sa proizvoljnim kanalom.
[0781] U međuvremenu, za razliku od emitovanog kanala koji ima unapred određeni broj kanala između predajnika i prijemnika, proizvoljni kanal je kanal koji je nasumično dodeljen u prijemniku, i broj kanala koji se u osnovi ne preklapa sa brojevima kanala za emitovane kanale se dodeljuje proizvoljnom kanalu. Na primer, kada se odredi određeni emitovani kanal, prijemnik prima emitovani signal koji prenosi emitovani sadržaj i pripadajuće signalizirajuće informacije putem podešenog kanala. Ovde, prijemnik parsira informacije o kanalu iz signalizirajućih informacija i konfiguriše pregledač kanala, EPG i slično na osnovu parsiranih informacija o kanalu i obezbeđuje ih korisniku. Kada korisnik izvrši zahtev za promenu kanala putem ulaznih sredstava, prijemnik shodno tome reaguje.
[0782] [0412] Kao što je prethodno opisano, budući da je emitovani kanal unapred dogovoren između predajnih i prijemnih terminala, kada se proizvoljni kanal dodeli emitovanom kanalu na preklapajući način, to može izazvati konfuziju kod korisnika ili postoji mogućnost zabune, te je poželjno ne dodeljivati duplikate kao što je prethodno opisano. U međuvremenu, čak i ako se broj proizvoljnih kanala ne preklapa sa brojem emitovanog kanala kao što je prethodno opisano, i dalje može doći do konfuzije tokom „surfovanja“ kanalima od strane korisnika, i potrebno je dodeliti broj proizvoljnih kanala imajući ovo u vidu. To je zato što proizvoljni kanal prema ovom otkrivanju može takođe biti implementiran da se pristupa kao odgovor na korisnički zahtev za promenu kanala putem ulaznih sredstava, na isti način kao i konvencionalni emitovani kanal. Shodno tome, broj proizvoljnih kanala može biti definisan i prikazan u obliku u kojem su karakteri napisani paralelno, kao što su proizvoljni kanal-1, proizvoljni kanal-2 i slično, umesto numeričkog oblika kao kod emitovanih kanala, radi lakšeg pristupa korisniku proizvoljnih kanala i radi lakšeg razlikovanja ili prepoznavanja u odnosu na broj emitovanog kanala. U ovom slučaju, iako prikaz broja proizvoljnih kanala može biti realizovan u obliku u kojem su karakteri napisani kao u proizvoljni kanal-1, prijemnik može interno prepoznati i implementirati proizvoljni kanal u numeričkom obliku kao broj emitovanog kanala. Takođe, broj proizvoljnih kanala može biti obezbeđen u obliku broja, kao kod emitovanog kanala, i moguće je definisati i prikazati brojeve
kanala na različite načine koji se mogu razlikovati od emitovanih kanala, kao što su video kanal-1, naslov-1, i video-1.
[0783] Digitalni uređaj izvršava web pregledač za web servis i obezbeđuje korisniku različite vrste web stranica. Ovde, web stranica uključuje web stranicu koja sadrži video sadržaj, i u otkrivanju se video obrađuje odvojeno ili nezavisno od web stranice. Odvojeni video može biti dodeljen proizvoljnom kanalu kao što je prethodno opisano, i obezbeđen kroz vodič za servis ili slično, i izlaziti u skladu sa zahtevom za promenu kanala u procesu pregledanja vodiča za servis ili emitovanog kanala. Dalje, za servise kao što su emitovani sadržaji, igre i aplikacije, pored web servisa, unapred određeni sadržaji, slike, audio, stavke i slično se odvojeno obrađuju od samih emitovanih sadržaja, igara i aplikacija, i proizvoljnom kanalu može biti dodeljen broj za njihovo reprodukovanje, obradu i slično, i može se primenjivati kao što je prethodno opisano.
[0784] FIG.53 predstavlja dijagram koji šematski prikazuje primer servisnog sistema koji uključuje digitalni uređaj.
[0785] Servisni sistemi koji uključuju digitalne uređaje obuhvataju provajdera sadržaja CP 5310, provajdera usluga SP 5320, provajdera mreže NP 5330 i krajnjeg korisnika kućne mreže HNED5340. Ovde, HNED 5340 je, na primer, klijent 5300, odnosno digitalni uređaj. Provajder sadržaja 5310 proizvodi i obezbeđuje različite sadržaje. Kao što je prikazano na FIG.53, kao primeri provajdera sadržaja 5310 mogu se navesti zemaljski emiteri, kablovski operateri (System Operator) ili MSO (višestruki operateri), satelitski emiteri, različiti Internet emiteri, privatni CP i slično. U međuvremenu, provajder 5310 sadržaja obezbeđuje i različite aplikacije pored emitovanog sadržaja.
[0786] Provajder usluga 5320 obezbeđuje sadržaj koji provajder sadržaja 5310 pakuje kao paket usluga krajnjem korisniku kućne mreže (HNED) 5340. Na primer, provajder usluga 5320 sa FIG.
[0787] 53 pakuje prvo zemaljsko emitovanje, drugo zemaljsko emitovanje, kablovski MSO, satelitsko emitovanje, razne Internet emisije, aplikacije i slično, i obezbeđuje ih HNED 5340.
[0788] Provajder usluga 5320 obezbeđuje usluge klijentu 5300 na unikast ili multikast način. Takođe, provajder usluga 5320 može istovremeno da prenese podatke većem broju prethodno registrovanih klijenata 5300, za šta se može koristiti protokol upravljanja internet grupom IGMP.
[0789] Prethodno opisani provajder sadržaja 5310 i provajder usluga 5320 mogu biti isti ili jedinstveni entitet. Na primer, sadržaj koji obezbeđuje provajder sadržaja 5310 može biti pakovan kao usluga i dostavljen HNED 5340, tako da se funkcije provajdera usluga 5320 mogu izvršavati zajedno ili obrnuto.
[0790] Provajder mreže 5330 obezbeđuje mrežu za razmenu podataka između provajdera sadržaja 5310 i/ili provajdera usluga 5320 i klijenta 5300.
[0791] Klijent 5300 može uspostaviti kućnu mrežu radi prenosa i prijema podataka.
[0792] U međuvremenu, provajder sadržaja 5310 i/ili provajder usluga 5320 u servisnom sistemu mogu koristiti postupke za kontrolu pristupa ili zaštitu sadržaja kako bi zaštitili preneti sadržaj. U ovom slučaju, klijent 5300 može koristiti postupke obrade kao što su CableCARD (POD: Point of Deployment), DCAS (Downloadable CAS) i slično, u skladu sa ograničenjima prijema ili zaštite sadržaja.
[0793] Pored toga, klijent 5300 može takođe koristiti dvosmernu uslugu preko mreže (ili komunikacione mreže). U ovom slučaju, klijent 5300 može zapravo obavljati funkciju provajdera sadržaja, dok postojeći provajder usluga 5320 može da primi podatke i prosledi ih drugom klijentu.
[0794] FIG.54 predstavlja blok dijagram koji ilustruje digitalni uređaj prema jednom načinu ostvarivanja. Ovde, FIG.54, na primer, može odgovarati klijentu 5300 sa FIG.53 i referisati se na digitalni uređaj opisan ranije.
[0795] Digitalni uređaj 5400 uključuje mrežni interfejs 5401, TCP/IP upravljač 5402, upravljač isporuke usluga 5403, SI dekoder 5404, demultiplekser (demux) 5405, audio dekoder 5406, video dekoder 5407, modul za prikaz (display A/V i OSD) 5408, upravljač kontrolnim uslugama 5409, upravljač otkrivanja usluga 5410, SI i baza podataka 5411 meta podataka, upravljač meta podacima 5412, upravljač uslugama 5413, UI upravljač 5414 i slično.
[0796] Mrežni interfejs 5401 prima ili prenosi IP pakete preko mreže. Odnosno, mrežni interfejs 5401 prima usluge, sadržaj i slično od provajdera usluga 5320 preko mreže.
[0797] TCP/IP upravljač 5402 učestvuje u prenosu paketa između izvora i odredišta za IP pakete koje digitalni uređaj 5400 prima i IP pakete koje digitalni uređaj 5400 prenosi. TCP/IP upravljač 5402 klasifikuje primljene pakete tako da odgovaraju odgovarajućem protokolu i prosleđuje klasifikovane pakete upravljaču isporuke usluga 5403, upravljaču otkrivanja usluga 5410, upravljaču kontrolnim uslugama 5409, upravljaču meta podacima 5412 i slično.
[0798] Upravljač isporuke usluga 5403 je odgovoran za kontrolu primljenih podataka o uslugama. Na primer, upravljač isporuke usluga 5403 može koristiti RTP/RTCP prilikom kontrole strimovanja podataka u stvarnom vremenu. Kada se podaci strimovanja u stvarnom vremenu prenose pomoću RTP, upravljač isporuke usluga 5403 parsira primljeni paket podataka prema RTP-u i prosleđuje ga demultiplekseru 5405 ili čuva u SI i bazi podataka 5411 meta podataka pod kontrolom upravljača uslugama 5413. Pored toga, upravljač isporuke usluga 5403 koristi RTCP da
vrati informacije o prijemu mreže serveru koji pruža uslugu. Demultiplekser 5405 demultipleksuje primljene pakete na audio, video i sistemske informacije (SI podatke) i prosleđuje ih audio/video dekoderu 5406/5407 i SI dekoderu 5404, tim redom.
[0799] SI dekoder 5404 dešifruje servisne informacije kao što su informacije specifične za program PSI, program i protokol za sistemske informacije PSIP i servisne informacije digitalnog video emitovanja DVB-SI.
[0800] Takođe, SI dekoder 5404 čuva dešifrovane servisne informacije u SI & bazi podataka 5411 meta podataka, na primer. Servisne informacije sačuvane na ovaj način mogu biti pročitane i korišćene od strane odgovarajuće konfiguracije, na primer, na osnovu korisničkog zahteva.
[0801] Audio/video dekoder 5406/5407 dešifruje svaki audio podatak i video podatak koji je demultipleksovan od strane demultipleksera 5405. Tako dešifrovani audio i video podaci se korisniku prikazuju putem display modula 5408.
[0802] Upravljač aplikacija može da uključuje, na primer, UI upravljač 5414 i upravljača uslugama 5413. Upravljač aplikacija upravlja ukupnim stanjem digitalnog uređaja 5400, obezbeđuje korisnički interfejs i upravlja drugim upravljačima.
[0803] UI upravljač 5414 obezbeđuje grafički korisnički interfejs GUI za korisnika pomoću prikaza na ekranu OSD ili sličnog interfejsa, i prima unose sa tastera od korisnika kako bi izvršio operacije uređaja prema primljenom unosu. Na primer, kada UI upravljač 5414 primi unos tastera od korisnika vezan za izbor kanala, UI upravljač 5414 prosleđuje signal unosa upravljaču 5413 uslugama.
[0804] Upravljač 5413 uslugama kontroliše upravljače povezane sa uslugom, kao što su upravljač isporuke usluge 5403, upravljač otkrivanja usluge 5410, upravljač kontrolnim uslugama 5409 i upravljač 5412 meta podacima.
[0805] Takođe, upravljač 5413 uslugama kreira mapu kanala i bira kanal koristeći mapu kanala prema unosu ključa koji je primio od upravljača korisničkog interfejsa 5414. Upravljač 5413 uslugama prima servisne informacije o kanalu od SI dekodera 5404 i postavlja identifikator audio/video paketa (PID) izabranog kanala u demultiplekser 5405. PID postavljen na ovaj način se koristi u procesu demultipleksiranja opisanom iznad. Dakle, demultiplekser 5405 filtrira audio podatke, video podatke i SI podatke koristeći PID.
[0806] Upravljač otkrivanja usluge 5410 obezbeđuje informacije neophodne za izbor pružaoca usluge koji pruža određenu uslugu. Kada signal o izboru kanala stigne od upravljača 5413 uslugama, upravljač otkrivanja usluge 5410 pronalazi uslugu koristeći te informacije.
[0807] [0435] Upravljač kontrolnim uslugama 5409 je odgovoran za izbor i kontrolu usluga. Na primer,
upravljač kontrolnim uslugama 5409 koristi IGMP ili RTSP ili slično kada korisnik bira uslugu emitovanja uživo, kao što je konvencionalni postupak emitovanja, a koristi RTSP za izbor i kontrolu usluge kada se bira usluga kao što je VOD (video na zahtev). RTSP protokol može obezbediti trik režim za strimovanje u stvarnom vremenu. Takođe, upravljač kontrolnim uslugama 5409 može inicijalizovati i upravljati sesijom preko IMS gejta 5450 koristeći IP multimedijalni sistem (IMS) i protokol za inicijalizaciju sesije (SIP). Protokol je jedan način ostvarivanja, dok se drugi protokoli mogu koristiti prema primerima implementacije.
[0808] Upravljač 5412 meta podacima upravlja metapodacima povezanim sa uslugom i čuva metapodatke u SI & bazi podataka 5411 meta podataka.
[0809] SI & baza podataka 5411 meta podataka čuva servisne informacije dekodirane od strane SI dekodera 5404, metapodatke kojima upravlja upravljač 5412 meta podacima, i informacije neophodne za izbor pružaoca usluge koje obezbeđuje menadžer otkrivanja usluge 5410. Takođe, SI & baza podataka 5411 meta podataka može čuvati podatke za podešavanje sistema i slične informacije.
[0810] SI & baza podataka 5411 meta podataka može se implementirati pomoću neisparljive RAM memorije (NVRAM), fleš memorije ili slično.
[0811] U međuvremenu, IMS gejt 5450 je gejt koji sakuplja funkcije neophodne za pristup IMS-baziranoj IPTV usluzi.
[0812] FIG.55 je konfiguracioni blok dijagram koji ilustruje drugi način ostvarivanja digitalnog uređaja. Konkretno, FIG.55 prikazuje blok dijagram mobilnog uređaja kao drugi način ostvarivanja digitalnog uređaja.
[0813] Pozivajući se na FIG.55, mobilni uređaj 5500 može da uključuje bežičnu komunikacionu jedinicu 5510, audio/video (A/V) ulaznu jedinicu 5520, korisničku ulaznu jedinicu 5530, senzorsku jedinicu 5540, izlaznu jedinicu 5550, memoriju 5560, jedinicu 5570 interfejsa, kontrolnu jedinicu 5580 i jedinicu 5590 za napajanje. Komponente prikazane na FIG.55 nisu obavezne, tako da se može primeniti mobilni uređaj sa više ili manje komponenti.
[0814] Jedinica 5510 za bežičnu komunikaciju može da uključuje jedan ili više modula koji omogućavaju bežičnu komunikaciju između mobilnog uređaja 5500 i bežičnog komunikacionog sistema ili između mobilnog uređaja i mreže u kojoj se mobilni uređaj nalazi. Na primer, jedinica 5510 za bežičnu komunikaciju može da uključuje modul 5511 za prijem emitovanja, modul 5512 za mobilnu komunikaciju, modul 5513 za bežični Internet, modul 5514 za komunikaciju na kratkom dometu i modul 5515 informacija o lokaciji.
[0815] Modul 5511 za prijem emitovanja prima signal emitovanja i/ili informacije povezane sa emitovanjem od spoljašnjeg servera za upravljanje emitovanjem putem kanala emitovanja. Kanal emitovanja može da uključuje satelitski i zemaljski kanal. Server za upravljanje emitovanjem može da označava server koji generiše i prenosi signale emitovanja i/ili informacije povezane sa emitovanjem, ili server koji prima prethodno generisane signale emitovanja i/ili informacije povezane sa emitovanjem i prosleđuje ih terminalu. Signal emitovanja može da uključuje TV signal emitovanja, radio signal emitovanja i signal emitovanja podataka, i može takođe da uključuje kombinovani signal u kojem je signal emitovanja podataka kombinovan sa TV signalom emitovanja ili radio signalom emitovanja.
[0816] Informacije povezane sa emitovanjem mogu da označavaju informacije koje se odnose na kanal emitovanja, program emitovanja ili provajdera usluge emitovanja. Informacije povezane sa emitovanjem mogu takođe biti obezbeđene putem mobilne komunikacione mreže. U tom slučaju, mogu biti primljene modulom 5512 za mobilnu komunikaciju.
[0817] Informacije povezane sa emitovanjem mogu postojati u različitim oblicima, na primer, elektronski programski vodič EPG ili elektronski servisni vodič ESG.
[0818] Modul 5511 za prijem emitovanja može da primi digitalni signal emitovanja koristeći digitalni sistem emitovanja kao što su, na primer, ATSC, digitalno video emitovanje - zemaljsko DVB-T, satelitski DVB-S, MediaFLO samo za medijsku vezu, ručni DVB-H, integrisane usluge digitalnog emitovanja – zemaljsko ISDB-T i slično. Naravno, Modul 5511 za prijem emitovanja može biti konfigurisan tako da bude pogodan i za druge sisteme emitovanja, kao i za prethodno opisane digitalne sisteme emitovanja.
[0819] Signal emitovanja i/ili informacije povezane sa emitovanjem primljene putem modula 5511 za prijem emitovanja mogu biti sačuvane u memoriji 5560.
[0820] Modul 5512 za mobilnu komunikaciju šalje i prima radio-signal ka i od najmanje jedne od sledećih jedinica: bazne stanice, spoljnog terminala i servera u mobilnoj komunikacionoj mreži. Bežični signal može da uključuje različite tipove podataka u skladu sa slanjem i prijemom glasovnog signala, signala video poziva ili tekstualne/multimedijalne poruke.
[0821] Modul 5513 za bežični Internet uključuje modul za pristup bežičnom Internetu i može biti ugrađen u mobilni uređaj 5500 ili spoljašnji modul. Kao tehnologije bežičnog Interneta mogu se koristiti bežična LAN (WLAN, Wi-Fi), bežični širokopojasni Wibro, svetska interoperabilnost za mikrotalasni pristup Wimax i brzi nizvodni paketni pristup HSDPA.
[0822] [0450] Modul 5514 za komunikaciju na kratkom dometu odnosi se na modul za komunikaciju na malom rastojanju. Mogu se koristiti Bluetooth, RFID (identifikacija radio frekvencije), infracrvena
komunikacija (IrDA, povezivanje infracrvenih podataka), UWB (ultra-širokopojasna), ZigBee, RS-232, RS-485 i dr.
[0823] Modul 5515 sa informacijama o lokaciji je modul za dobijanje informacija o lokaciji mobilnog uređaja 5500, i može koristiti, na primer, sistem za globalno pozicioniranje GPS.
[0824] A/V ulazna jedinica 5520 služi za ulaz audio i/ili video signala i može da uključuje kameru 5521, mikrofon 5522 i slično. Kamera 5521 obrađuje kadrove slike, kao što su statične ili pokretne slike, koje dobija senzor slike u režimu video poziva ili režimu snimanja. Obrađeni kadar slike može biti prikazan na jedinici 5551 displeja.
[0825] Kadrovi slike obrađeni kamerom 5521 mogu biti sačuvani u memoriji 5560 ili poslati spolja putem jedinice 5510 za bežičnu komunikaciju. U zavisnosti od okruženja korišćenja, dve ili više kamera 5521 mogu biti obezbeđene.
[0826] Mikrofon 5522 prima spoljašnji zvučni signal putem mikrofona u režimu poziva ili režimu snimanja, režimu prepoznavanja glasa itd., i obrađuje ga kao elektronske podatke glasa.
[0827] Obrađeni podaci glasa mogu biti konvertovani i emitovani u obliku koji može biti prenet do bazne stanice mobilne komunikacije putem modula 5512 za mobilnu komunikaciju u režimu poziva. Mikrofon 5522 može da se primenjuje sa različitim algoritmima za redukciju šuma radi uklanjanja šuma nastalog prilikom prijema spoljašnjeg zvučnog signala.
[0828] Korisnička ulazna jedinica 5530 generiše ulazne podatke za korisnika radi upravljanja radom terminala. Korisnička ulazna jedinica 5530 može biti konfigurisana pomoću tastature, tastera s kupolastim prekidačem, dodirne table (tip pritiska/tip kapaciteta), točka za pomeranje, prekidača za pomeranje ili nečeg sličnog.
[0829] Senzorska jedinica 5540 prikazuje trenutni status mobilnog uređaja 5500, kao što su stanje otvorenosti/zatvorenosti mobilnog uređaja 5500, lokacija mobilnog uređaja 5500, prisustvo ili odsustvo dodira korisnika, orijentacija mobilnog uređaja i ubrzanje/usporavanje mobilnog uređaja. Ona detektuje i generiše signal senzora 5500 za kontrolu rada mobilnog uređaja. Na primer, kada se mobilni uređaj 5500 pomeri ili nagne, može se detektovati položaj ili nagib mobilnog uređaja. Takođe, može se detektovati da li je napajanje obezbeđeno jedinici 5590 za napajanje ili da li su spoljašnji uređaji povezani sa interfejs jedinicom 5570. U međuvremenu, senzorska jedinica 5540 može da uključuje senzor 5541 za blizinu, uključujući i komunikaciju bliskog polja (NFC).
[0830] Izlazna jedinica 5550 služi za generisanje izlaza koji se odnose na vid, sluh ili dodir, i može da uključuje jedinicu 5551 prikaza, audio izlazni modul 5552, jedinicu 5553 za alarm i haptički modul 5554.
[0831] Jedinica 5551 za prikaz prikazuje ili emituje informacije koje je obradio mobilni uređaj 5500. Na primer, kada je mobilni uređaj u režimu poziva, prikazuje se korisnički interfejs UI ili grafički korisnički interfejs GUI koji se odnosi na poziv. Kada je mobilni uređaj 5500 u režimu video poziva ili režimu snimanja, prikazuje se snimljen i/ili primljen video, UI ili GUI.
[0832] Deo za prikaz 5551 može da uključuje LCD displej sa tečnim kristalima, TFT-LCD displej sa tankim filom tranzistora i tečnim kristalima, organsku OLED diodu koja emituje svetlost, fleksibilni displej i 3D displej.
[0833] Neki od ovih displeja mogu biti tipa transparentnog prikaza ili tipa koji propušta svetlost, tako da se spoljašnjost može videti kroz njih. Ovo se može nazvati transparentni displej, a tipičan primer transparentnog displeja je transparentni OLED TOLED. Zadnja struktura jedinice 5551 za prikaz može takođe biti konfigurisana kao struktura koja propušta svetlost. Sa takvom strukturom, korisnik može videti objekte koji se nalaze iza tela terminala kroz oblast koju zauzima jedinica 5551 za prikaz.
[0834] U zavisnosti od oblika ostvarivanja mobilnog uređaja 5500, dve ili više jedinica 5551 za prikaz mogu biti prisutne. Na primer, veći broj jedinica za prikaz može biti razdvojen na jednoj površini, integralno raspoređen u mobilnom uređaju 5500 ili poređan na različitim površinama.
[0835] Kada jedinica 5551 za prikaz i senzor koji detektuje dodirnu operaciju (u nastavku nazvan „senzor dodira“) formiraju međusobnu slojevitu strukturu (u nastavku nazvanu „ekran osetljiv na dodir“), jedinica 5551 za prikaz može se koristiti kao ulazni uređaj pored izlaznog uređaja. Senzor dodira može imati oblik, na primer, dodirnog filma, dodirne folije ili dodirne table.
[0836] Senzor dodira može biti konfigurisán da konvertuje promenu pritiska primenjenog na određeni deo jedinice 5551 za prikaz ili kapacitet koji nastaje na određenom delu jedinice prikaza 5551 u električni ulazni signal. Senzor dodira može biti konfigurisan da detektuje ne samo dodirnuti položaj i oblast, već i pritisak u trenutku dodira.
[0837] Ako postoji dodirni ulaz na senzoru na dodir, odgovarajući signali se šalju kontroleru dodira. Kontroler dodira obrađuje te signale i zatim prenosi odgovarajuće podatke kontroleru 5580. Shodno tome, kontrolna jedinica 5580 može da utvrdi koji deo jedinice 5551 za prikaz je dodirnut i slično.
[0838] [0465] Senzor 5541 za blizinu može biti postavljen u unutrašnjem području mobilnog uređaja okruženom ekranom na dodir ili u blizini ekrana na dodir. Senzor za blizinu označava senzor koji detektuje prisustvo ili odsustvo objekta koji se približava unapred određenoj detekcionoj površini ili se nalazi u njenoj blizini, koristeći mehaničku silu ili infracrveno svetlo, bez
mehaničkog kontakta. Senzori za blizinu imaju duži vek trajanja i veću upotrebljivost od senzora sa kontaktom.
[0839] Primeri senzora za blizinu uključuju fotoelektrični senzor tipa transmisije, fotoelektrični senzor tipa direktne refleksije, fotoelektrični senzor tipa refleksije ogledalom, senzor za blizinu tipa visokofrekventne oscilacije, kapacitivni senzor za blizinu, magnetni senzor za blizinu i infracrveni senzor za blizinu. Kada je ekran na dodir kapacitivan, on je konfigurisán da detektuje približavanje pokazivača usled promene električnog polja prema njegovoj blizini. U tom slučaju, ekran na dodir (senzor dodira) može biti klasifikovan kao senzor za blizinu.
[0840] U nastavku, radi praktičnosti opisa, radnja zbog koje se pokazivač prepoznaje kao da je pozicioniran na ekranu na dodir, a da ga zapravo ne dodiruje, označena je kao „dodir blizine “, a radnja stvarnog dodirivanja pokazivačem ekrana na dodir označena je kao „kontaktni dodir “. Lokacija na ekranu na dodir na kojoj postoji dodir približavanjem znači lokaciju na kojoj pokazivač vertikalno odgovara ekranu na dodir kada se pokazivač približi.
[0841] Senzor za blizinu detektuje dodir približavanjem i obrazac dodira približavanjem (npr. rastojanje dodira približavanjem, smer dodira približavanjem, brzinu dodira približavanjem, vreme dodira približavanjem, položaj dodira približavanjem, stanje kretanja pri dodiru približavanjem itd.). Informacije koje odgovaraju detektovanoj operaciji dodira približavanjem i obrascu dodira približavanjem mogu biti prikazane na ekranu na dodir.
[0842] Audio izlazni modul 5552 može emitovati audio podatke primljene iz jedinice 5510 za bežičnu komunikaciju u režimu prijema signala poziva, režimu poziva ili režimu snimanja, režimu prepoznavanja glasa, režimu prijema emitovanja ili slično, ili audio podatke sačuvane u memoriji 5560. Audio izlazni modul 5552 može takođe emitovati audio signale koji se odnose na funkcije (na primer, zvuk prijema poziva, zvuk prijema poruke itd.) koje se izvršavaju u mobilnom uređaju 5500. Audio izlazni modul 5552 može da uključuje prijemnik, zvučnik i zujalicu.
[0843] Alarm modul 5553 emituje signal za obaveštavanje o pojavi događaja u mobilnom uređaju 5500. Primeri događaja koji se generišu u mobilnom uređaju uključuju prijem signala poziva, prijem poruke, unos signala tastera i dodirni ulaz. Jedinica 5553 za alarm može emitovati signal za obaveštavanje o pojavi događaja i u drugim oblicima, na primer vibracijom, pored video signala ili audio signala.
[0844] Video signal ili audio signal mogu takođe biti emitovani putem jedinice 5551 za prikaz ili audio izlaznog modula 5552, tako da se jedinica prikaza i audio izlazni moduli 5551 i 5552 mogu klasifikovati kao deo modula 5553 alarma.
[0845] Haptički modul 5554 generiše različite taktilne efekte koje korisnik može da oseti.
[0846] Vibracija je tipičan primer taktilnog efekta koji generiše haptički modul 5554. Intenzitet i obrazac vibracije koje generiše haptički modul 5554 mogu se kontrolisati. Na primer, različite vibracije mogu biti sintetisane i emitovane ili emitovane uzastopno.
[0847] Pored vibracija, haptički modul 5554 može da generiše razne taktilne efekte, uključujući efekte stimulacije poput rasporeda iglica koje se vertikalno pomeraju u odnosu na površinu kože, sile izduvavanja ili usisavanja vazduha kroz izduvavanje ili usisavanje, prelaska preko površine kože, kontakta sa elektrodom, elektrostatičke sile i slično, kao i efekat reprodukovanja osećaja hladnoće i topline pomoću elementa sposobnog da apsorbuje ili generiše toplotu.
[0848] Haptički modul 5554 može ne samo da isporučuje taktilni efekat putem direktnog kontakta, već ga takođe može implementirati tako da korisnik oseti taktilni efekat kroz mišićne senzacije, kao što su prsti ili ruke. Dva ili više haptički modula 5554 mogu biti obezbeđena u zavisnosti od aspekta konfiguracije mobilnog uređaja 5500.
[0849] Memorija 5560 može skladištiti program za rad kontrolne jedinice 5580 i može privremeno čuvati ulazne/izlazne podatke (npr. imenik, poruke, statičnu sliku, video itd.).
[0850] Memorija 5560 može čuvati podatke koji se odnose na različite obrasce vibracije i audio izlaza kada se unese dodir na ekranu na dodir.
[0851] Memorija 5560 može da uključuje medijum za čuvanje najmanje jednog od sledećih tipova: fleš memorija, hard-disk tip, multimedijalna mikro kartica, memorijska kartica (na primer, SD ili XD memorija, itd.), RAM memorija, SRAM memorija, ROM memorija, EEPROM, PROM, magnetska memorija, optički disk. Mobilni uređaj 5500 može da radi u vezi sa veb čuvanjem koje izvodi funkciju čuvanja memorije 5560 na Internetu.
[0852] Jedinica 5570 interfejsa služi kao prolaz ka svim spoljnim uređajima povezanim na mobilni uređaj 5500. Jedinica 5570 interfejsa prima podatke iz spoljnog uređaja, prima napajanje i prenosi podatke do svake komponente unutar mobilnog uređaja 5500, ili omogućava da se podaci iz mobilnog uređaja 5500 prenesu do spoljnog uređaja. Na primer, žičani/bežični port za slušalice, port za spoljni punjač, žičani/bežični port za prenos podataka, port za memorijsku karticu, port za povezivanje uređaja opremljenih identifikacionim modulom, audio ulazno/izlazni port, video I/O port, port za slušalice i slično mogu biti uključeni u jedinicu 5570 interfejsa.
[0853] [0478] Identifikacioni modul je čip koji čuva različite informacije za autentifikaciju prava korišćenja mobilnog uređaja 5500, i može da uključuje korisnički identifikacioni modul UIM, pretplatnički identifikacioni modul SIM, univerzalni pretplatnički identifikacioni modul USIM, i
slično. Uređaj opremljen identifikacionim modulom (u nastavku nazvan „identifikacioni uređaj“) može biti izrađen u formatu pametne kartice. Dakle, identifikacioni uređaj može biti povezan sa terminalom 5500 preko porta.
[0854] Kada je mobilni terminal 5500 povezan sa spoljnim postoljem, jedinica 5570 interfejsa može da postane prolaz kroz koji se napajanje iz postolja dovodi do mobilnog terminala 5500, ili prolaz kroz koji se prenose različiti komandni signali koje korisnik unosi preko postolja. Različiti komandni signali ili napajanje dobijeno iz postolja mogu da se koriste kao signal za prepoznavanje da je mobilni terminal ispravno postavljen u postolje.
[0855] Kontrolna jedinica 5580 uglavnom kontroliše celokupan rad mobilnog uređaja. Na primer, ona izvodi kontrolu i obradu koja se odnosi na govorne pozive, komunikaciju podataka, video pozive i slično. Kontrolna jedinica 5580 može da uključuje multimedijalni modul 5581 za reprodukciju multimedije. Multimedijalni modul 5581 može da se primeni unutar kontrolne jedinice 5580, ili može da se primeni odvojeno od kontrolne jedinice 5580. Kontrolna jedinica 5580, a naročito multimedijalni modul 5581, mogu da uključuju prethodno opisani uređaj 100 za kodiranje i/ili uređaj 200 za dekodiranje.
[0856] Kontrolna jedinica 5580 može da izvodi postupak prepoznavanja obrazaca koji može da prepozna unos rukopisa ili crtanje slika na ekranu na dodir kao znakove i slike, tim redom.
[0857] Jedinica 5590 za napajanje prima spoljno i unutrašnje napajanje pod kontrolom kontrolne jedinice 5580 i obezbeđuje napajanje potrebno za rad svake komponente.
[0858] Razni ovde opisani načini ostvarivanja mogu da se primenjuju na računar ili sličan medijum za snimanje čitljiv na računaru pomoću, na primer, softver, hardver, ili kombinacija ta dva.
[0859] Prema hardverskom načinu ostvarivanja, načini ostvarivanja ovde opisani mogu da se primenjuju korišćenjem najmanje jednog od sklopova ASIC specifičnih za primenu, procesora za digitalnu obradu signala DSP, uređaja za digitalnu obradu signala DSPD, programabilnih logičkih uređaja PLD, poljski programabilnih nizova gejtova FPGA, procesora, kontrolera, mikrokontrolera, mikroprocesora i električnih jedinica za izvođenje funkcija. U nekim slučajevima, načini ostvarivanja ovde opisani mogu da se primenjuju samom kontrolnom jedinicom 5580.
[0860] [0485] Prema softverskom načinu ostvarivanja, načini ostvarivanja kao što su postupci i funkcije ovde opisani mogu da se primenjuju kao odvojeni softverski moduli. Svaki softverski modul može da izvodi jednu ili više funkcija i operacija ovde opisanih. Softverski kod može da bude implementiran u softverskoj aplikaciji napisanoj u odgovarajućem programskom jeziku. Ovaj
softverski kod se čuva u memoriji 5560 i može da bude izvršen od strane kontrolne jedinice 5580.
[0861] FIG.56 predstavlja blok dijagram koji ilustruje digitalni uređaj prema drugom načinu ostvarivanja.
[0862] Drugi primer digitalnog uređaja 5600 može da uključuje prijemnu jedinicu 5605 za emitovanje, jedinicu 5656 za interfejs sa spoljnim uređajem, jedinicu za čuvanje 5640, korisničku ulaznu interfejs jedinicu 5650, kontrolnu jedinicu 5670, jedinicu 5680 displeja, audio izlaznu jedinicu 5685, jedinicu za napajanje 5690 i jedinicu za fotografisanje (nije prikazana). Ovde prijemna jedinica 5605 za emitovanje može da uključuje najmanje jedan tjuner 5610, jedinicu za demodulaciju 5620 i mrežnu jedinicu 5630 za interfejs. Međutim, u zavisnosti od slučaja, prijemna jedinica 5605 za emitovanje može da uključuje tjuner 5610 i demodulator 5620, ali možda neće uključivati mrežnu jedinicu 5630 za interfejs, i obrnuto. Takođe, iako nije prikazano, prijemna jedinica 5605 za emitovanje može biti opremljena multiplekserom za multipleksiranje signala podešenog tjunerom 5610 i zatim demoduliranog jedinicom 5620, kao i signala primljenog kroz mrežnu jedinicu 5630 za interfejs. Takođe, iako nije prikazano, prijemna jedinica 5605 za emitovanje može biti opremljena demultiplekserom za demultipleksiranje multipleksiranog signala, demoduliranog signala ili signala koji je prošao kroz mrežnu jedinicu 5630 za interfejs.
[0863] Tjuner 5610 prima RF signal emitovanja podešavanjem kanala koji je korisnik izabrao ili svih prethodno sačuvanih kanala među radio frekvencijskim (RF) signalima emitovanja primljenim putem antene. Tjuner 5610 zatim konvertuje primljeni RF signal emitovanja u signal srednje frekvencije IF ili bazni signal.
[0864] Na primer, ako je primljeni RF signal emitovanja digitalni signal emitovanja, on se konvertuje u digitalni IF signal DIF, a ako je analogni signal emitovanja, on se konvertuje u analogni bazni video ili audio signal CVBS/SIF. Odnosno, tjuner 5610 može da obrađuje i digitalne i analogne signale emitovanja. Analogni bazni video ili audio signal CVBS/SIF izlaz iz tjunera 5610 može biti direktno unet u kontroler 5670.
[0865] Tjuner 5610 može primati RF signal emitovanja sa jednim nosačem prema ATSC šemi komiteta za napredne televizijske sisteme, ili RF signal emitovanja sa više nosača prema DVB šemi digitalnog video emitovanja.
[0866] U međuvremenu, tjuner 5610 može sekvencijalno da podešava i prima RF signale emitovanja svih kanala sačuvanih kroz funkciju čuvanja kanala među RF signalima emitovanja primljenim putem antene, i konvertuje ih u signal srednje frekvencije ili bazni signal.
[0867] Jedinica 5620 za demodulaciju prima i demodulira digitalni IF signal (DIF) konvertovan od strane tjunera 5610. Na primer, kada je digitalni IF signal izlaz iz tjunera 5610 ATSC sistem, jedinica 5620 za demodulaciju izvodi 8-vestigialnu bočnu opsežnu 8-VSB demodulaciju. Takođe, jedinica 5620 za demodulaciju može da izvrši dekodiranje kanala. U tu svrhu, jedinica 5620 za demodulaciju može da uključuje trelis dekoder, uređaj za ponovno raspoređivanje podataka, Rid-Solomonov dekoder i slično, i izvršava trelis dekodiranje, postupak ponovnog raspoređivanja podataka i Rid-Solomonovo dekodiranje.
[0868] Na primer, kada je digitalni IF signal koji se šalje iz tjunera 5610 predstavlja DVB postupak, jedinica 5620 za demodulaciju vrši demodulaciju kodirane ortogonalne frekventne modulacije COFDMA. Dalje, jedinica 5620 za demodulaciju vrši dekodiranje kanala. U tu svrhu, jedinica 5620 za demodulaciju može da uključuje konvolucioni dekoder, uređaj za ponovno raspoređivanje podataka i Rid-Solomonov dekoder i izvršava konvoluciono dekodiranje, postupak ponovnog raspoređivanja podataka i Rid-Solomonov dekodiranje.
[0869] Jedinica 5620 za demodulaciju može da izlazi transportni tok TS nakon demodulacije i dekodiranja kanala. U ovom slučaju, transportni tok može biti signal u kojem su multipleksirani video signal, audio signal ili podaci. Na primer, transportni tok može biti MPEG-2 transportni tok TS u kojem su multipleksirani MPEG-2 standardni video signal, Dolby AC-3 standardni audio signal i slično. MPEG-2 TS može da uključuje zaglavlje od 4 bajta i korisni teret od 184 bajta.
[0870] Moguće je da prethodno opisana jedinica 5620 za demodulaciju bude obezbeđena odvojeno prema ATSC i DVB standardu. Odnosno, digitalni uređaj može odvojeno da uključuje ATSC demodulator i DVB demodulator.
[0871] Transportni tok izlaz iz demodulatora 5620 može biti unet u kontrolnu jedinicu 5670. Kontrolna jedinica 5670 može da kontroliše demultipleksiranje, obradu video i audio signala i slično i da kontroliše izlaz slike kroz jedinicu 5680 displeja i audio izlaz kroz audio izlaznu jedinicu 5685.
[0872] Jedinica 5656 interfejsa spoljnog uređaja obezbeđuje okruženje u kojem se različiti spoljašnji uređaji povezuju sa digitalnim uređajem 5600. U tu svrhu, jedinica interfejsa spoljnog uređaja 5635 može da uključuje A/V ulazno/izlaznu jedinicu (nije prikazana) ili jedinicu za bežičnu komunikaciju (nije prikazana).
[0873] [0498] Jedinica interfejsa spoljnog uređaja 5656 može biti povezana žično ili bežično sa spoljnim uređajima kao što su digitalni višenamenski disk (DVD), blu-rej, uređaji za igrice, kamere, kamkorderi, računari (laptopovi, tableti), pametni telefoni, Bluetooth uređaji i klaud servisi. Jedinica 5656 interfejsa spoljnog uređaja prenosi video, audio ili signal (uključujući slike)
podataka koji je unet spolja kroz povezani spoljašnji uređaj do kontrolne jedinice 5670 digitalnog uređaja. Kontrolna jedinica 5670 može kontrolisati obrađenu sliku, audio ili signal podatka tako da se izlaz može slati nazad ka povezanim spoljnim uređajima. U tu svrhu, jedinica 5656 interfejsa spoljnog uređaja može dodatno da uključuje A/V ulazno/izlaznu jedinicu (nije prikazana) ili jedinicu za bežičnu komunikaciju (nije prikazana).
[0874] A/V ulazno/izlazna jedinica može da uključuje USB terminal, CVBS terminal za kompozitni video sa sinhronizacijom, komponentni terminal, S-video terminal (analogni), DVI terminal (digitalni vizuelni interfejs), HDMI terminal (multimedijalni interfejs visoke definicije), RGB terminal, D-SUB terminal i slične, za unos video i audio signala spoljnog uređaja u digitalni uređaj 5600.
[0875] Jedinica za bežičnu komunikaciju može da izvodi bežičnu komunikaciju kratkog dometa sa drugim elektronskim uređajima. Digitalni uređaj 5600 može biti umrežen sa drugim elektronskim uređajima u skladu sa komunikacionim protokolom, na primer, Bluetooth, identifikacija putem radio-frekvencije RFID, prenos infracrvenih podataka IrDA, ultra širokopojasni UWB, ZigBee, digital living network alliance DLNA, itd.
[0876] Takođe, jedinica 5656 interfejsa spoljnog uređaja može biti povezana sa najmanje jednim od različitih set-gornjih kutija i raznih terminala opisanih iznad, i da izvodi ulazne/izlazne operacije sa set-gornjom kutijom.
[0877] U međuvremenu, jedinica 5656 interfejsa spoljnog uređaja može da primi aplikaciju ili listu aplikacija iz susednog spoljnog uređaja i da je prenese kontrolnoj jedinici 5670 ili jedinici 5640 za čuvanje.
[0878] Mrežna jedinica 5630 za interfejs obezbeđuje interfejs za povezivanje digitalnog uređaja 5600 sa žičnom/bežičnom mrežom, uključujući Internet mrežu. Mrežna jedinica 5630 za interfejs može da uključuje, na primer, Eternet terminal ili tome slično za povezivanje sa žičnom mrežom, i da koristi komunikacione standarde, kao što su, na primer, bežična LAN mreža (WLAN) (Wi-Fi), bežični širokopojasni pristup (Wibro), svetska interoperabilnost za mikrotalasni pristup (WiMAX), i brzi pristup paketima putem veze (HSDPA) za povezivanje sa bežičnom mrežom.
[0879] Mrežna jedinica 5630 za interfejs može da prenosi ili prima podatke sa drugim korisnicima ili drugim digitalnim uređajima preko povezane mreže ili druge mreže povezane sa povezanom mrežom. Konkretno, određeni sadržajni podaci sačuvani u digitalnom uređaju 5600 mogu biti preneti drugom korisniku unapred registrovanom u digitalnom uređaju 5600 ili izabranom korisniku ili izabranom digitalnom uređaju među drugim digitalnim uređajima.
[0880] U međuvremenu, mrežna jedinica 5630 za interfejs može da pristupi unapred određenoj veb stranici preko povezane mreže ili druge mreže povezane sa povezanom mrežom. Odnosno, moguće je povezivanje sa unapred određenom veb stranicom preko mreže i prenos ili prijem podataka sa odgovarajućim serverom. Dodatno, sadržaj ili podaci koje obezbeđuje provajder sadržaja ili mrežni operater mogu biti primljeni. Odnosno, moguće je primiti sadržaj kao što su film, reklama, igra, VOD, signal za emitovanje i povezane informacije koje obezbeđuje provajder sadržaja ili mrežni operater preko mreže. Takođe, moguće je primiti informacije o ažuriranju i datoteke za ažuriranje firmvera koje obezbeđuje mrežni operater. Mrežna jedinica 5630 za interfejs može takođe da šalje podatke Internetu ili provajderu sadržaja ili mrežnom operateru.
[0881] Takođe, mrežna jedinica 5630 za interfejs može da izabere i primi željenu aplikaciju među aplikacijama koje su javno dostupne preko mreže.
[0882] Jedinica 5640 za čuvanje može da čuva program za obradu i kontrolu svakog signala u kontroleru 5670 ili može da čuva slikovni, audio ili signal podataka koji je već prošao obradu signala.
[0883] Takođe, jedinica 5640 za čuvanje može da izvršava funkciju privremenog čuvanja slikovnog, audio ili signala podataka unetog iz spoljne jedinice za interfejs uređaja 5635 ili iz mrežne jedinice 5630 za interfejs. Jedinica 5640 za čuvanje može da čuva informacije koje se odnose na unapred određeni emitujući kanal preko memorijske funkcije kanala.
[0884] Jedinica 5640 za čuvanje može da čuva aplikaciju ili listu aplikacija pristiglih iz spoljne jedinice za interfejs uređaja 5635 ili iz mrežne jedinice 5630 za interfejs.
[0885] Takođe, jedinica 5640 za čuvanje može da čuva različite platforme opisane u nastavku.
[0886] Jedinica 5640 za čuvanje može da uključuje najmanje jedan medijum za čuvanje izabran iz grupe koju čine, na primer, fleš memorija, tip hard diska, multimedijalna kartica mikro tipa i kartica tipa memorije (na primer, SD ili XD memorija itd.), RAM i ROM (EEPROM itd.). Digitalni uređaj 5600 može da reprodukuje i obezbeđuje korisniku sadržajne datoteke (video datoteke, datoteke fotografija, muzičke datoteke, datoteke dokumenata, datoteke aplikacija itd.) sačuvane u jedinici 5640 za čuvanje.
[0887] FIG.56 ilustruje način ostvarivanja u kojem je jedinica 5640 za čuvanje obezbeđena odvojeno od kontrolne jedinice 5670. Odnosno, jedinica 5640 za čuvanje može biti uključena u kontrolnu jedinicu 5670.
[0888] Jedinica 5650 interfejsa korisničkog unosa prenosi signal koji unosi korisnik ka kontrolnoj jedinici 5670 ili signal iz kontrolne jedinice 5670 korisniku.
[0889] [0514] Na primer, jedinica 5650 interfejsa korisničkog unosa može da primi upravljački signal
koji se odnosi na uključivanje/isključivanje napajanja, izbor kanala i podešavanje ekrana sa uređaja daljinskog upravljanja 4200, u skladu sa raznim komunikacionim postupcima kao što su RF postupak komunikacije i infracrveni IR postupak komunikacije, i da ga obradi. Ili, jedinica 5650 interfejsa korisničkog unosa može da obradi upravljački signal iz kontrolne jedinice 5670 da bi bio prenet do uređaja daljinskog upravljanja 4200.
[0890] Takođe, jedinica 5650 interfejsa korisničkog unosa može da prenese upravljački signal unet sa lokalnog tastera (nije prikazan), kao što su taster za napajanje, taster za kanal, taster za jačinu zvuka i taster za podešavanje vrednosti, ka kontroleru 5670.
[0891] Jedinica 5650 interfejsa korisničkog unosa može da prenese upravljački signal unet iz senzorske jedinice (nije prikazano) koja detektuje gest korisnika ka kontrolnoj jedinici 5670, ili da prenese signal iz kontrolne jedinice 5670 ka senzorskoj jedinici (nije prikazano). Ovde, senzorska jedinica (nije prikazano) može da uključuje senzor dodira, senzor glasa, senzor položaja i senzor pokreta.
[0892] Kontroler 5670 može da demultipleksira protok unet preko tjunera 5610, demodulatora 5620 ili spoljnog uređaja interfejsa 5656, ili da obradi demultipleksirane signale radi generisanja i izlaznog formiranja signala za video ili audio izlaz. Kontrolna jedinica 5670 može da uključuje prethodno opisani uređaj za kodiranje i/ili uređaj za dekodiranje.
[0893] Slikovni signal obrađen od strane kontrolera 5670 može biti unet u jedinicu 5680 displeja i prikazan kao slika koja odgovara slikovnom signalu. Takođe, slikovni signal obrađen od strane kontrolne jedinice 5670 može biti unet u spoljni izlazni uređaj preko jedinice 5656 interfejsa spoljnog uređaja.
[0894] Audio signal obrađen u kontrolnoj jedinici 5670 može biti izveden kao audio izlaz preko jedinice 5685 audio izlaza. Takođe, audio signal obrađen u kontroleru 5670 može biti unet u spoljni izlazni uređaj preko spoljne jedinice 5656 interfejsa uređaja.
[0895] Iako nije ilustrovano na FIG.56, kontrolna jedinica 5670 može da uključuje demultiplekser, slikovni procesor i slično.
[0896] Kontrolna jedinica 5670 može da upravlja ukupnim radom digitalnog uređaja 5600. Na primer, kontrolna jedinica 5670 može da kontroliše tjuner 5610 da bi podešavao RF emisiju koja odgovara kanalu izabranom od strane korisnika ili unapred sačuvanom kanalu.
[0897] Kontrolna jedinica 5670 može da upravlja digitalnim uređajem 5600 putem komande korisnika unete kroz jedinicu 5650 interfejsa korisničkog unosa ili putem internog programa. Konkretno, moguće je pristupiti mreži i preuzeti željenu aplikaciju ili listu aplikacija u digitalni uređaj 5600.
[0898] Na primer, kontrolna jedinica 5670 kontroliše tjuner 5610 tako da se unese signal kanala izabranog u skladu sa unapred određenom komandom za izbor kanala primljenom putem jedinice 5650 interfejsa korisničkog unosa, i obrađuje slikovne, audio ili signale podataka izabranog kanala. Kontrolna jedinica 5670 omogućava da kanalne informacije itd. izabrane od strane korisnika budu izvedene preko jedinice 5680 displeja ili jedinice 5685 audio izlaza zajedno sa obrađenim slikovnim ili audio signalom.
[0899] Kao drugi primer, u skladu sa komandom za reprodukciju slike sa spoljnog uređaja primljenom preko jedinice 5650 interfejsa korisničkog unosa, kontrolna jedinica 5670 može da omogući da video signal ili audio signal unet preko jedinice 5635 interfejsa spoljnog uređaja iz spoljnog uređaja (na primer, kamere ili kamkordera) bude izveden preko jedinice 5680 displeja ili jedinice 5685 audio izlaza.
[0900] U međuvremenu, kontrolna jedinica 5670 može da kontroliše jedinicu 5680 displeja da prikazuje sliku. Na primer, kontrolna jedinica 5670 može da kontroliše jedinicu 5680 displeja da prikazuje emitujuću sliku unetu preko tjunera 5610, spoljnu ulaznu sliku unetu preko jedinice 5656 interfejsa spoljnog uređaja, sliku unetu preko mrežne interfejs jedinice ili sliku sačuvanu u jedinici 5640 za čuvanje. U tom trenutku, slika prikazana na jedinici 5680 displeja može biti statična slika ili video, i može biti 2D video ili 3D video.
[0901] Takođe, kontrolna jedinica 5670 može da kontroliše reprodukciju sadržaja. U tom trenutku, sadržaj može biti sadržaj sačuvan u digitalnom uređaju 5600, primljeni emitujući sadržaj ili spoljašnji ulazni sadržaj unet sa spolja. Sadržaj može biti najmanje jedan od sledećih: emitujuća slika, spoljašnja ulazna slika, audio datoteka, statična slika, povezani veb ekran i datoteka sa dokumentima.
[0902] Prilikom ulaska u stavku prikaza aplikacije, kontrolna jedinica 5670 može da kontroliše prikaz liste aplikacija ili aplikacija koje se nalaze unutar digitalnog uređaja 5600 ili koje mogu biti preuzete sa spoljne mreže.
[0903] Kontrolna jedinica 5670 može da kontroliše instalaciju i rad aplikacije preuzete sa spoljne mreže zajedno sa različitim korisničkim interfejsima. Takođe, kontrolna jedinica 5670 može da kontroliše da se slika koja se odnosi na aplikaciju koja se izvršava prikaže na jedinici 5680 displeja prema izboru korisnika.
[0904] Iako nije prikazano na crtežu, moguće je dodatno obezbediti jedinicu za pregled kanala koja obrađuje generisanje sličica koje odgovaraju signalu kanala ili spoljašnjem ulaznom signalu.
[0905] Jedinica za pregled kanala prima TS tok signala izlaznog iz demodulacione jedinice 5620 ili tok signala izlaznog iz jedinice 5656 interfejsa spoljnog uređaja, izdvaja sliku iz ulaznog toka signala i generiše sličicu.
[0906] Generisana sličica može biti uneta u kontrolnu jedinicu 5670 u originalnom obliku ili kodirana. Takođe, generisana sličica može biti kodirana u obliku toka i uneta u kontrolnu jedinicu 5670. Kontrolna jedinica 5670 može da prikaže listu sličica koja uključuje veći broj sličica na jedinici 5680 displeja koristeći unesene sličice. Sličice u ovoj listi mogu se ažurirati sekvencijalno ili istovremeno. Shodno tome, korisnik može lako da sagleda sadržaj većeg broja emitujućih kanala.
[0907] Jedinica 5680 displeja konvertuje slikovne signale, signale podataka, OSD signale i slične signale obrađene od strane kontrolera 5670 ili slikovne signale i signale podataka primljene iz jedinice 5656 interfejsa spoljnog uređaja u R, G i B signale, tim redom, i generiše signal za upravljanje.
[0908] Jedinica 5680 displeja može biti PDP, LCD, OLED, fleksibilni displej, 3D displej ili slično.
[0909] Jedinica 5680 displeja može biti konfigurisana kao ekran na dodir i korišćena kao ulazni uređaj pored izlaznog uređaja.
[0910] Izlazna audio jedinica 5685 prima signal obrađen od strane kontrolera 5670, na primer, stereo signal, 3.1 kanalni signal ili 5.1 kanalni signal, i izvodi ga kao audio. Audio izlazna jedinica 5685 može se primeniti kao različite vrste zvučnika.
[0911] U međuvremenu, kako bi se detektovao gest korisnika, kao što je prethodno opisano, senzorska jedinica (nije prikazano) koja ima najmanje jedan od sledećih: senzor dodira, senzor glasa, senzor položaja i senzor pokreta, može dodatno biti obezbeđena u digitalnom uređaju 5600. Signal detektovan od strane jedinice senzora (nije prikazana) može biti prenet do kontrolne jedinice 5670 preko jedinice 5650 interfejsa korisničkog unosa.
[0912] Jedinica za fotografisanje (nije prikazana) za fotografisanje korisnika može biti dodatno obezbeđena. Informacije o slici fotografisane jedinicom za fotografisanje (nije prikazana) mogu biti unete u kontrolnu jedinicu 5670.
[0913] Kontrolna jedinica 5670 može da detektuje pokret korisnika pojedinačno ili u kombinaciji sa slikom koju je zabeležila jedinica za fotografisanje (nije prikazana) ili signalom koji detektuje jedinica senzora (nije prikazana).
[0914] Jedinica 5690 za napajanje obezbeđuje napajanje celog digitalnog uređaja 5600.
[0915] Konkretno, jedinica 5690 za napajanje može da obezbedi napajanje za kontrolnu jedinicu 5670 koja može biti implementirana u formi sistema na čipu SOC, jedinicu 5680 prikaza za prikaz slike i jedinicu 5685 audio izlaza za audio reprodukciju.
[0916] Za ovu svrhu, jedinica 5690 za napajanje može da uključuje konverter (nije prikazan) koji konvertuje AC napajanje u DC napajanje. Na primer, kada je jedinica 5680 prikaza implementirana kao panel sa tečnim kristalima sa većim brojem lampi pozadinskog osvetljenja, PWM-operabilni inverter (nije prikazan) može biti dodatno obezbeđen za promenu osvetljenosti ili zatamnjenje.
[0917] Uređaj 5700 za upravljanje na daljinu prenosi unos korisnika ka jedinici 5650 interfejsa korisničkog unosa. Za ovu svrhu, uređaj 5700 za upravljanje na daljinu može koristiti blutut, RF (radio frekvencija) komunikaciju, infracrvenu (IR) komunikaciju, UWB (ultra širokopojasno), ZigBee postupak itd.
[0918] Pored toga, uređaj 5700 za upravljanje na daljinu može da primi slikovni, audio ili signal podataka koji izlazi iz jedinice 5650 interfejsa korisničkog unosa, da ga prikaže na uređaju 5700 za upravljanje na daljinu, ili da ga pošalje u vidu glasa ili vibracije.
[0919] Prethodno opisan digitalni uređaj 5600 može biti digitalni prijemnik emitovanja sposoban za obradu fiksnog ili mobilnog ATSC tipa ili DVB tipa digitalnog signala emitovanja.
[0920] Dodatno, digitalni uređaj prema ovom otkrivanju može da izostavi neke komponente ili dodatno uključi komponente koje nisu ilustrovane, prema potrebi. Kao što je prethodno opisano, digitalni uređaj možda neće imati tjuner i demodulator, i može takođe da prima i reprodukuje sadržaj preko mrežne interfejs jedinice ili spoljnog uređaja interfejs jedinice.
[0921] FIG.57 predstavlja blok dijagram koji ilustruje detaljnu konfiguraciju kontrolne jedinice sa FIG.54 do 56.
[0922] Primer kontrolne jedinice može da uključuje jedinicu 5710 za demultipleksiranje, jedinicu 5720 za obradu slike, jedinicu 5740 za generisanje OSD na ekranu, mikser 5750, konverter frekvencije okvira (FRC) 5755 i formater 5760. Pored toga, iako nije ilustrovano, kontrolna jedinica može dodatno da uključuje glasovnu jedinicu obrade i jedinicu za obradu podataka.
[0923] Jedinica 5710 za demultipleksiranje demultipleksira ulazni protok. Na primer, jedinica 5710 za demultipleksiranje može da demultipleksira ulazni MPEG-2 TS u video, audio i signale podataka. Ovde, ulazni signal protoka u jedinicu 5710 za demultipleksiranje može biti signal protoka koji šalje tjuner ili demodulator ili spoljni uređaj interfejsa.
[0924] Jedinica 5720 za obradu slike izvršava obradu slike demultipleksiranog slikovnog signala. Za ovu svrhu, jedinica 5720 za obradu slike može da uključuje video dekoder 5725 i skaler 5735.
[0925] Video dekoder 5725 dekodira demultipleksirani video signal, a skaler 5735 prilagođava rezoluciju dekodiranog video signala da bi bio izveden na jedinici prikaza.
[0926] Video dekoder 5725 može da podržava različite standarde. Na primer, video dekoder 5725 izvršava funkciju MPEG-2 dekodera kada je video signal kodiran u MPEG-2 standardu, i funkciju H.264 dekodera kada je video signal kodiran u postupku digitalnog multimedijalnog emitovanja DMB ili H.264 standardu.
[0927] Video signal koji dekodira jedinica 5720 za obradu video zapisa unosi se u mikser 5750.
[0928] Jedinica 5740 za generisanje OSD generiše OSD podatke u skladu sa unosom korisnika ili samostalno. Na primer, jedinica 5740 za generisanje OSD generiše podatke za prikazivanje različitih podataka na ekranu jedinice 5680 prikaza u grafičkom ili tekstualnom obliku na osnovu kontrolnog signala iz jedinice interfejsa korisničkog unosa. Generisani OSD podaci uključuju različite informacije kao što su ekran korisničkog interfejsa digitalnog uređaja, različiti meni ekrani, vidžeti, ikone i informacije o brzini gledanja.
[0929] Jedinica 5740b za generisanje OSD može da generiše podatke za prikazivanje titlova emitujućih slika ili emitujućih informacija na osnovu EPG.
[0930] Mikser 5750 meša OSD podatke generisane od strane jedinice za generisanje OSD 5740 i slikovni signal obrađen od strane jedinice za obradu video zapisa i prosleđuje ih formateru 5760. Pošto su dekodirani video signal i OSD podaci izmešani, OSD se prikazuje preklopljeno preko emitujućeg videa ili spoljašnjeg ulaznog videa.
[0931] Konverter 5755 brzine okvira (FRC) konvertuje brzinu okvira ulaznog videa. Na primer, konverter 5755 brzine okvira može da konvertuje ulaznu sliku sa brzinom okvira od 60 Hz tako da ima brzinu okvira od, na primer, 120 Hz ili 240 Hz, u zavisnosti od izlazne frekvencije jedinice prikaza. Kao što je prethodno opisano, različiti postupci mogu postojati u postupku konverzije brzine okvira. Na primer, kada konverter 5755 brzine okvira konvertuje brzinu okvira sa 60 Hz na 120 Hz, isti prvi okvir se ubacuje između prvog i drugog okvira, ili se između prvog i drugog okvira ubacuje treći okvir koji predviđaju prvi i drugi okvir. Kao drugi primer, kada konverter 5755 brzine okvira konvertuje brzinu okvira sa 60 Hz na 240 Hz, tri identična okvira ili predviđena okvira mogu biti ubačena između postojećih okvira. Ako se zasebna konverzija okvira ne izvodi, jedinica 5755 za konverziju brzine okvira može biti premošćena.
[0932] [0557] Formater 5760 menja izlaz konvertera 5755 brzine okvira kako bi odgovarao izlaznom formatu jedinice prikaza. Na primer, formater 5760 može da izvede R, G i B signale podataka, i ovi R, G i B signali podataka mogu biti izvedeni kao diferencijalno signaliziranje niskog napona (LVDS) ili mini-LVDS. Takođe, kada je izlaz konvertera 5755 brzine okvira 3D video signal,
formater 5760 može da podrži 3D servis preko jedinice prikaza konfigurisanjem izlaza u 3D format u skladu sa izlaznim formatom jedinice displeja.
[0933] Audio jedinica obrade (nije prikazana) u kontrolnoj jedinici može da izvrši audio obradu demultipleksiranog audio signala. Audio jedinica obrade (nije prikazana) može da podrži različite audio formate. Na primer, čak i kada je audio signal kodiran u formatima kao što su MPEG-2, MPEG-4, AAC, HE-AAC, AC-3, BSAC, audio jedinica obrade može biti obezbeđena odgovarajućim dekoderom.
[0934] Takođe, audio jedinica obrade (nije prikazana) u kontrolnoj jedinici može da obrađuje tonove basa, visoke tonove, kontrolu jačine zvuka i slično.
[0935] Jedinica za obradu podataka (nije prikazana) u kontrolnoj jedinici može da izvrši obradu demultipleksiranog signala podataka. Na primer, jedinica za obradu podataka može da dekodira demultipleksirani signal podataka čak i kada je kodiran. Ovde, kodirani signal podataka mogu biti EPG informacije koje uključuju emitujuće informacije kao što su vreme početka i završetka programa koji se emituje na svakom kanalu.
[0936] U međuvremenu, prethodno opisani digitalni uređaj je primer prema ovom otkrivanju, i svaka komponenta može biti integrisana, dodata ili izostavljena u zavisnosti od specifikacije stvarnog digitalnog uređaja. Odnosno, po potrebi, dve ili više komponenti mogu biti kombinovane u jednu komponentu, ili jedna komponenta može biti podeljena u dve ili više komponenti.
[0937] Digitalni uređaj može biti uređaj za obradu slikovnog signala koji izvršava obradu signala slike sačuvane u uređaju ili ulazne slike. Kao drugi primer uređaja za obradu slikovnog signala, može se dodatno navesti set-top boks (STB), DVD plejer, blu-rej plejer, igraći uređaj, računar i slično, iz kojih su jedinica 5680 displeja i jedinica 5685 audio izlaza prikazane na FIG.56 izostavljene.
[0938] FIG.58 predstavlja dijagram koji ilustruje primer u kojem ekran digitalnog uređaja istovremeno prikazuje glavnu sliku i pomoćnu sliku, prema jednom načinu ostvarivanja.
[0939] [0564] Digitalni uređaj prema jednom načinu ostvarivanja može istovremeno da prikaže glavnu sliku 5810 i pomoćnu sliku 5820 na ekranu 5800. Glavna slika 5810 može biti označena kao prva slika, a pomoćna slika 5820 može biti označena kao druga slika. Glavna slika 5810 i pomoćna slika 5820 mogu da uključuju video, statičnu sliku, elektronski programski vodič EPG, grafički korisnički interfejs GUI, OSD prikazan na ekranu i slično, ali nisu ograničeni na ovo. Glavna slika 5810 može označavati sliku koja je relativno manja u odnosu na ekran 5800 elektronskog uređaja dok se istovremeno prikazuje na ekranu 5800 zajedno sa pomoćnom slikom 5820, i
može biti označena kao slika na slici PIP. Na FIG.58, glavna slika 5810 je prikazana u gornjem levom uglu ekrana 5800 digitalnog uređaja, ali lokacija na kojoj je prikazana glavna slika 5810 nije ograničena na ovo, i glavna slika 5810 može biti prikazana na bilo kojoj lokaciji unutar ekrana 5800 digitalnog uređaja.
[0940] Glavna slika 5810 i pomoćna slika 5820 mogu se odnositi jedna na drugu direktno ili indirektno. Na primer, glavna slika 5810 može biti protok video zapisa, a pomoćna slika 5820 može biti GUI koji sekvencijalno prikazuje sličice video zapisa uključujući informacije slične protoku video zapisa. Kao drugi primer, glavna slika 5810 može biti emitujuća slika, a pomoćna slika 5820 može biti EPG. Kao još jedan primer, glavna slika 5810 može biti emitujuća slika, a pomoćna slika 5820 može biti GUI. Primeri glavne slike 5810 i pomoćne slike 5820 nisu ograničeni na ovo.
[0941] U jednom načinu ostvarivanja, glavna slika 5810 je emitujuća slika primljena putem emitujućog kanala, a pomoćna slika 5820 može biti informacije koje se odnose na emitujuću sliku primljenu putem emitujućog kanala. Informacije koje se odnose na emitujuću sliku primljenu putem emitujućog kanala mogu da uključuju, na primer, EPG informacije uključujući integrisani raspored kanala i detaljne informacije o emitujućim programima, kao i informacije o pregledima emitujućih programa, ali nisu ograničene na ovo.
[0942] U drugom načinu ostvarivanja, glavna slika 5810 je emitujuća slika primljena putem emitujućog kanala, a pomoćna slika 5820 može biti slika generisana na osnovu informacija prethodno sačuvanih u digitalnom uređaju. Slika generisana na osnovu prethodno sačuvanih informacija u digitalnom uređaju može da uključuje, na primer, osnovni korisnički interfejs (UI) EPG, osnovne informacije o kanalima, korisnički interfejs za manipulaciju rezolucijom slike i korisnički interfejs za rezervaciju vremena za spavanje, i nije ograničena na ovo.
[0943] U još jednom načinu ostvarivanja, glavna slika 5810 je emitujuća slika primljena putem emitujućog kanala, a pomoćna slika 5820 može biti informacije koje se odnose na emitujuću sliku primljenu putem mreže. Informacije koje se odnose na emitujuću sliku primljenu putem mreže mogu, na primer, biti informacije dobijene putem pretraživača zasnovanog na mreži. Konkretno, na primer, informacije koje se odnose na karakter trenutno prikazan na glavnoj slici 5810 mogu biti dobijene putem pretraživača zasnovanog na mreži.
[0944] [0569] Međutim, primer nije ograničen na ovo, i informacije koje se odnose na emisionu sliku primljenu putem mreže mogu biti dobijene korišćenjem, na primer, sistema veštačke inteligencije AI. Konkretno, na primer, procenjena lokacija na mapi mesta koje je trenutno prikazano na glavnoj slici 5810 može biti dobijena korišćenjem mrežno zasnovanog dubokog
učenja, a digitalni uređaj može primiti informacije o procenjenoj lokaciji na mapi mesta trenutno prikazanog na glavnoj slici 5810 putem mreže.
[0945] Digitalni uređaj prema jednom načinu ostvarivanja može primiti najmanje jednu od informacijâ o slici glavne slike 5810 i informacijâ o slici pomoćne slike 5820 sa spoljašnje strane. Informacije o slici glavne slike 5810 mogu da uključuju, na primer, emisioni signal primljen putem emisionog kanala, informacije o izvornom kodu glavne slike 5810 i IP paket (internet protokol paket) informacije glavne slike 5810 primljene putem mreže, ali nisu ograničene na ovo. Slično tome, informacije o slici pomoćne slike 5820 uključuju, na primer, emisioni signal primljen putem emisionog kanala, informacije o izvornom kodu pomoćne slike 5820, IP paket informacije pomoćne slike 5820 primljene putem mreže itd., ali nisu ograničene na ovo. Digitalni uređaj može da dekodira i koristi informacije o slici glavne slike 5810 primljene sa spoljašnje strane ili informacije o slici pomoćne slike 5820. Međutim, u nekim slučajevima, digitalni uređaj može interno da čuva informacije o slici glavne slike 5810 ili informacije o slici pomoćne slike 5820.
[0946] Digitalni uređaj može prikazati glavnu sliku 5810 i pomoćnu sliku 5820 na ekranu 5800 digitalnog uređaja na osnovu informacija o slici glavne slike 5810 i informacija koje se odnose na pomoćnu sliku 5820.
[0947] U jednom primeru, uređaj 200 za dekodiranje digitalnog uređaja uključuje uređaj za dekodiranje glavne slike i uređaj za dekodiranje pomoćne slike, pri čemu uređaj za dekodiranje glavne slike i uređaj za dekodiranje pomoćne slike mogu redom dekodirati informacije o slici glavne slike 5810 i informacije o slici pomoćne slike 5820. Prikazivač uključuje prikazivač glavnog videa (prvi prikazivač) i prikazivač pomoćnog videa (drugi prikazivač). Prikazivač glavne slike može prikazati glavnu sliku 5810 na prvom delu ekrana 5800 digitalnog uređaja na osnovu informacija dekodiranih od strane uređaja za dekodiranje glavne slike, a prikazivač pomoćne slike može prikazati pomoćnu sliku 5820 na drugom delu ekrana 5800 digitalnog uređaja na osnovu informacija dekodiranih od strane uređaja za dekodiranje pomoćne slike.
[0948] U drugom primeru, uređaj 200 za dekodiranje digitalnog uređaja može dekodirati informacije o slici glavne slike 5810 i informacije o slici pomoćne slike 5820. Na osnovu informacija dekodiranih od strane uređaja 200 za dekodiranje, prikazivač može obrađivati glavnu sliku 5810 i pomoćnu sliku 5820 zajedno kako bi se istovremeno prikazale na ekranu 5800 digitalnog uređaja.
[0949] [0574] Odnosno, prema ovom dokumentu, moguće je obezbediti postupak za obradu usluge slike u digitalnom uređaju. Postupak obrade usluge slike može obuhvatati: primanje informacija
o slici, dekodiranje (glavne) slike na osnovu tih informacija, renderovanje ili prikaz dekodirane slike u prvom delu ekrana, i renderovanje ili prikaz pomoćne slike u drugom delu ekrana. U ovom slučaju, faza dekodiranja prve slike može slediti dekodirajući postupak u uređaju 200 za dekodiranje prema prethodno opisanoj FIG.3. Na primer, kao što je prethodno opisano, faza dekodiranja prve slike može da uključuje izvođenje derivacije predikcionih uzoraka za trenutni blok na osnovu inter ili intra predikcije, derivaciju preostalih uzoraka za trenutni blok na osnovu primljenih preostalih informacija, i generisanje rekonstruisanih uzoraka na osnovu predikcionih uzoraka i/ili preostalih uzoraka. Dodatno, faza dekodiranja prve slike može da uključuje izvođenje postupka filtriranja unutar petlje na rekonstruisanoj slici uključujući rekonstruisane uzorke.
[0950] Na primer, pomoćna slika može biti elektronski programski vodič EPG, on-screen display OSD, ili grafički korisnički interfejs GUI. Na primer, informacije o slici mogu biti primljene putem emisione mreže, a informacije koje se odnose na pomoćnu sliku mogu biti primljene putem iste emisione mreže. Na primer, informacije o slici mogu biti primljene putem komunikacione mreže, a informacije koje se odnose na pomoćnu sliku mogu biti primljene putem komunikacione mreže. Na primer, informacije o slici mogu biti primljene putem emisione mreže, a informacije koje se odnose na pomoćnu sliku mogu biti primljene putem komunikacione mreže. Na primer, informacije o slici mogu biti primljene putem emisione ili komunikacione mreže, a informacije koje se odnose na pomoćnu sliku mogu biti sačuvane u medijumu za čuvanje u digitalnom uređaju.
[0951] U prethodno pomenutim načinima ostvarivanja, elementi i karakteristike ovog otkrivanja su kombinovani u specifičnom obliku. Svaki od elemenata ili karakteristika može se smatrati opcionim, osim ako nije izričito drugačije opisano. Svaki od elemenata ili karakteristika može se primeniti u obliku koji nije kombinovan sa drugim elementima ili karakteristikama. Dodatno, neki od elemenata i/ili karakteristika mogu biti kombinovani da formiraju način ostvarivanja ovog otkrivanja. Redosled operacija opisanih u načinima ostvarivanja ovog otkrivanja može biti promenjen. Neki od elemenata ili karakteristika jednog načina ostvarivanja mogu biti uključeni u drugi način ostvarivanja ili mogu biti zamenjeni odgovarajućim elementima ili karakteristikama drugog načina ostvarivanja. Jasno je da se način ostvarivanja može konstruisati kombinovanjem patentnih zahteva koji nemaju eksplicitnu vezu navođenja u patentnim zahtevima ili mogu biti uključeni kao novi patentni zahtev putem izmena nakon podnošenja prijave.
[0952] Način ostvarivanja prema ovom otkrivanju može se primeniti različitim sredstvima, na primer, hardverom, firmverom, softverom ili njihovom kombinacijom. U slučaju implementacije
Claims (3)
1. pomoću hardvera, način ostvarivanja ovog otkrivanja može se primeniti korišćenjem jednog ili više aplikaciono specifičnih integrisanih kola (ASIC), digitalnih procesora signala (DSP), uređaja za obradu digitalnih signala (DSPD), programabilnih logičkih uređaja (PLD), polja programabilnih logičkih nizova (FPGA), procesora, kontrolera, mikrokontrolera, mikroprocesora itd.
[0578] U slučaju implementacije pomoću firmvera ili softvera, način ostvarivanja ovog otkrivanja može se primeniti u obliku modula, postupka ili funkcije za izvođenje prethodno pomenutih funkcija ili operacija. Softverski kod može biti sačuvan u memoriji i može ga pokrenuti procesor. Memorija može biti smeštena unutar ili izvan procesora i može razmenjivati podatke sa procesorom putem različitih poznatih sredstava.
Patentni zahtevi
1. Postupak za dekodiranje video signala na osnovu inter predikcije, koji obuhvata: konfigurisanje liste za spajanje na osnovu susednog bloka trenutnog bloka;
dodavanje kandidata za prediktora vektora pokreta zasnovanog na istoriji (HMVP) uključenog u HMVP listu kandidata na listu za spajanje;
dobijanje indeksa spajanja koji označava kandidata za spajanje koji se koristi za inter predikciju trenutnog bloka unutar liste za spajanje; i
generisanje predikcionog bloka trenutnog bloka na osnovu informacije o pokretu kandidata za spajanje koji označava indeks spajanja,
pri čemu je ta faza dodavanja HMVP kandidata na listu za spajanje naznačena time, što proveravanje da li HMVP kandidat unutar HMVP liste kandidata ima iste informacije o pokretu kao prostorni kandidati za spajanje uključeni samo u listu za spajanje,
pri čemu se taj HMVP kandidat dodaje na listu za spajanje kada HMVP kandidat ima informacije o pokretu koje su različite od prostornih kandidata za spajanje uključenih u listu za spajanje.
2. Postupak za kodiranje video signala na osnovu inter predikcije, koji obuhvata: generisanje liste za spajanje na osnovu susednog bloka trenutnog bloka;
dodavanje kandidata za prediktora vektora pokreta zasnovanog na istoriji (HMVP) uključenog u HMVP listu kandidata na listu za spajanje;
generisanje indeksa spajanja koji označava kandidata za spajanje koji se koristi za inter predikciju trenutnog bloka unutar liste za spajanje; i
generisanje predikcionog bloka trenutnog bloka na osnovu informacija o pokretu kandidata za spajanje koji označava indeks spajanja,
naznačen time, što
faza dodavanja HMVP kandidata na listu za spajanje obuhvata
proveru da li HMVP kandidat unutar HMVP liste kandidata ima iste informacije o pokretu kao prostorni kandidati za spajanje uključeni samo na listu za spajanje,
pri čemu se HMVP kandidat dodaje na listu za spajanje kada HMVP kandidat ima informacije o pokretu različite od prostornih kandidata za spajanje uključenih u listu za spajanje.
3. Medijum čitljiv na računaru za čuvanje protoka bitova generisan video kodiranjem, pri čemu taj protok bitova obuhvata:
informacije za generisanje liste za spajanje na osnovu susednog bloka trenutnog bloka; informacije za dodavanje kandidata za prediktora vektora pokreta zasnovanog na istoriji (HMVP) uključenog u HMVP listu kandidata na listu za spajanje;
indeks spajanja koji označava kandidata za spajanje koji se koristi za inter predikciju trenutnog bloka unutar liste za spajanje; i
informacije za generisanje predikcionog bloka trenutnog bloka na osnovu informacija o pokretu kandidata za spajanje koje označava indeks spajanja,
naznačen time, što
ta informacija za dodavanje HMVP kandidata uključuje informacije za proveravanje da li HMVP kandidat unutar HMVP liste kandidata ima iste informacije o pokretu kao prostorni kandidati za spajanja uključeni samo u listu za spajanje,
pri čemu se taj HMVP kandidat dodaje na listu za spajanje kada HMVP kandidat ima informacije o pokretu koje su različite od prostornih kandidata za spajanje uključenih u listu za spajanje.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862775922P | 2018-12-06 | 2018-12-06 | |
| EP23176981.1A EP4236320B1 (en) | 2018-12-06 | 2019-12-06 | Method and device for processing video signal on basis of inter prediction |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RS67489B1 true RS67489B1 (sr) | 2025-12-31 |
Family
ID=70974606
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RS20251221A RS67489B1 (sr) | 2018-12-06 | 2019-12-06 | Postupak i uređaj za obradu video signala na osnovu inter predikcije |
Country Status (10)
| Country | Link |
|---|---|
| US (5) | US11368706B2 (sr) |
| EP (3) | EP4576778A1 (sr) |
| JP (1) | JP7260557B2 (sr) |
| KR (3) | KR102750870B1 (sr) |
| CN (5) | CN116684635A (sr) |
| ES (1) | ES3055520T3 (sr) |
| HR (1) | HRP20251531T1 (sr) |
| PL (1) | PL4236320T3 (sr) |
| RS (1) | RS67489B1 (sr) |
| WO (1) | WO2020117018A1 (sr) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019144908A1 (en) * | 2018-01-26 | 2019-08-01 | Mediatek Inc. | Method and apparatus of affine inter prediction for video coding system |
| CN112715031B (zh) * | 2018-12-21 | 2022-05-24 | 华为技术有限公司 | 一种基于历史的运动矢量预测的编码器、解码器及方法 |
| US11102476B2 (en) * | 2018-12-28 | 2021-08-24 | Qualcomm Incorporated | Subblock based affine motion model |
| JP7418687B2 (ja) * | 2018-12-28 | 2024-01-22 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
| JP7637885B2 (ja) * | 2018-12-28 | 2025-03-03 | 合同会社IP Bridge1号 | 画像符号化装置、画像符号化方法及び画像符号化プログラム |
| CN112954364A (zh) * | 2018-12-28 | 2021-06-11 | Jvc建伍株式会社 | 图像编码装置和方法、图像解码装置和方法 |
| CN112042191B (zh) * | 2019-01-01 | 2024-03-19 | Lg电子株式会社 | 以基于历史的运动矢量为基础预测处理视频信号的方法和设备 |
| CN118474391A (zh) * | 2019-01-04 | 2024-08-09 | 北京三星通信技术研究有限公司 | 对运动矢量信息进行编/解码的方法及装置 |
| CN113396586B (zh) | 2019-02-11 | 2025-08-19 | 北京字节跳动网络技术有限公司 | 条件依赖的视频块分割 |
| CN114821763A (zh) * | 2021-01-12 | 2022-07-29 | 北京三星通信技术研究有限公司 | 动作定位方法、装置、电子设备及计算机可读存储介质 |
| CN115941971A (zh) * | 2022-11-21 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置及计算机设备、存储介质、程序产品 |
| US12563214B2 (en) * | 2023-03-17 | 2026-02-24 | Qualcomm Incorporated | Cascading and parallel processing of affine DMVR video coding tools |
| US12519861B2 (en) * | 2023-06-06 | 2026-01-06 | Adeia Guides Inc. | Systems and methods to access personalized recommendation on public device without logging in |
| WO2026067430A1 (en) * | 2024-09-27 | 2026-04-02 | Mediatek Inc. | Methods and apparatus of unified intra merge mode with inter prediction in video coding systems |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001298746A (ja) * | 2000-03-09 | 2001-10-26 | Samsung Techwin Co Ltd | デジタル記録システムのデータ圧縮装置及びその制御方法 |
| CN101491096B (zh) * | 2006-07-12 | 2012-05-30 | Lg电子株式会社 | 信号处理方法及其装置 |
| US20100266042A1 (en) * | 2007-03-02 | 2010-10-21 | Han Suh Koo | Method and an apparatus for decoding/encoding a video signal |
| WO2011095259A1 (en) * | 2010-02-05 | 2011-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Selecting predicted motion vector candidates |
| EP4557737A3 (en) * | 2011-01-07 | 2025-08-06 | LG Electronics Inc. | Method for encoding and decoding image information and device using same |
| SG194746A1 (en) * | 2011-05-31 | 2013-12-30 | Kaba Gmbh | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
| WO2012174990A1 (en) * | 2011-06-24 | 2012-12-27 | Mediatek Inc. | Method and apparatus for removing redundancy in motion vector predictors |
| IN2014CN01784A (sr) * | 2011-08-30 | 2015-05-29 | Nokia Corp | |
| KR101423648B1 (ko) * | 2011-09-09 | 2014-07-28 | 주식회사 케이티 | 화면 간 예측 수행시 후보 블록 결정 방법 및 이러한 방법을 사용하는 장치 |
| WO2014005305A1 (en) * | 2012-07-04 | 2014-01-09 | Intel Corporation | Inter-view filter parameters re-use for three dimensional video coding |
| US10560718B2 (en) * | 2016-05-13 | 2020-02-11 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
| CN106682239B (zh) * | 2017-02-06 | 2019-11-08 | 北京邮电大学 | 一种基于运动特征关联的室内位置预测方法、装置及系统 |
| US10491902B1 (en) * | 2018-07-16 | 2019-11-26 | Tencent America LLC | Method and apparatus for history-based motion vector prediction |
| WO2020047807A1 (zh) * | 2018-09-05 | 2020-03-12 | 华为技术有限公司 | 帧间预测方法、装置以及编解码器 |
| WO2020114404A1 (en) * | 2018-12-03 | 2020-06-11 | Beijing Bytedance Network Technology Co., Ltd. | Pruning method in different prediction mode |
| US10904557B2 (en) * | 2019-01-22 | 2021-01-26 | Tencent America LLC | Method and apparatus for video coding |
| US10869050B2 (en) * | 2019-02-09 | 2020-12-15 | Tencent America LLC | Method and apparatus for video coding |
| US11012686B2 (en) * | 2019-03-08 | 2021-05-18 | Tencent America LLC | Unified block vector prediction for intra picture block compensation |
| US10742972B1 (en) * | 2019-03-08 | 2020-08-11 | Tencent America LLC | Merge list construction in triangular prediction |
-
2019
- 2019-12-06 KR KR1020237014100A patent/KR102750870B1/ko active Active
- 2019-12-06 CN CN202310777022.8A patent/CN116684635A/zh active Pending
- 2019-12-06 CN CN202310779268.9A patent/CN116708812A/zh active Pending
- 2019-12-06 EP EP25174039.5A patent/EP4576778A1/en active Pending
- 2019-12-06 CN CN202310783572.0A patent/CN116708813A/zh active Pending
- 2019-12-06 EP EP19894366.4A patent/EP3726839A4/en not_active Ceased
- 2019-12-06 PL PL23176981.1T patent/PL4236320T3/pl unknown
- 2019-12-06 KR KR1020207020247A patent/KR102527298B1/ko active Active
- 2019-12-06 RS RS20251221A patent/RS67489B1/sr unknown
- 2019-12-06 EP EP23176981.1A patent/EP4236320B1/en active Active
- 2019-12-06 WO PCT/KR2019/017243 patent/WO2020117018A1/ko not_active Ceased
- 2019-12-06 ES ES23176981T patent/ES3055520T3/es active Active
- 2019-12-06 CN CN202310779488.1A patent/CN116847107A/zh active Pending
- 2019-12-06 JP JP2020545302A patent/JP7260557B2/ja active Active
- 2019-12-06 HR HRP20251531TT patent/HRP20251531T1/hr unknown
- 2019-12-06 CN CN201980016043.XA patent/CN111788832B/zh active Active
- 2019-12-06 KR KR1020247030775A patent/KR20240138136A/ko active Pending
-
2020
- 2020-07-23 US US16/937,025 patent/US11368706B2/en active Active
-
2022
- 2022-05-16 US US17/745,524 patent/US11695948B2/en active Active
-
2023
- 2023-05-15 US US18/197,624 patent/US11910000B2/en active Active
-
2024
- 2024-01-03 US US18/403,248 patent/US12143621B2/en active Active
- 2024-09-25 US US18/896,744 patent/US20250016352A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102468805B1 (ko) | 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 | |
| US11924406B2 (en) | Method and apparatus for processing video signal on basis of history-based motion vector prediction | |
| US11910000B2 (en) | Method and device for processing video signal on basis of inter prediction | |
| US11570430B2 (en) | Method and device for processing video signal on basis of inter-prediction | |
| US11528484B2 (en) | Method and apparatus for processing video signal on basis of inter prediction | |
| US20220038734A1 (en) | Method and device for processing image signal | |
| CA3190343C (en) | Method and apparatus for processing video signal based on history based motion vector prediction | |
| RU2807594C2 (ru) | Способ и устройство для обработки видеосигнала на основании основанного на истории предсказания вектора движения |