RS66780B1 - Uređaji za kodiranje slike na osnovu istorije - Google Patents

Uređaji za kodiranje slike na osnovu istorije

Info

Publication number
RS66780B1
RS66780B1 RS20250439A RSP20250439A RS66780B1 RS 66780 B1 RS66780 B1 RS 66780B1 RS 20250439 A RS20250439 A RS 20250439A RS P20250439 A RSP20250439 A RS P20250439A RS 66780 B1 RS66780 B1 RS 66780B1
Authority
RS
Serbia
Prior art keywords
hmvp
ctu
image
current block
motion information
Prior art date
Application number
RS20250439A
Other languages
English (en)
Inventor
Naeri Park
Seunghwan Kim
Junghak Nam
Jaehyun Lim
Hyeongmoon Jang
Original Assignee
Lg Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lg Electronics Inc filed Critical Lg Electronics Inc
Publication of RS66780B1 publication Critical patent/RS66780B1/sr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

Opis
OBLAST TEHNIKE
[0001] Ovo otkrivanje odnosi se na kodiranje slike, a određenije, na uređaje za kodiranje slike na osnovu istorije.
POZADINA
[0002] Nedavno, potražnja za slikama i videozapisima visoke rezolucije i visokog kvaliteta, kao što su 4K ili 8K ultra visoka definicija (UHD), raste u različitim oblastima. Kako rezolucija ili kvalitet slike/videozapisa postaje viši, prenosi se relativno veća količina informacija ili bitova u poređenju sa konvencionalnim podacima o slici/videozapisu. Shodno tome, ako se podaci o slici/videozapisu prenose putem medijuma kao što je postojeća žičana/bežična širokopojasna mreža ili se čuvaju na starijem medijumu za čuvanje, troškovi prenosa i čuvanja lako se povećavaju.
[0003] Takođe, sve više raste interesovanje i potražnja za sadržajem virtuelne realnosti (VR) i veštačke realnosti (AR), kao i za imerzivnim medijima poput holograma; takođe raste i emitovanje slika/videozapisa koji prikazuju karakteristike slike/videozapisa različite od stvarnih slika/videozapisa, kao što su slike/videozapisi iz igara.
[0004] Shodno tome, neophodna je visoko efikasna tehnika kompresije slika/videozapisa kako bi se efikasno komprimovale i prenosile, čuvale ili reprodukovale slike/videozapisi visoke rezolucije i visokog kvaliteta, koji prikazuju različite karakteristike kao što je prethodno opisano.
[0005] Stanje tehnike pronalazi se u Park (LGE) N et al, JVET-L0158, u Y-W Chen (Kwai) et al, JVET-L0106, i u Zhang (Bytedance) et al, JVET-K0104.
SUŠTINA
[0006] Predmet ovog otkrivanja je da obezbedi postupak i uređaj za povećanje efikasnosti kodiranja slike.
[0007] Drugi predmet ovog otkrivanja je da obezbedi efikasan postupak i uređaj za inter predikciju.
[0008] Još jedan predmet ovog otkrivanja je da obezbedi postupak i uređaj za izvođenje vektora pokreta zasnovanog na istoriji.
[0009] Neki drugi predmet ovog otkrivanja je da obezbedi postupak i uređaj za efikasno izvođenje (HMVP) kandidata predikcije vektora pokreta zasnovanog na istoriji.
[0010] Neki drugi predmet ovog otkrivanja je da obezbedi postupak i uređaj za efikasno ažuriranje HMVP bafera.
[0011] Dalji predmet ovog otkrivanja je da obezbedi postupak i uređaj za efikasnu inicijalizaciju HMVP bafera.
[0012] Ovaj pronalazak naveden je u nezavisnim zahtevima. poželjan način ostvarivanja ovog pronalaska naveden je u zavisnom zahtevu.
[0013] Prema prvom aspektu, opisan je uređaj za dekodiranje za dekodiranje slike, pri čemu uređaj za dekodiranje obuhvata: memoriju; i najmanje jedan procesor povezan sa memorijom, gde je najmanje jedan procesor konfigurisan da: izvede predikciju vektora pokreta zasnovanog na istoriji, HMVP, bafer za trenutni blok, pri čemu HMVP bafer obuhvata HMVP kandidat koji uključuje informacije o pokretu prethodnog bloka koji se dekodira pre trenutnog bloka; izvede listu kandidata za informacije o pokretu na osnovu HMVP kandidata sadržanog u HMVP baferu, pri čemu se, za izvođenje liste kandidata za informacije o pokretu, HMVP kandidat dodaje u listu kandidata za informacije o pokretu; izvede informacije o pokretu trenutnog bloka na osnovu liste kandidata za informacije o pokretu; generiše uzorke predikcije za trenutni blok na osnovu informacija o pokretu; i generiše rekonstruisane uzorke na osnovu uzoraka predikcije, pri čemu trenutna slika uključuje više od jedne pločice, pri čemu se trenutni blok za jednu od jedinica za kodiranje, CU, odvaja od jedinice stabla kodiranja, CTU, pri čemu se HMVP bafer ažurira dodavanjem informacija o pokretu direktnog prethodnog bloka koji se direktno dekodira pre trenutnog bloka kao novi HMVP kandidat, pri čemu se, za trenutnu sliku koja se sastoji od 2 reda pločica i 2 kolone pločica, HMVP bafer inicijalizuje na prvoj CTU prema redosledu obrade u svakom CTU redu svake pločice, pri čemu je, na osnovu HMVP bafera koji se inicijalizuje, broj HMVP kandidata sadržanih u HMVP baferu postavljen na nula, pri čemu je uređaj za dekodiranje dalje konfigurisan da: odredi da li je CTU prva CTU prema redosledu obrade u CTU redu trenutne pločice trenutne slike koja se sastoji od 2 reda pločica i 2 kolone pločica, pri čemu se HMVP bafer za trenutni blok izvodi na osnovu rezultata određivanja, i pri čemu na osnovu rezultata određivanja da je CTU prva CTU prema redosledu obrade u CTU redu trenutne pločice trenutne slike koja se sastoji od 2 reda pločica i 2 kolone pločica, HMVP bafer se inicijalizuje za CTU.
[0014] Prema drugom aspektu, opisan je uređaj za kodiranje za kodiranje slike, pri čemu uređaj za kodiranje obuhvata: memoriju; i najmanje jedan procesor povezan sa memorijom, najmanje jedan procesor konfigurisan da: izvede predikciju vektora pokreta zasnovanog na istoriji, HMVP, bafer za trenutni blok, pri čemu HMVP bafer obuhvata HMVP kandidat koji uključuje informacije o pokretu prethodnog bloka koje se kodiraju pre trenutnog bloka; izvede listu kandidata za informacije o pokretu na osnovu HMVP kandidata sadržanog u HMVP baferu, pri čemu se, za izvođenje liste kandidata za informacije o pokretu, HMVP kandidat dodaje u listu kandidata za informacije o pokretu; izvede informacije o pokretu trenutnog bloka na osnovu liste kandidata za informacije o pokretu; generiše uzorke predikcije za trenutni blok na osnovu informacija o pokretu; izvede rezidualne uzorke na osnovu uzoraka predikcije; i kodira u tok bitova informacije o slici koje obuhvataju informacije o rezidualnim uzorcima, pri čemu je više od jedne pločice prisutno u trenutnoj slici, pri čemu se trenutni blok za jednu od jedinica za kodiranje, CU, odvaja od jedinice stabla kodiranja, CTU, pri čemu se HMVP bafer ažurira dodavanjem informacija o pokretu direktnog prethodnog bloka koje se kodiraju direktno pre trenutnog bloka kao novi HMVP kandidat, pri čemu se, za trenutnu sliku koja se sastoji od 2 reda pločica i 2 kolone pločica, HMVP bafer inicijalizuje na prvoj CTU prema redosledu obrade u svakom CTU redu svake pločice, pri čemu je, na osnovu HMVP bafera koji se inicijalizuje, broj HMVP kandidata sadržanih u HMVP baferu postavljen na nula, pri čemu je uređaj za kodiranje dalje konfigurisan da: odredi da li je CTU prva CTU prema redosledu obrade u CTU redu trenutne pločice trenutne slike koja se sastoji od 2 reda pločica i 2 kolone pločica, pri čemu se HMVP bafer za trenutni blok izvodi na osnovu rezultata određivanja, i pri čemu se, na osnovu rezultata određivanja da je CTU prva CTU prema redosledu obrade u CTU redu trenutne pločice trenutne slike koja se sastoji od 2 reda pločica i 2 kolone pločica, HMVP bafer inicijalizuje za CTU.
[0015] Prema nekom načinu ostvarivanja ovog dokumenta, moguće je da se poveća ukupna efikasnost kompresije slike/videozapisa.
[0016] Prema nekom načinu ostvarivanja ovog dokumenta, moguće je da se smanji prenetih količina podataka potrebnih za obradu ostatka efikasnom inter predikcijom.
[0017] Prema nekom načinu ostvarivanja ovog dokumenta, moguće je da se efikasno upravlja HMVP baferom.
[0018] Prema nekom načinu ostvarivanja ovog dokumenta, omogućena je paralelna obrada efikasnim upravljanjem HMVP baferom.
[0019] Prema nekom načinu ostvarivanja ovog dokumenta, moguće je efikasno izvođenje vektora pokreta za inter predikcija.
KRATAK OPIS NACRTA
[0020]
FIG.1 je dijagram koji šematski prikazuje primer sistema za kodiranje videozapisa/slike na kojem se mogu primeniti načini ostvarivanja ovog dokumenta.
FIG.2 je dijagram koji šematski objašnjava konfiguraciju uređaja za kodiranje videozapisa/slike na kojem se mogu primeniti načini ostvarivanja ovog dokumenta.
FIG.3 je dijagram koji šematski objašnjava konfiguraciju uređaja za dekodiranje videozapisa/slike na kojem se mogu primeniti načini ostvarivanja ovog dokumenta.
FIG.4 je dijagram koji prikazuje primer postupka kodiranja videozapisa/slike na osnovu inter predikcije.
FIG.5 je dijagram koji prikazuje primer postupka dekodiranja videozapisa/slike na osnovu inter predikcije.
FIG.6 je dijagram koji prikazuje primer procedure inter predikcije.
FIG.7 je dijagram koji prikazuje primer prostornih susednih blokova korišćenih za izvođenje kandidata za informacije o pokretu u uobičajenom režimu spajanja ili AMVP režimu.
FIG.8 je dijagram koji šematski prikazuje primer procedure dekodiranja na osnovu HMVP kandidata.
FIG.9 je dijagram koji prikazuje primer ažuriranja HMVP tabele prema FIFO pravilu.
FIG.10 je dijagram koji prikazuje primer ažuriranja HMVP tabele prema ograničenom FIFO pravilu.
FIG.11 je dijagram koji prikazuje primer paralelne obrade talasnog fronta (WPP) što je jedna od tehnika za paralelnu obradu.
FIG.12 je dijagram koji prikazuje primer problema kada se primenjuje generalni HMVP postupak s obzirom na paralelnu obradu.
FIG.13 je dijagram koji prikazuje primer postupka inicijalizacije bafera za upravljanje istorijom (HMVP bafer) prema nekom načinu ostvarivanja ovog dokumenta.
FIG.14 je dijagram koji prikazuje primer postupka upravljanja HMVP bafera prema nekom načinu ostvarivanja.
FIG.15 je dijagram koji prikazuje primer postupka upravljanja HMVP bafera prema nekom drugom načinu ostvarivanja.
FIG.16 je dijagram koji prikazuje primer postupka inicijalizacije HMVP bafera u strukturi pločica. FIG.17 je dijagram koji prikazuje primer postupka inicijalizacije HMVP bafera za CTU prvu po redosledu u pločici prema nekom drugom načinu ostvarivanja.
FIG.18 je dijagram koji prikazuje primer postupka inicijalizacije HMVP upravljačkog bafera za CTU prvu po redosledu u CTU redu u svakoj pločici prema nekom drugom načinu ostvarivanja. FIG.19 je dijagram koji prikazuje primer strukture u kojoj pločica i odsečak postoje istovremeno. FIG.20 je dijagram koji prikazuje postupak inicijalizacije HMVP bafera za CTU prvu po redosledu u svakoj pločici.
FIG.21 je dijagram koji prikazuje primer postupka inicijalizacije HMVP bafera za svaki odsečak u pločici.
FIG.22 je dijagram koji prikazuje primer inicijalizacije HMVP bafera za CTU prvu po redosledu u prvoj pločici u grupi pločica.
FIG.23 je dijagram koji prikazuje primer inicijalizacije HMVP bafera za CTU prvu po redosledu u svakoj pločici u grupi pločica.
FIG.24 je dijagram koji prikazuje primer inicijalizacije HMVP bafera za CTU red svake pločice u grupi pločica.
FIG.25 i 26 su dijagrami koji šematski prikazuju primer postupka kodiranja videozapisa/slike i odnosne komponente koje uključuju postupak za inter predikciju prema načinu(ima) ostvarivanja ovog dokumenta.
FIG.27 i 28 su dijagrami koji šematski prikazuju primer postupka za dekodiranje slike i odnosne komponente koje uključuju postupak za inter predikciju prema nekom načinu ostvarivanja ovog dokumenta.
FIG.29 je dijagram koji prikazuje primer sistema za strimovanje sadržaja na kojem se mogu primeniti načini ostvarivanja opisani u ovom dokumentu.
OPIS PRIMERA NAČINA OSTVARIVANJA
[0021] Postupka prikazan u ovom dokumentu može da se modifikuje u različite oblike, a njegovi posebni primeri biće opisani i prikazani na crtežima. Pojmovi korišćeni u ovom opisu koriste se samo da opišu određeni način ostvarivanja, a nisu ograničeni na tehnički ideju datog postupka u ovom dokumentu. Izraz broja u jednini uključuje izraz 'najmanje jedan', sve dok je jasno drugačije navedeno. Pojmovi kao što su "uključuje" i "ima" treba da naznače postojanje karakteristika, brojeva, faza, operacija, elemenata, komponenata ili njihovih kombinacija korišćenih u daljem opisu i treba ih tumačiti tako da ne isključuju mogućnost postojanja ili dodavanja jedne ili više drugih karakteristika, brojeva, faza, operacija, elemenata, komponenata ili njihovih kombinacija.
[0022] U međuvremenu, odgovarajuće strukture na crtežima ove specifikacije obezbeđene su nezavisno jedna od druge radi jednostavnosti opisa različitih karakterističnih funkcija, koje, međutim, ne pokazuju da svaka struktura treba da se implementira sa posebnim hardverom ili posebnim softverom. Na primer, svaka struktura može da se implementira kombinacijom dve ili više struktura, ili jedna struktura može da se podeli na više struktura. Neki način ostvarivanja u kojem su strukture integrisane u jednu i/ili su međusobno odvojene treba smatrati da pripada obimu ove specifikacije.
[0023] Ovaj dokument odnosi se na kodiranje videozapisa/slike. Na primer, postupak/način ostvarivanja opisan u ovom dokumentu može da se primeni na postupak opisan u standardu raznovrsnog video kodiranja (WC). Pored toga, postupci/načini ostvarivanja opisani u ovom dokumentu mogu da se primene na postupak opisan u EVC (osnovno video kodiranje) standardu, AOMedia Video 1 (AV1) standardu, 2. generaciji standarda audio video kodiranja (AVS2), ili sledećoj generaciji standarda za kodiranje videozapisa/slike (pr. H.267 ili H.268, itd.).
[0024] Ovaj dokument prikazuje različite načine ostvarivanja kodiranja videozapisa/slike, i načini ostvarivanja mogu se izvesti u kombinaciji jedan s drugim osim ako nije drugačije naznačeno.
[0025] U ovom dokumentu, videozapis može da se odnosi na serije slika tokom vremena. Slika uopšteno predstavlja jedinicu koja predstavlja jednu sliku u određenom vremenskom periodu, a odsečak/pločica odnosi se na jedinicu koja čini sliku u smislu kodiranja. Odsečak/pločica može da uključuje jednu ili više jedinica stabla kodiranja (CTU). Jedna slika može da se sastoji od jednog ili više odsečaka/pločica. Jedna slika može da se sastoji od jedne ili više grupa pločica. Jedna grupa pločica može da uključuje jednu ili više pločica. Brik može da predstavlja pravougaonu oblast CTU redova unutar pločice u slici. Pločica može da se podeli na više brikova, od kojih se svaki sastoji od jednog ili više CTU redova unutar pločice. Pločica koja nije podeljena na više brikova može takođe da se naziva brik. Skeniranje brikova je specifično sekvencijalno uređivanje CTU-ova koje dele sliku u kojoj su CTU poređane uzastopno u CTU rasterskom skeniranju u briku, brikovi unutar pločice poređani su uzastopno u rasterskom skeniranju brikova pločice, i pločice u slici poređane su uzastopno u rasterskom skeniranju pločica slike. Pločica je pravougaona površina CTU-ova unutar posebne kolone pločica i posebnog reda pločica u slici. Kolona pločica je pravougaona površina od CTU koje imaju visinu jednaku visini slike a širinu određenu sintaksičkim elementima u skupu parametara slike. Red pločica je pravougaona površina od CTU koje imaju visinu određenu sintaksičkim elementima u skupu parametara slike, a širinu jednaku širini slike. Skeniranje pločica je specifični sekvencijalni redosled CTU-ova koje dele sliku u kojoj su CTU poređane uzastopno u CTU rasterskom skeniranju u pločici dok su pločice u slici poređane uzastopno u rasterskom skeniranju pločica slike. Odsečak uključuje ceo broj brikova slike koji mogu biti isključivo sadržani u jednoj NAL jedinici. Odsečak može da se sastoji ili od nekog broja kompletnih pločica ili samo od uzastopne sekvence kompletnih brikova jedne pločice. U ovom dokumentu, grupa pločica i odsečak mogu naizmenično da se koriste. Na primer, u ovom dokumentu, grupa pločica/zaglavlje grupe pločica može d a se naziva i odsečak/zaglavlje odsečka.
[0026] Piksel ili pel može da znači najmanja jedinica koja čini jednu sliku (ili sliku). Takođe, 'uzorak' može da se koristi kao pojam koji odgovara pikselu. Uzorak može uopšteno da predstavlja piksel ili vrednost piksela, a može da predstavlja samo piksel/vrednost piksela luma komponente ili samo piksel/vrednost piksela hroma komponente.
[0027] Jedinica može da predstavlja osnovnu jedinicu za obradu slike. Jedinica može da uključuje najmanje jedan od određene oblasti slike i informacija koje se odnose na tu oblast. Jedna jedinica može da uključuje jedan luma blok i dva hroma (pr. cb, cr) bloka. Jedinica može da se koristi naizmenično sa pojmovima kao što su blok ili površina u nekim slučajevima. U opštem slučaju, M×N blok može da uključuje uzorke (ili nizove uzoraka) ili skup (ili niz) koeficijenata transformacije M kolona i N redova.
[0028] U ovom dokumentu, pojam "/" i "," treba da se tumači da označava "i/ili." Na primer, izraz "A/B" može da znači "A i/ili B." Dalje, "A, B" može da znači "A i/ili B." Dalje, "A/B/C" može da znači "najmanje jedan od A, B, i/ili C." Takođe, "A/B/C" može da znači "najmanje jedan od A, B, i/ili C."
[0029] Dalje, u ovom dokumentu, pojam "ili" treba da se tumači da označava "i/ili." Na primer, izraz "A ili B" može da obuhvata 1) samo A, 2) samo B, i/ili 3) i A i B. Drugim rečima, pojam "ili" u ovom dokumentu treba da se tumači da označava "dodatno ili alternativno."
[0030] U nastavku, poželjni načini ostvarivanja ovog dokumenta detaljnije su opisani upućivanjem na priložene crteže. U nastavku, iste komponente na crtežima koriste iste pozivne oznake a suvišni opisi istih komponenata mogu biti izostavljeni.
[0031] FIG.1 prikazuje primer sistema za kodiranje videozapisa/slike na kojem se mogu primeniti načini ostvarivanja ove specifikacije.
[0032] Upućivanjem na FIG.1, sistem za kodiranje videozapisa/slike može da uključuje prvi uređaj (izvorni uređaj) i drugi uređaj (prijemni uređaj). Izvorni uređaj može da prenese kodirane informacije ili podatke o videozapisu/slici prijemnom uređaju preko digitalnog medijuma za skladištenje ili mreže u obliku datoteke ili strimovanja.
[0033] Izvorni uređaj može da uključuje izvor videozapisa, uređaj za kodiranje i predajnik. Prijemni uređaj može da uključuje prijemnik, uređaj za dekodiranje i prikazivač. Uređaj za kodiranje može se nazvati uređaj za kodiranje videozapisa/slike, a uređaj za dekodiranje može se nazvati uređaj za dekodiranje videozapisa/slike. Predajnik može da bude uključen u uređaju za kodiranje. Prijemnik može da bude uključen u uređaju za dekodiranje. Prikazivač može da uključuje ekran, a ekran može da bude konfigurisan kao poseban uređaj ili eksterna komponenta.
[0034] Izvor videozapisa može da dobije videozapis/sliku postupkom snimanja, sinteze ili generisanja videozapisa/slike. Izvor videozapisa može da uključuje uređaj za snimanje videozapisa/slike i/ili uređaj za generisanje videozapisa/slike. Uređaj za snimanje videozapisa/slike može da uključuje, na primer, jednu ili više kamera, arhive videozapisa/slike uključujući prethodno snimljene videozapise/slike, i slično. Uređaj za generisanje videozapisa/slike može da uključuje, na primer, računare, tablete i pametne telefone, i može (elektronski) da generiše videozapis/slike. Na primer, virtuelni videozapis/slika može da se generiše računarom ili slično. U ovom slučaju, postupak snimanja videozapisa/slike može se zameniti postupkom generisanja povezanih podataka.
[0035] Uređaj za kodiranje može da kodira ulazni videozapis/sliku. Uređaj za kodiranje može da izvede serije procedura kao što su predikcija, transformacija i kvantizacija za efikasnost kompresije i kodiranja. Kodirani podaci (kodirane informacije o videozapisu/slici) mogu da se emituju u obliku toka bitova.
[0036] Predajnik može da prenese kodirane informacije ili podatke o slici/slici emitovane u obliku toka bitova prijemniku prijemnog uređaja preko digitalnog medijuma za skladištenje ili mreže u obliku datoteke ili strimovanja. Digitalni medijum za skladištenje može da uključuje različite medijume za skladištenje kao što su USB, SD, CD, DVD, Blu-ray, HDD, SSD, i slično. Predajnik može da uključuje element za generisanje medijske datoteke preko unapred određenog formata datoteke i može da uključuje neki element za prenos preko radiodifuzne/komunikacione mreže. Prijemnik može da primi/izdvoji tok bitova i prenese primljeni tok bitova uređaju za dekodiranje.
[0037] Uređaj za dekodiranje može da dekodira videozapis/sliku izvođenjem niza procedura kao što su dekvantizacija, inverzna transformacija i predikcija koje odgovaraju operaciji uređaja za kodiranje.
[0038] Prikazivač može da prikaže dekodiran videozapis/sliku. Prikazan videozapis/slika može da se prikaže preko ekrana.
[0039] FIG.2 prikazuje strukturu uređaja za kodiranje videozapisa/slike na kojem se mogu primeniti načini ostvarivanja ove specifikacije. U nastavku, uređaj za video kodiranje može da uključuje uređaj za kodiranje slike.
[0040] Upućivanjem na Fig.2, uređaj 200 za kodiranje uključuje razdelnik 210 slike, prediktor 220, rezidualni procesor 230, i entropijski koder 240, sabirač 250, filter 260, i memoriju 270. Prediktor 220 može da uključuje inter prediktor 221 i intra prediktor 222. Rezidualni procesor 230 može da uključuje transformator 232, kvantizator 233, dekvantizator 234, i inverzni transformator 235. Rezidualni procesor 230 može dalje da uključuje oduzimač 231. Sabirač 250 može se nazvati rekonstruktor ili generator rekonstruisanog bloka. Razdelnik 210 slike, prediktor 220, rezidualni procesor 230, entropijski koder 240, sabirač 250, i filter 260 mogu biti konfigurisani sa najmanje jednom komponentom hardvera (pr. čipset ili procesor kodera) prema nekom načinu ostvarivanja. Pored toga, memorija 270 može da uključuje bafer za dekodiranu sliku (DPB) ili može biti konfigurisana sa digitalnim medijumom za skladištenje. Komponenta hardvera može dalje da uključuje memoriju 270 kao internu/eksternu komponentu.
[0041] Razdelnik 210 slike može da deli ulaznu sliku (ili sliku ili okvir) unetu u uređaj 200 za kodiranje na jedan ili više procesora. Na primer, procesor se može nazvati jedinica za kodiranje (CU). U ovom slučaju, jedinica za kodiranje može biti rekurzivno podeljena prema strukturi kvadratnog stabla, binarnog stabla ili ternarnog stabla (QTBTTT) iz jedinice stabla kodiranja (CTU) ili najveće jedinice za kodiranje (LCU). Na primer, jednak jedinica za kodiranje može da se podeli na mnoštvo jedinica za kodiranje veće dubine na osnovu strukture kvadratnog stabla, strukture binarnog stabla i/ili ternarne strukture. U ovom slučaju, na primer, struktura kvadratnog stabla može prva da se primeni dok se struktura binarnog stabla i/ili ternarna struktura može primeniti kasnije. Alternativno, struktura binarnog stabla može prvo da se primeni. Procedura kodiranja prema ovom dokumentu može da se izvede na osnovu finalne jedinice za kodiranje koja se više ne deli. U ovom slučaju, na osnovu efikasnosti kodiranja prema karakteristikama slike najveća jedinica za kodiranje može da se koristi kao finalna jedinica za kodiranje, ili po potrebi, jedinica za kodiranje može da bude rekurzivno podeljena na jedinice za kodiranje veće dubine tako da jedinica za kodiranje koja ima optimalnu veličinu može da se koristi kao finalna jedinica za kodiranje. Ovde, procedura kodiranja može da uključuje proceduru predikcije, transformacije i rekonstrukcije, koje su objašnjene u nastavku. Kao drugi primer, procesor može dalje da uključuje prediktivnu jedinicu (PU) ili transformacionu jedinicu (TU). U ovom slučaju, prediktivna jedinica i transformaciona jedinica mogu biti podeljene ili izdvojene iz prethodno opisane finalne jedinice za kodiranje. Prediktivna jedinica može biti jedinica za predikciju uzorka, dok transformaciona jedinica može biti jedinica za izvođenje koeficijenta transformacije i/ili jedinica za izvođenje rezidualnog signala iz koeficijenta transformacije.
[0042] Jedinica može da se koristi naizmenično sa pojmovima kao što su blok ili površina u nekim slučajevima. Generalno, M×N blok može da predstavlja skup uzoraka ili koeficijenata transformacije koji se sastoje od M kolona i N redova. Uzorak može generalno da predstavlja piksel ili vrednost piksela, a može da predstavlja samo piksel/vrednost piksela luma komponente ili može da predstavlja samo piksel/vrednost piksela hroma komponente. Uzorak može da se koristi kao pojam koji odgovara jednoj slici (ili slici) za piksel ili pel.
[0043] U uređaju 200 za kodiranje, signal predikcije (prediktovani blok, niz uzoraka predikcije) emitovan iz inter prediktora 221 ili intra prediktora 222 oduzima se od ulaznog signala slike (originalni blok, originalni niz uzoraka) da bi se generisao rezidualni signal rezidualni blok, rezidualni niz uzoraka), i generisani rezidualni signal prenosi se transformatoru 232. U ovom slučaju, kao što je prikazano, jedinica za oduzimanje signala predikcije (prediktovani blok, niz uzoraka predikcije) od ulaznog signala slike (originalni blok, originalni niz uzoraka) u koderu 200 može se nazvati oduzimač 231. Prediktor može da izvede predikciju na bloku koji se obrađuje (u nastavku, naziva se trenutni blok) i generiše prediktovani blok uključujući uzorke predikcije za trenutni blok. Prediktor može da odredi da li se primenjuje intra predikcija ili inter predikcija na osnovu trenutnog bloka ili CU. Kao što je opisano u nastavku u opisu svakog režima predikcije, prediktor može da generiše različite informacije koje se odnose na predikciju, kao što su informacije o režimu predikcije, i prenese generisane informacije entropijskom koderu 240. Informacije o predikciji mogu da se kodiraju u entropijskom koderu 240 i otpreme u obliku toka bitova.
[0044] Intra prediktor 222 može da predvidi trenutni blok upućivanjem na uzorke u trenutnoj slici. Uzorci na koje je upućeno mogu da budu susedno trenutnom bloku ili mogu da budu smešteni udaljeno prema režimu predikcije. U intra predikciji, režimi predikcije mogu da uključuju veći broj neusmerenih režima i mnoštvo usmerenih režima. Neusmereni režim može da uključuje, na primer, DC režim i planarni režim. Usmereni režim može da uključuje, na primer, 33 usmerenih režima predikcije ili 65 usmerenih režima predikcije prema stepenu detalja smera predikcije. Međutim, ovo je samo primer, a manje ili više od usmerenih režima predikcije može da se koristi zavisno od podešavanja. Intra prediktor
1
222 može da određuje režim predikcije primenjen na trenutnom bloku korišćenjem režima predikcije primenjenog na susednom bloku.
[0045] Inter prediktor 221 može izvesti prediktovani blok za trenutni blok na osnovu referentnog bloka (niz referentnih uzoraka) koji je naznačen vektorom pokreta na referentnoj slici. Ovde, da bi se smanjila količina informacija o pokretu preneta u režimu inter predikcije, informacije o pokretu mogu se predvideti u jedinicama blokova, podblokova ili uzoraka na osnovu korelacije informacija o pokretu između susednog bloka i trenutnog bloka. Informacije o pokretu mogu da uključuju vektor pokreta i indeks referentne slike. Informacije o pokretu mogu dalje da uključuju informacije o smeru inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju inter predikcije, susedni blok može da uključuje prostorni susedni blok prisutan u trenutnoj slici i vremenski susedni blok prisutan u referentnoj slici. Referentna slika koja uključuje referentni blok i referentna slika koja uključuje vremenski susedni blok mogu biti iste ili različite. Vremenski susedni blok može se nazvati kolociran referentni blok, kolocirana CU (colCU), i slično, a referentna slika koja uključuje vremenski susedni blok može se nazvati kolocirana slika (colPic). Na primer, inter prediktor 221 može da konfiguriše listu kandidata za informacije o pokretu na osnovu susednih blokova i generiše informacije koje pokazuju koji se kandidat koristi za izvođenje vektora pokreta i/ili indeksa referentne slike trenutnog bloka. Inter predikcija može se izvesti na osnovu različitih režima predikcije. Na primer, u slučaju režima preskakanja i režima spajanja, inter prediktor 221 može da koristi informacije o pokretu susednog bloka kao informacije o pokretu trenutnog bloka. U režimu preskakanja, za razliku od režima spajanja, rezidualni signal može da se ne prenese. U slučaju režima predikcije vektora pokreta (MVP), vektor pokreta susednog bloka može da koristi kao prediktor vektora pokreta i vektor pokreta trenutnog bloka može se odrediti signalizacijom razlike vektora pokreta.
[0046] Prediktor 220 može da generiše signal predikcije na osnovu različitih postupaka predikcije opisanih u nastavku. Na primer, prediktor može ne samo da primeni intra predikciju ili inter predikciju radi predikcije jednog bloka već može i da istovremeno primeni i intra predikciju i inter predikciju. Ovo se može nazvati kombinovana inter i intra predikcija (CIIP). Pored toga, prediktor može da se zasniva na režimu predikcije kopije intra bloka (IBC) ili režimu palete za predikciju bloka. IBC režim predikcije ili režim palete može da se koristi za kodiranje sadržaja slike/videozapisa za igre ili slično, na primer, kodiranje sadržaja ekrana (SCC). IBC u osnovi izvodi predikciju u trenutnoj slici, ali može da bude izvedena slično inter predikciji po tome što izvodi referentni blok u trenutnoj slici. To jest, IBC može da koristi najmanje jednu od tehnika inter predikcije opisanih u ovom dokumentu. Režim palete može se smatrati primerom intra kodiranja ili intra predikcije. Kada se primenjuje režim palete, vrednost uzorka u slici može da se signalizira na osnovu informacija o tabeli palete i indeksu palete.
[0047] Signal predikcije generisan prediktorom (koji uključuje inter prediktor 221 i/ili intra prediktor 222) može da se koristi za generisanje rekonstruisanog signala ili za generisanje rezidualnog signala.
Transformator 232 može da generiše koeficijente transformacije primenom tehnike transformacije na rezidualni signal. Na primer, tehnika transformacije može da uključuje najmanje jedno od diskretne kosinusne transformacije (DCT), diskretne sinusne transformacije (DST), transformacije zasnovane na grafikonu (GBT) ili uslovne nelinearne transformacije (CNT). Ovde, GBT predstavlja transformaciju dobijenu iz grafikona kada su informacije o vezi između piksela prikazane na grafikonu. CNT odnosi se na transformaciju generisanu na osnovu signala predikcije generisanog pomoću svih prethodnih rekonstruisanih piksela. Pored toga, postupak transformacije može da se primeni na kvadratne blokove piksela koji imaju istu veličinu ili može da se primeni na blokove sa promenljivom veličinom umesto kvadratnih.
[0048] Kvantizator 233 može kvantizovati koeficijente transformacije i preneti ih entropijskom koderu 240, a entropijski koder 240 može da kodira kvantizovani signal (informacije o kvantizovanim koeficijentima transformacije) i pošalje tok bitova. Informacije o kvantizovanim koeficijentima transformacije mogu se nazvati rezidualne informacije. Kvantizator 233 može da preuredi kvantizovane koeficijente transformacije tipa bloka u jednodimenzionalni vektorski oblik na osnovu redosleda skeniranja koeficijenata i generiše informacije o kvantizovanim koeficijentima transformacije na osnovu kvantizovanih koeficijenata transformacije u jednodimenzionalni vektorski oblik. Informacije o koeficijentima transformacije mogu da se generišu. Entropijski koder 240 može da izvede različite postupke kodiranja kao što su, na primer, eksponencijalni Golomb, kontekstualno-adaptivno kodiranje promenljive dužine (CAVLC), kontekstualno-adaptivno binarno aritmetičko kodiranje (CABAC), i slično. Entropijski koder 240 može da kodira informacije potrebne za rekonstrukciju videozapisa/slike zajedno sa ili odvojeno od kvantizovanih koeficijenata transformacije (pr. vrednosti sintaksičkih elemenata, itd.). Kodirane informacije (pr. kodirane informacije o videozapisu/slici) mogu se preneti ili čuvati u jedinicama u NAL (sloj apstrakcije mreže) u obliku toka bitova. Informacije o videozapisu/slici mogu dalje da uključuju informacije o različitim skupovima parametara kao što su skup parametara za adaptaciju (APS), skup parametara slike (PPS), skup parametara za sekvencu (SPS), ili skup parametara videozapisa (VPS). Pored toga, informacije o videozapisu/slici mogu dalje da uključuju opšte informacije o ograničenjima. U ovom dokumentu, informacije i/ili sintaksički elementi prenete/signaliziranje iz uređaja za kodiranje uređaju za dekodiranje mogu biti uključene u informacije o videozapisu/slici. Informacije o videozapisu/slici mogu da se kodiraju pomoću gorepomenute procedure kodiranja i uključe u tok bitova. Tok bitova može se preneti preko mreže ili može da se čuva u digitalnom medijumu za skladištenje. Mreža može da uključuje radiodifuznu mrežu i/ili komunikacionu mrežu, a digitalni medijum za skladištenje može da uključuje različite medijume za skladištenje kao što su USB, SD, CD, DVD, Blu-ray, HDD, SSD, i slično. Predajnik (nije prikazan) koji prenosi izlaz signala iz entropijskog kodera 240 i/ili memorije (nije prikazana) koja čuva signal, može da bude uključen kao interni/eksterni element uređaja 200 za kodiranje, a alternativno, predajnik može da bude uključen u entropijskom koderu 240.
[0049] Kvantizovani koeficijenti transformacije koji izlaze iz kvantizatora 233 mogu da se koriste za generisanje signala predikcije. Na primer, rezidualni signal (rezidualni blok ili rezidualni uzorci) mogu da se rekonstruišu primenom dekvantizacije i inverzne transformacije na kvantizovanim koeficijentima transformacije pomoću dekvantizatora 234 i inverznog transformatora 235. Sabirač 250 dodaje rekonstruisani rezidualni signal signalu predikcije koji izlazi iz inter prediktora 221 ili intra prediktora 222 za generisanje rekonstruisanog signala (rekonstruisan slika, rekonstruisani blok, rekonstruisani niz uzoraka). Ako ne postoji ostatak za blok koji se obrađuje, kao što je slučaj gde se primenjuje režim preskakanja, prediktovani blok može da se koristi kao rekonstruisani blok. Sabirač 250 se može nazvati rekonstruktor ili generator rekonstruisanog bloka. Generisani rekonstruisani signal može da se koristi za intra predikciju sledećeg bloka koji se obrađuje u trenutnoj slici i može da se koristi za inter predikciju sledeće slike filtriranjem kao što je opisano u nastavku.
[0050] U međuvremenu, luma mapiranje sa hroma skaliranjem (LMCS) može takođe da se primeni tokom kodiranja i/ili rekonstrukcije slike.
[0051] Filter 260 može da poboljša subjektivni/objektivni kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 260 može da generiše modifikovanu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku i čuva modifikovanu rekonstruisanu sliku u memoriji 270, određenije, DPB memorije 270. Različiti postupci filtriranja mogu da uključuju, na primer, filtriranje za deblokiranje, adaptivno pomeranje uzorka, filter adaptivne petlje, bilateralni filter, i slično. Filter 260 može da generiše razne informacije koje se odnose na filtriranje i prenese generisane informacije entropijskom koderu 240 kao što je opisano u nastavku u opisu svakog postupka filtriranja. Informacije koje se odnose na filtriranje mogu da se kodiraju u entropijskom koderu 240 i pošalju u obliku toka bitova.
[0052] Modifikovana rekonstruisana slika preneta memoriji 270 može da se koristi kao referentna slika u inter prediktoru 221. Kada se primenjuje inter predikcija pomoću uređaja za kodiranje, može se izbeći nepodudarnost predikcije između uređaja 200 za kodiranje i uređaja za dekodiranje i može da se poboljša efikasnost kodiranja.
[0053] DPB memorije 270 može da čuva modifikovanu rekonstruisanu sliku kako bi se koristila kao referentna slika u inter prediktoru 221. Memorija 270 može da čuva informacije o pokretima bloka iz kojeg se informacije o pokretu u trenutnoj slici izvode (ili kodiraju) i/ili informacije o pokretu blokova u slici koja je već rekonstruisana. Sačuvane informacije o pokretu mogu da se prenesu inter prediktoru 221 i koriste kao informacije o pokretu prostornog susednog bloka ili informacije o pokretu vremenskog susednog bloka. Memorija 270 može da čuva rekonstruisane uzorke rekonstruisanih blokova u trenutnoj slici i može da prenese rekonstruisane uzorke intra prediktoru 222.
[0054] FIG.3 prikazuje strukturu uređaja za dekodiranje videozapisa/slike na kojem se mogu primeniti načini ostvarivanja ove specifikacije.
1
[0055] Upućivanjem na Fig.3, uređaj 300 za dekodiranje može da uključuje entropijski dekoder 310, rezidualni procesor 320, prediktor 330, sabirač 340, filter 350, memorija 360. Prediktor 330 može da uključuje inter prediktor 331 i intra prediktor 332. Rezidualni procesor 320 može da uključuje dekvantizator 321 i inverzni transformator 321. Entropijski dekoder 310, rezidualni procesor 320, prediktor 330, sabirač 340 i filter 350 mogu biti konfigurisani sa komponentom hardvera (pr. čipset ili procesor dekodera) prema nekom načinu ostvarivanja. Pored toga, memorija 360 može da uključuje bafer za dekodiranu sliku (DPB) ili može biti konfigurisana sa digitalnim medijumom za skladištenje. Komponenta hardvera može dalje da uključuje memoriju 360 kao internu/eksternu komponentu.
[0056] Kada tok bitova koji uključuje informacije o videozapisu/slici predstavlja ulaz, uređaj 300 za dekodiranje može da rekonstruiše sliku koja odgovara postupku u kojem se informacije o videozapisu/slici obrađuju u uređaju za kodiranje sa Fig.2. Na primer, uređaj 300 za dekodiranje može da izvede jedinice/blokove na osnovu informacija koje se odnose na podelu blokova dobijenih iz toka bitova. Uređaj 300 za dekodiranje može da izvede dekodiranje pomoću procesora primenjenog u uređaju za kodiranje. Tako, procesor za dekodiranje može biti jedinica za kodiranje, na primer, a jedinica za kodiranje može da se deli prema strukturi kvadratnog stabla, strukturi binarnog stabla i/ili strukturi ternarnog stabla iz jedinice stabla kodiranja ili najveće jedinice za kodiranje. Jedna ili više transformacionih jedinica može se izvesti iz jedinice za kodiranje. Signal rekonstruisane slike dekodiran i poslat pomoću uređaja 300 za dekodiranje može da se reprodukuje pomoću uređaja za reprodukciju.
[0057] Uređaj 300 za dekodiranje može da prima signal koji izlazi iz uređaja za kodiranje sa Fig.2 u obliku toka bitova, i taj primljen signal može da se dekodira pomoću entropijskog dekodera 310. Na primer, entropijski dekoder 310 može da raščlani tok bitova kako bi se izvele informacije (pr. informacije o videozapisu/slici) potrebne za rekonstrukciju slike (ili rekonstrukciju slike). Informacije o videozapisu/slici mogu dalje da uključuju informacije o različitim skupovima parametara kao što su skup parametara za adaptaciju (APS), skup parametara slike (PPS), skup parametara za sekvencu (SPS) ili skup parametara videozapisa (VPS). Pored toga, informacije o videozapisu/slici mogu dalje da uključuju opšte informacije o ograničenjima. Uređaj za dekodiranje može dalje da dekodira sliku na osnovu informacija o skupu parametara i/ili opštih informacija o ograničenjima. Signalizirane/primljene informacije i/ili sintaksički elementi opisani u nastavku u ovom dokumentu mogu se dekodirati procedurom dekodiranja i dobiti iz toka bitova. Na primer, entropijski dekoder 310 dekodira informacije u toku bitova na osnovu postupka za kodiranje kao što je eksponencijalno Golomb kodiranje, CAVLC ili CABAC, i šalje sintaksičke elemente potrebne za rekonstrukciju slike i kvantizovane vrednosti koeficijenata transformacije za ostatak. Određenije, CABAC postupak entropijskog dekodiranja može da prima bin koji odgovara svakom sintaksičkom elementu u toku bitova, određuje kontekstni model koji koristi informacije o sintaksičkom elementu koje se dekodiraju, dekodiranje informacija o ciljnom bloku dekodiranja ili informacija o simbolu/binu dekodiranom u prethodnoj fazi, i izvede aritmetičko dekodiranje na binu predviđanjem verovatnoće pojave bina prema određenom kontekstnom modelu, i generiše simbol koji odgovara vrednosti svakog sintaksičkog elementa. U ovom slučaju, CABAC postupak entropijskog dekodiranja može da ažurira kontekstni model korišćenjem informacija o dekodiranom simbolu/binu za kontekstni model sledećeg simbola/bina nakon što se odredi kontekstni model. Informacije u vezi predikcije među informacijama dekodiranim pomoću entropijskog dekodera 310 mogu se obezbediti prediktoru (inter prediktor 332 i intra prediktor 331), a vrednost ostatka pri kojoj se izvodi entropijsko dekodiranje u entropijskom dekoderu 310, to jest, kvantizovani koeficijenti transformacije i povezane informacije o parametru mogu se uneti u rezidualni procesor 320. Rezidualni procesor 320 može da izvede rezidualni signal (rezidualni blok, rezidualni uzorci, rezidualni niz uzoraka). Pored toga, informacije o filtriranju među informacijama dekodiranim entropijskim dekoderom 310 mogu se obezbediti filteru 350. U međuvremenu, prijemnik (nije prikazan) za prijem signala koji izlazi iz uređaja za kodiranje može se dalje konfigurisati kao interni/eksterni element uređaja 300 za dekodiranje, ili prijemnik može da bude komponenta entropijskog dekodera 310. U međuvremenu, uređaj za dekodiranje prema ovom dokumentu može se nazvati uređaj za dekodiranje videozapisa/slike/slike, a uređaj za dekodiranje može da se klasifikuje u dekoder informacija (dekoder informacija o videozapisu/slici/slici) i dekoder uzoraka (dekoder uzoraka videozapisa/slike/slike). Dekoder informacija može da uključuje entropijski dekoder 310, dok dekoder uzoraka može da uključuje najmanje jedno od dekvantizatora 321, inverznog transformatora 322, sabirača 340, filtera 350, memorije 360, inter prediktora 332 i intra prediktora 331.
[0058] Dekvantizator 321 može da dekvantizuje kvantizovane koeficijente transformacije i pošalje koeficijente transformacije. Dekvantizator 321 može da preuredi kvantizovane koeficijente transformacije u obliku dvodimenzionalnog oblika bloka. U ovom slučaju, preuređenje se može izvesti na osnovu redosleda skeniranja koeficijenata izvedenog u uređaju za kodiranje. Dekvantizator 321 može da izvede dekvantizaciju na kvantizovanim koeficijentima transformacije korišćenjem parametra kvantizacije (pr. informacije o veličini faze kvantizacije) i dobije koeficijente transformacije.
[0059] Inverzni transformator 322 obrnuto transformiše koeficijente transformacije da bi se dobio rezidualni signal (rezidualni blok, rezidualni niz uzoraka).
[0060] Prediktor može da izvede predikciju na trenutnom bloku i generiše prediktovani blok koji uključuje uzorke predikcije za trenutni blok. Prediktor može da odredi da li se primenjuje intra predikcija ili inter predikcija na trenutnom bloku na osnovu informacijo o predikciji koje izlaze iz entropijskog dekodera 310, i može da odredi određeni režim intra/inter predikcije.
[0061] Prediktor 320 može da generiše signal predikcije na osnovu različitih postupaka predikcije koji su opisani u nastavku. Na primer, prediktor može ne samo da primeni intra predikciju ili inter predikciju za predikciju jednog bloka, već može da primeni intra predikciju i inter predikciju istovremeno. Ovo se može nazvati kombinovana inter i intra predikcija (CIIP). Pored toga, prediktor može da se zasniva na režimu predikcije kopije intra bloka (IBC) ili režimu palete ya predikciju bloka. IBC režim predikcije ili
1
režim palete može da se koristi za kodiranje sadržaja slike/videozapisa za igre ili slično, na primer, kodiranje sadržaja ekrana (SCC). IBC u osnovi izvodi predikciju u trenutnoj slici, ali se može izvesti slično inter predikciji tako što izvodi referentni blok u trenutnoj slici. To jest, IBC može da koristi najmanje jednu od tehnika inter predikcije opisanih u ovom dokumentu. Režim palete može se smatrati primerom intra kodiranja ili intra predikcije. Kada se primenjuje režim palete, vrednost uzorka unutar slike može da se signalizira na osnovu informacija o tabeli palete i indeksa palete.
[0062] Intra prediktor 331 može da predvidi trenutni blok upućivanjem na uzorke u trenutnoj slici. Referentni uzorci mogu da budu locirani susedno trenutnom bloku ili mogu da budu locirani odvojeno prema režimu predikcije. U intra predikciji, režimi predikcije mogu da uključuju mnoštvo neusmerenih režima i više usmerenih režima. Intra prediktor 331 može da odredi režim predikcije primenjen na trenutnom bloku korišćenjem režima predikcije primenjenog na susednom bloku.
[0063] Inter prediktor 332 može da izvede prediktovani blok za trenutni blok na osnovu referentnog bloka (niz referentnih uzoraka) naznačenog vektorom pokreta na referentnoj slici. U ovom slučaju, kako bi se smanjila količina informacija o pokretu prenetih u režimu inter predikcije, informacije o pokretu mogu se predvideti u jedinicama blokova, podbloka ili uzoraka 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. Informacije o pokretu mogu dalje da uključuju informacije o smeru inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, itd.). U slučaju inter predikcije, susedni blok može da uključuje prostorni susedni blok koji postoji u trenutnoj slici i vremenski susedni blok koji postoji u referentnoj slici. Na primer, inter prediktor 332 može da konfiguriše listu kandidata za informacije o pokretu na osnovu susednih blokova i izvede vektor pokreta trenutnog bloka i/ili indeks referentne slike na osnovu primljenih informacija o izboru kandidata. Inter predikcija može se izvesti na osnovu različitih režima predikcije, i informacije o predikciji mogu da uključuju informacije koje naznačavaju režim inter predikcije za trenutni blok.
[0064] Sabirač 340 može da generiše rekonstruisani signal (rekonstruisana slika, rekonstruisani blok, rekonstruisani niz uzoraka) dodavanjem dobijenog rezidualnog signala signalu predikcije (prediktovani blok, niz prediktovanih uzoraka) koji izlazi iz prediktora (uključujući inter prediktor 332 i/ili intra prediktor 331). Ako nema ostatka za blok koji se obrađuje, kao što je slučaj kada se primenjuje režim preskakanja, prediktovani blok može da se koristi kao rekonstruisani blok.
[0065] Sabirač 340 može se nazvati rekonstruktor ili generator rekonstruisanog bloka. Generisan rekonstruisani signal može da se koristi za intra predikciju sledećeg bloka koji se obrađuje u trenutnoj slici, a kao što je opisano u nastavku, može da se otpremi filtriranjem ili može da se koristi za inter predikciju sledeće slike.
[0066] U međuvremenu, luma mapiranje sa hroma skaliranjem (LMCS) može se primeniti u postupku dekodiranja slike.
1
[0067] Filter 350 može da poboljša subjektivni/objektivni kvalitet slike primenom filtriranja na rekonstruisani signal. Na primer, filter 350 može da generiše modifikovanu rekonstruisanu sliku primenom različitih postupaka filtriranja na rekonstruisanu sliku i čuva modifikovanu rekonstruisanu sliku u memoriji 360, određenije, u DPB memorije 360. Različiti postupci filtriranja mogu da uključuju, na primer, filtriranje za deblokiranje, adaptivno pomeranje uzorka, filter adaptivne petlje, bilateralni filter, i slično.
[0068] (Modifikovana) rekonstruisana slika koja se čuva u DPB memorije 360 može da se koristi kao referentna slika u inter prediktoru 332. Memorija 360 može da čuva informacije o pokretu bloka iz kojeg se informacije o pokretu u trenutnoj slici izvode (ili dekodiraju) i/ili informacije o pokretu blokova u slici koje su prethodno rekonstruisane. Sačuvane informacije o pokretu mogu se preneti inter prediktoru 260 da bi se koristile kao informacije o pokretu prostornog susednog bloka ili informacije o pokretu vremenskog susednog bloka. Memorija 360 može da čuva rekonstruisane uzorke rekonstruisanih blokova u trenutnoj slici i prenese rekonstruisane uzorke intra prediktoru 331.
[0069] U ovom otkrivanju, načini ostvarivanja opisani za filter 260, inter prediktor 221 i intra prediktor 222 uređaja 200 za kodiranje mogu se primeniti na isti način ili tako da odgovaraju filteru 350, inter prediktoru 332 i intra prediktoru 331 uređaja 300 za dekodiranje. Isto se može primeniti i na jedinicu 332 i intra prediktor 331.
[0070] Kao što je prethodno opisano, za izvođenje video kodiranja, predikcija se izvodi da bi se poboljšala efikasnost kompresije. Stoga, može da se generiše prediktovani blok koji uključuje uzorke predikcije za trenutni blok koji je ciljni blok kodiranja. Ovde, prediktovani blok uključuje uzorke predikcije u prostornom domenu (ili domenu piksela). Prediktovani blok izvodi se na identičan način u uređaju za kodiranje i uređaju za dekodiranje, a uređaj za kodiranje može da signalizira informacije o ostatku (rezidualne informacije) između originalnog bloka i prediktovanog bloka, pre nego sama vrednost originalnih uzoraka originalnog bloka, uređaju za dekodiranje, čime se povećava efikasnost kodiranja slike. Uređaj za dekodiranje može da izvede rezidualni blok koji uključuje rezidualne uzorke na osnovu rezidualnih informacija, generiše rekonstruisani blok koji uključuju rekonstruisane uzorke sumiranjem rezidualnog bloka i prediktovanog bloka, i generiše rekonstruisanu sliku koja uključuje rekonstruisane blokove.
[0071] Rezidualne informacije mogu da se generišu procedurama transformacije i kvantizacije. Na primer, uređaj za kodiranje može da signalizira povezane rezidualne informacije (preko toka bitova) uređaju za dekodiranje izvođenjem rezidualnog bloka između originalnog bloka i prediktovanog bloka, izvođenjem koeficijenata transformacije izvođenjem procedure transformacije za rezidualne uzorke (rezidualni niz uzoraka) uključene u rezidualnom bloku i izvođenjem kvantizovanih koeficijenata transformacije izvođenjem procedure kvantizacije za koeficijente transformacije. Ovde, rezidualne informacije mogu da uključuju informacije kao što su informacije o vrednosti, informacije o položaju,
1
tehniku transformacije, jezgro transformacije i parametar kvantizacija kvantizovanih koeficijenata transformacije. Uređaj za dekodiranje može da izvede procedure dekvantizacije/inverzne transformacije na osnovu rezidualnih informacija i izvede rezidualne uzorke (ili rezidualne blokove). Uređaj za dekodiranje može da generiše rekonstruisanu sliku na osnovu prediktovanog bloka i rezidualnog bloka. Uređaj za kodiranje može takođe da dekvantizuje/inverzno transformiše kvantizovane koeficijente transformacije za referencu za inter predikciju post-slike kako bi se izveo rezidualni blok, i generiše rekonstruisanu sliku na osnovu toga.
[0072] Ako se primenjuje inter predikcija, prediktori uređaja za kodiranje/uređaja za dekodiranje mogu izvesti uzorak predikcije izvođenjem inter predikcije u jedinicama blokova. Inter predikcija može biti predikcija izvedena na način to jest zavisno od elemenata podataka (na primer, vrednosti uzoraka, informacije o pokretu, ili slično) slike(a) koja se razlikuje od trenutne slike. Ako se inter predikcija primenjuje na trenutnom bloku, prediktovani blok (niz uzoraka predikcije) za trenutni blok može da se indukuje, na osnovu referentnog bloka (niz referentnih uzoraka) naznačenog vektorom pokreta na referentnoj slici naznačenoj indeksom referentne slike. Istovremeno, kako bi se smanjila količina informacija o pokretu prenetih u režimu inter predikcije, informacije o pokretu trenutnog bloka mogu da se predvide u jedinicama blokova, podblokova ili uzoraka 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. Informacije o pokretu mogu dalje da uključuju informacije o tipu inter predikcije (L0 predikcija, L1 predikcija, Bi predikcija, ili slično). Ako se primenjuje inter predikcija, susedni blok može da uključuje prostorni susedni blok koji postoji u trenutnoj slici i vremenski susedni blok koji postoji u referentnoj slici. Referentna slika koja uključuje referentni blok i referentna slika koja uključuje vremenski susedni blok mogu biti iste ili različite. Vremenski susedni blok može se nazvati kolociran referentni blok, kolocirana CU (colCU), ili slično, a referentna slika koja uključuje vremenski susedni blok može se nazvati kolocirana slika (colPic). Na primer, lista kandidata za informacije o pokretu može biti konfigurisana na osnovu susednih blokova trenutnog bloka, i informacije o zastavici ili indeksu koje određuju koji je kandidat izabran (korišćen) mogu da se signaliziraju da bi se izveo vektor pokreta i/ili indeks referentne slike trenutnog bloka. Inter predikcija može se izvesti na osnovu različitih režima predikcije, i na primer, u slučaju režima preskakanja i (normalnog) režima spajanja, informacije o pokretu trenutnog bloka mogu da budu iste kao informacije o pokretu izabranog susednog bloka. U slučaju režima preskakanja, za razliku od režima spajanja, rezidualni signal može da se ne prenese. U slučaju režima predikcije vektora pokreta (MVP), vektor pokreta izabranog susednog bloka može da se koristi kao prediktor vektora pokreta, i može da se signalizira razlika vektora pokreta. U ovom slučaju, vektor pokreta trenutnog bloka može se izvesti korišćenjem zbira prediktora vektora pokreta i razlike vektora pokreta.
1
[0073] Procedura kodiranja videozapisa/slike na osnovu inter predikcije može šematski da uključuje, na primer, sledeće.
[0074] FIG.4 prikazuje primer postupka kodiranja videozapisa/slike na osnovu inter predikcije.
[0075] Uređaj za kodiranje izvodi inter predikciju za trenutni blok (S400). Uređaj za kodiranje može da izvede režim inter predikcije i informacije o pokretu trenutnog bloka, i generiše uzorke predikcije trenutnog bloka. Ovde, procedure određivanja režima inter predikcije, izvođenja informacija o pokretu, i generisanja uzoraka predikcije mogu se izvoditi istovremeno, ili se bilo koja procedura može izvesti pre drugih procedura. Na primer, inter prediktor uređaja za kodiranje može da uključuje determinator režima predikcije, derivator informacija o pokretu i derivator uzoraka predikcije, a determinator režima predikcije može da odredi režim predikcije za trenutni blok, derivator informacija o pokretu može da izvede informacije o pokretu trenutnog bloka, i derivator uzoraka predikcije može da izvede uzorke predikcije trenutnog bloka. Na primer, inter prediktor uređaja za kodiranje može da traži blok, slično trenutnom bloku, u određenoj oblasti (oblast pretrage) referentnih slika procenom pokreta, i izvede referentni blok čija je razlika od trenutnog bloka minimalna ili određena referenca ili manja. Na osnovu ovoga, može se izvesti indeks referentne slike koji naznačava referentnu sliku u kojoj je lociran referentni blok, i vektor pokreta se može izvesti na osnovu razlike položaja između referentnog bloka i trenutnog bloka. Uređaj za kodiranje može da odredi režim primenjen na trenutnom bloku među različitim režimima predikcije. Uređaj za kodiranje može da poredi RD troškove za različite režime predikcije i odredi optimalni režim predikcije za trenutni blok.
[0076] Na primer, ako se režim preskakanja ili režim spajanja primenjuje na trenutnom bloku, uređaj za kodiranje može da konfiguriše listu kandidata za spajanje koja je opisana u nastavku, i izvede referentni blok čija je razlika od trenutnog bloka minimalna ili određena referenca ili manja među referentnim blokovima naznačenim kandidatima za spajanje uključenim u listu kandidata za spajanje. U ovom slučaju, može se odabrati kandidat za spajanje povezan sa izvedenim referentnim blokom, i informacije o indeksu spajanja koje naznačavaju izabranog kandidata za spajanje mogu da se generišu i signaliziraju uređaju za dekodiranje. Informacije o pokretu trenutnog bloka mogu se izvesti korišćenjem informacija o pokretu izabranog kandidata za spajanje.
[0077] Kao drugi primer, ako se (A)MVP primenjuje na trenutnom bloku, uređaj za kodiranje može da konfiguriše listu (A)MVP kandidata koja je opisana u nastavku, i koristi vektor pokreta izabranog kandidata prediktora vektora pokreta (mvp), među mvp kandidatima uključenim u listu (A)MVP kandidata, kao mvp trenutnog bloka. U ovom slučaju, na primer, vektor pokreta koji naznačava referentni blok izveden prethodno opisanom procenom pokreta može da se koristi kao vektor pokreta trenutnog bloka, i mvp kandidat čiji vektor pokreta koji se od vektor pokreta trenutnog bloka najmanje razlikuje među mvp kandidatima može biti izabrani mvp kandidat. Razlika vektora pokreta (MVD) čija je razlika dobijena oduzimanjem mvp od vektora pokreta trenutnog bloka može se izvesti. U ovom slučaju,
1
informacije o MVD mogu da se signaliziraju uređaju za dekodiranje. Pored toga, ako se primenjuje (A)MVP režim, vrednost indeksa referentne slike može da se konfiguriše kao informacije o indeksu referentne slike i odvojeno signalizira uređaju za dekodiranje.
[0078] Uređaj za kodiranje može da izvede rezidualne uzorke na osnovu uzoraka predikcije (S410). Uređaj za kodiranje može da izvede rezidualne uzorke poređenjem originalnih uzoraka trenutnog bloka sa uzorcima predikcije.
[0079] Uređaj za kodiranje kodira informacije o slici koje uključuju informacije o predikciji i rezidualne informacije (S420). Uređaj za kodiranje može da šalje kodirane informacije o slici u obliku toka bitova. Informacije o predikciji mogu da uključuju informacije o informacijama o režimu predikcije (na primer, zastavica o preskakanju, zastavica o spajanju, indeks režima, ili slično) i informacije o pokretu kao informacije koje se odnose na proceduru predikcije. Informacije o informacijama o pokretu mogu da uključuju informacije o izboru kandidata (na primer, indeks spajanja, mvp zastavica ili mvp indeks) koje su informacije za izvođenje vektora pokreta. Pored toga, informacije o informacijama o pokretu mogu da uključuju informacije o MVD i/ili informacije o indeksu referentne slike opisane gore. Pored toga, informacije o informacijama o pokretu mogu da uključuju informacije koje određuju da li se primenjuje L0 predikcija, L1 predikcija, ili bi predikcija. Rezidualne informacije su informacije o rezidualnim uzorcima. Rezidualne informacije mogu da uključuju informacije o kvantizovanim koeficijentima transformacije za rezidualne uzorke.
[0080] Izlazni tok bitova može da se čuva u (digitalnom) medijumu za skladištenje i isporuče uređaju za dekodiranje, ili mogu da se isporuče i uređaju za dekodiranje preko mreže.
[0081] U međuvremenu, kao što je prethodno opisano, uređaj za kodiranje može da generiše rekonstruisanu sliku (koja uključuje rekonstruisane uzorke i rekonstruisani blok) na osnovu referentnih uzoraka i rezidualnih uzoraka. Ovo je za izvođenje, uređajem za kodiranje, istog rezultata predikcije kao onog izvedenog pomoću uređaja za dekodiranje, i prema tome moguće je da se poveća efikasnost kodiranja. Stoga, uređaj za kodiranje može da čuva rekonstruisanu sliku (ili rekonstruisane uzorke, rekonstruisani blok) u memoriji, i da je koristi kao referentnu sliku za inter predikcija. Kao što je prethodno opisano, procedura filtriranja u petlji ili slično može dalje da se primeni na rekonstruisanu sliku.
[0082] Procedura dekodiranja videozapisa/slike na osnovu inter predikcije može šematski da uključuje, na primer, sledeće.
[0083] FIG.5 prikazuje primer postupka dekodiranja videozapisa/slike na osnovu inter predikcije.
[0084] Upućivanjem na FIG.5, uređaj za dekodiranje može da izvede operaciju koja odgovara operaciji koju izvodi uređaj za kodiranje. Uređaj za dekodiranje može da izvede predikciju za trenutni blok na osnovu primljenih informacija o predikciji i izvede uzorke predikcije.
2
[0085] Određenije, uređaj za dekodiranje može da odredi režim predikcije za trenutni blok na osnovu primljenih informacija o predikciji (S500). Uređaj za dekodiranje može da odredi režim inter predikcije primenjen na trenutnom bloku na osnovu informacija o režimu predikcije u informacijama o predikciji.
[0086] Na primer, uređaj za dekodiranje može da odredi da li je režim spajanja primenjen na trenutnom bloku ili je određen (A)MVP režim, na osnovu zastavice o spajanju. Alternativno, uređaj za dekodiranje može da odabere jedan od različitih kandidata režima inter predikcije na osnovu indeksa režima.
Kandidati režima inter predikcije mogu da uključuju režim preskakanja, režim spajanja i/ili (A)MVP režim, ili mogu da uključuju razne režime inter predikcije koji su opisani u nastavku.
[0087] Uređaj za dekodiranje izvodi informacije o pokretu trenutnog bloka na osnovu određenog režima inter predikcije (S510). Na primer, ako se režim preskakanja ili režim spajanja primenjuje na trenutnom bloku, uređaj za dekodiranje može da konfiguriše listu kandidata za spajanje koji su opisani u nastavku, i odabere jednog kandidata za spajanje među kandidatima za spajanje uključenim u listu kandidata za spajanje. Odabir se može izvesti na osnovu prethodno opisanih informacija o izboru (indeks spajanja). Informacije o pokretu trenutnog bloka mogu se izvesti korišćenjem informacija o pokretu izabranog kandidata za spajanje. Informacije o pokretu izabranog kandidata za spajanje mogu da se koriste kao informacije o pokretu trenutnog bloka.
[0088] Kao drugi primer, ako se (A)MVP režim primenjuje na trenutnom bloku, uređaj za dekodiranje može da konfiguriše listu (A)MVP kandidata koji su opisani u nastavku, i koristi vektor pokreta izabranog kandidata prediktora vektora pokreta (mvp), među mvp kandidatima uključenim u listu (A)MVP kandidata, kao mvp trenutnog bloka. Izbor se može izvesti na osnovu prethodno opisanih informacija o izboru (mvp zastavica ili mvp indeks). U ovom slučaju, MVD trenutnog bloka može se izvesti na osnovu informacija o MVD, a vektor pokreta trenutnog bloka može se izvesti na osnovu mvp i MVD trenutnog bloka. Pored toga, indeks referentne slike trenutnog bloka može se izvesti na osnovu informacija o indeksu referentne slike. Slika naznačena indeksom referentne slike u listi referentne slike na trenutnom bloku može se izvesti kao referentna slika na koju se poziva za inter predikciju trenutnog bloka.
[0089] U međuvremenu, kao što je opisano u nastavku, informacije o pokretu trenutnog bloka mogu se izvesti bez konfigurisanja liste kandidata, i u ovom slučaju, informacije o pokretu trenutnog bloka mogu se izvesti prema proceduri opisanoj u režimu predikcije koji je opisan u nastavku. U ovom slučaju može se izostaviti prethodno opisana konfiguracija liste kandidata.
[0090] Uređaj za dekodiranje može da generiše uzorke predikcije za trenutni blok na osnovu informacija o pokretu trenutnog bloka (S520). U ovom slučaju, uređaj za dekodiranje može da izvede referentnu sliku na osnovu indeksa referentne slike trenutnog bloka, i izvede uzorke predikcije trenutnog bloka korišćenjem uzoraka referentnog bloka naznačenog vektorom pokreta trenutnog bloka na referentnoj slici. U ovom slučaju, kao što je opisano u nastavku, procedura filtriranja uzoraka predikcije za sve ili neke od uzoraka predikcije trenutnog bloka može se dalje izvesti u nekim slučajevima.
[0091] Na primer, inter prediktor uređaja za dekodiranje može da uključuje determinator režima predikcije, derivator informacija o pokretu i derivator uzoraka predikcije, a determinator režima predikcije može da odredi režim predikcije za trenutni blok na osnovu primljenih informacija o režimu predikcije, derivator informacija o pokretu može da izvede informacije o pokretu (kao što su vektor pokreta i/ili indeks referentne slike) trenutnog bloka na osnovu informacija o primljenim informacijama o pokretu, i derivator uzoraka predikcije može da izvede uzorke predikcije trenutnog bloka.
[0092] Uređaj za dekodiranje generiše rezidualne uzorke za trenutni blok na osnovu primljenih rezidualnih informacija (S530). Uređaj za dekodiranje može da generiše rekonstruisane uzorke za trenutni blok na osnovu uzoraka predikcije i rezidualnih uzoraka, i generiše rekonstruisanu sliku na osnovu toga (S540). Prema tome, procedura filtriranja u petlji ili slično može dalje da se primeni na rekonstruisanu sliku kao što je prethodno opisano.
[0093] FIG.6 prikazuje, kao primer, proceduru inter predikcije.
[0094] Upućivanjem na FIG.6, kao što je prethodno opisano, procedura inter predikcije može da uključuje određivanje režima inter predikcije, izvođenje informacija o pokretu prema određenom režimu predikcije, i izvođenje predikcije (generisanje uzorka predikcije) na osnovu izvedenih informacija o pokretu. Procedura inter predikcije može se izvesti pomoću uređaja za kodiranje i uređaja za dekodiranje kao što je prethodno opisano. Uređaj za kodiranje u ovom dokumentu može da uključuje uređaj za kodiranje i/ili uređaj za dekodiranje.
[0095] Upućivanjem na FIG.6, uređaj za kodiranje određuje režim inter predikcije za trenutni blok (S600). Različiti režimi inter predikcije mogu da se koriste za predikciju trenutnog bloka u slici. Na primer, mogu da se koriste različiti režimi, kao što je režim spajanja, režim preskakanja, režim predikcije vektora pokreta (MVP), afini režim, režim spajanja podblokova i režim spajanja sa MVD (MMVD). Režim rafiniranja vektora pokreta na strani dekodera (DMVR), režim adaptivne rezolucije vektora pokreta (AMVR), Bi-predikcija sa ponderisanjem na CU-nivou (BCW), dvosmerni optički tok (BDOF), i slični, mogu da se koriste dodatno ili umesto režima kao pomoćni režimi. Afini režim može se nazvati afini režim predikcije pokreta. MVP režim može se nazvati napredni režim predikcije vektora pokreta (AMVP). U ovom dokumentu, neki režim i/ili kandidat za informacije o pokretu izveden pomoću nekih režima može takođe da bude uključen kao jedan od kandidata u vezi informacija o pokretu u drugom režimu. Na primer, HMVP kandidat može se dodati kao kandidat za spajanje u režimima spajanja/preskakanja, ili može se dodati kao mvp kandidat u MVP režimu. Ako se HMVP kandidat koristi kao kandidat za informacije o pokretu u režimu spajanja ili režimu preskakanja, HMVP kandidat može se nazvati HMVP kandidat za spajanje.
[0096] Informacije o režimu predikcije koje naznačavaju režim inter predikcije trenutnog bloka mogu da se signaliziraju iz uređaja za kodiranje uređaju za dekodiranje. Informacije o režimu predikcije mogu biti uključene u tok bitova i može ih primiti uređaj za dekodiranje. Informacije o režimu predikcije mogu da uključuju informacije o indeksu koje naznačavaju jedan od više kandidatnih režima. Alternativno, informacije o režimu predikcije mogu takođe da određuju režim inter predikcije putem hijerarhijske signalizacije informacija o zastavici. U ovom slučaju, informacije o režimu predikcije mogu da uključuju jednu ili više zastavica. Na primer, informacije o režimu predikcije mogu da određuju da određuju da li se primenjuje režim preskakanja, signalizacijom zastavice o preskakanju, određuju da li se primenjuje režim spajanja, signalizacijom zastavice o spajanju ako se ne primenjuje režim preskakanja, i određuju da se primenjuje MVP režim ili dalje signaliziraju zastavicu za dodatnu klasifikaciju ako se ne primenjuje režim spajanja. Afini režim može da se signalizira kao nezavisan režim, ili može da se signalizira kao režim koji zavisi od režima spajanja, MVP režima, ili sličnih. Na primer, afini režim može da uključuje afini režim spajanja i afini MVP režim.
[0097] Uređaj za kodiranje izvodi informacije o pokretu za trenutni blok (S610). Informacije o pokretu mogu se izvesti na osnovu režima inter predikcije.
[0098] Uređaj za kodiranje može da izvede inter predikciju korišćenjem informacija o pokretu trenutnog bloka. Uređaj za kodiranje može da izvede optimalne informacije o pokretu za trenutni blok pomoću procedure procene pokreta. Na primer, uređaj za kodiranje može da traži slični referentni blok koji ima visoku korelaciju u jedinicama delimičnih piksela unutar unapred definisanog opsega pretrage u referentnoj slici, koristeći originalni blok u originalnoj slici za trenutni blok, čime se izvode informacije o pokretu. Sličnost bloka može se izvesti na osnovu razlike između fazno zasnovanih vrednosti uzoraka. Na primer, sličnost bloka može se izračunati na osnovu SAD između trenutnog bloka (ili šablona trenutnog bloka) i referentnog bloka (ili šablona referentnog bloka). U ovom slučaju, informacije o pokretu mogu se izvesti na osnovu referentnog bloka koji ima najmanju SAD u oblasti pretrage. Izvedene informacije o pokretu mogu da se signaliziraju uređaju za dekodiranje u skladu sa različitim postupcima na osnovu režima inter predikcije.
[0099] Uređaj za kodiranje izvodi inter predikciju na osnovu informacija o pokretu za trenutni blok (S620). Uređaj za kodiranje može da izvede uzorak(uzorke) predikcije za trenutni blok na osnovu informacija o pokretu. Trenutni blok koji uključuje uzorke predikcije može se nazvati prediktovani blok.
[0100] U međuvremenu, prema konvencionalnom režimu spajanja ili AMVP režimu u inter predikciji, korišćen je postupak smanjenja količine informacija o pokretu upotrebom vektora pokreta prostorno/vremenski susednog bloka trenutnog bloka kao kandidata za informacije o pokretu. Na primer, susedni blokovi korišćeni za izvođenje kandidata za informacije o pokretu trenutnog bloka mogu da uključuju susedni blok u levom donjem uglu, levi susedni blok, susedni blok u desnom gornjem uglu, gornji susedni blok i susedni blok u levom gornjem uglu trenutnog bloka.
[0101] FIG.7 prikazuje, kao primer, prostorni susedni blokovi korišćen za izvođenje kandidata za informacije o pokretu u konvencionalnom režimu spajanja ili AMVP režimu.
2
[0102] U osnovi, prostorni susedni blok bio je ograničen na blok koji direktno dodiruje trenutni blok. Ovo je rađeno radi lakše implementacije u hardveru, jer bi uvođenje informacija iz bloka koji je udaljen od trenutnog bloka izazvalo probleme, poput potrebe za povećanjem linijskog bafera. Međutim, upotreba informacija o pokretu nesusednog bloka kako bi se izveo kandidat za informacije o pokretu trenutnog bloka može da čini različite kandidate, čime se poboljšavaju performanse. Postupak predikcije vektora pokreta zasnovanog na istoriji (HMVP) može da se koristi za korišćenje informacija o pokretu nesusednog bloka bez povećanja linijskog bafera. U ovom dokumentu, HMVP može da označava predikciju vektora pokreta zasnovanog na istoriji ili prediktor vektora pokreta zasnovanog na istoriji. Prema ovom dokumentu, moguće je efikasno izvesti inter predikciju i omogućiti paralelnu obradu korišćenjem HMVP. Na primer, načini ostvarivanja ovog dokumenta predlažu različite postupke upravljanja istorijskim baferom radi omogućavanja paralelne obrade, i paralelna obrada može biti omogućena na osnovu tih postupaka. Međutim, podrška za paralelnu obradu ne znači da se paralelna obrada nužno izvodi, i uređaj za kodiranje može, ali i ne mora, da izvede paralelnu obradu u zavisnosti od performansi hardvera ili tipa usluge. Na primer, ako uređaj za kodiranje ima višejezgrani procesor, uređaj za kodiranje može obrađivati neke od odsečaka, brikova i/ili pločica paralelno. U međuvremenu, čak i kada uređaj za kodiranje ima jednojezgarni procesor ili ima višejezgrani procesor, uređaj za kodiranje može da izvodi sekvencijalnu obradu uz smanjenje opterećenja u pogledu računanja i memorije.
[0103] HMVP kandidat prema prethodno opisanom HMVP postupku može da uključuje informacije o pokretu prethodno kodiranog bloka. Na primer, informacije o pokretu prethodno kodiranog bloka prema redosledu kodiranja blokova u trenutnoj slici ne smatraju se informacijama o pokretu trenutnog bloka ako prethodno kodirani blok nije susedan trenutnom bloku. Međutim, HMVP kandidat se može smatrati kandidatom za informacije o pokretu (na primer, kandidat za spajanje ili MVP kandidat) trenutnog bloka bez obzira na to da li je prethodno kodirani blok susedan trenutnom bloku. U ovom slučaju, više HMVP kandidata može da se čuva u baferu. Na primer, ako se primenjuje režim spajanja na trenutnom bloku, HMVP kandidat (HMVP kandidat za spajanje) može se dodati u listu kandidata za spajanje. U ovom slučaju, HMVP kandidat može se dodati nakon što se prostorni kandidati za spajanje i vremenski kandidat za spajanje uključe u listu kandidata za spajanje.
[0104] Prema HMVP postupku, informacije o pokretu prethodno kodiranog bloka mogu da se čuvaju u obliku tabele, i koriste kao kandidat za informacije o pokretu (na primer, kandidat za spajanje) trenutnog bloka. Tabela (ili bafer ili lista) koja uključuje više HMVP kandidata može da se održava tokom procedura kodiranja/dekodiranja. Tabela (ili bafer ili lista) može se nazvati HMVP tabela (ili bafer ili lista). Prema nekom načinu ostvarivanja ovog dokumenta, tabela (ili bafer ili lista) može da se inicijalizuje prilikom nailaženja na novi odsečak. Alternativno, prema nekom načinu ostvarivanja ovog dokumenta, tabela (ili bafer ili lista) može da se inicijalizuje prilikom nailaženja na novi CTU red. Ako se tabela inicijalizuje, broj HMVP kandidata uključenih u tabelu može se postaviti na nula. Veličina tabele (ili bafer ili lista) može da se fiksira za određenu vrednost (na primer, 5 ili slično). Na primer, ako postoji inter kodirani blok, povezane informacije o pokretu mogu se dodati poslednjem unosu u tabeli kao novi HMVP kandidat. (HMVP) tabela može se nazvati (HMVP) bafer ili (HMVP) lista.
[0105] FIG.8 šematski prikazuje primer procedure dekodiranja na osnovu HMVP kandidata. Ovde, procedura dekodiranja na osnovu HMVP kandidata može da uključuje proceduru inter predikcije na osnovu HMVP kandidata.
[0106] Upućivanjem na FIG.8, uređaj za dekodiranje popunjava HMVP tabelu koja uključuje HMVP kandidata(e), i dekodira blok na osnovu najmanje jednog od HMVP kandidata. Određenije, na primer, uređaj za dekodiranje može da izvede informacije o pokretu trenutnog bloka na osnovu najmanje jednog od HMVP kandidata, i izvede prediktovani blok (koji uključuje uzorak predikcije) izvođenjem inter predikcije za trenutni blok na osnovu informacija o pokretu. Kao što je prethodno opisano, rekonstruisani blok može da se generiše na osnovu prediktovanog bloka. Izvedene informacije o pokretu trenutnog bloka mogu da se ažuriraju u tabeli. U ovom slučaju, informacije o pokretu mogu da se dodaju poslednjem unosu u tabeli kao novi HMVP kandidat. Ako je broj HMVP kandidata prethodno uključenih u tabeli jednak veličini tabele, kandidat koji se prvi unosi u tabelu može da se obriše, i izvedene informacije o pokretu mogu se dodati poslednjem unosu u tabeli kao novi HMVP kandidat.
[0107] FIG.9 prikazuje, kao primer, ažuriranje HMVP tabele prema pravilu prvo ušlo, prvo izašlo (FIFO), a FIG.10 prikazuje, kao primer, ažuriranje HMVP tabele prema pravilu ograničenog FIFO.
[0108] FIFO pravilo može da se primeni na tabelu. Na primer, ako je veličina tabele (S) jednaka 16, ovo označava da se 16 HMVP kandidata može uključiti u tabelu. Ako se više od 16 HMVP kandidata generiše iz prethodno kodiranih blokova, FIFO pravilo se može primeniti, i stoga tabela može da uključuje do 16 kandidata za informacije o pokretu koji su najnovije kodirani. U ovom slučaju, kao što je prikazano na FIG.9, FIFO pravilo može da se primeni tako da najstariji HMVP kandidat može da se eliminiše, a novi HMVP kandidat može da se doda.
[0109] U međuvremenu, kako bi se dalje poboljšala efikasnost kodiranja, ograničeno FIFO pravilo može takođe da se primeni kao što je prikazano na FIG.10. Upućivanjem na FIG.10, kada se HMVP kandidat unese u tabelu, onda se najpre može primeniti provera redundantnosti. Stoga, može se odrediti da li HMVP kandidat koji ima iste informacije o pokretu već postoji u tabeli. Ako HMVP kandidat sa istim informacijama o pokretu postoji u tabeli, HMVP kandidat koji ima iste informacije o pokretu može da se ukloni iz tabele, HMVP kandidati nakon uklanjanja HMVP kandidata mogu se pomeriti za jedno mesto (to jest, odgovarajući indeksi-1), i potom se novi HMVP kandidat može uneti.
[0110] Kao što je prethodno opisano, HMVP kandidati mogu da se koriste u proceduri za konfiguraciju liste kandidata za spajanje. U ovom slučaju, na primer, svi unosivi HMVP kandidati od poslednjeg unosa do prvog unosa u tabelu mogu se uneti nakon prostornih kandidata za spajanje i vremenskog kandidata
2
za spajanje. U ovom slučaju, provera čišćenja može se primeniti na HMVP kandidate. Maksimalni broj dozvoljenih kandidata za spajanje može da se signalizira, i ako ukupan broj dostupnih kandidata za spajanje dostigne maksimalni broj kandidata za spajanje, može se završiti procedura konfiguracije liste kandidata za spajanje.
[0111] Slično tome, HMVP kandidati mogu takođe da se koriste u proceduri konfiguracije liste (A)MVP kandidata. U ovom slučaju, vektori pokreta poslednjih k HMVP kandidata u HMVP tabeli može se dodati nakon TMVP kandidata koji čine listu MVP kandidata. U ovom slučaju, na primer, HMVP kandidat koji ima istu referentnu sliku kao MVP ciljna referentna slika može da se koristi za konfigurisanje liste MVP kandidata. Ovde, MVP ciljna referentna slika može da predstavlja referentnu sliku za inter predikciju trenutnog bloka na kojem se primenjuje MVP režim. U ovom slučaju, provera čišćenja može da se primeni na HMVP kandidatima. k može biti, na primer, 4. Međutim, ovo je samo primer, a k može da ima različite vrednosti kao što su 1, 2, 3 i 4.
[0112] U međuvremenu, ako je ukupan broj kandidata za spajanje jednak ili veći od 15, za kodiranje indeksa spajanja može da se primeni postupak binarizacije skraćene unarne plus fiksne dužine (sa 3 bita) kao u Tabeli 1 dole.
Tabela 1
Binarni indeks 0 1 2 3 4 5 6 7 8 9
[0113] Tabela pretpostavlja da je Nmrg = 15, gde se Nmrg odnosi na ukupan broj kandidata za spajanje.
2
[0114] U međuvremenu, paralelna obrada može biti omogućena u kodiranju slike/videozapisa za optimizaciju implementacije prilikom razvoja rešenja koje primenjuje video kodek.
[0115] FIG.11 prikazuje, kao primer, paralelnu obradu talasnog fronta (WPP), što je jedna od tehnika za paralelnu obradu.
[0116] Upućivanjem na FIG.11, ako se primeni WPP, može se izvesti paralelna obrada u jedinicama CTU redova. U ovom slučaju, kada se kodiraju (kodiraju/dekodiraju) blokovi označeni sa X, postoji položaj i zavisnost označeni strelicama. Stoga, potrebno je sačekati da desni gornji CTU bloka koji se trenutno kodira bude u potpunosti kodiran. Pored toga, ako se primenjuje WPP, inicijalizacija CABAC tabele verovatnoće (ili informacija o kontekstu) može se izvesti u jedinicama odsečaka, i kako bi se izvela paralelna obrada koja uključuje entropijsko kodiranje/dekodiranje, CABAC tabela verovatnoće (ili informacija o kontekstu) treba da se inicijalizuje u jedinicama CTU redova. WPP se može smatrati predloženom tehnologijom za određivanje efikasnog položaja za inicijalizaciju. Ako se primenjuje WPP, odgovarajući LCT redovi mogu se nazvati podtok, i paralelna obrada može biti omogućena ako uređaj za kodiranje ima više jezgara za obradu. Na primer, u slučaju gde se primenjuje WPP, ako tri jezgra za obradu paralelno obrađuju dekodiranje, prvo jezgro za obradu može da dekodra podtok 0, drugo jezgro za obradu može da dekodira podtok 1, a treće jezgro za obradu može da dekodira podtok 2. Ako se primenjuje WPP, kodiranje se može izvesti za podtok n-tog reda (n je ceo broj), kodiranje može da se završi za CTU drugog reda ili LCU podtoka n-tog reda, a potom se kodiranje može izvesti za podtok n+1-tog reda. Na primer, u slučaju entropijskog kodiranja, ako je završeno entropijsko kodiranje za drugu LCU podtoka n-tog reda, prva LCU podtoka n+1-tog reda se entropijski kodira na osnovu informacija o kontekstu za drugu LCU podtoka n-tog reda. Istovremeno, broj podtokova u odsečku može biti jednak broju LCU redova. Pored toga, broj podtokova u odsečku može biti jednak broju ulaznih tačaka.
Istovremeno, broj ulaznih tačaka može biti naznačen brojem pomeranja ulaznih tačaka. Na primer, broj ulaznih tačaka može imati vrednost veću za 1 u odnosu na broj pomeranja ulaznih tačaka. Informacije o broju pomeranja ulaznih tačaka i/ili informacije o vrednostima pomeranja mogu se uključiti u gorepomenute informacije o videozapisu/slici i da se kodiraju, i mogu da se signaliziraju uređaju za dekodiranje preko toka bitova. U međuvremenu, ako uređaj za kodiranje uključuje jedno jezgro za obradu, postupak kodiranja može se izvesti u jednoj jedinici podtoka, čime se smanjuje opterećenje memorije i zavisnost kodiranja.
[0117] Prethodno opisani HMVP postupak čuva, kao kandidata, informacije o pokretu izveden iz procedure kodiranja svakog bloka veličinom prethodno određenog bafera (HMVP tabela). U ovom slučaju, kao što je otkriveno na FIG.9 bez bilo kojeg dodatnog uslova, baferi se mogu popuniti kandidatima onoliko koliki je broj bafera, ili se mogu popuniti i sa kandidatima koji nisu suvišni proverom redundantnosti između novo dodatog kandidata i kandidata koji postoji u baferu (HMVP tabela). Stoga, mogu biti konfigurisani različiti kandidati. Međutim, prilikom razvoja rešenja na koje se primenjuje video
2
kodek, uopšteno je moguće znati kada je bafer popunjen HMVP kandidatima, tako da je moguća paralelna obrada čak i kada se primenjuje WPP ili se ne primenjuje WPP.
[0118] FIG.12 prikazuje, kao primer, problem kada se primenjuje opšti HMVP postupak u pogledu paralelne obrade.
[0119] Upućivanjem na FIG.12, pri izvođenju paralelizacije u jedinicama svakog CTU reda kao u WPP, može se javiti problem zavisnosti HMVP bafera. Na primer, do ovoga dolazi jer se HMVP bafer za CTU prvu po redosledu u CTU redu N(N>=1)-tog reda može popunjavati samo kada se završi kodiranje (kodiranje/dekodiranje) bloka koji postoji u CTU redu (N-1)-tog reda, na primer, gotov je blok u poslednjoj CTU u CTU redu (N-1)-tog reda. To jest, ako se primeni paralelna obrada pod trenutnom strukturom, uređaj za dekodiranje možda neće znati da li se trenutni HMVP kandidati sačuvani u HMVP baferu poklapaju sa HMVP baferom korišćenim za dekodiranje trenutnog (ciljnog) bloka. Ovo je jer se razlika može javiti između HMVP bafera izvedenog iz vremenske tačke kodiranja trenutnog bloka prilikom primene uzastopne obrade i HMVP bafera izvedenog iz vremenske tačke kodiranja trenutnog bloka prilikom primene paralelne obrade.
[0120] U nekom načinu ostvarivanja ovog dokumenta, radi rešavanja gorepomenutog problema, prilikom primene HMVP, bafer za upravljanje istorijom (HMVP bafer) se inicijalizuje tako da se može omogućiti paralelna obrada.
[0121] FIG.13 prikazuje, kao primer, postupak inicijalizacije bafera za upravljanje istorijom (HMVP bafer) prema nekom načinu ostvarivanja ovog dokumenta.
[0122] Upućivanjem na FIG.13, HMVP bafer može da se inicijalizuje za svaku CTU prvu po redosledu CTU reda. To jest, prilikom kodiranja CTU prve po redosledu CTU reda, HMVP bafer može da se inicijalizuje tako da je broj HMVP kandidata uključenih u HMVP baferu jednak nula. Inicijalizacijom HMVP bafera za svaki CTU red kao što je prethodno opisano, čak i kada je omogućena paralelna obrada, HMVP kandidati izvedeni iz postupka kodiranja CTU smeštenih u levo od trenutnog bloka mogu da se koriste bez ograničenja. U ovom slučaju, na primer, ako je trenutna CU koja je trenutni blok smeštena u CTU prvoj po redosledu CTU reda, i trenutna CU odgovara CU prvog reda u CTU prvoj po redosledu, broj HMVP kandidata uključenih u HMVP baferu jednak je nula. Pored toga, na primer, ako se CU kodirana pre trenutne CU u CTU redu kodira u inter režimu, HMVP kandidat može se izvesti na osnovu informacija o pokretu ranije kodirane CU i uključiti u HMVP baferu.
[0123] FIG.14 prikazuje, kao primer, postupak upravljanja HMVP bafera prema nekom načinu ostvarivanja.
[0124] Upućivanjem na FIG.14, HMVP bafer može da se inicijalizuje u jedinicama odsečaka, i može da se odredi da li ciljna CTU za kodiranje (trenutna CTU) predstavlja CTU prvu po redosledu u svakom CTU redu čak i u odnosu na CTU-e u odsečku. Na FIG.14, na primer, ako je (ctu_idx % Num) jednako nula, smatra se da je određeno kao CTU prva po redosledu. Istovremeno, Num predstavlja broj CTU u svakom
2
CTU redu. Kao neki drugi primer, u slučaju korišćenja gorepomenutog koncepta brikova, ako je (ctu_idx_in_brick % BrickWidth) jednako nula, može da se odredi da predstavlja CTU prvu po redosledu CTU reda (u odgovarajućem briku). Ovde se ctu_idx_in_brick odnosi na indeks odgovarajuće CTU brika, a BrickWidth se odnosi na širinu brika u jedinicama u CTU-ova. To jest, BrickWidth može da se odnosi na broj CTU kolona u odgovarajućem briku. Ako trenutna CTU predstavlja CTU prvu po redosledu CTU reda, HMVP bafer se inicijalizuje (to jest, broj kandidata u HMVP baferu je postavljen na nula), a u suprotnom, HMVP bafer se održava. Stoga, izvodi se postupak predikcije (na primer, na osnovu režima spajanja ili MVP režima) za svaku CU u odgovarajućoj CTU, i istovremeno, kandidat sačuvan u HMVP baferu može se uključiti kao kandidat za informacije o pokretu (na primer, kandidat za spajanje ili MVP kandidat) u režimu spajanja ili MVP režimu. Informacije o pokretu ciljnog bloka (trenutni blok) izvedenog u postupku inter predikcije na osnovu režima spajanja ili MVP režima se čuvaju (ažuriraju) u HMVP baferu kao novi HMVP kandidat. U ovom slučaju, gorepomenuti postupak provere redundantnosti može dalje da se izvede. Prethodno opisana procedura može da se ponovi i za CU i CTU.
[0125] Kao neki drugi primer, kada se primenjuje HMVP, zavisnost CTU jedinice može da se ukloni inicijalizacijom HMVP bafera za svaku CTU.
[0126] FIG.15 prikazuje, kao primer, postupak upravljanja HMVP bafera prema nekom drugom načinu ostvarivanja.
[0127] Upućivanjem na FIG.15, inicijalizacija HMVP bafera može se izvesti za svaku CTU bez određivanja da li trenutna CTU predstavlja CTU prvu po redosledu u svakom CTU redu. U ovom slučaju, budući da se HMVP bafer inicijalizuje u jedinicama CTU, informacije o pokretu blokova koji postoje u CTU čuva se u HMVP tabeli. U ovom slučaju, HMVP kandidat se može izvesti na osnovu informacija o pokretu blokova (na primer, CU) u istoj CTU, i inicijalizacija HMVP bafera može se izvesti kao što sledi bez određivanja da li trenutna CTU predstavlja CTU prvu po redosledu u svakom CTU redu.
[0128] Kao što je prethodno opisano, HMVP bafer može da se inicijalizuje u jedinicama odsečaka, i stoga, moguće je da se koristi vektor pokreta bloka prostorno odvojen od trenutnog bloka. Međutim, u ovom slučaju, budući da paralelna obrada može da ne bude omogućena u odsečku, prethodno opisani načini ostvarivanja predlažu postupak inicijalizacije bafera u jedinicama CTU redova ili CTU-ovima. To jest, prema načinima ostvarivanja ovog dokumenta, HMVP bafer može da se inicijalizuje u jedinicama odsečaka, i može da se inicijalizuje u jedinicama CTU redova u odsečku.
[0129] U međuvremenu, prilikom kodiranja (kodiranje/dekodiranje) jedne slike, odgovarajuća slika može se takođe podeliti u jedinicama odsečaka, i/ili odgovarajuća slika može se takođe podeliti u jedinicama pločica. Na primer, odgovarajuća slika može se podeliti u jedinicama odsečaka uzimajući u obzir otpornost na greške, ili odgovarajuća slika može se podeliti i u jedinicama pločica da bi se kodirale/dekodirale neke oblasti u odgovarajućoj slici. Kada se jedna slika podeli na više pločica, u slučaju primene HMVP upravljačkog bafera, inicijalizacija u jedinicama CTU redova u odgovarajućoj slici,
2
to jest, inicijalizacija HMVP bafera u CTU prvoj po redosledu u svakom CTU redu u slici nije pogodna za strukturu pločica za kodiranje/dekodiranje dela slike.
[0130] FIG.16 prikazuje, kao primer, postupak inicijalizacije HMVP bafera u strukturi pločica.
[0131] Kao na FIG.16, budući da se HMVP upravljački bafer ne inicijalizuje za svaku jedinicu pločice u slučaju pločice 1 i pločice 3, javlja se (HMVP) zavisnost na pločici 0 i pločici 2. Stoga, kada postoji pločica, moguće je da se inicijalizuje HMVP bafer sledećim postupkom.
[0132] Na primer, HMVP bafer može da se inicijalizuje u jedinicama CTU-ova. Prirodno je da ovaj postupak može da se primeni bez razlikovanje pločice, odsečka, i slično.
[0133] Kao neki drugi primer, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu svake pločice.
[0134] FIG.17 prikazuje primer postupka inicijalizacije HMVP bafera za CTU prvu po redosledu u pločici prema nekom drugom načinu ostvarivanja.
[0135] Upućivanjem na FIG.17, u kodiranju CTU prve po redosledu svake pločice, HMVP bafer se inicijalizuje. To jest, HMVP bafer 0 može da se inicijalizuje i koristi prilikom kodiranja pločice 0, a HMVP bafer 1 može da se inicijalizuje i koristi prilikom kodiranja pločice 1.
[0136] HMVP bafer se inicijalizuje za CTU prvu po redosledu CTU reda u svakoj pločici.
[0137] FIG.18 prikazuje primer postupka inicijalizacije HMVP upravljačkog bafera za CTU prvu po redosledu u CTU redu u svakoj pločici prema ovom pronalasku.
[0138] Upućivanjem na FIG.18, HMVP bafer se inicijalizuje za svaki CTU red svake pločice. HMVP bafer se inicijalizuje za CTU prvu po redosledu CTU reda prvog po redosledu pločice n, HMVP bafer se inicijalizuje za CTU prvu po redosledu CTU reda drugog po redosledu pločice n, i HMVP bafer se inicijalizuje za CTU prvu po redosledu CTU reda trećeg po redosledu pločice n. Ako uređaj za kodiranje uključuje višejezgarni procesor, uređaj za kodiranje inicijalizuje i koristi HMVP bafer 0 za red CTU prvih po redosledu pločice n, inicijalizuje i koristi HMVP bafer 1 za red CTU drugih po redosledu pločice n, i inicijalizuje i koristi HMVP bafer 2 za red CTU trećih po redosledu pločice n, čime se omogućava paralelna obrada. U međuvremenu, ako uređaj za kodiranje uključuje jednojezgarni procesor, uređaj za kodiranje inicijalizuje i ponovo koristi HMVP bafer za CTU prvu po redosledu u svakom CTU redu u svakoj pločici prema redosledu kodiranja.
[0139] U međuvremenu, prema strukturi podele pločice i strukturi podele odsečka, pločica i odsečak mogu postojati istovremeno u jednoj slici.
[0140] FIG.19 prikazuje primer strukture u kojoj pločica i odsečak postoje istovremeno.
[0141] FIG.19 prikazuje, kao primer, slučaj gde se jedna slika deli na četiri pločice, i dva odsečka postoje u svakoj pločici. Kao na FIG.19, moguć je slučaj gde i odsečak i pločica postoje u jednoj slici, i moguće je da se inicijalizuje HMVP bafer kao što sledi.
[0142] Na primer, HMVP bafer može da se inicijalizuje u jedinicama CTU-ova. Takav postupak može se primeniti bez razlike da li je CTU smeštena u pločici ili odsečku.
[0143] Kao neki drugi primer, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu u svakoj pločici.
[0144] FIG.20 prikazuje primer postupka inicijalizacije HMVP bafera za CTU prvu po redosledu u svakoj pločici.
[0145] Upućivanjem na FIG.20, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu svake pločice. Čak i ako postoji više odsečaka u jednoj pločici, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu u pločici.
[0146] Kao još jedan primer, HMVP bafer može da se inicijalizuje i za svaki odsečak koji postoji u pločici.
[0147] FIG.21 prikazuje primer postupka inicijalizacije HMVP bafera za svaki odsečak u pločici.
[0148] Upućivanjem na FIG.21, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu svakog odsečka u pločici. Prema tome, ako postoji više odsečaka u jednoj pločici, HMVP bafer može da se inicijalizuje za svaki od više odsečaka. U ovom slučaju, HMVP bafer može da se inicijalizuje prilikom obrade CTU prve po redosledu svakog odsečka.
[0149] U međuvremenu, više pločica može da postoji u jednoj slici bez odsečka. Alternativno, više pločica može takođe da postoji u jednom odsečku. U takvom slučaju, HMVP bafer može da se inicijalizuje kao što sledi.
[0150] Na primer, HMVP bafer može da se inicijalizuje u jedinicama svake grupe pločica.
[0151] FIG.22 prikazuje primer inicijalizacije HMVP bafera za CTU prvu po redosledu pločice prve po redosledu u grupi pločica.
[0152] Upućivanjem na FIG.22, jedna slika može da se podeli u dve grupe pločica, i svaka grupa pločica (Grupa pločica 0 ili Grupa pločica 1) može se podeliti na više pločica. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu pločice prve po redosledu u jednoj grupi pločica.
[0153] Kao neki drugi primer, HMVP bafer može da se inicijalizuje u jedinicama pločica u grupi pločica.
[0154] FIG.23 prikazuje primer inicijalizacije HMVP bafera za CTU prvu po redosledu svake pločice u grupi pločica.
[0155] Upućivanjem na FIG.23, jedna slika može se podeliti u dve grupe pločica, i svaka grupa pločica (Grupa pločica 0 ili Grupa pločica 1) može se podeliti na više pločica. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu svake pločice u jednoj grupi pločica.
[0156] Kao još jedan primer, HMVP bafer može da se inicijalizuje za CTU red svake pločice u grupi pločica.
[0157] FIG.24 prikazuje primer inicijalizacije HMVP bafera za CTU red svake pločice u grupi pločica.
1
[0158] Upućivanjem na FIG.24, jedna slika može se podeliti na dve grupe pločica, i svaka grupa pločica (Grupa pločica 0 ili Grupa pločica 1) može se podeliti na više pločica. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda svake pločice u jednoj grupi pločica.
[0159] Alternativno, čak u ovom slučaju, HMVP upravljački bafer može takođe da se inicijalizuje u jedinicama CTU-ova. Prirodno je da se ovaj postupak može primeniti bez razlikovanja pločice, odsečka, grupe pločica, i slično.
[0160] FIG.25 i 26 šematski prikazuju primer postupka kodiranja videozapisa/slike i odnosnih komponenata uključujući postupak za inter predikciju prema nekom načinu(ima) ostvarivanja ovog dokumenta. Postupak otkriven na FIG.25 može se izvesti pomoću uređaja za kodiranje otkrivenog na FIG.2. Određenije, na primer, S2500, S2510, S2520 i S2530 sa FIG.25 mogu se izvesti pomoću prediktora 220 uređaja za kodiranje, S2540 sa FIG.25 može se izvesti pomoću rezidualnog procesora 230 uređaja za kodiranje, i S2550 sa FIG.25 može se izvesti pomoću entropijskog kodera 240 uređaja za kodiranje. Postupak otkriven na FIG.25 može da uključuje načine ostvarivanja prethodno opisane u ovom dokumentu.
[0161] Upućivanjem na FIG.25, uređaj za kodiranje izvodi HMVP bafer za trenutni blok (S2500). Uređaj za kodiranje može da izvede postupke upravljanja HMVP bafera kao što je prethodno opisano u načinima ostvarivanja ovog dokumenta. Na primer, HMVP bafer može da se inicijalizuje u jedinicama odsečaka, pločica, ili grupa pločica, i/ili HMVP bafer može da se inicijalizuje u jedinicama CTU redova. U ovom slučaju, HMVP bafer može da se inicijalizuje u jedinicama CTU redova u odsečku, pločici, ili grupi pločica. Ovde, pločica može da bude pravougaona površina u CTU u slici. Pločica se može označiti na osnovu određenog reda pločica i određene kolone pločica u slici. Na primer, može da postoji jedna ili više pločica u trenutnoj slici. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda koji uključuje trenutni blok u trenutnoj pločici. Alternativno, jedan ili više odsečaka može da postoji u trenutnoj slici. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda koji uključuje trenutni blok u trenutnom odsečku. Alternativno, jedna ili više grupa pločica može da postoji u trenutnoj slici. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda koji uključuje trenutni blok u trenutnoj grupi pločica.
[0162] Uređaj za kodiranje može da odredi da li trenutna CTU predstavlja CTU prvu po redosledu CTU reda. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda gde se nalazi trenutna CTU koja uključuje trenutni blok. To jest, HMVP bafer može da se inicijalizuje prilikom obrade CTU prve po redosledu CTU reda gde se nalazi trenutna CTU koja uključuje trenutni blok. Ako se odredi da trenutna CTU koja uključuje trenutni blok predstavlja CTU prvu po redosledu CTU reda u trenutnoj pločici, HMVP bafer može da uključuje HMVP kandidat izveden na osnovu informacija o pokretu bloka obrađenog pre trenutnog bloka u trenutnoj CTU, a ako se odredi da trenutna CTU nije CTU prva po redosledu CTU reda u trenutnoj pločici, HMVP bafer može da uključuje HMVP kandidat
2
izveden na osnovu informacija o pokretu bloka obrađenog pre trenutnog bloka u CTU redu u trenutnoj pločici. Pored toga, na primer, ako se trenutna CU koja je trenutni blok nalazi u CTU prvoj po redosledu CTU reda u trenutnoj pločici, i ako trenutna CU odgovara CU prvog reda u CTU prvoj po redosledu, broj HMVP kandidata uključenih u HMVP baferu jednak je nula. Pored toga, na primer, ako se CU kodirana pre trenutne CU u CTU redu u trenutnoj pločici (na primer, CU kodirana pre trenutne CU u trenutnoj CTU i/ili CU u CTU kodiranoj pre trenutne CTU trenutnog CTU reda) kodira u inter režimu, HMVP kandidat se može izvesti na osnovu informacija o pokretu ranije kodirane CU i uključiti u HMVP baferu.
[0163] Ako se trenutna slika podeli na više pločica, HMVP bafer može da se inicijalizuje u jedinicama CTU redova u svakoj pločici.
[0164] HMVP bafer može da se inicijalizuje u jedinicama CTU redova u pločici ili odsečku. Na primer, ako određena CTU u CTU redu nije CTU prva po redosledu u CTU redu u trenutnoj slici i ako određena CTU predstavlja CTU prvu po redosledu u CTU redu u trenutnoj pločici ili trenutnom odsečku, HMVP bafer može da se inicijalizuje za određenu CTU.
[0165] Ako se HMVP bafer inicijalizuje, broj HMVP kandidata uključen u HMVP baferu može se postaviti na nula.
[0166] Uređaj za kodiranje konfiguriše listu kandidata za informacije o pokretu na osnovu HMVP bafera (S2510). HMVP bafer može da uključuje HMVP kandidat, i može se konfigurisati lista kandidata za informacije o pokretu koja uključuje HMVP kandidat.
[0167] Na primer, ako se režim spajanja primenjuje na trenutnom bloku, lista kandidata za informacije o pokretu može biti lista kandidata za spajanje. Kao neki drugi primer, ako se (A) MVP režim primenjuje na trenutnom bloku, lista kandidata za informacije o pokretu može biti lista MVP kandidata. Ako se režim spajanja primenjuje na trenutnom bloku, HMVP kandidat može se dodati na listu kandidata za spajanje ako je broj dostupnih kandidata za spajanje (na primer, prostorni kandidati za spajanje i vremenski kandidati za spajanje) u listi kandidata za spajanje za trenutni blok manji od prethodno određenog najvećeg broja kandidata za spajanje. U ovom slučaju, HMVP kandidat može se uneti nakon prostornih kandidata i vremenskih kandidata u listi kandidata za spajanje. To jest, HMVP kandidat može se dodeliti sa vrednošću indeksa koja je veća od vrednosti indeksa dodeljene prostornim kandidatima i vremenskim kandidatima u listi kandidata za spajanje. Ako se (A)MVP režim primenjuje na trenutnom bloku, HMVP kandidat može se dodati na listu MVP kandidata ako je broj dostupnih MVP kandidata (izvedeni na osnovu prostornih susednih blokova i vremenskih susednih blokova) u listi MVP kandidata za trenutni blok manji od dva.
[0168] Uređaj za kodiranje može da izvede informacije o pokretu trenutnog bloka na osnovu liste kandidata za informacije o pokretu (S2520).
[0169] Uređaj za kodiranje može da izvede informacije o pokretu trenutnog bloka na osnovu liste kandidata za informacije o pokretu. Na primer, ako se režim spajanja ili MVP režim primenjuje na trenutnom bloku, HMVP kandidat uključen u HMVP baferu može da se koristi kao kandidat za spajanje ili MVP kandidat. Na primer, ako se režim spajanja primenjuje na trenutnom bloku, HMVP kandidat uključen u HMVP baferu može da se uključi kao kandidat liste kandidata za spajanje, i HMVP kandidat među kandidatima uključenim u listu kandidata za spajanje može da se odredi na osnovu indeksa spajanja. Indeks spajanja može biti uključen u informacije o slici/videozapisu koje su opisane u nastavku kao informacije u vezi predikcije. U ovom slučaju, HMVP kandidatu može se dodeliti neki indeks u listi kandidata za spajanje manjeg prioriteta u odnosu na prostorne kandidate za spajanje i vremenske kandidate za spajanje uključene u listi kandidata za spajanje. To jest, vrednost indeksa dodeljena HMVP kandidatu može se dodeliti sa većom vrednošću u odnosu na vrednosti indeksa prostornih kandidata za spajanje i vremenskog kandidata za spajanje. Kao neki drugi primer, ako se MVP režim primenjuje na trenutnom bloku, HMVP kandidat uključen u HMVP baferu može da se uključi kao kandidat liste kandidata za spajanje, i HMVP kandidat među kandidatima uključenim u listu MVP kandidata može da se odredi na osnovu MVP zastavice (ili MVP indeksa). MVP zastavica (ili MVP indeks) može biti uključena u informacije o slici/videozapisu koje su opisane u nastavku kao informacije u vezi predikcije.
[0170] Uređaj za kodiranje generiše uzorke predikcije za trenutni blok na osnovu izvedenih informacija o pokretu (S2530). Uređaj za kodiranje može da izvede uzorke predikcije korišćenjem referentnih uzoraka naznačenih informacijama o pokretu na referentnoj slici izvođenjem inter predikcije (kompenzacija pokreta) na osnovu informacija o pokretu.
[0171] Uređaj za kodiranje generiše rezidualne uzorke na osnovu uzoraka predikcije (S2540). Uređaj za kodiranje može da generiše rezidualne uzorke na osnovu originalnih uzoraka za trenutni blok i uzoraka predikcije za trenutni blok.
[0172] Uređaj za kodiranje izvodi informacije o rezidualnim uzorcima na osnovu rezidualnih uzoraka, i kodira informacije o slici/videozapisu koje uključuju informacije o rezidualnim uzorcima (S2550).
Informacije o rezidualnim uzorcima mogu se nazvati rezidualne informacije, i mogu da uključuju informacije o kvantizovanim koeficijentima transformacije. Uređaj za kodiranje može da izvede kvantizovane koeficijente transformacije izvođenjem procedura transformacije/kvantizacije za rezidualne uzorke.
[0173] Kodirane informacije o slici/videozapisu mogu da se pošalju u obliku toka bitova. Tok bitova može se preneti uređaju za dekodiranje preko mreže ili medijuma za skladištenje. Informacije o slici/videozapisu mogu dalje da uključuju informacije u vezi predikcije, a informacije u vezi predikcije mogu dalje da uključuju informacije o različitim režimima predikcije (na primer, režim spajanja, MVP režim, i slično), MVD informacije, i slično.
[0174] FIG.27 i 28 šematski prikazuju primer postupka za dekodiranje slike i odnosnih komponenata uključujući postupak za inter predikciju prema nekom načinu ostvarivanja ovog dokumenta. Postupak otkriven na FIG.27 može se izvesti pomoću uređaja za dekodiranje otkrivenog na FIG.3. Određenije, na
4
primer, S2700, S2710, S2720 i S2730 sa FIG.27 može se izvesti pomoću prediktora 330 uređaja za dekodiranje, i S2740 može se izvesti pomoću sabirača 340 uređaja za dekodiranje. Postupak otkriven na FIG.27 može da uključuje načine ostvarivanja prethodno opisane u ovom dokumentu.
[0175] Upućivanjem na FIG.27, uređaj za dekodiranje izvodi HMVP bafer za trenutni blok (S2700).
Uređaj za dekodiranje može izvesti postupke upravljanja HMVP bafera kao što je prethodno opisano u načinima ostvarivanja ovog dokumenta. Na primer, HMVP bafer može da se inicijalizuje u jedinicama odsečaka, pločica, ili grupa pločica i/ili HMVP bafer može da se inicijalizuje u jedinicama CTU redova. U ovom slučaju, HMVP bafer može da se inicijalizuje u jedinicama CTU redova u odsečku, pločici, ili grupi pločica. Ovde, pločica može da bude pravougaona površina u CTU u slici. Pločica može da se odredi na osnovu određenog reda pločica i određene kolone pločica u slici. Na primer, može da postoji jedna ili više pločica u trenutnoj slici. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda koji uključuje trenutni blok u trenutnoj pločici. Alternativno, jedan ili više odsečaka može da postoji u trenutnoj slici. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda koji uključuje trenutni blok u trenutnom odsečku. Alternativno, jedna ili više grupa pločica može da postoji u trenutnoj slici. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda koji uključuje trenutni blok u trenutnoj grupi pločica.
[0176] Uređaj za dekodiranje može da odredi da li trenutna CTU predstavlja CTU prvu po redosledu CTU reda. U ovom slučaju, HMVP bafer može da se inicijalizuje za CTU prvu po redosledu CTU reda gde se nalazi trenutna CTU koja uključuje trenutni blok. To jest, HMVP bafer može da se inicijalizuje prilikom obrade CTU prve po redosledu CTU reda gde se nalazi trenutna CTU koja uključuje trenutni blok. Ako se odredi da trenutna CTU koja uključuje trenutni blok predstavlja CTU prvu po redosledu CTU reda u trenutnoj pločici, HMVP bafer može da uključuje HMVP kandidat izveden na osnovu informacija o pokretu bloka obrađenog pre trenutnog bloka u trenutnoj CTU, a ako se odredi da trenutna CTU nije CTU prva po redosledu CTU reda u trenutnoj pločici, HMVP bafer može da uključuje HMVP kandidat izveden na osnovu informacija o pokretu bloka obrađenog pre trenutnog bloka u CTU redu u trenutnoj pločici. Pored toga, na primer, ako se trenutna CU koja je trenutni blok nalazi u CTU prvoj po redosledu CTU reda u trenutnoj pločici, i trenutna CU odgovara CU prvog reda u CTU prvoj po redosledu, broj HMVP kandidata uključenih u HMVP baferu jednak je nula. Pored toga, na primer, CU kodirana pre trenutne CU u CTU redu u trenutnoj pločici (na primer, CU kodirana pre trenutne CU u trenutnoj CTU i/ili CU u CTU kodiranoj pre trenutne CTU trenutnog CTU reda) kodira se u inter režimu, HMVP kandidat može se izvesti na osnovu informacija o pokretu ranije kodirane CU i uključiti u HMVP baferu.
[0177] Ako se trenutna slika podeli na više pločica, HMVP bafer može da se inicijalizuje u jedinicama CTU redova u svakoj pločici.
[0178] HMVP bafer može da se inicijalizuje u jedinicama CTU redova u pločici ili odsečku. Na primer, ako određena CTU u CTU redu nije CTU prva po redosledu u CTU redu u trenutnoj slici i ako određena CTU predstavlja CTU prvu po redosledu u CTU redu u trenutnoj pločici ili trenutnom odsečku, HMVP bafer može da se inicijalizuje za određenu CTU.
[0179] Ako se HMVP bafer inicijalizuje, broj HMVP kandidata uključenih u HMVP baferu može se postaviti na nula.
[0180] Uređaj za dekodiranje konfiguriše listu kandidata za informacije o pokretu na osnovu HMVP bafera (S2710). HMVP bafer može da uključuje HMVP kandidat, i može se konfigurisati lista kandidata za informacije o pokretu koja uključuje HMVP kandidat.
[0181] Na primer, ako se režim spajanja primenjuje na trenutnom bloku, lista kandidata za informacije o pokretu može biti lista kandidata za spajanje. Kao neki drugi primer, ako se (A)MVP režim primenjuje na trenutnom bloku, lista kandidata za informacije o pokretu može biti lista MVP kandidata. Ako se režim spajanja primenjuje na trenutnom bloku, HMVP kandidat može se dodati na listu kandidata za spajanje ako je broj dostupnih kandidata za spajanje (na primer, prostorni kandidati za spajanje i vremenski kandidati za spajanje) u listi kandidata za spajanje za trenutni blok manji od prethodno određenog najvećeg broja kandidata za spajanje. U ovom slučaju, HMVP kandidat može se uneti nakon prostornih kandidata i vremenskih kandidata u listu kandidata za spajanje. To jest, HMVP kandidatu može se dodeliti neka vrednost indeksa veća od vrednosti indeksa dodeljenih prostornim kandidatima i vremenskim kandidatima u listi kandidata za spajanje. Ako se (A)MVP režim primenjuje na trenutnom bloku, HMVP kandidat može se dodati na listu MVP kandidata ako je broj dostupnih MVP kandidata (izvedenih na osnovu prostornih susednih blokova i vremenskih susednih blokova) u listi MVP kandidata za trenutni blok manji od dva.
[0182] Uređaj za dekodiranje može da izvede informacije o pokretu trenutnog bloka na osnovu liste kandidata za informacije o pokretu (S2720).
[0183] Uređaj za dekodiranje može da izvede informacije o pokretu trenutnog bloka na osnovu liste kandidata za informacije o pokretu. Na primer, ako režim spajanja ili MVP režim primenjuje na trenutnom bloku, HMVP kandidat uključen u HMVP baferu može da se koristi kao kandidat za spajanje ili MVP kandidat. Na primer, ako se režim spajanja primenjuje na trenutnom bloku, HMVP kandidat uključen u HMVP baferu može da se uključi kao kandidat liste kandidata za spajanje, a HMVP kandidat među kandidatima uključenim u listu kandidata za spajanje može da se odredi na osnovu indeksa spajanja dobijenog iz toka bitova. U ovom slučaju, HMVP kandidatu može se dodeliti neki indeks u listi kandidata za spajanje manjeg prioriteta u odnosu na prostorne kandidate za spajanje i vremenske kandidate za spajanje uključene u listi kandidata za spajanje. To jest, vrednost indeksa dodeljena HMVP kandidatu može se dodeliti sa većom vrednošću u odnosu na vrednosti indeksa prostornih kandidata za spajanje i vremenskog kandidata za spajanje. Kao neki drugi primer, ako se MVP režim primenjuje na trenutnom bloku, HMVP kandidat uključen u HMVP baferu može da se uključi kao kandidat liste kandidata za spajanje, i HMVP kandidat među kandidatima uključenim u listu MVP kandidata može da se odredi na osnovu MVP zastavice (ili MVP indeksa) dobijene iz toka bitova.
[0184] Uređaj za dekodiranje generiše uzorke predikcije za trenutni blok na osnovu izvedenih informacija o pokretu (S2730). Uređaj za dekodiranje može da izvede uzorke predikcije korišćenjem referentnih uzoraka naznačenih informacijama o pokretu na referentnoj slici izvođenjem inter predikcije (kompenzacija pokreta) na osnovu informacija o pokretu. Trenutni blok koji uključuje uzorke predikcije može se nazvati prediktovani blok.
[0185] Uređaj za dekodiranje generiše rekonstruisane uzorke na osnovu uzoraka predikcije (S2740). Kao što je prethodno opisano, rekonstruisani blok/slika može da se generiše na osnovu rekonstruisanih uzoraka. Kao što je prethodno opisano, uređaj za dekodiranje može da dobije rezidualne informacije (uključujući informacije o kvantizovanim koeficijentima transformacije) iz toka bitova, izvede rezidualne uzorke iz rezidualnih informacija, i generiše rekonstruisane uzorke na osnovu uzoraka predikcije i rezidualnih uzoraka. Prema tome, kao što je prethodno opisano, procedura filtriranja u petlji kao što je filtriranje za deblokiranje, SAO i/ili ALF procedura može se primeniti na rekonstruisanu sliku kako bi se poboljšao subjektivni/objektivni kvalitet slike, po potrebi.
[0186] U prethodno opisanom načinu ostvarivanja, postupci su opisani na osnovu dijagrama toka kao serije faza ili blokova, ali odgovarajući način ostvarivanja nije ograničen na taj redosled faza, i određena faza može se izvesti prema drugačijem redosledu od ili istovremeno sa fazom koja se razlikuje od prethodno opisane. Pored toga, podrazumeva se da prosečan stručnjak u tehnici zna da faze prikazane na dijagramu toka nisu isključive, i da druge faze mogu biti uključene ili da se jedna ili više faza iz dijagrama toka može ukloniti a da to ne utiče na obim načina ostvarivanja ovog dokumenta.
[0187] Prethodno opisan postupak prema načinima ostvarivanja ovog dokumenta može da se realizuje u obliku softvera, a uređaj za kodiranje i/ili uređaj za dekodiranje prema ovom dokumentu mogu biti uključeni u uređaju koji izvodi obradu slike, na primer, TV, računar, pametni telefon, set-top boks, uređaj za prikaz, i slično.
[0188] Kada se načini ostvarivanja u ovom dokumentu realizuju pomoću softvera, prethodno opisan postupak može se realizovati kao modul (postupak, funkcija, i slično) koji izvodi prethodno opisanu funkciju. Modul može da se čuva u memoriji i može ga izvesti procesor. Memorija može da se nalazi unutar ili izvan procesora, i može da bude povezana sa procesorom na različite dobro poznate načine. Procesor može da uključuje integrisano kolo specifične namene (ASIC), druge čipsetove, logička kola i/ili uređaje za obradu podataka. Memorija može da uključuje memoriju samo za čitanje (ROM), memoriju sa slučajnim pristupom (RAM), fleš memoriju, memorijsku karticu, medijum za skladištenje i/ili druge uređaje za skladištenje. To jest, načini ostvarivanja opisani u ovom dokumentu mogu se realizovati i izvesti na procesoru, mikroprocesoru, kontroleru ili čipu. Na primer, funkcionalne jedinice prikazane na svakom crtežu mogu se realizovati i izvesti na računaru, procesoru, mikroprocesoru, kontroleru ili čipu.
U ovom slučaju, informacije o realizaciji (na primer, informacije o instrukcijama) ili algoritmi mogu da se čuvaju u digitalnom medijumu za skladištenje.
[0189] Pored toga, uređaj za dekodiranje i uređaj za kodiranje na kojima se primenjuje(u) način(i) ostvarivanja ovog dokumenta mogu biti uključeni u primopredajnik za multimedijalno emitovanje i prijemni uređaj, mobilni komunikacioni terminal, video uređaj za kućni bioskop, video uređaj za digitalni bioskop, kameru za nadzor, uređaj za video ćaskanje, uređaj za komunikaciju u realnom vremenu kao što je video komunikacija, mobilni uređaj za strimovanje, medijum za skladištenje, kamkorder, uređaj za pružanje usluge video na zahtev (VoD), (OTT) video uređaj na vrhu, uređaj za pružanje usluge internet strimovanja, 3D video uređaj, uređaj za virtuelnu stvarnost, uređaj za proširenu stvarnost (AR), videotelefonija video uređaj, terminal na vozilu (na primer, terminal na vozilu (uključujući autonomno vozilo), terminal u avionu, terminal na brodu, ili slično), medicinski video uređaj, ili slično, i može da se koristi za obradu video signala ili signala podataka. Na primer, (OTT) video uređaj na vrhu može da uključuje konzolu za igre, Blu-ray plejer, TV sa Internet pristupom, sistem kućnog bioskopa, pametni telefon, tablet računar, digitalni video rekorder (DVR), i slično.
[0190] Pored toga, postupak obrade na koji se način(i) ostvarivanja ovog dokumenta primenjuje(u) može se izvesti u obliku programa kojeg izvršava računar i može da se čuva u računarski čitljivom medijumu za snimanje. Multimedijalni podaci koji imaju strukturu podataka prema načinu(ima) ostvarivanja ovog dokumenta mogu takođe da se čuvaju u računarski čitljivom medijumu za snimanje. Računarski čitljiv medijum za snimanje uključuje sve vrste uređaja za skladištenje i distribuiranih uređaja za skladištenje u kojima se čuvaju računarski čitljivi podaci. Računarski čitljiv medijum za snimanje može da uključuje, na primer, Blu-ray disk (BD), univerzalnu serijsku magistralu (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, magnetnu traku, disketu i uređaj za skladištenje optičkih podataka. Pored toga, računarski čitljiv medijum za snimanje takođe uključuje medije realizovane u obliku nosećeg talasa (na primer, prenos preko interneta). Pored toga, tok bitova generisan postupkom za kodiranje može da se čuva u računarski čitljivom medijumu za snimanje ili prenese žičanom ili bežičnom komunikacionom mrežom.
[0191] Pored toga, način(i) ostvarivanja ovog dokumenta može(mogu) se realizovati kao proizvod računarskog programa na osnovu nekog programskog koda, i programski kod može se izvesti na računaru prema načinu(ima) ostvarivanja ovog dokumenta. Programski kod može da se čuva na računarski čitljivom nosaču.
[0192] FIG.29 prikazuje primer sistema za strimovanje sadržaja na kojem može da se primeni ovo otkrivanje.
[0193] Upućivanjem na FIG.29, sistem za strimovanje sadržaja na kojem se primenjuje ovo otkrivanje može uopšteno da uključuje server za kodiranje, server za strimovanje, veb server, skladište medija, korisnički uređaj i multimedijalni ulazni uređaj.

Claims (3)

  1. [0194] Server za kodiranje ima ulogu u generisanju toka bitova kompresijom sadržaja koji dolaze iz multimedijalnih ulaznih uređaja, kao što su pametan telefon, kamera ili kamkorder u digitalne podatke i prenosu generisanog toka bitova serveru za strimovanje. Kao neki drugi primer, ako multimedijalni ulazni uređaj kao što je pametni telefon, kamera ili kamkoder direktno generiše tok bitova, može se izostaviti server za kodiranje.
    [0195] Tok bitova može da se generiše postupkom za kodiranje ili postupkom za generisanje toka bitova na kojem se primenjuje ovo otkrivanje, i server za strimovanje može da čuva tok bitova privremeno tokom prenosa ili prijema toka bitova.
    [0196] Server za strimovanje ima ulogu u prenosu multimedijalnih podataka korisničkom uređaju na osnovu zahteva korisnika preko veb servera, a veb server ima ulogu u informisanju korisnika koje su usluge dostupne. Kada korisnik zatraži željenu uslugu od veb servera, veb server prenosi zahtev serveru za strimovanje, i server za strimovanje prenosi multimedijalne podatke korisniku. Istovremeno, sistem za strimovanje sadržaja može da uključuje poseban upravljački server, i u ovom slučaju, upravljački server funkcioniše tako što upravlja komandama/odgovorima između uređaja unutar sistema za strimovanje sadržaja.
    [0197] Server za strimovanje može da primi sadržaje iz skladišta medija i/ili servera za kodiranje. Na primer, ako se sadržaji primaju od servera za kodiranje, sadržaji mogu da se prime u realnom vremenu. U ovom slučaju, server za strimovanje može da čuva tok bitova za prethodno određen vremenski period kako bi se lagano obezbedila usluga strimovanja.
    [0198] Primeri korisničkog uređaja mogu da uključuju mobilni telefon, pametni telefon, laptop računar, digitalni radiodifuzni terminal, lični digitalni asistent (PDA), prenosivi multimedijalni plejer (PMP), navigaciju, tablični računar, tablet računar, ultrabuk, nosivi uređaj (na primer, pametni sat ili pametne naočare), digitalnu TV, desktop računar i digital signage.
    [0199] Svaki pojedinačni server unutar sistema za strimovanje sadržaja može da radi kao distributivni server, i u ovom slučaju, podaci primljeni od strane svakog servera mogu da se obrađuju na distributivni način.
    Patentni zahtevi
    1. Uređaj (300) za dekodiranje radi dekodiranja slike, pri čemu uređaj (300) za dekodiranje obuhvata: memoriju (360); i
    najmanje jedan procesor (320) povezan sa memorijom (360), pri čemu je najmanje jedan procesor (360) konfigurisan da:
    izvede bafer predikcije vektora pokreta zasnovanog na istoriji, HMVP, za trenutni blok, pri čemu HMVP bafer obuhvata HMVP kandidat koji uključuje informacije o pokretu prethodnog bloka koji se dekodira pre trenutnog bloka;
    izvede listu kandidata za informacije o pokretu na osnovu HMVP kandidata sadržanog u HMVP baferu, pri čemu se, za izvođenje liste kandidata za informacije o pokretu, HMVP kandidat dodaje u listu kandidata za informacije o pokretu;
    izvede informacije o pokretu trenutnog bloka na osnovu liste kandidata za informacije o pokretu;
    generiše uzorke predikcije za trenutni blok na osnovu informacija o pokretu; i
    generiše rekonstruisane uzorke na osnovu uzoraka predikcije,
    pri čemu trenutna slika uključuje više od jedne pločice,
    pri čemu se trenutni blok za jednu od jedinica za kodiranje, CU, odvaja od jedinice stabla kodiranja, CTU,
    pri čemu se HMVP bafer ažurira dodavanjem informacija o pokretu direktnog prethodnog bloka koji se dekodira direktno pre trenutnog bloka kao novi HMVP kandidat,
    pri čemu se, za trenutnu sliku koja se sastoji od 2 reda pločica i 2 kolone pločica, HMVP bafer inicijalizuje na prvoj CTU prema redosledu obrade u svakom CTU redu svake pločice, pri čemu se, na osnovu HMVP bafera koji se inicijalizuje, broj HMVP kandidata sadržanih u HMVP baferu postavlja na nula,
    pri čemu je uređaj (300) za dekodiranje dalje konfigurisan da:
    odredi da li CTU predstavlja prvu CTU prema redosledu obrade u CTU redu trenutne pločice trenutne slike koja se sastoji od 2 reda pločica i 2 kolone pločica,
    pri čemu se HMVP bafer za trenutni blok izvodi na osnovu rezultata tog određivanja, i pri čemu se HMVP bafer inicijalizuje za CTU na osnovu rezultata određivanja da CTU predstavlja prvu CTU prema redosledu obrade u CTU redu trenutne pločice trenutne slike koja se sastoji od 2 reda pločica i 2 kolone pločica.
  2. 2. Uređaj (200) za kodiranje radi kodiranja slike, pri čemu uređaj (200) za kodiranje obuhvata:
    memoriju (270); i
    najmanje jedan procesor (240) povezan sa memorijom (270), pri čemu je najmanje jedan procesor (240) konfigurisan da:
    izvede bafer predikcije vektora pokreta zasnovanog na istoriji, HMVP, za trenutni blok, pri čemu HMVP bafer obuhvata HMVP kandidat koji uključuje informacije o pokretu prethodnog bloka koje se kodiraju pre trenutnog bloka;
    4
    izvede listu kandidata za informacije o pokretu na osnovu HMVP kandidata sadržanog u HMVP baferu, pri čemu se, za izvođenje liste kandidata za informacije o pokretu, HMVP kandidat dodaje u listu kandidata za informacije o pokretu;
    izvede informacije o pokretu trenutnog bloka na osnovu liste kandidata za informacije o pokretu;
    generiše uzorke predikcije za trenutni blok na osnovu informacija o pokretu;
    izvede rezidualne uzorke na osnovu uzoraka predikcije; i
    kodira informacije o slici koje obuhvataju informacije o rezidualnim uzorcima u tok bitova, pri čemu je više od jedne pločice prisutno u trenutnoj slici,
    pri čemu se trenutni blok za jednu od jedinica za kodiranje, CU, odvaja od jedinice stabla kodiranja, CTU,
    pri čemu se HMVP bafer ažurira dodavanjem informacija o pokretu direktnog prethodnog bloka koje se kodiraju direktno pre trenutnog bloka kao novi HMVP kandidat,
    pri čemu se, za trenutnu sliku koja se sastoji od 2 reda pločica i 2 kolone pločica, HMVP bafer inicijalizuje na prvoj CTU prema redosledu obrade u svakom CTU redu svake pločice, pri čemu se broj HMVP kandidata sadržanih u HMVP baferu postavlja na nula na osnovu HMVP bafera koji se inicijalizuje,
    pri čemu je uređaj (200) za kodiranje dalje konfigurisan da:
    odredi da li CTU predstavlja prvu CTU prema redosledu obrade u CTU redu trenutne pločice trenutne slike koja se sastoji od 2 reda pločica i 2 kolone pločica,
    pri čemu se HMVP bafer za trenutni blok izvodi na osnovu rezultata određivanja, i pri čemu se HMVP bafer inicijalizuje za CTU na osnovu rezultata određivanja da CTU predstavlja prvu CTU prema redosledu obrade u CTU redu trenutne pločice trenutne slike koja se sastoji od 2 reda pločica i 2 kolone pločica.
  3. 3. Uređaj za prenos podataka za sliku, pri čemu podaci obuhvataju tok bitova generisan uređajem (200) za kodiranje prema zahtevu 2.
RS20250439A 2018-10-04 2019-10-04 Uređaji za kodiranje slike na osnovu istorije RS66780B1 (sr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862740972P 2018-10-04 2018-10-04
EP23207623.2A EP4294007B9 (en) 2018-10-04 2019-10-04 History-based image coding apparatuses

Publications (1)

Publication Number Publication Date
RS66780B1 true RS66780B1 (sr) 2025-06-30

Family

ID=70055909

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20250439A RS66780B1 (sr) 2018-10-04 2019-10-04 Uređaji za kodiranje slike na osnovu istorije

Country Status (16)

Country Link
US (5) US11025945B2 (sr)
EP (3) EP4561068A3 (sr)
JP (4) JP7342116B2 (sr)
KR (3) KR102708102B1 (sr)
CN (5) CN112789852B (sr)
BR (5) BR122021011274B1 (sr)
CA (1) CA3114769A1 (sr)
ES (2) ES2966115T3 (sr)
FI (1) FI3846467T3 (sr)
HR (2) HRP20250575T1 (sr)
HU (2) HUE064704T2 (sr)
MX (2) MX2021003682A (sr)
PL (2) PL3846467T3 (sr)
RS (1) RS66780B1 (sr)
SI (1) SI3846467T1 (sr)
WO (1) WO2020071829A1 (sr)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020007362A1 (en) * 2018-07-06 2020-01-09 Mediatek Inc. Inherited motion information for decoding a current coding unit in a video coding system
KR20250142932A (ko) 2018-08-10 2025-09-30 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 처리 방법, 비디오 처리 장치, 인코더, 디코더, 매체 및 컴퓨터 프로그램
CN116800982A (zh) 2018-08-13 2023-09-22 Lg电子株式会社 图像编码/解码设备和图像数据发送设备
EP4561068A3 (en) 2018-10-04 2025-07-30 LG Electronics Inc. History-based image coding method
KR102578820B1 (ko) 2018-10-05 2023-09-15 엘지전자 주식회사 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
CN118042115A (zh) * 2018-12-07 2024-05-14 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法、解码方法和计算机可读取介质
CN112715031B (zh) * 2018-12-21 2022-05-24 华为技术有限公司 一种基于历史的运动矢量预测的编码器、解码器及方法
EP3905690B1 (en) 2018-12-28 2026-03-04 Godo Kaisha IP Bridge 1 Moving image encoding device, moving image encoding method, moving image encoding program, moving image decoding device, moving image decoding method, and moving image decoding program
CN112954364A (zh) 2018-12-28 2021-06-11 Jvc建伍株式会社 图像编码装置和方法、图像解码装置和方法
CN112042191B (zh) * 2019-01-01 2024-03-19 Lg电子株式会社 以基于历史的运动矢量为基础预测处理视频信号的方法和设备
WO2020156549A1 (en) * 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Buffer access methods for intra block copy in video coding
SG11202107959WA (en) 2019-02-02 2021-08-30 Beijing Bytedance Network Technology Co Ltd Buffer management for intra block copy in video coding
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
CN113545068B (zh) 2019-03-01 2023-09-15 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的基于顺序的更新
KR20240132530A (ko) 2019-03-04 2024-09-03 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사의 구현 형태
US10979716B2 (en) * 2019-03-15 2021-04-13 Tencent America LLC Methods of accessing affine history-based motion vector predictor buffer
CN111989925B (zh) * 2019-03-22 2024-04-26 罗斯德尔动力有限责任公司 基于dmvr和bdof的帧间预测方法及其设备
CN117294841A (zh) 2019-07-06 2023-12-26 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的虚拟预测缓冲
KR102635519B1 (ko) 2019-07-10 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 샘플 식별
KR102695788B1 (ko) 2019-07-11 2024-08-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 비트스트림 적합 제약
US11223840B2 (en) 2019-08-19 2022-01-11 Tencent America LLC Method and apparatus for video coding
WO2022031115A1 (ko) * 2020-08-06 2022-02-10 현대자동차주식회사 딥러닝 기반 인터 예측을 이용하는 영상 부호화 및 복호화
US11575941B2 (en) 2021-03-23 2023-02-07 Tencent America LLC Parallel processing in video coding
US20250080720A1 (en) * 2022-01-04 2025-03-06 Lg Electronics Inc. Image encoding/decoding method and device, and recording medium on which bitstream is stored
CN118474348B (zh) * 2024-04-22 2025-11-04 瑞芯微电子股份有限公司 基于帧间预测的写入和读取方法、帧间预测方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100949975B1 (ko) * 2006-03-30 2010-03-29 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
TWI562606B (en) * 2012-01-30 2016-12-11 Samsung Electronics Co Ltd Apparatus for decoding video
WO2013141665A1 (ko) * 2012-03-22 2013-09-26 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
RS64003B1 (sr) * 2012-04-13 2023-03-31 Ge Video Compression Llc Kodiranje slike sa niskim kašnjenjem
US10321141B2 (en) * 2013-12-18 2019-06-11 Hfi Innovation Inc. Method and apparatus for palette initialization and management
WO2015122550A1 (ko) * 2014-02-12 2015-08-20 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
US10021418B2 (en) * 2014-06-19 2018-07-10 Hfi Innovation Inc. Method and apparatus of candidate generation for single sample mode in video coding
CA2959682C (en) * 2014-09-30 2022-12-06 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US10523957B2 (en) * 2014-10-08 2019-12-31 Vid Scale, Inc. Optimization using multi-threaded parallel processing framework
KR101903231B1 (ko) 2016-06-22 2018-10-04 전자부품연구원 압전 에너지 하베스팅을 위한 고효율 정류기
JP7295230B2 (ja) 2018-06-29 2023-06-20 北京字節跳動網絡技術有限公司 スライス/タイル/lcuの行ごとのルックアップテーブルのリセット
KR102680903B1 (ko) 2018-06-29 2024-07-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝
US10491902B1 (en) * 2018-07-16 2019-11-26 Tencent America LLC Method and apparatus for history-based motion vector prediction
US10440378B1 (en) 2018-07-17 2019-10-08 Tencent America LLC Method and apparatus for history-based motion vector prediction with parallel processing
CN116800982A (zh) * 2018-08-13 2023-09-22 Lg电子株式会社 图像编码/解码设备和图像数据发送设备
US11212550B2 (en) * 2018-09-21 2021-12-28 Qualcomm Incorporated History-based motion vector prediction for affine mode
EP4561068A3 (en) * 2018-10-04 2025-07-30 LG Electronics Inc. History-based image coding method

Also Published As

Publication number Publication date
EP4561068A3 (en) 2025-07-30
BR122021011303A2 (pt) 2021-07-20
HUE064704T2 (hu) 2024-04-28
EP3846467A4 (en) 2021-10-27
BR122021011306A2 (pt) 2021-07-20
US20220377347A1 (en) 2022-11-24
KR102542000B1 (ko) 2023-06-13
KR102708102B1 (ko) 2024-09-20
JP2025089405A (ja) 2025-06-12
KR20230088839A (ko) 2023-06-20
ES3026563T3 (en) 2025-06-11
BR122021011274B1 (pt) 2022-06-14
BR122021011274A2 (pt) 2021-07-20
US11025945B2 (en) 2021-06-01
EP4294007B1 (en) 2025-04-16
BR112021006152B1 (pt) 2022-06-14
SI3846467T1 (sl) 2024-02-29
MX2024007628A (es) 2024-07-04
KR20240142587A (ko) 2024-09-30
BR122021011303B1 (pt) 2022-06-14
CN117857785A (zh) 2024-04-09
WO2020071829A1 (ko) 2020-04-09
BR122021011268A2 (pt) 2021-07-20
EP4561068A2 (en) 2025-05-28
CN117857787A (zh) 2024-04-09
EP4294007A3 (en) 2024-02-21
EP4294007C0 (en) 2025-04-16
ES2966115T3 (es) 2024-04-18
CN117857786A (zh) 2024-04-09
EP3846467B1 (en) 2023-11-29
HRP20250575T1 (hr) 2025-07-04
JP2023162356A (ja) 2023-11-08
CN112789852B (zh) 2024-02-13
HUE071360T2 (hu) 2025-08-28
JP7655994B2 (ja) 2025-04-02
BR122021011306B1 (pt) 2022-06-14
EP4294007B9 (en) 2025-07-23
JP2026027440A (ja) 2026-02-18
CN112789852A (zh) 2021-05-11
EP4294007A2 (en) 2023-12-20
HRP20231695T1 (hr) 2024-03-15
KR20210042996A (ko) 2021-04-20
BR122021011268B1 (pt) 2022-06-14
US11445209B2 (en) 2022-09-13
US20230421798A1 (en) 2023-12-28
US11729414B2 (en) 2023-08-15
JP2022504173A (ja) 2022-01-13
PL3846467T3 (pl) 2024-04-08
MX2021003682A (es) 2021-05-31
US12137241B2 (en) 2024-11-05
PL4294007T3 (pl) 2025-06-16
JP7342116B2 (ja) 2023-09-11
EP3846467A1 (en) 2021-07-07
US20210274207A1 (en) 2021-09-02
CA3114769A1 (en) 2020-04-09
CN117857788A (zh) 2024-04-09
BR112021006152A2 (pt) 2021-07-06
US20250016357A1 (en) 2025-01-09
JP7776684B2 (ja) 2025-11-26
US20200186821A1 (en) 2020-06-11
FI3846467T3 (fi) 2023-12-28

Similar Documents

Publication Publication Date Title
JP7776684B2 (ja) ヒストリベースの画像コーディング方法およびその装置
KR102578820B1 (ko) 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
RS66779B1 (sr) Postupak inter predikcije na osnovu vektora pokreta zasnovanog na istoriji, i uređaj za isti
CN112956201A (zh) 使用句法来执行编码的句法设计方法和设备
US20260075239A1 (en) Apparatus for performing image coding on basis of atmvp candidate
RS66497B1 (sr) Uređaj za dekodiranje i kodiranje slike na osnovu predikcije pokreta u jedinici podbloka u sistemu za kodiranje slike
RU2820148C2 (ru) Оборудование кодирования и декодирования изображений и оборудование для передачи данных для изображения