RS64610B1 - Kodiranje slike koje podržava objedinjavanje blokova i režim preskakanja - Google Patents
Kodiranje slike koje podržava objedinjavanje blokova i režim preskakanjaInfo
- Publication number
- RS64610B1 RS64610B1 RS20230823A RSP20230823A RS64610B1 RS 64610 B1 RS64610 B1 RS 64610B1 RS 20230823 A RS20230823 A RS 20230823A RS P20230823 A RSP20230823 A RS P20230823A RS 64610 B1 RS64610 B1 RS 64610B1
- Authority
- RS
- Serbia
- Prior art keywords
- flag
- sample set
- image
- current
- current sample
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Opis
[0001] Predmetna prijava se odnosi na kodiranje slike i/ili video zapisa, a posebno na kodeke koji podržavaju podelu blokova i režim preskakanja.
[0002] Mnogi slikovni i/ili video kodeci obrađuju slike u jedinicama blokova. Na primer, kodeci za predviđanje koriste granularnost bloka kako bi postigli dobar kompromis između vrlo precizno postavljenih parametara predviđanja postavljenih na visokoj prostornoj rezoluciji, pri čemu, međutim, troše previše sporednih informacija za parametre predviđanja s jedne strane i suviše grubo postavljenih parametara predviđanja, uzrokujući povećanje količine bitova neophodnih za kodiranje reziduala predviđanja zbog niže prostorne rezolucije parametara predviđanja, s druge strane. U stvari, optimalna postavka za parametre predviđanja leži negde između obe krajnosti.
[0003] Učinjeno je nekoliko pokušaja da se dobije optimalno rešenje za gore navedeni problem. Na primer, umesto da koristi uobičajenu podelu slike na blokove koji su pravilno raspoređeni u redove i kolone, podela multi-tree particionisanjem nastoji da poveća slobodu podele slike na blokove uz razumnu potrebu za informacijama o podelama. Ipak, čak i podela multi-tree particionisanjem zahteva signalizaciju izuzetne količine podataka, a sloboda u podeli slike prilično je ograničena čak i u slučaju korišćenja takve podele multi-tree particionisanjem.
[0004] Kako bi se omogućio bolji kompromis između količine sporednih informacija potrebnih za signalizaciju podele slike s jedne strane i slobode u podeli slike s druge strane, objedinjavanje blokova može da se iskoristi kako bi se povećao broj mogućih podela slike na razumnu količinu dodatnih podataka neophodnih za signalizaciju informacija o objedinjavanju. Za blokove koji se objedinjavaju, parametre kodiranja je potrebno preneti u potpunosti unutar niza bitova samo jednom, slično kao da je rezultirajuća objedinjena grupa blokova direktno podeljeni deo slike.
[0005] Kako bi se dodatno povećala efikasnost u kodiranju sadržaja slike, u neke kodeke za slike bazirane na blokovima uveden je režim preskakanja, gde režim preskakanja omogućava enkoderu da se suzdrži od prenošenja rezidualnih podataka određenog bloka u dekoder. To jest, režim preskakanja omogućava da se suzbije prenos rezidualnih podataka za određene blokove. Sposobnost suzbijanja prenosa rezidualnih podataka za određene blokove rezultira širim intervalom granulacije za kodiranje parametara kodiranja/predviđanja unutar kojeg se može očekivati optimalan kompromis između kvaliteta kodiranja s jedne strane i ukupne utrošene brzine protoka u bitovima s druge strane: prirodno, povećanje prostorne rezolucije kodiranja parametara kodiranja/predviđanja rezultira povećanjem brzine sporednih informacija, međutim, uz smanjenje reziduuma čime smanjuje brzinu neophodnu za kodiranje rezidualnih podataka. Međutim, zbog dostupnosti režima preskakanja, moglo bi da bude povoljno da se postigne nagla ušteda u brzini kodiranja samo umerenim daljim povećanjem granularnosti pri kojoj se prenose parametri kodiranja/predviđanja tako da reziduum bude tako mali da se zaseban prenos reziduuma može izostaviti.
[0006] "Test Model under Consideration", 2. JCT-VC MEETING; 21-7-2010-28-7-2010; GENEVA; (JOINT COLLABORATIVETEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16); URL: HTTP://VFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, br. JCTVC-B205, 28. jula 2010. (2010-07-28) opisuje test model koji se razmatra (eng. TMuC – Test Model under Consideration) za HEVC standard (eng. High Efficiency Video Coding) prema kojem je svaka jedinica predviđanja započela elementom sintakse skip_flag pri čemu i sledeća sintaksa takođe sadrži, bez obzira na vrednost od skip_flag, drugi fleg koji se zove merge_flag. Pri tome se skip_flag koristi za signalizaciju režima preskakanja, dok se merge_flag koristi za signalizaciju objedinjavanja za pojedinačne podparticije jedinice predviđanja (eng. PU – prediction unit).
[0007] I-K KIM ET AL: „TE11: Report on experiment 3.2.c: Check skip and merge together“, 94. MPEG MEETING; 11-10-2010-15-10-2010; GUANGZHOU; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), br. M18237, 28. oktobra 2010. (2010-10-28) predlaže modifikaciju TMuC softvera do te mere: „da bi se uključili i MRG i Skip/Direct, sintaksa se modifikuje tamo gde je MRG omogućen samo ako PU nije preskočena putem skip_flag. Zbog toga se prvo kodira skip_flag. U modifikovanoj sintaksi, direktni režim se koristi za nespojenu PU i signalizira se režimom predviđanja kakav je bio.“ Ovaj dokument sugeriše da je MRG omogućen samo ako PU nije preskočena putem skip_flag.
[0008] FULDSETH A ET AL: „Recent improvements of the low complexity entropy coder (LCEC) u TMuC -u“, 94. MPEG MEETING; 11-10-2010-15-10-2010; GUANGZHOU; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), br. M18216, 28. oktobra 2010. (2010-10-28) otkriva kodiranje flega objedinjavanja i preskakanja korišćenjem VLC tabela (eng. variable length coding).
[0009] Međutim, potreba za postizanjem bolje efikasnosti kodiranja i dalje postoji, zbog preostalih redundancija koje su dodatno nastale kombinacijom korišćenja objedinjavanja blokova i režima preskakanja.
[0010] Dakle, cilj predmetnog pronalaska je da obezbedi koncept kodiranja koji ima povećanu efikasnost kodiranja. Ovaj cilj je postignut važećim nezavisnim zahtevima.
[0011] Ideja na kojoj se temelji predmetni pronalazak je da dodatno povećanje efikasnosti kodiranja može da se postigne ako se koristi zajednička signalizacija unutar niza bitova u pogledu i aktivacije objedinjavanja i aktivacije režima preskakanja. To jest, jedno od mogućih stanja jednog ili više elemenata sintakse unutar niza bitova može da signalizira za trenutni skup uzoraka slike da respektivni skup uzoraka treba da se spoji i da nema kodiran rezidual predviđanja i umetnut u niz bitova. Alternativno govoreći, zajednički fleg može obično da signalizira da li parametri kodiranja povezani sa trenutnim skupom uzoraka moraju da se podese prema kandidatu za objedinjavanje ili da se preuzmu iz niza bitova, i da li trenutni skup uzoraka slike treba da bude rekonstruisan samo na osnovu signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka, bez ikakvih rezidualnih podataka, ili da se rekonstruiše prečišćavanjem signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka pomoću rezidualnih podataka u nizu bitova.
[0012] Pronalazači predmetnog pronalaska otkrili su da ovo uvođenje zajedničke signalizacije aktivacije objedinjavanja s jedne strane i aktivacije režima preskakanja s druge strane, kao dodatnu pogodnost štedi brzinu protoka podataka, tako što signaliziranje aktivacije režima objedinjavanja i/ili preskakanja odvojeno jednog od drugog može da se smanji ili da se vrši samo u slučaju da se objedinjavanje i režim preskakanja ne aktiviraju istovremeno.
[0013] Povoljna izvođenja predmetnog pronalaska prikazana su u sastavnim zavisnim zahtevima.
[0014] U daljem tekstu detaljnije su opisana poželjna rešenja predmetne prijave uz pozivanje na prateće slike, u kojima:
Sl. 1 prikazuje blok dijagram uređaja za kodiranje prema jednom izvođenju;
Sl. 2 prikazuje blok dijagram uređaja za kodiranje prema jednom detaljnije prikazanom izvođenju;
Sl. 3 prikazuje blok dijagram uređaja za dekodiranje prema jednom izvođenju;
Sl. 4 prikazuje blok dijagram uređaja za dekodiranje prema jednom detaljnijem izvođenju;
Sl. 5 prikazuje blok dijagram moguće unutrašnje strukture enkodera sa Sl. 1 ili 2;
Sl. 6 prikazuje blok dijagram moguće unutrašnje strukture dekodera sa Sl. 3 ili 4;
Sl. 7a šematski prikazuje moguću podelu slike na blokove korena stabla, jedinice kodiranja (blokove) i jedinice predviđanja (particije);
Sl. 7b prikazuje stablo podele bloka korena stabla prikazanog na Sl. 7a, do nivoa particija, prema ilustrativnom primeru;
Sl. 8 prikazuje primer izvođenja za skup mogućih podržanih obrazaca particionisanja prema jednom izvođenju;
Sl. 9 prikazuje moguće obrasce particionisanja koji efektivno proizilaze iz kombinovanja objedinjavanja blokova i particionisanja blokova kada se particionisanje blokova koristi u skladu sa Sl. 8;
Sl. 10 šematski prikazuje blokove kandidate za SKIP/DIRECT režim prema jednom izvođenju;
Sl. 11-13 prikazuju sintaksičke delove sintakse prema jednom izvođenju; i
Sl. 14 šematski prikazuje definiciju susednih particija za particionisanje prema jednom izvođenju.
[0015] U vezi sa opisom koji sledi, napominje se da kad god se koristi ista pozivna oznaka u vezi sa različitim slikama, objašnjenja u vezi sa respektivnim elementom predstavljena u odnosu na jednu od ovih slika jednako će važiti i za ostale slike, pod uslovom da takvo prenošenje objašnjenja sa jedne slike na drugu nije u suprotnosti sa preostalim opisom te druge slike.
[0016] Sl. 1 prikazuje uređaj 10 za kodiranje slike 20 u niz bitova 30. Naravno, slika 20 bi mogla da bude deo video snimka, a u tom slučaju bi enkoder 10 bio video enkoder.
[0017] Slika 20 je, iako nije eksplicitno prikazana na Sl. 1, predstavljena kao niz uzoraka. Niz uzoraka slike 20 je particionisan na skupove uzoraka 40, koji mogu da budu bilo koji skupovi uzoraka, kao što su skupovi uzoraka koji pokrivaju nepreklapajuća pojedinačno povezana područja slike 20. Radi lakšeg razumevanja, skupovi uzoraka 40 prikazani su i u daljem tekstu se nazivaju blokovima 40, pri čemu se, međutim, sledeći opis neće smatrati ograničenim na bilo koju posebnu vrstu skupova uzoraka 40. Prema konkretnom izvođenju, skupovi uzoraka 40 su pravougaoni i/ili kvadratni blokovi.
[0018] Na primer, slika 20 može biti podeljena na pravilan raspored blokova 40, tako da su blokovi 40 poređani u redove i kolone kao što je na primer prikazano na Sl. 1. Međutim, bilo koja druga podela slike 20 na blokove 40 takođe može da bude moguća. Naročito, podela slike 20 na blokove 40 može da bude fiksna, tj. podrazumevano poznata dekoderu ili može da bude signalizirana dekoderu unutar niza bitova 30. Naročito, blokovi 40 sa slike 20 mogu da se razlikuju po veličini. Na primer, multi-tree podela, kao što je quad-tree (kvadratno stablo) podela, može da se primeni na sliku 20 ili na pravilnu pred-podelu slike 20 na pravilno raspoređene blokove korena stabla tako da se pribave blokovi 40 koji, u ovom slučaju, formiraju lisne (eng. leaf) blokove od multi-tree podele blokova korena stabla.
[0019] U svakom slučaju, enkoder 10 je konfigurisan da kodira, za trenutni skup uzoraka 40, fleg u niz bitova 30 koji obično signalizira da li parametri kodiranja povezani sa trenutnim skupom uzoraka 40 moraju da se postave prema kandidatu za objedinjavanje ili da se preuzmu iz niza bitova 30, i da li trenutni skup uzoraka slike 20 treba da se rekonstruiše samo na osnovu signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka, bez ikakvih rezidualnih podataka, ili da se rekonstruiše prečišćavanjem signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka 40 pomoću rezidualnih podataka u nizu bitova 30. Na primer, enkoder 10 je konfigurisan da, za trenutni skup uzoraka 40, kodira fleg u niz bitova 30 koji obično signalizira, pretpostavljajući prvo stanje, da parametri kodiranja povezani sa trenutnim skupom uzoraka 40 treba da se postave prema kandidatu objedinjavanja umesto da se preuzimaju iz niza bitova 30, i da trenutni skup uzoraka slike 20 treba da se rekonstruiše samo na osnovu signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka, bez ikakvih rezidualnih podataka, i ako se pretpostavi bilo koje drugo stanje da parametri kodiranja povezani sa trenutnim skupom uzoraka 40 treba da se preuzmu iz niza bitova 30, ili da trenutni skup uzoraka slike 20 treba da se rekontstruiše prečišćavanjem signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka 40 pomoću rezidualnih podataka unutar niza bitova 30. Ovo znači sledeće. Enkoder 10 podržava objedinjavanje blokova 40. Objedinjavanje je fakultativno. To jest, nije svaki blok 40 podložan objedinjavanju. Za neke blokove 40 je, u nekom, na primer, u smislu optimizacije stope distorzije, povoljno da se objedini trenutni blok 40 sa kandidatom za objedinjavanje, ali za druge važi suprotno. Da bi odlučio da li određeni blok 40 treba da bude predmet objedinjavanja, enkoder 10 određuje skup ili listu kandidata za objedinjavanje i proverava, za svakog od ovih kandidata za objedinjavanje, da li objedinjavanje trenutnog bloka 40 sa tim kandidatom za objedinjavanje formira najpoželjniju opciju kodiranja, na primer, u smislu optimizacije stope distorzije. Enkoder 10 je konfigurisan da odredi skup ili listu kandidata za objedinjavanje za trenutni blok 40 na osnovu prethodno kodiranih delova niza bitova 30. Na primer, enkoder 10 izvodi najmanje deo skupa ili liste kandidata za objedinjavanje usvajanjem parametara kodiranja povezanih sa lokalno i/ili vremenski susednim blokovima 40 koji su prethodno kodirani u skladu sa redosledom kodiranja koji primenjuje enkoder 10. Vremensko susedstvo označava, na primer, blokove prethodno kodiranih slika video snimka kojem pripada slika 20, pri čemu su njima vremenski susedni blokovi prostorno smešteni tako da se prostorno preklapaju sa trenutnim blokom 40 trenutne slike 20. Shodno tome, za ovaj deo skupa ili liste kandidata za objedinjavanje, postoji jedan-na-jedan povezivanje između svakog kandidata za objedinjavanje i prostorno i/ili vremenski susednih blokova. Svaki kandidat za objedinjavanje ima parametre kodiranja povezane sa njim. Ako se trenutni blok 40 objedini sa ma kojim od kandidata za objedinjavanje, enkoder 10 postavlja parametre kodiranja trenutnog bloka 40 u skladu sa kandidatom za objedinjavanje. Na primer, enkoder 10 može da postavi parametre kodiranja trenutnog bloka 40 da budu jednaki sa respektivnim kandidatom za objedinjavanje, tj. enkoder 10 može da kopira parametre kodiranja trenutnog bloka 40 od respektivnog kandidata za objedinjavanje. Prema tome, za ovaj upravo opisani deo skupa ili liste kandidata za objedinjavanje, parametri kodiranja kandidata za objedinjavanje direktno se usvajaju od prostorno i/ili vremenski susednog bloka, ili se parametri kodiranja respektivnog kandidata za objedinjavanje dobijaju iz parametara kodiranja takvog prostorno i/ili vremenski susednog bloka usvajanjem istog, odnosno postavljanjem kandidata za objedinjavanje jednakim sa tim, dok se, međutim, uzimaju u obzir promene domena, na primer, skaliranjem usvojenih parametara kodiranja u skladu sa promenom domena. Na primer, bar deo parametara kodiranja koji podležu objedinjavanju bi mogao da obuhvati parametre kretanja. Parametri kretanja mogu, međutim, da se odnose na različite referente indekse slike. Da bi bilo preciznije, parametri kretanja koje treba usvojiti mogu da se odnose na određeni vremenski interval između trenutne slike i referentne slike, a objedinjavanjem trenutnog bloka sa respektivnim kandidatom za objedinjavanje koji ima respektivne parametre kretanja, enkoder 10 može da bude konfigurisan da skalira parametre kretanja respektivnog kandidata za objedinjavanje kako bi se njegov vremenski interval prilagodio vremenskom intervalu odabranom za trenutni blok.
[0020] U svakom slučaju, do sada opisani kandidati za objedinjavanje imaju zajedničko to što svi oni imaju parametre kodiranja koji su s njima povezani, i postoji jedan-na-jedan povezanost između ovih kandidata za objedinjavanje i susednih blokova. Shodno tome, objedinjavanje blokova 40 sa bilo kojim od ovde navedenih kandidata za objedinjavanje može da se smatra objedinjavanjem ovih blokova u grupe od jednog ili više blokova 40, tako da se parametri kodiranja ne razlikuju na slici 20 unutar ovih grupa blokova 40, osim prilagođavanja skaliranjem ili slično. U stvari, objedinjavanje sa bilo kojim od ovde navedenih kandidata za objedinjavanje smanjuje granularnost pri kojoj se parametri kodiranja razlikuju duž slike 20. Osim toga, objedinjavanje sa bilo kojim od ovde navedenih kandidata za objedinjavanje rezultira dodatnom slobodom u podeli slike 20 na blokove 40 i grupe blokova 40, respektivno. Time, u ovom pogledu objedinjavanje blokova 40 u takve grupe blokova može da se smatra uzrokovanjem da enkoder 10 kodira sliku 20 koristeći parametre kodiranja koji se razlikuju duž slike 20 u jedinicama ovih grupa blokova 40.
[0021] Osim upravo pomenutih kandidata za objedinjavanje, enkoder 10 takođe može da doda kandidate za objedinjavanje u skup/listu kandidata za objedinjavanje, koji su rezultat kombinacije parametara kodiranja dva ili više susednih blokova, poput aritmetičke sredine, geometrijske sredine ili medijana parametara kodiranja susednih blokova i slično.
[0022] Time, efektivno, enkoder 10 smanjuje granularnost pri kojoj se parametri kodiranja eksplicitno prenose unutar nizova bitova 30 u poređenju sa granularnošću definisanom podelom slike 20 na blokove 40. Neki od ovih blokova 40 formiraju grupe blokova koji koriste jedne iste parametre kodiranja korišćenjem opcije objedinjavanja navedene gore.
[0023] Neki blokovi su povezani jedni sa drugima objedinjavanjem, ali koriste različite parametre kodiranja međusobno u korelaciji putem respektivnih adaptacija skaliranjem i/ili kombinacionih funkcija. Neki blokovi 40 ne podležu objedinjavanju, i prema tome enkoder 10 kodira parametre kodiranja direktno u niz bitova 30.
[0024] Enkoder 10 koristi parametre kodiranja tako definisanih blokova 40 kako bi odredio signal predviđanja za sliku 20. Enkoder 10 izvodi ovo određivanje signala predviđanja po blokovima tako što signal predviđanja zavisi od parametara kodiranja povezanih sa respektivnim blokom 40.
[0025] Još jedna odluka koju vrši enkoder 10 je da li reziduum, tj. razlika između signala predviđanja i sadržaja originalne slike u respektivnoj lokalnoj oblasti trenutnog bloka 40, treba da se prenese u niz bitova 30 ili ne. To jest, enkoder 10 odlučuje za blokove 40 da li će se režim preskakanja primeniti na respektivni blok ili ne. Ako se primeni režim preskakanja, enkoder 10 kodira sliku 20 unutar trenutne porcije 40 samo u formi signala predviđanja izvedenog iz ili zavisno od parametara kodiranja povezanih sa respektivnim blokom 40, a u slučaju da je režim preskakanja deselektovan, enkoder 10 kodira sliku 20 u niz bitova 30 unutar bloka 40 koristeći obe stvari, signal predviđanja kao i rezidualne podatke.
[0026] Da bi se sačuvala brzina protoka bitova za signalizaciju odluke u vezi sa objedinjavanjem s jedne strane i režimom preskakanja s druge strane, enkoder 10 zajednički signalizira obe odluke koristeći jedan fleg za blok 40. Da bi bilo preciznije, zajednička signalizacija može da se realizuje tako da je aktivacija i objedinjavanja i režima preskakanja zajednički označena flegom respektivnog bloka 40 unutar niza bitova 30 pretpostavljajući prvo moguće stanje flega, dok drugo stanje flega samo ukazuje dekoderu da jedan od režima objedinjavanja ili preskakanja nije aktiviran. Na primer, enkoder 10 može da odluči da za određeni blok 40 aktivira objedinjavanje, ali deaktivira režim preskakanja. U tom slučaju, enkoder 10 koristi drugo stanje flega kako bi signalizirao unutar niza bitova 30 deaktivaciju barem jednog od režima objedinjavanja i preskakanja, dok naknadno signalizira unutar niza bitova 30 aktivaciju objedinjavanja korišćenjem drugog flega, na primer. Shodno tome, enkoder 10 mora da prenese ovaj dalji fleg samo u slučaju bloka 40 za koji se objedinjavanje i režim preskakanja ne aktiviraju istovremeno. U izvođenjima dalje opisanim u tekstu koji sledi, prvi fleg se naziva mrg_cbf ili skip_flag, dok se pomoćni fleg indikator objedinjavanja naziva mrg ili merge_flag. Pronalazači predmetne prijave su otkrili da ova istovremena upotreba jednog stanja signalizacije da bi se zajednički signalizirala aktivacija objedinjavanja i režima preskakanja smanjuje ukupnu brzinu protoka bitova niza bitova 30.
[0027] Što se tiče ovde pomenutog stanja signalizacije, potrebno je da se napomene da takvo stanje signalizacije može da se odredi stanjem jednog bita iz niza bitova 30. Međutim, enkoder 10 može da bude konfigurisan da entropijski kodira niz bitova 30, a shodno tome i odgovaranje između stanja signalizacije flega i niza bitova 30 može da bude komplikovanije. U tom slučaju, stanje bi moglo da odgovara jednom bitu iz niza bitova 30 u entropijski dekodiranom domenu. Štaviše, stanje signalizacije može da odgovara jednom od dva stanja flega za koje su dodeljene kodne reči u skladu sa šemom kodiranja promenljive dužine (eng. variable lenght coding). U slučaju aritmetičkog kodiranja, stanje signalizacije koje zajednički signalizira aktivaciju objedinjavanja i režima preskakanja može odgovarati jednom od simbola alfabeta koji je u osnovi šeme aritmetičkog kodiranja.
[0028] Kao što je gore navedeno, enkoder 10 signalizira istovremenu aktivaciju objedinjavanja i režima preskakanja koristeći fleg unutar niza bitova 30. Kao što će biti prikazano detaljnije u nastavku, ovaj fleg može da se prenese unutar elementa sintakse koji ima više od dva moguća stanja. Ovaj element sintakse može, na primer, da signalizira i druge opcije kodiranja. Detalji su detaljnije opisani u nastavku. U tom slučaju, međutim, jedno od mogućih stanja jednog ili više elemenata sintakse signalizira istovremenu aktivaciju. To jest, kad god ovde pomenuti element sintakse trenutnog bloka 40 pretpostavi ovo unapred određeno moguće stanje, enkoder 10 time signalizira aktivaciju i objedinjavanja i režima preskakanja. Dekoderu stoga nije potrebna dodatna signalizacija u vezi sa aktivacijom objedinjavanja i aktivacijom režima preskakanja, respektivno.
[0029] U vezi sa gore navedenim opisom, treba da bude napomenuto da particionisanje slike 20 na blokove 40 možda ne predstavlja najbolju rezoluciju pri kojoj se parametri kodiranja određuju za sliku 20. Umesto toga, enkoder 10 može da prati svaki blok 40 sa daljim informacijama o particionisanju kako bi unutar niza bitova 30 signalizirao jedan od podržanih obrazaca particionisanja za particionisanje trenutnog bloka 40 na podblokove 50 i 60, respektivno, tj. podskupove uzorka. U tom slučaju, istovremenu odluku o objedinjavanju / preskakanju vrši enkoder 10 u jedinicama blokova 40, dok su parametri kodiranja i, na primer, pomoćna odluka o objedinjavanju i/ili odluka o režimu preskakanja, međusobno odvojeni, i definisani za sliku 20 u jedinicama pod-particioniranja blokova 40, tj. u jedinicama podblokova 50 i 60 u primerno prikazanom bloku 40 na Sl. 1. Naravno, režim bez particionisanja može da predstavlja jedan od podržanih obrazaca particionisanja, što rezultuje time da enkoder 10 samo odredi jedan skup parametara kodiranja za blok 40. Bez obzira na broj podblokova 50 i 60 odgovarajućeg obrasca particionisanja, odluka o objedinjavanju može da se primeni na sve podblokove, tj. na jedan ili više podblokova. To jest, ako je objedinjavanje aktivirano za blok 40, ova aktivacija može biti važeća za sve podblokove. U skladu sa izvođenjem opisanim u tekstu koji sledi, gore pomenuto zajedničko stanje koje zajednički signalizira aktivaciju objedinjavanja i režima preskakanja može dodatno istovremeno da signalirira obrazac bez particionisanja među podržanim obrascima particionisanja za trenutni blok 40, tako da u slučaju da fleg ili element sintakse zauzimaju ovo stanje, nije potreban dalji prenos informacija o particionisanju za trenutni blok. Prirodno, bilo koji drugi obrazac particionisanja među podržanim obrascima particionisanja mogao bi alternativno da bude prikazan istovremeno kao dodatak aktivaciji objedinjavanja i režima preskakanja.
[0030] U skladu sa nekim izvođenjima predmetne prijave, enkoder 10 izbegava penale za efikasnost bitova koje rezultuju iz istovremene upotrebe particionisanja po blokovima blokova 40 s jedne strane i objedinjavanja podblokova 50 i 60 sa druge strane. Da bi bilo preciznije, enkoder 10 može da odluči da li je u nekom, na primer, smislu optimizacije stope distorzije bolje da se blok 40 dalje particioniše, i koji od podržanih obrazaca particionisanja treba da se koristi za trenutni blok 40 kako bi se prilagodila granularnost pri kojoj se određeni parametri kodiranja postavljaju ili definišu unutar trenutnog bloka 40 sa slike 20. Kao što će biti detaljnije prikazano u nastavku, parametri kodiranja mogu, na primer, da predstavljaju parametre predviđanja, kao što su parametri inter predikcije. Takvi parametri inter predikcije mogu, na primer, da sadrže indeks referentne slike, vektor kretanja i slično. Podržani obrasci particionisanja mogu, na primer, da sadrže režim bez particionisanja, tj. opciju prema kojoj se trenutni blok 40 ne particioniše dalje, režim sa horizontalnim particionisanjem, tj. opciju prema kojoj se trenutni blok 40 deli duž horizontalno protežuće linije na gornji ili deo na vrhu i donji ili deo na dnu i režim sa vertikalnim particionisanjem, tj. opciju prema kojoj se trenutni blok 40 vertikalno deli duž vertikalno protežuće linije na levi deo i desni deo. Izvan toga, podržani obrasci particionisanja mogu takođe da sadrže opciju prema kojoj se trenutni blok 40 dalje pravilno deli na četiri dalja bloka od kojih svaki zahvata jednu četvrtinu trenutnog bloka 40. Dalje, particionisanje može da se odnosi na sve blokove 40 slike 20 ili samo na njihov odgovarajući podskup, poput onih koji imaju određeni režim kodiranja povezan sa njima, kao što je režim inter predikcije. Slično, primećeno je da objedinjavanje, samo po sebi, može da bude dostupno samo za određene blokove, poput onih kodiranih u režimu inter predikcije. U skladu sa izvođenjem dalje opisanim u nastavku, prethodno pomenuto zajednički tumačeno stanje takođe istovremeno signalizira da je respektivni blok u režimu inter predikcije, a ne u režimu intra predikcije. Shodno tome, jedno stanje gore navedenog flega za blok 40 može da signalizira da je ovaj blok kodiran inter predikcijom koji nije dalje particionisan i za koji su aktivirani i objedinjavanje i režim preskakanja. Međutim, kao pomoćna odluka u slučaju da fleg zauzima drugo stanje, svaku particiju ili podskup uzorka 50 i 60 može pojedinačno da prati dalji fleg unutar niza bitova 30 kako bi signalizirao da li će se objedinjavanje primeniti na respektivne particije 50 i 60 ili ne. Dalje, različiti podskupovi podržanih režima particionisanja mogu da budu dostupni za blokove 40, u zavisnosti, na primer, od veličine bloka, nivoa podele bloka 40 u slučaju da je isti lisni blok iz multi-tree podele, u kombinaciji ili pojedinačno.
[0031] To jest, podela slike 20 na blokove tako da se dobije, između ostalog, blok 40, može da bude fiksirana ili signalizirana unutar niza bitova. Slično, obrazac particionisanja koji će da se koristi za dalje particionisanje trenutnog bloka 40 može da bude signaliziran unutar niza bitova 30 u formi informacija o particionisanju. Shodno tome, informacije o particionisanju mogu stoga da se smatraju nekom vrstom proširenja podele slike 20 na blokove 40. S druge strane, dodatna relevantnost originalne granularnosti podele slike 20 na blokove 40 može i dalje da ostane. Na primer, enkoder 10 može da bude konfigurisan da signalizira unutar niza bitova 30 režim kodiranja koji će da se koristi za odgovarajući deo ili blok 40 slike 20 pri granularnosti definisanoj blokom 40, dok enkoder 10 može da se konfiguriše da menja parametre kodiranja respektivnog režima kodiranja unutar odgovarajućeg bloka 40 pri povećanoj (finijoj) granularnosti definisanoj respektivnim obrascem particionisanja izabranim za respektivni blok 40. Na primer, režim kodiranja signaliziran pri granularnosti blokova 40 može da pravi distinkciju između režima intra predikcije, režima inter predikcije i slično, kao što su režim vremenske inter predikcije, režim predikcije među prikazima itd. Vrsta parametara kodiranja povezana sa jednim ili više podblokova (particija) koji su rezultat particionisanja respektivnog bloka 40, tada zavisi od načina kodiranja dodeljenog respektivnom bloku 40. Na primer, za intra-kodirani blok 40, parametri kodiranja mogu da sadrže prostorni pravac duž kojeg se sadržaj slike prethodno dekodiranih delova slike 20 koristi za popunjavanje respektivnog bloka 40. U slučaju inter-kodiranog bloka 40, parametri kodiranja mogu, između ostalog, da sadrže vektor kretanja za predviđanje kompenzovano kretanjem.
[0032] Sl. 1 prikazuje primer u kome je trenutni blok 40 podeljen na dva podbloka 50 i 60. Naročito, prikazan je primer režima vertikalnog particionisanja. Manji blokovi 50 i 60 mogu takođe da se nazivaju podblokovima 50 i 60 ili particijama 50 i 60 ili jedinicama predviđanja 50 i 60. Naročito, enkoder 10 može da bude konfigurisan da uklanja, u takvim slučajevima kada signalizovani jedan od podržanih obrazaca particionisanja specificira podelu trenutnog bloka 40 na dva ili više daljih blokova 50 i 60, za sve dalje blokove osim prvog podbloka podblokova 50 i 60 po redosledu kodiranja, iz skupa kandidata za parametre kodiranja za respektivni podblok, pri čemu kandidati za parametre kodiranja imaju parametre kodiranja koji su isti kao parametri kodiranja povezani sa bilo kojim od podblokova što bi, kada se spoji sa odgovarajućim podblokovima, rezultiralo jednim od podržanih obrazaca particionisanja. Preciznije, za svaki od podržanih obrazaca particionisanja, redosled kodiranja je definisan među rezultujućom jednom ili više particija 50 i 60. U slučaju sa Sl. 1, redosled kodiranja je primerno ilustrovan strelicom 70, koja definiše da se leva particija 50 kodira pre desne particije 60. U slučaju režima horizontalnog particionisanja, moglo bi da se definiše da se gornja particija kodira pre donje particije. U svakom slučaju, enkoder 10 je konfigurisan da ukloni za drugu particiju 60 po redosledu kodiranja 70, iz skupa kandidata za parametre kodiranja za respektivnu drugu particiju 60, kandidate za parametre kodiranja koji imaju parametre kodiranja koji su isti kao parametri kodiranja povezani sa prvom particijom 50, kako bi se izbegao rezultat ovog objedinjavanja, naime činjenica da bi obe particije 50 i 60 imale iste parametre kodiranja koji su povezani sa njima, koji bi, u stvari, mogli podjednako da izazovu, odabirom režima bez particionisanja za trenutni blok 40, nižu brzinu kodiranja.
[0033] Preciznije, enkoder 10 može da bude konfigurisan da koristi objedinjavanje blokova na efektivan način zajedno sa particionisanjem blokova. Što se tiče objedinjavanja blokova, enkoder 10 može da odredi za svaku particiju 50 i 60 respektivni skup kandidata za parametre kodiranja. Enkoder može da bude konfigurisan da odredi skupove kandidata za parametre kodiranja za svaku od particija 50 i 60 na osnovu parametara kodiranja povezanih sa prethodno dekodiranim blokovima. Naročito, barem neki od kandidata za parametre kodiranja unutar skupova kandidata za parametre kodiranja mogu da budu jednaki, tj. mogu da se usvoje iz parametara kodiranja prethodno dekodiranih particija. Dodatno ili alternativno, barem neki od kandidata za parametre kodiranja mogu da budu izvedeni iz kandidata za parametre kodiranja koji su povezani sa više od jedne prethodno kodirane particije, putem odgovarajuće kombinacije, kao što je medijana, srednja vrednost ili slično. Međutim, budući da je enkoder 10 konfigurisan da izvede određivanje smanjenog skupa kandidata za parametre kodiranja i, ako nakon uklanjanja ostane više od jednog takvog kandidata za parametre kodiranja, izbor između preostalih neuklonjenih kandidata parametara kodiranja, za svaku od ne prvih particija 60 da bi postavio parametre kodiranja povezane sa respektivnom particijom u zavisnosti od jednog neuklonjenog ili izabranog kandidata za parametre kodiranja, enkoder 10 je konfigurisan da izvede uklanjanje tako da se kandidati za parametre kodiranja koji bi efektivno doveli do ponovnog ujedinjenje particija 50 i 60 uklanjaju. To jest, efikasno se izbegavaju konstelacije sintakse prema kojima je efektivna situacija particionisanja kodirana kompleksnije nego u slučaju direktnog signaliziranja ovog particionisanja samo korišćenjem informacija o particionisanju.
[0034] Štaviše, kako se skupovi kandidata za parametre kodiranja smanjuju, količina sporednih informacija neophodnih za kodiranje informacije o objedinjavanju u niz bitova 30 može da se smanji zbog manjeg broja elemenata u ovim skupovima kandidata. Naročito, kako je dekoder u stanju da odredi i naknadno smanji skupove kandidata za parametre kodiranja na isti način na koji to radi enkoder sa Sl. 1, enkoder 10 sa Sl. 1 je u stanju da iskoristi smanjene skupove kandidata za parametre kodiranja pomoću, na primer, korišćenja manje bitova za umetanje elementa sintakse u niz bitova 30, specificirajući koji od neuklonjenih kandidata za parametre kodiranja treba da se upotrebi za objedinjavanje. Prirodno, uvođenje elementa sintakse u niz bitova 30 može da bude potpuno potisnuto u slučaju da je broj neuklonjenih kandidata za parametre kodiranja za respektivnu particiju samo jedan. U svakom slučaju, usled objedinjavanja, tj. postavljanja parametara kodiranja povezanih sa respektivnom particijom u zavisnosti od preostalog ili izabranog kandidata od neuklonjenih kandidata za parametre kodiranja, enkoder 10 je u stanju da potisne potpuno novo umetanje parametara kodiranja za respektivnu particiju u niz bitova 30, smanjujući time i sporedne informacije. U skladu sa nekim izvođenjima predmetne prijave, enkoder 10 može da bude konfigurisan da signalizira unutar niza bitova 30 informacije o prečišćavanju za prečišćavanje preostalog, ili izabranog jednog od kandidata za parametre kodiranja za respektivne particije.
[0035] U skladu sa ovde navedenom mogućnošću smanjenja liste kandidata za objedinjavanje, enkoder 10 može da bude konfigurisan da odredi kandidate za objedinjavanje koje treba ukloniti, poređenjem njihovih parametara kodiranja sa parametrima kodiranja particije, a čijim objedinjavanjem bi se dobio još jedan podržani obrazac particionisanja. Ovaj način tretiranja kandidata za parametre kodiranja bi, efektivno, uklonio najmanje jednog kandidata za parametre kodiranja u ilustrativnom primeru sa Sl. 1, na primer, pod uslovom da parametri kodiranja leve particije 50 formiraju jedan element skupa kandidata parametara kodiranja za desnu particiju 60. Dalji kandidati za parametre kodiranja mogu, međutim, takođe da se uklone u slučaju da su jednaki sa parametrima kodiranja leve particije 50. U skladu sa još jednim primerom izvođenja predmetnog pronalaska, međutim, enkoder 10 bi mogao da bude konfigurisan da odredi skup blokova kandidata za svaku drugu i sledeću particiju po redosledu kodiranja, sa uklanjanjem tog ili takvih blokova kandidata iz ovog skupa blokova kandidata, što bi, kada se spoje sa respektivnom particijom, rezultiralo jednim od podržanih obrazaca particionisanja. U izvesnom smislu, ovo znači sledeće. Enkoder 10 može da bude konfigurisan da odredi kandidate za objedinjavanje za respektivnu particiju 50 ili 60 (tj. prvu i sledeće po redosledu kodiranja) tako da svaki element skupa kandidata ima tačno jednu particiju trenutnog bloka 40 ili bilo koju od blokova 40 prethodno kodiranih, povezanih sa tim što kandidat usvaja odgovarajuće parametre kodiranja pridružene particije. Na primer, svaki element skupa kandidata mogao bi da bude jednak, odnosno usvojen iz, jednog od takvih parametara kodiranja prethodno kodiranih particija, ili bi barem mogao da se izvede iz parametara kodiranja od samo jedne takve prethodno kodirane particije, kao npr. dodatnim skaliranjem ili prečišćavanjem korišćenjem dodatno poslatih informacija o prečišćavanju. Enkoder 10 bi, međutim, takođe mogao da bude konfigurisan da prati takav skup kandidata sa dodatnim elementima ili kandidatima, naime kandidatima za parametre kodiranja koji su bili izvedeni iz kombinacije parametara kodiranja više od jedne prethodno kodirane particije, ili koji su izvedeni – putem modifikacija - iz parametara kodiranja jedne od prethodno kodiranih particija, kao npr. uzimanjem samo parametara kodiranja jedne liste parametara kretanja. Za „kombinovane“ elemente, ne postoji 1:1 veza između parametara kodiranja respektivnog elementa kandidata i respektivne particije. U skladu sa prvom alternativom opisa Sl. 1, enkoder 10 može da bude konfigurisan da ukloni sve kandidate iz celog skupa kandidata, čiji parametri kodiranja su jednaki parametrima kodiranja particije 50. U skladu sa drugom alternativom opisa Sl. 1, enkoder 10 bi mogao da bude konfigurisan da ukloni samo element iz skupa kandidata koji je povezan sa particijom 50. Usklađujući obe tačke gledišta, enkoder 10 bi mogao da bude konfigurisan da ukloni kandidate iz dela skupa kandidata, koji pokazuju 1:1 povezanost sa nekim (npr. susednim) prethodno kodiranim particijama, bez proširivanja uklanjanja (i traženja kandidata koji imaju jednake parametre kodiranja) na preostali deo skupa kandidata koji imaju parametre kodiranja koji se dobijaju kombinacijom. Ali naravno, ako bi jedna kombinacija takođe dovela do redundantne reprezentacije, to bi moglo da se reši uklanjanjem redundantnih parametara kodiranja sa liste ili izvođenjem provere redundantnosti i za kombinovane kandidate.
[0036] Pre nego što se opiše izvođenje dekodera koje odgovara ovde opisanom izvođenju sa Sl. 1, uređaj za kodiranje, odnosno enkoder, prema Sl. 1 u detaljnijoj implementaciji, detaljnije je opisan u nastavku u odnosu na Sl. 2. Sl. 2 prikazuje enkoder koji sadrži razdelnik 72 konfigurisan da podeli sliku 20 na blokove 40, uređaj za objedinjavanje 74 konfigurisan za objedinjavanje bloka 40 u grupe od jednog ili više skupova uzoraka kao što je opisano iznad, enkoder ili fazu kodiranja 76, konfigurisan da kodira sliku 20 pomoću parametara kodiranja koji se razlikuju duž slike 20 u jedinicama grupa skupova uzoraka i generatora 78 niza. Enkoder 76 je konfigurisan da kodira sliku 20 predviđanjem slike 20 i kodiranjem reziduala predviđanja za unapred određene blokove. To jest, enkoder 76 ne kodira, kao što je gore opisano, rezidual predviđanja za sve blokove 40. Umesto toga, neki od njih imaju aktiviran režim preskakanja. Generator 78 niza je konfigurisan da umetne rezidual predviđanja i parametre kodiranja u niz bitova 30, zajedno sa jednim ili više elemenata sintakse za svaki od najmanje podskupa blokova 40, signalizirajući da li je respektivni blok 40 spojen u jednu od grupa zajedno sa još jednim blokom ili ne i da li respektivni blok koristi režim preskakanja ili ne. Kao što je opisano iznad, informacije o podeli koje leže u osnovi podele razdelnika 72 takođe mogu da budu kodirane u niz bitova 30 za sliku 20 od strane generatora 78 niza. Ovo je na Sl. 2 označeno isprekidanom linijom. Odluku o objedinjavanju od strane uređaja 74 za objedinjavanje i odluka o režimu preskakanja izvedenu od strane enkodera 76 je, kako je opisano iznad, zajednički kodirane u niz bitova 30 pomoću generatora 78 niza tako da jedno od mogućih stanja jednog ili više elemenata sintakse trenutnog bloka 40 signalizira da respektivni blok treba da se objedini u jednu od grupa blokova zajedno sa još jednim blokom slike 20 i nema rezidual predviđanja kodiran i umetnut u niz bitova 30. Generator 78 niza može, na primer, da koristi entropijsko kodiranje da bi izvršio umetanje. Razdelnik 72 može da bude odgovoran za podelu slike 20 na blokove 40, kao i za opcionalno dalje particionisanje na particije 50 i 60, respektivno. Uređaj 74 za objedinjavanje je odgovoran za gore navedenu odluku o objedinjavanju, dok enkoder 76 može, na primer, da odluči o režimu preskakanja za blokove 40. Prirodno, sve ove odluke utiču na meru brzine/izobličenja u kombinaciji, pa shodno tome uređaj 10 može da bude konfigurisan da isproba nekoliko opcija za odluke kako bi se utvrdilo koja opcija treba da bude preferirana.
[0037] Nakon što je opisan enkoder prema izvođenju predmetnog pronalaska prikazanom na Sl. 1 i 2, opisuje se uređaj za dekodiranje, tj. dekoder 80 prema izvođenju prikazanom na Sl. 3. Dekoder 80 sa Sl. 3 je konfigurisan da dekodira niz bitova 30 u kome je, kao što je gore opisano, kodirana slika 20. Naročito, dekoder 80 je konfigurisan da se, za trenutni skup uzoraka ili blok 40, uobičajeno odaziva na gore navedeni fleg u nizu bitova 30 u vezi sa prvom odlukom da li parametri kodiranja povezani sa trenutnim blokom 40 treba da se postave prema kandidatu za objedinjavanje ili da se preuzmu iz niza bitova 30, i sa drugom odlukom da li trenutni blok 40 slike 20 treba da se rekonstruiše samo na osnovu signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim blokom 40, bez ikakvih rezidualnih podataka, ili da se rekonstruišu prečišćavanjem signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim blokom 40 putem rezidualnih podataka u nizu bitova 30.
[0038] To jest, funkcionalnost dekodera se u velikoj meri podudara sa onom od enkodera opisanog u odnosu na Sl. 1 i 2. Na primer, dekoder 80 može da bude konfigurisan da izvede podelu slike 40 na blokove 40. Ova podela može da bude podrazumevano poznata dekoderu 80, ili dekoder 80 može da bude konfigurisan da izdvoji respektivnu informaciju o podeli iz niza bitova 30. Kad god je blok 40 objedinjen, dekoder 80 može da bude konfigurisan da dobije parametre kodiranja povezane sa tim blokom 40 postavljanjem njegovih parametara kodiranja prema kandidatu za objedinjavanje. Da bi odredio kandidata za objedinjavanje, dekoder 80 može da izvrši gore opisano određivanje skupa ili liste kandidata za objedinjavanje na potpuno isti način kao što je to učinio enkoder. Ovo uključuje, prema nekim izvođenjima predmetne prijave, čak i redukciju preliminarnog skupa/liste kandidata za objedinjavanje kako bi se izbegla gore navedena redundantnost između particionisanja blokova s jedne strane i objedinjavanja blokova s druge strane. Izbor među određenim skupom ili listom kandidata za objedinjavanje može da se izvrši dekoderom 80 izdvajanjem odgovarajućeg indeksa objedinjavanja iz niza bitova 30 kad god je objedinjavanje aktivirano. Indeks objedinjavanja ukazuje na kandidata za objedinjavanje koji treba da se koristi iz (redukovanog) skupa ili liste kandidata za objedinjavanje određenih kao što je gore opisano.
Dalje, kao što je takođe gore opisano, dekoder 80 takođe može da bude konfigurisan da podvrgne blokove 40 particionisanju u skladu sa jednim od podržanih obrazaca particionisanja. Prirodno, jedan od ovih obrazaca particioniranja može da uključuje režim bez particionisanja prema kojem se blok 40 ne particioniše dalje. U slučaju da temeljno opisan fleg pretpostavlja uobičajeno definisano stanje koje ukazuje na aktivaciju objedinjavanja i režima preskakanja za određeni blok 40, dekoder 80 može da bude konfigurisan da rekonstruiše trenutni blok 40 samo na osnovu signala predviđanja, a ne njegove kombinacije sa bilo kojim rezidualnim signalom. Drugim rečima, dekoder 80 u tom slučaju potiskuje ekstrakciju rezidualnih podataka za trenutni blok 40 i samo rekonstruiše sliku 20 unutar trenutnog bloka 40 korišćenjem signala predviđanja izvedenog iz parametara kodiranja trenutnog bloka. Kao što je takođe gore već opisano, dekoder 80 može da tumači uobičajeno stanje flega takođe kao signalizaciju za trenutni blok 40 da je ovaj blok međupredviđeni blok i/ili blok koji nije dalje particionisan. To jest, dekoder 80 može da bude konfigurisan tako da isti dobije parametre kodiranja povezane sa trenutnim blokom 40 postavljanjem ovih parametara kodiranja prema kandidatu za objedinjavanje, i rekonstruiše trenutni blok 40 slike 20 samo na osnovu signala predviđanja u zavisnosti od parametara kodiranja trenutnog bloka 40 bez ikakvih rezidualnih podataka ako dotični fleg trenutnog bloka 40 unutar niza bitova 30 signalizira da parametri kodiranja povezani sa trenutnim blokom 40 treba da se postave objedinjavanjem. Međutim, ako dotični fleg signalizira da trenutni blok 40 ne podleže objedinjavanju ili režim preskakanja nije iskorišćen, dekoder 80 može da reaguje na drugi fleg unutar niza bitova 30 tako da dekoder 80, u zavisnosti od ovog drugog flega, dobija parametre kodiranja povezane sa trenutnim blokom postavljanjem istih prema respektivnog kandidatu za objedinjavanje, dobija rezidualne podatke za trenutni blok iz niza bitova 30 i rekonstruiše trenutni blok 40 slike 20 na osnovu signala predviđanja i rezidualnih podataka, ili ekstrahuje parametre kodiranja povezane sa trenutnim blokom 40 iz niza bitova 30, pribavlja rezidualne podatke za trenutni blok 40 iz niza bitova 30 i rekonstruiše trenutni blok 40 slike 20 na osnovu signala predviđanja i rezidualnih podataka. Kao što gore opisano, dekoder 80 može da bude konfigurisan da očekuje postojanje drugog flega unutar niza bitova 30 samo u slučaju da prvi fleg ne zauzima uobijčajeno signalno stanje istovremeno signalizirajući aktivaciju objedinjavanja i režima preskakanja. Samo tada, dekoder 80 ekstrahuje drugi fleg iz niza bitova kako bi utvrdio da li će doći do objedinjavanja bez režima preskakanja. Prirodno, dekoder 80 bi alternativno mogao da se konfiguriše da čeka treći fleg unutar niza bitova 30 za trenutni blok 40 u slučaju da drugi fleg signalizira deaktivaciju objedinjavanja, gde ovaj treći fleg signalizira aktivaciju ili deaktivaciju režima preskakanja.
[0039] Analogno sa Sl. 2, Sl. 4 prikazuje moguću implementaciju uređaja za dekodiranje sa Sl. 3. Shodno tome, Sl. 4 prikazuje uređaj za dekodiranje, tj. dekoder 80, koji sadrži razdelnik 82 konfigurisan da podeli sliku 20 kodiranu u niz bitova 30 na blokove 40, uređaj za objedinjavanje 84 konfigurisan za objedinjavanje svakog od blokova 40 u grupe od jednog ili više blokova, dekoder 86 konfigurisan da dekodira ili rekonstruiše sliku 20 koristeći parametre kodiranja koji se razlikuju duž slike 20 u jedinicama grupa skupova uzoraka i ekstraktor 88. Dekoder 86 je takođe konfigurisan da dekodira sliku 20 predviđanjem slike 20, dekodirajući rezidual predviđanja za unapred određene blokove 40 i kombinujući rezidual predviđanja i predviđanje koje proističe iz predviđanja slike 20, za unapred određene blokove 40, tj. za one kojima je režim preskakanja isključen. Ekstraktor 88 je konfigurisan da ekstrahuje rezidual predviđanja i parametre kodiranja iz niza bitova 30, zajedno sa jednim ili više elemenata sintakse za svaki od bar podskupa blokova 40, signalizirajući da li respektivni blok 40 treba da se objedini u jednoj od grupa zajedno sa još jednim blokom 40 ili ne, pri čemu je uređaj 84 za objedinjavanje konfigurisan da izvede objedinjavanje odgovarajući na jedan ili više elemenata sintakse, pri čemu jedno od mogućih stanja jednog ili više elemenata sintakse signalizira da respektivni blok 40 treba da se objedini u jednu od grupa blokova zajedno sa još jednim blokom 40 i nema rezidual predviđanja kodiran i umetnut u niz bitova 30.
[0040] Prema tome, upoređujući Sl. 4 sa Sl. 2, razdelnik 82 se ponaša kao razdelnik 72 da bi obnovio podelu generisanu od strane razdelnika 72. Razdelnik 82 zna za podelu slike 20 ili podrazumevano ili ekstrahuje informacije o podeli iz niza bitova 30 putem ekstraktora 88. Slično, uređaj 84 za objedinjavanje formira objedinjavanje blokova 40 i aktivira se s obzirom na blokove 40 i delove blokova putem gore opisane signalizacije unutar niza bitova 30. Dekoder 86 izvodi generisanje signala predviđanja slike 20 koristeći parametre kodiranja unutar niza bitova 30. U slučaju objedinjavanja, dekoder 86 kopira parametre kodiranja trenutnog bloka 40 ili particije trenutnog bloka od susednih blokova/particija ili inače postavlja njegove parametre kodiranja prema kandidatu za objedinjavanje.
[0041] Kao što je gore već opisano, ekstraktor 88 je konfigurisan da tumači jedno od mogućih stanja flega ili elementa sintakse za trenutni blok kao signal koji istovremeno signalizira aktivaciju objedinjavanja i režima preskakanja. Istovremeno, ekstraktor 88 može da interpretira stanje tako da takođe signalizira unapred određeni jedan od podržanih obrazaca particionisanja za trenutni blok 40. Na primer, unapred određeni obrazac particionisanja može da bude režim bez particionisanja prema kojem blok 40 ostaje neparticionisan i time sam formira particiju. U skladu s tim, ekstraktor 88 očekuje da niz bitova 30 sadrži informacije o particionisanju koje signaliziraju particioniranje bloka 40 samo u slučaju da respektivni fleg ili element sintakse ne preuzima istovremeno signalno stanje. Kao što će u nastavku biti detaljnije prikazano, informacije o particionisanju mogu se da se prenesu unutar niza bitova 30 putem elementa sintakse koji, istovremeno, kontroliše režim kodiranja trenutnog bloka 40, tj. deli blokove 40 na one koji su inter kodirani i one koji su intra kodirani. U tom slučaju, uobičajeno signalno stanje prvog flega/elementa sintakse može takođe da se interpretira i kao signalizacija režima kodiranja inter predikcijom. Za svaku od particija koje rezulttiraju iz signaliziranih informacija o particioniranju, ekstraktor 88 može da ekstrahuje još jedan fleg objedinjavanja iz niza bitova u slučaju da prvi fleg/element sintakse za blok 40 ne preuzima stanje uobičajene signalizacije istovremeno signalizirajući aktivaciju objedinjavanja i režim preskakanja. U tom slučaju, režim preskakanja neizbežno može da se interpretira od strane ekstraktora 88 kao da se isključuje, i iako objedinjavanje može da se aktivira nizom bitova 30 pojedinačno za particije, rezidualni signal se ekstrahuje iz niza bitova 30 za ovaj trenutni blok 40.
[0042] Tako, dekoder 80 sa Sl. 3 ili 4 konfigurisan je da dekodira niz bitova 30. Kao što je gore opisano, niz bitova 30 može da signalizira jedan od podržanih obrazaca particionisanja za trenutni blok 40 slike 20. Dekoder 80 može da se konfiguriše da, ako jedan od signaliziranih podržanih obrazaca particionisanja specificira podelu trenutnog bloka 40 na dve ili više particija 50 i 60, ukloni za sve particije osim prve particije 50 od particija u redosledu kodiranja 70, tj. za particiju 60 u ilustrovanom primeru sa Sl. 1 i 3, iz skupa kandidata za parametre kodiranja za respektivne kandidate za parametre kodiranja koji imaju parametre kodiranja koji su isti ili jednaki parametrima kodiranja povezanim sa bilo kojom od particija, što bi, kada se objedinjava sa respektivnom particijom, rezultiralo jednim od podržanih obrazaca particionisanja, naime jednim koji nije bio signaliziran unutar niza bitova 30, ali jednim koji je, uprkos tome, jedan od podržanih obrazaca particionisanja.
[0043] Na primer, dekoder 80 može da bude konfigurisan da, ako je broj neuklonjenih kandidata za parametre kodiranja različit od nule, podesi parametre kodiranja povezane sa respektivnom particijom 60 u zavisnosti od jednog od kandidata parametara koji nisu uklonjeni. Na primer, dekoder 80 postavlja parametre kodiranja particije 60 tako da budu jednaki sa jednim od neuklonjenih kandidata parametara kodiranja, sa ili bez dodatnog prečišćavanja i/ili sa ili bez skaliranja u skladu sa vremenskom distancom na koju se parametri kodiranja odnose, respektivno. Na primer, kandidat parametra kodiranja za objedinjavanje sa neuklonjenim kandidatima, može da ima još jedan indeks referentne slike povezan sa njim u odnosu na indeks referentne slike koji je eksplicitno signaliziran unutar niza bitova 30 za particiju 60. U tom slučaju, parametri kodiranja od kandidata za parametre kodiranja mogu da definišu vektore kretanja, od kojih je svaki povezan sa respektivnim indeksom referentne slike, a dekoder 80 može da bude konfigurisan da skalira vektor kretanja od konačno izabranog neuklonjenog kandidata za parametar kodiranja u skladu sa razmerom između oba indeksa referentne slike. Prema tome, u skladu sa ovde pomenutom alternativom, parametri kodiranja koji podležu objedinjavanju obuhvatali bi parametre kretanja, dok bi indeksi referentne slike bili odvojeni od njih. Međutim, kao što je gore navedeno, u skladu sa alternativnim primerima izvođenja, indeksi referentne slike bi takođe mogli da budu deo parametara kodiranja koji podležu objedinjavanju.
[0044] Jednako se odnosi na enkoder sa Sl. 1 i 2 i dekoder sa Sl. 3 i 4 da ponašanje objedinjavanja može da se ograniči na međupredviđene blokove 40. Shodno tome, dekoder 80 i enkoder 10 mogu da budu konfigurisani da podržavaju režime intra i inter predikcije za trenutni blok 40 i izvode objedinjavanje samo u slučaju da je trenutni blok 40 kodiran u režimu inter predikcije. Shodno tome, samo parametri kodiranja/predviđanja takvih međupredviđenih prethodno kodiranih particija mogu da se koriste za određivanje/konstruisanje liste kandidata.
[0045] Kao što je gore već razmotreno, parametri kodiranja mogu da budu parametri predviđanja i dekoder 80 može da bude konfigurisan da koristi parametre predviđanja particija 50 i 60 kako bi izveo signal predviđanja za respektivnu particiju. Prirodno, enkoder 10 takođe vrši izvođenje signala predviđanja na isti način. Enkoder 10, međutim, dodatno postavlja parametre predviđanja zajedno sa svim ostalim elementima sintakse unutar niza bitova 30 kako bi postigao određenu optimizaciju u odgovarajućem smislu optimizacije.
[0046] Dalje, kao što je već gore opisano, enkoder može da bude konfigurisan da umetne indeks u (neuklonjeni) kandidat parametra kodiranja samo u slučaju da je broj (neuklonjenog) kandidata parametra kodiranja za odgovarajuću particiju veći od jedan. Shodno tome, dekoder 80 može da bude konfigurisan da, u zavisnosti od broja (neuklonjenih) kandidata za parametre kodiranja za, na primer, particiju 60, samo očekuje da niz bitova 30 sadrži element sintakse koji specificira koji od (neuklonjenih) kandidata za parametar kodiranja je primenjen za objedinjavanje, ukoliko je broj (neuklonjenih) kandidata za parametar kodiranja veći od jedan. Međutim, pojavljivanje slučaja da skup kandidata postaje manji od dva, moglo bi generalno da se isključi proširenjem, kako je gore opisano, liste/skupa kandidata korišćenjem kombinovanih parametara kodiranja, tj. parametara koji su bili izvedeni kombinacijom parametara kodiranja više od jedne - ili više od dve - prethodno kodirane particije, uz ograničavanje performansi redukcije skupa kandidata na one kandidate koji bili su pribavljeni usvajanjem, ili izvođenjem iz, parametara kodiranja tačno jedne prethodno kodirane particije. Suprotno je takođe moguće, tj. generalno uklanjanje svih kandidata za parametre kodiranja koji imaju istu vrednost kao i oni od particije što rezultira još jednim podržanim obrascem particionisanja.
[0047] Što se tiče određivanja, dekoder 80 se ponaša kao enkoder 10. To jest, dekoder 80 može da bude konfigurisan da odredi skup kandidata za objedinjavanje za particiju ili particije bloka 40 na osnovu parametara kodiranja povezanih sa prethodno dekodiranim particijama. To jest, redosled kodiranja može biti definisan ne samo među particijama 50 i 60 odgovarajućeg bloka 40, već i među blokovima 40 na samoj slici 20. Sve particije koje su kodirane pre particije 60 mogu, stoga, da posluže kao osnova za određivanje skupa kandidata za objedinjavanje za bilo koju od sledećih particija, kao što je particija 60 u slučaju sa Sl. 3. Kao što je već gore opisano, enkoder i dekoder mogu da ograniče određivanje skupa kandidata za objedinjavanje na particije u određenom prostornom i/ili vremenskom susedstvu. Na primer, dekoder 80 može da bude konfigurisan da odredi skup kandidata za objedinjavanje na osnovu parametara kodiranja povezanih sa prethodno dekodiranim particijama koje u susedstvu sa trenutnom particijom, pri čemu takve particije mogu da leže izvan i unutar trenutnog bloka 40. Prirodno, određivanje kandidata za objedinjavanje takođe može se da se izvede i za prvu particiju po redosledu kodiranja. Samo uklanjanje može da bude izostavljeno.
[0048] Kao što je navedeno u opisu Sl. 1, dekoder 80 može da bude konfigurisan da odredi skup kandidata za parametre kodiranja za respektivnu ne-prvu particiju 60 iz inicijalnog skupa prethodno dekodiranih particija, isključujući one koje su kodirane u režimu intra predikcije.
[0049] Dalje, u slučaju da enkoder uvodi informacije o podeli u niz bitova kako bi podelio sliku 20 na blokove 40, dekoder 80 može da bude konfigurisan tako da obnovi podelu slike 20 na takve blokove 40 kodiranja prema informacijama o podeli u nizu bitova 30.
[0050] U odnosu na Sl. 1 do 4, potrebno je da se napomene da rezidualni signal za trenutni blok 40 može da se prenese putem niza bitova 30 pri granularnosti koja može da se razlikuje od granulacije definisane particijama s obzirom na parametre kodiranja. Na primer, za blokove za koje je režim preskakanja deaktiviran, enkoder 10 sa Sl. 1 može da bude konfigurisan da podeli blok 40 na jedan ili više transformacionih blokova na način paralelan sa ili nezavisan od particionisanja na particije 50 i 60. Enkoder može da signalizira respektivnom transformacionom bloku podelu za blok 40 putem daljih informacija o podeli. Dekoder 80, zauzvrat, može da se konfiguriše da obnovi ovu dalju podelu bloka 40 na jedan ili više transformacionih blokova u skladu sa daljim informacijama o podeli u nizu bitova, i da izvede rezidualni signal trenutnog bloka 40 iz niza bitova u jedinicama ovih transformacionih blokova. Značaj particionisanja transformacionih blokova može da bude u tome što se transformacija, kao što je DCT (eng. discrete cosine transform), u enkoderu i odgovarajuća inverzna transformacija, kao što je IDCT (eng. inverse discrete cosine transform) u dekoderu, izvode unutar svakog transformacionog bloka od bloka 40 pojedinačno. Da bi se rekonstruisala slika 20 unutar bloka 40, enkoder 10 onda kombinuje, kao što je dodavanje, signal predviđanja izveden primenom parametara kodiranja na odgovarajućim particijama 50 i 60, i na rezidualni signal, respektivno. Međutim, napominje se da kodiranje reziduala može da ne uključuje bilo kakvu transformaciju i inverznu transformaciju respektivno, i da se umesto toga reziduum predviđanja kodira u prostornom domenu, na primer.
[0051] Pre nego što se u nastavku opišu dalji mogući detalji daljih izvođenja, moguća unutrašnja struktura enkodera i dekodera sa Sl. 1 do 4 biće opisana u odnosu na Sl. 5 i 6, pri čemu, međutim, uređaj za objedinjavanje i razdelnik nisu prikazani na ovim slikama kako bi se koncentrisalo na prirodu hibridnog kodiranja. Sl. 5 prikazuje kao primer kako enkoder 10 može interno da bude konstruisan. Kao što je prikazano, enkoder 10 može da sadrži oduzimač 108, transformator 100 i generator 102 niza bitova, koji mogu, kako što je prikazano na Sl. 5, da izvedu entropijsko kodiranje. Elementi 108, 100 i 102 redno su povezani između ulaza 112 koji prima sliku 20 i izlaza 114 koji emituje gore pomenuti niz bitova 30. Naročito, oduzimač 108 ima svoj neinvertujući ulaz povezan sa ulazom 112, a transformator 100 je povezan između izlaza oduzimača 108 i prvog ulaza generatora 102 niza bitova koji, zauzvrat, ima izlaz povezan sa izlazom 114. Enkoder 10 sa Sl. 5 dalje sadrži inverzni transformator 104 i sabirač 110, koji su redno povezani, u navedenom redosledu, na izlaz transformatora 100. Enkoder 10 dalje sadrži prediktor 106, koji je povezan između izlaza sabirača 110 i daljeg ulaza sabirača 110 i invertujućeg ulaza oduzimača 108.
[0052] Elementi sa Sl. 5 sadejstvuju na sledeći način: prediktor 106 predviđa delove slike 20 sa rezultatom predviđanja, tj. signalom predviđanja, koji se primenjuje na invertujući ulaz oduzimača 108. Izlaz oduzimača 108, zauzvrat, predstavlja razliku između signala predviđanja i respektivnog dela slike 20, tj. rezidualni signal. Rezidualni signal podleže transformacijskom kodiranju u transformatoru 100. To jest, transformator 100 može da izvrši transformaciju, kao što je DCT ili sličnu, i naknadnu kvantizaciju na transformisanom rezidualnom signalu, tj. koeficijente transformacije, tako da se pribave nivoi koeficijenata transformacije. Inverzni transformator 104 rekonstruiše finalni izlaz rezidualnog signala od strane transformatora 100 da bi se dobio rekonstruisani rezidualni signal koji odgovara rezidualnom signalu koji ulazi u transformator 100, osim gubitka informacija usled kvantizacije u transformatoru 100. Dodavanje rekonstruisanog rezidualnog signala i signala predviđanja kao izlaza od strane prediktora 106 dovodi do rekonstrukcije respektivnog dela slike 20 i prosleđuje se sa izlaza sabirača 110 na ulaz prediktora 106. Prediktor 106 funkcioniše u različitim režimima kao što je gore opisano, kao što je intra prediktivni režim, inter prediktivni režim i slično. Režim predviđanja i odgovarajući parametri kodiranja ili predviđanja primenjeni od strane prediktora 106 da bi se dobio signal predviđanja, prosleđuju se od strane prediktora 106 entropijskom enkoderu 102 za umetanje u niz bitova.
[0053] Na Sl. 6 je prikazano moguće rešenje unutrašnje strukture dekodera 80 prikazanog na sa Sl. 3 i 4, koje odgovara mogućnostima enkodera prikazanog na Sl. 5. Kao što je prikazano, dekoder 80 može da sadrži ekstraktor 150 niza bitova koji, kao što je prikazano na Sl. 6, može da se implementira kao entropijski dekoder, inverzni transformator 152 i sabirač 154, koji su, u pomenutom redosledu, povezani između ulaza 158 i izlaza 160 dekodera. Dalje, dekoder sa Sl. 6 sadrži prediktor 156 povezan između izlaza sabirača 154 i njegovog daljeg ulaza. Entropijski dekoder 150 povezan je sa parametarskim ulazom prediktora 156.
[0054] Ukratko opisujući funkcionalnost dekodera sa Sl. 6, entropijski dekoder 150 služi za ekstrakciju svih informacija sadržanih u nizu bitova 30. Korišćena šema entropijskog kodiranja može da bude kodiranje promenljive dužine ili aritmetičko kodiranje. Ovim entropijski dekoder 150 dobija natrag iz niza bitova nivoe koeficijenata transformacije koji predstavljaju rezidualni signal i prosleđuje isti do inverznog transformatora 152. Dalje, entropijski dekoder 150 se ponaša kao gore pomenuti ekstraktor 88 i dobija natrag iz niza bitova sve režime kodiranja i povezane parametre kodiranja i prosleđuje ih do prediktora 156. Dodatno, informacije o particionisanju i informacije o objedinjavanju ekstrahuju se iz niza bitova od strane ekstraktora 150. Inverzno transformisani, tj. rekonstruisani rezidualni signal i signal predviđanja kako su izvedeni pomoću prediktora 156 kombinuju se, na primer dodaju, sabiračem 154 koji, zauzvrat, emituje tako obnovljeni rekonstruisani signal na izlazu 160 i prosleđuje isti ka prediktoru 156.
[0055] Kao što postaje jasno iz poređenja Sl. 5 i 6, elementi 152, 154 i 156 funkcionalno odgovaraju elementima 104, 110 i 106 na Sl. 5.
[0056] U gornjem opisu za Sl. 1 do 6, predstavljeno je nekoliko različitih mogućnosti s obzirom na moguće podele slike 20 i odgovarajuću granularnost u variranju nekih parametara uključenih u kodiranje slike 20. Jedna takva mogućnost je ponovo opisana u odnosu na Sl. 7a i Sl. 7b. Sl. 7a prikazuje deo slike 20. U skladu sa primerom izvođenja sa Sl. 7a, enkoder i dekoder su konfigurisani da prvo podele sliku 20 na blokove 200 korena stabla. Jedan takav blok korena stabla prikazan je na Sl. 7a. Podela slike 20 na blokove korena stabla vrši se pravilno u vrstama i kolonama kako je ilustrovano isprekidanim linijama. Veličina blokova 200 korena stabla može da bude odabrana od strane enkodera i signalizirana dekoderu putem niza bitova 30. Alternativno, veličina ovih blokova 200 korena stabla može podrazumevano da bude fiksna. Blokovi 200 korena stabla podeljeni su korišćenjem quad-tree particionisanja kako bi se dobili gore identifikovani blokovi 40 koji mogu da se nazivaju blokovima kodiranja ili jedinicama kodiranja. Ovi blokovi kodiranja ili jedinice kodiranja iscrtani su tankim punim linijama na Sl. 7a. Time, enkoder prati svaki blok 200 korena stabla sa informacijama o podeli i ubacuje informacije o podeli u niz bitova. Ove informacije o podeli ukazuju na to kako se blok 200 korena stabla deli na blokove 40. Pri granulaciji od, i u jedinicama od, ovih blokova 40 režim predviđanja varira unutar slike 20. Kao što je gore navedeno, svaki blok 40 - ili svaki blok koji ima određeni režim predviđanja, kao što je inter prediktivni režim - praćen je informacijama o particionisanju o tome koji podržani obrazac particionisanja se koristi za respektivni blok 40. S tim u vezi, podseća se, međutim, da gore pomenuti fleg/element sintakse može, kada preuzima stanje uobičajene signalizacije, istovremeno takođe da signalizira jedan od podržanih režima particionisanja za respektivni blok 40, tako da eksplicitan prenos drugih informacija o particionisanju za ovaj blok 40 može da bude potisnut na strani enkodera i prema tome ih ne treba očekivati na strani dekodera. U ilustrativnom slučaju prikazanom na Sl. 7a, za mnoge blokove 40 kodiranja, režim bez particionisanja je izabran tako da se kodirajući blok 40 prostorno podudara sa odgovarajućom particijom. Drugim rečima, kodirajući blok 40 je, istovremeno, particija koja ima odgovarajući skup parametara predviđanja koji su sa njom povezani. Vrsta parametara predviđanja, zauzvrat, zavisi od režima povezanog sa respektivnim kodirajućim blokom 40. Ostali kodirajući blokovi, međutim, su primera radi prikazani kao nadalje podeljeni. Kodirajući blok 40 u gornjem desnom uglu bloka 200 korena stabla, na primer, prikazan je kao particionisan na četiri particije, dok je kodirajući blok u donjem desnom uglu bloka 200 korena stabla primera radi prikazan kao vertikalno podeljen na dve particije. Podela za particionisanje na particije ilustrovana je isprekidanim linijama. Sl. 7a takođe prikazuje redosled kodiranja među tako definisanim particijama. Kao što je prikazano, koristi se redosled prvo prelazak po dubini. Preko granica bloka korena stabla, redosled kodiranja može da se nastavi u redosledu skeniranja prema kojem se redovi blokova 200 korena stabla skeniraju redom po vrstama od vrha do dna slike 20. Ovom merom je moguće da se imaju najveće šanse da određena particija ima prethodno kodiranu particiju naslonjenu uz njenu gornju i levu granicu. Svaki blok 40 - ili svaki blok koji ima određeni režim predviđanja kao što je inter prediktivni režim - može da ima indikator prekidača za objedinjavanje unutar niza bitova koji naznačava da li je objedinjavanje aktivirano za odgovarajuće particije u njemu ili nije. Treba napomenuti da bi particionisanje blokova na particije/jedinice predviđanja moglo da bude ograničeno na particionirsnje maksimalno dve particije, uz izuzetak od ovog pravila koji se pravi samo za najmanju moguću veličinu blokova 40. Ovim bi mogla, u slučaju korišćenja quad-tree podele da bi se dobili blokovi 40, da se izbegne redundantnost između informacija o podelama za podelu slike 20 na blok 40 i informacija o podeli za podelu bloka 40 na particije. Alternativno, samo particionisanje na jednu ili dve particije može da bude dozvoljeno, uključujući ili ne uključujući one asimetrične.
[0057] Sl. 7b prikazuje stablo podele. Punim linijama je ilustrovana podela bloka 200 korena stabla, dok isprekidane linije simbolizuju podelu lisnih blokova quad-tree podele, koji su kodirajući blokovi 40. To jest, particionisanje kodirajućih blokova predstavlja svojevrsno proširenje kvadratne (eng. quad) podele.
[0058] Kao što je gore već napomenuto, svaki kodirajući blok 40 može da bude paralelno podeljen na transformacione blokove, tako da transformacioni blokovi mogu da predstavljaju drugačiju podelu respektivnog kodirajućeg bloka 40. Svakom od ovih transformacionih blokova, koji nisu prikazani na Sl. 7a i 7b, transformacija radi transformacije rezidualnog signala kodirajućih blokova može da se izvrši odvojeno.
[0059] U nastavku su opisani dalji primeri izvođenja predmetnog pronalaska. Dok su gornja izvođenja koncentrisana na relaciju između objedinjavanja blokova s jedne strane i particionisanja blokova s druge strane, opis koji sledi takođe uključuje aspekte predmetne prijave koji se odnose na druge principe kodiranja poznate u predmetnim kodecima, kao što su SKIP/DIRECT režimi. Ipak, naknadni opis se neće smatrati samo opisom zasebnih primera izvođenja, tj. primera izvođenja odvojenih od onih opisanih iznad. Umesto toga, opis koji sledi takođe otkriva moguće detalje implementacije za gore opisane primere izvođenja. Shodno tome, u opisu koji sledi su korišćene pozivne oznake sa gore već opisanih slika, tako da će respektivna moguća implementacija opisana ispod takođe da definiše i moguće varijacije gore opisanih primera izvođenja. Većina ovih varijacija može pojedinačno da se prenese na gornje primere izvođenja.
[0060] Drugim rečima, primeri izvođenja predmetne prijave opisuju postupke za smanjenje stope sporednih informacija u aplikacijama za kodiranje slike i video snimaka kombinovanom signalizacijom objedinjavanja i odsustvom rezidualnih podataka za skupove uzoraka. Drugim rečima, stopa sporednih informacija u aplikacijama za kodiranje slika i video snimaka smanjuje se kombinovanjem elemenata sintakse koji ukazuju na korišćenje šema objedinjavanja i elemenata sintakse koji ukazuju na odsustvo rezidualnih podataka.
[0061] Nadalje, pre nego što se opišu ove varijacije i dalji detalji, predstavljen je pregled kodeka za slike i video snimke.
[0062] U aplikacijama za kodiranje slika i video snimaka, nizovi uzoraka povezani sa slikom obično su particionisani na naročite skupove uzoraka, koji mogu da predstavljaju pravougaone ili kvadratne blokove ili bilo koju drugu kolekciju uzoraka, uključujući regione proizvoljnog oblika, trouglove ili bilo koje druge oblike. Podela nizova uzoraka može da bude fiksirana sintaksom ili je podela (barem delimično) signalizirana unutar niza bitova. Da bi stopa sporednih informacija za signalizaciju informacija o podeli bila mala, sintaksa obično dozvoljava samo ograničen broj izbora što rezultira jednostavnim particionisanjem, poput podele blokova na manje blokove. Često korišćena šema particionisanja je podela kvadratnog bloka na četiri manja kvadratna bloka, ili na dva pravougaona bloka iste veličine, ili na dva pravougaona bloka različitih veličina, pri čemu je stvarno primenjeno particionisanje signalizirano unutar niza bitova. Skupovi uzoraka su povezani sa određenim parametrima kodiranja, koji mogu da specificiraju informacije o predviđanju ili režime kodiranja reziduala itd. U aplikacijama za kodiranje video snimaka, particionisanje se često vrši u svrhu predstavljanja pokreta. Svi uzorci bloka (unutar obrasca particionisanja) povezani su sa istim skupom parametara kretanja, koji mogu da uključuju parametre koji specificiraju tip predviđanja (npr. lista 0, lista 1 ili bi-predikcija; i/ili translaciono ili afino predviđanje ili predviđanje sa drugačijim modelom kretanja), parametre koji specificiraju upotrebljene referentne slike, parametre koji specificiraju kretanje u odnosu na referentne slike (npr. vektori pomeraja, afini vektori parametara kretanja ili vektori parametara kretanja za bilo koji drugi model kretanja), koji se obično prenose kao razlika u prediktor, parametre koji određuju tačnost parametara kretanja (npr. tačnost polovine uzorka ili četvrtine uzorka), parametre koji određuju ponderisanje signala referentnog uzorka (npr. u svrhu kompenzacije osvetljenja), ili parametre koji specificiraju interpolacioni filter koji se primenjuje za izvođenje signala predviđanja kompenzovanog kretanjem za trenutni blok. Pretpostavlja se da se za svaki skup uzoraka prenose pojedinačni parametri kodiranja (npr. za specifikaciju predviđanja i/ili kodiranja reziduala). Da bi se postigla poboljšana efikasnost kodiranja, ovaj pronalazak prikazuje postupak i posebna rešenja za objedinjavanje dva ili više skupova uzoraka u takozvane grupe skupova uzoraka. Svi skupovi uzoraka jedne takve grupe dele iste parametre kodiranja, koji mogu da se prenesu zajedno sa jednim od skupova uzoraka u grupi. Time parametri kodiranja ne moraju da se prenose pojedinačno za svaki skup uzoraka iz grupe skupova uzoraka, već se parametri kodiranja prenose samo jednom za celu grupu skupova uzoraka.
[0063] Kao rezultat, smanjuje se stopa sporednih informacija za prenos parametara kodiranja i poboljšava se ukupna efikasnost kodiranja. Kao alternativni pristup, dodatno prečišćavanje za jedan ili više parametara kodiranja može da se prenese za jedan ili više skupova uzoraka iz grupe skupova uzoraka. Prečišćavanje može da se primeni ili na sve skupove uzoraka grupe ili samo na skup uzoraka za koji se prenosi.
[0064] Neki primeri izvođenja predmetnog pronalaska kombinuju proces objedinjavanja sa particionisanjem bloka na različite podblokove 50, 60 (kao što je gore pomenuto). Obično, sistemi za kodiranje slike ili video snimka podržavaju različite obrasce particionisanja za blok 40. Na primer, kvadratni blok ili može da ne bude particionisan ili može da bude particionisan na četiri kvadratna bloka iste veličine, ili na dva pravougaona bloka iste veličine (gde kvadratni blok može da se podeli vertikalno ili horizontalno), ili na pravougaone blokove različitih veličina (horizontalno ili vertikalno). Opisani primeri obrazaca particionisanja ilustrovani su na Sl. 8. Pored gore navedenog opisa, particionisanje može da uključuje čak i više od jednog nivoa particionisanja. Na primer, kvadratni podblokovi opcionalno takođe mogu da se dodatno particionišu korišćenjem istih obrazaca particionisanja. Problem koji se javlja kada se takav proces particionisanja kombinuje sa procesom objedinjavanja koji omogućava objedinjavanje (kvadratnog ili pravougaonog) bloka sa, na primer, jednim od njegovih susednih blokova je to što isto rezultirajuće particionisanje može da se postigne različitim kombinacijama obrazaca particionisanja i signala za objedinjavanje. Stoga iste informacije mogu da se prenose u nizu bitova korišćenjem različitih kodnih reči, što je očigledno suboptimalno s obzirom na efikasnost kodiranja. Kao jednostavan primer, smatramo kvadratni blok koji nije dalje particionisan (kao što je ilustrovano u gornjem levom uglu na Sl. 8). Ovo particionisanje može direktno da se signalizira slanjem elementa sintakse da ovaj blok 40 nije podeljen. Ali, isti obrazac takođe može da se signalizira slanjem elementa sintakse koji specificira da je ovaj blok, na primer, podeljen na dva vertikalno (ili horizontalno) poravnata pravougaona bloka 50, 60. Zatim možemo da prenesemo informacije o objedinjavanju koje specificiraju da je drugi od ovih pravougaonih blokova objedinjen sa prvim pravougaonim blokom, što rezultira potpuno istim particionisanjem kao kada signaliziramo da se blok ne deli dalje. Isto se može da se postigne i tako što se prvo navede da je blok podeljen na četiri kvadratna podbloka, a zatim prenesu informacije o objedinjavanju što efektivno spaja sva ova četiri bloka. Ovaj koncept je očigledno suboptimalan (budući da imamo različite kodne reči za signalizaciju iste stvari).
[0065] Neki primeri izvođenja predmetnog pronalaska smanjuju stopu sporednih informacija i na taj način povećavaju efikasnost kodiranja za kombinaciju koncepta objedinjavanja sa konceptom pružanja različitih obrazaca particionisanja za blok. Ako pogledamo primere obrazaca particionisanja na Sl. 8, „simulacija“ bloka koji nije dalje podeljen bilo kojim od obrazaca particionisanja sa dva pravougaona bloka može da se izbegne kada zabranimo (tj. izuzmemo iz niza bitova specifikaciju sintakse) slučaj da se pravougaoni blok spoji sa prvim pravougaonim blokom. Kada se dublje sagleda problem, takođe je moguće da se „simulira“ obrazac koji nije podeljen objedinjavanjem drugog pravougaonika sa bilo kojim drugim susedom (tj. ne prvim pravougaonim blokom) koji je povezan sa istim parametrima (npr. informacija za specificiranje predviđanja) kao prvi pravougaoni blok. Uslovljavanjem slanja informacija o objedinjavanju na način da je slanje naročitih parametara objedinjavanja isključeno iz sintakse niza bitova kada ti parametri objedinjavanja rezultiraju obrascem koji se takođe može da se postigne signaliziranjem jednog od podržanih obrazaca particionisanja može da se izbegne redundancija. Kao primer, ako trenutni obrazac particionisanja specificira podelu na dva pravougaona bloka, kao što je prikazano na Sl. 1 i 3, na primer, pre slanja informacija o objedinjavanju za drugi blok, tj. 60 u slučaju sa Sl. 1 i 3, može se proveriti koji od mogućih kandidata za objedinjavanje ima iste parametre (npr. parametre za specifikaciju signala predviđanja) kao prvi pravougaoni blok, tj. 50 u slučaju sa Sl. 1 i 3. I svi kandidati koji imaju iste parametre kretanja (uključujući i sam prvi pravougaoni blok) uklanjaju se iz skupa kandidata za objedinjavanje. Kodne reči ili flegovi koji se prenose radi signalizacije informacija o objedinjavanju prilagođeni su rezultujućem skupu kandidata. Ako skup kandidata postane prazan zbog provere parametara, ne mogu da budu prenete nikakve informacije o objedinjavanju. Ako se skup kandidata sastoji samo od jednog unosa, signalizira se samo da li se blok objedinjava ili ne, ali kandidat ne mora da bude signaliziran jer može da se izvede na strani dekodera, itd. Za gornji primer, isti koncept se takođe primenjuje za obrazac particionisanja koji deli kvadratni blok na četiri manja kvadratna bloka. Ovde se slanje flegova za objedinjavanje prilagođava na način da kombinacijom flegova za objedinjavanje ne može da se postigne ni obrazac particionisanja koji ne specificira nikakvu podelu niti bilo koji od dva obrasca particionisanja koji specificiraju podelu na dva pravougaona bloka iste veličine. Iako smo koncept najviše opisali na gornjem primeru sa specifičnim obrascima particionisanja, trebalo bi da bude jasno da isti koncept (izbegavanje specifikacije naročitog uzorka particionisanja kombinacijom drugog obrasca particioniranja i odgovarajuće informacije o objedinjavanju) može da se primeni za bilo koji drugi skup obrazaca particionisanja.
[0066] Još jedan aspekt koji treba da bude razmotren je da je koncept objedinjavanja u izvesnom smislu sličan SKIP ili DIRECT režimima koji se primenjuju u dizajnu video kodiranja. U SKIP/DIRECT režimima, u osnovi se ne prenose parametri kretanja za trenutni blok, već se zaključuju iz prostornog i/ili vremenskog susedstva. U posebno efikasnom konceptu SKIP/DIRECT režima, lista kandidata za parametre kretanja (indeksi referentnih frejmova, vektori pomeraja, itd.) kreirana je iz prostornog i/ili vremenskog susedstva i u ovu listu se prenosi indeks koji specificira koji od parametara kandidata je izabran. Za blokove bipredikcije (ili frejmove sa više hipoteza), za svaku referentnu listu može da se signalizira zaseban kandidat. Mogući kandidati mogu da uključuju blok na vrhu trenutnog bloka, blok levo od trenutnog bloka, blok u gornjem levom uglu trenutnog bloka, blok u gornjem desnom uglu trenutnog bloka, medijana prediktor od ovih različitih kandidata, kolocirani blok u jednom ili više prethodnih referentnih frejmova (ili bilo koji drugi već kodirani blok, ili kombinacija pribavljena iz već kodiranih blokova).
[0067] Kombinovanje SKIP/DIRECT sa konceptom objedinjavanja znači da blok može da se kodira pomoću SKIP/DIRECT ili režima objedinjavanja. Iako su koncepti SKIP/DIRECT i objedinjavanje slični, postoje razlike između dva koncepta koje su detaljnije objašnjene u odeljku 1. Glavna razlika između SKIP i DIRECT je u tome što SKIP režim dalje signalizira da se ne prenosi nikakav rezidualni signal. Kada se koristi koncept objedinjavanja, obično se prenosi fleg koji signalizira da li blok sadrži nivoe koeficijenta transformacije koji nisu nula.
[0068] Da bi se postigla poboljšana efikasnost kodiranja, primeri izvođenja opisani gore kao i u nastavku kombinuju signalizaciju da li skup uzorka koristi parametre kodiranja drugog skupa uzoraka i signalizaciju da li se za blok ne prenosi rezidualni signal. Kombinovani fleg označava da skup uzoraka koristi parametre kodiranja drugog skupa uzoraka i da se ne prenose rezidualni podaci. Za ovaj slučaj je potrebno da se prenese samo jedan fleg, umesto dva.
[0069] Kao što je gore pomenuto, neka rešenja predmetnog pronalaska takođe pružaju enkoder sa većom slobodom za kreiranje niza bitova, budući da pristup objedinjavanja značajno povećava broj mogućnosti za izbor particionisanja za nizove uzoraka slike bez uvođenja redundancije u niz bitova. Pošto enkoder može da bira između više opcija, na primer, za minimiziranje određene mere stope distorzije, efikasnost kodiranja može da se poboljša. Kao primer, neki dodatni obrasci koji mogu da se predstave kombinacijom podparticionisanja i objedinjavanja (npr. obrasci na Sl. 9) mogu dodatno da se testiraju (korišćenjem odgovarajućih veličina blokova za procenu kretanja i odlučivanje o režimu) i najbolji obrasci obezbeđeni čisto podelom (Sl. 8) i podelom i objedinjavanjem (Sl. 9) mogu da budu izabrani na osnovu određene mere stope distorzije. Pored toga, za svaki blok može da se testira da li objedinjavanje sa bilo kojim od već kodiranih kandidata rezultira u smanjenju određene mere stope distorzije, a zatim se postavljaju odgovarajući flegovi objedinjavanja tokom procesa kodiranja. Ukratko, postoji nekoliko mogućnosti za rad sa enkoderom. U jednostavnom pristupu, enkoder bi mogao prvo da odredi najbolju podelu nizova uzoraka (kao u šemama kodiranja iz stanja tehnike). I onda bi mogao da proveri za svaki skup uzoraka, da li objedinjavanje sa drugim skupom uzoraka ili drugom grupom skupova uzoraka smanjuje određenu meru stope distorzije. Pritom, parametri predviđanja povezani sa objedinjenom grupom skupova uzoraka mogu ponovo da se procene (npr. izvođenjem nove pretrage kretanja) ili parametri predviđanja koji su već određeni za trenutni skup uzoraka i skup uzoraka kandidata (ili grupa skupova uzoraka) za objedinjavanje bi mogli da se ocene za razmatranu grupu skupova uzoraka. U ekstenzivnijem pristupu, određena mera stope distorzije može da se evaluira za dodatne grupe kandidata iz skupova uzoraka. Kao poseban primer, pri testiranju različitih mogućih obrazaca particionisanja (videti Sl. 8 na primer), neki ili svi obrasci koji mogu da se predstave kombinacijom particionisanja i objedinjavanja (videti Sl. 9 na primer) mogu dodatno da se testiraju. Tj, za sve obrasce se vrši specifična procena kretanja i proces odlučivanja o režimu i bira se obrazac koji daje najmanju meru stope distorzije. Ovaj proces takođe može da se kombinuje sa gore opisanim procesom niske kompleksnosti, tako da se za rezultujuće blokove dodatno testira da li objedinjavanje sa već kodiranim blokovima (npr. izvan obrazaca sa Sl. 8 i Sl. 9) dovodi do smanjenja mere stope distorzije.
[0070] U nastavku su opisane neke moguće detaljne implementacije za gore navedene primere izvođenja, kao što su enkoderi na Sl. 1, 2 i 5 i dekoderi sa Sl. 3, 4 i 6. Kao što je već napomenuto gore, isti mogu da se koristite u kodiranju slika i video snimaka. Kao što je gore opisano, slike ili određeni skupovi nizova uzoraka za slike mogu da se razlože na blokove, koji su povezani sa određenim parametrima kodiranja. Slike se obično sastoje od više nizova uzoraka. Osim toga, slika takođe može da bude povezana sa dodatnim nizovima pomoćnih uzoraka, koji mogu, na primer, da specificiraju informacije o transparentnosti ili mape dubine. Nizovi uzoraka (uključujući i pomoćne nizove uzoraka) mogu da se grupišu u jednu ili više takozvanih grupa ravni, pri čemu se svaka grupa ravni sastoji od jednog ili više nizova uzoraka. Grupe ravni slike mogu da se kodiraju nezavisno ili, ako je slika povezana sa više od jedne grupe ravni, sa predviđanjem iz drugih grupa ravni iste slike. Svaka grupa ravni se obično razlaže na blokove. Blokovi (ili odgovarajući blokovi nizova uzoraka) predviđaju se predviđanjem između slika ili predviđanjem unutar slike. Blokovi mogu da imaju različite veličine i mogu da budu ili kvadratni ili pravougaoni. Particionisanje slike na blokove može da bude ili fiksirano sintaksom, ili može da bude (bar delimično) signalizirano unutar niza bitova. Često se prenose elementi sintakse koji signaliziraju podelu za blokove unapred definisanih veličina. Takvi elementi sintakse mogu da specificiraju da li je i kako se blok deli na manje blokove i povezani su sa parametrima kodiranja, npr. u svrhu predviđanja. Primer mogućih obrazaca particionisanja prikazan je na Sl. 8. Za sve uzorke bloka (ili odgovarajuće blokove nizova uzoraka) dekodiranje pridruženih parametara kodiranja je specificirano na određeni način. U primeru, svi uzorci u bloku predviđeni su korišćenjem istog skupa parametara predviđanja, kao što su referentni indeksi (koji identifikuju referentnu sliku u skupu već kodiranih slika), parametri kretanja (koji specificiraju meru za kretanje blokova između referentne slike i trenutne slike), parametri za specifikaciju interpolacionog filtera, režimi intra predikcije itd. Parametri kretanja mogu da budu predstavljeni vektorima pomeraja sa horizontalnom i vertikalnom komponentom ili parametrima kretanja višeg reda kao što su parametri afinih kretanja koji se sastoje od šest komponenti. Takođe je moguće da je više od jednog skupa određenih parametara predviđanja (kao što su referentni indeksi i parametri kretanja) povezano sa jednim blokom. U tom slučaju, za svaki skup ovih posebnih parametara predviđanja, generiše se jedan posredni signal predviđanja za blok (ili odgovarajuće blokove nizova uzoraka), a finalni signal predviđanja se gradi kombinacijom koja uključuje superponiranje posrednih signala predviđanja. Odgovarajući parametri ponderisanja i potencijalno takođe konstantan ofset (koji se dodaje ponderisanom zbiru) mogu da budu fiksirani za sliku, ili referentnu sliku ili skup referentnih slika ili mogu da se uključe u skup parametara predviđanja za odgovarajući blok. Razlika između originalnih blokova (ili odgovarajućih blokova nizova uzoraka) i njihovih signala predviđanja, koja se naziva i rezidualni signal, obično se transformiše i kvantizuje. Često se dvodimenzionalna transformacija primenjuje na rezidualni signal (ili odgovarajuće nizove uzoraka za rezidualni blok). Za kodiranje transformacije, blokovi (ili odgovarajući blokovi nizova uzoraka), za koje je iskorišćen određeni skup parametara predviđanja, mogu dalje da se podele pre primene transformacije. Blokovi za transformaciju mogu da budu jednaki ili manji od blokova koji se koriste za predviđanje. Takođe je moguće da transformacioni blok uključuje više od jednog od blokova koji se koriste za predviđanje. Različiti transformacioni blokovi mogu da imaju različite veličine i transformacioni blokovi mogu da predstavljaju kvadratne ili pravougaone blokove. U gornjem primeru za Sl. 1-7, primećeno je da je moguće da lisni čvorovi prve podele, odnosno kodirajući blokovi 40, mogu paralelno dalje da se podele na particiju koja definiše granularnost parametara kodiranja, s jedne strane, i transformacione blokove na koje se, s druge strane, pojedinačno primenjuje dvodimenzionalna transformacija. Nakon transformacije, dobijeni koeficijenti transformacije se kvantizuju i dobijaju se takozvani nivoi koeficijenata transformacije. Nivoi koeficijenta transformacije, kao i parametri predviđanja i, ako postoje, informacije o podeli kodirani su entropijski. Konkretno, parametri kodiranja za transformacione blokove nazivaju se rezidualni parametri. Rezidualni parametri, kao i parametri predviđanja i, ako postoje, informacije o podelama mogu da budu kodirani entropijski. U standardima video kodiranja iz stanja tehnike kao što je H.264, fleg koji se naziva kodirani blok fleg (CBF) može da signalizira da su svi nivoi koeficijenata transformacije nula i stoga se nema kodiranja rezidualnih parametara. Prema predmetnom pronalasku, ova signalizacija je kombinovana u signalizaciju aktivacije objedinjavanja.
[0071] U standardima za kodiranje slika i video snimaka iz stanja tehnike, mogućnosti za podelu slike (ili grupe ravni) na blokove koje obezbeđuje sintaksa veoma su ograničene. Obično može da se specificira samo da li i (potencijalno kako) blok unapred definisane veličine može da se podeli na manje blokove. Na primer, najveća veličina bloka u H.264 je 16x16. Blokovi 16x16 se takođe nazivaju makroblokovi i svaka slika se u prvom koraku particioniše na makroblokove. Za svaki makroblok 16x16, može da se signalizira da li je kodiran kao 16x16 blok, ili kao dva 16x8 bloka, ili kao dva bloka 8x16, ili kao četiri bloka 8x8. Ako je 16x16 blok podeljen na četiri bloka 8x8, svaki od ovih blokova 8x8 može da bude kodiran kao jedan blok 8x8, ili kao dva bloka 8x4, ili kao dva bloka 4x8, ili kao četiri bloka 4x4. Mali skup mogućnosti za specifikaciju particionisanja na blokove u standardima iz stanja tehnike kodiranja slike i video snimaka ima prednost u tome što stopa pomoćnih informacija za signalizaciju informacija o podeli može da se održi malom, ali ima nedostatak što potrebna brzina protoka bitova za prenos parametara predviđanja za blokove može da postane značajna kao što je objašnjeno u nastavku. Stopa sporednih informacija za signalizaciju informacija predviđanja obično predstavlja značajnu količinu ukupne brzine protoka bitova za blok. I efikasnost kodiranja mogla bi da se poveća smanjenjem ovih sporednih informacija, što bi, na primer, moglo da se postigne korišćenjem većih veličina bloka. Takođe je moguće da se poveća skup podržanih obrazaca particionisanja u poređenju sa H.264. Na primer, obrasci particionisanja prikazani na Sl. 8 mogu da se obezbede za kvadratne blokove svih veličina (ili izabranih veličina). Prave slike ili slike video sekvence sastoje se od predmeta proizvoljnog oblika sa specifičnim svojstvima. Na primer, takve objekte ili delove objekata karakteriše jedinstvena tekstura ili jedinstveno kretanje. I obično isti skup parametara predviđanja može da se primeni na takav objekat ili deo objekta. Ali granice objekata obično se ne poklapaju sa mogućim granicama blokova za velike blokove predviđanja (npr, makroblokovi 16x16 u H.264). Enkoder obično određuje podelu (među ograničenim skupom mogućnosti) što rezultira minimumom određene mere stope distorzije. Za predmete proizvoljnog oblika ovo može da rezultira velikim brojem malih blokova. Ova tvrdnja ostaje tačna i kada se obezbedi više obrazaca particionisanja (kao što je pomenuto gore). Treba napomenuti da količina obrazaca particionisanja ne bi trebala da postane prevelika, jer je tada potrebno puno sporednih informacija i/ili kompleksnost enkodera/dekodera za signalizaciju i obradu ovih obrazaca. Dakle, proizvoljno oblikovani objekti često rezultiraju velikim brojem malih blokova zbog particionisanja. A pošto je svaki od ovih malih blokova povezan sa skupom parametara predviđanja, koji treba da se prenesu, stopa sporednih informacija može da postane značajan deo ukupne brzine protoka bitova. Ali pošto nekoliko od malih blokova i dalje predstavljaju područja istog objekta ili dela objekta, parametri predviđanja za broj pribavljenih blokova su isti ili veoma slični. Intuitivno, efikasnost kodiranja bi mogla da se poveća kada se sintaksa proširi na način tako da ne dozvoljava samo podelu bloka, već i da objedini dva ili više blokova koji su pribavljeni nakon podele. Kao rezultat, bila bi dobijena grupa blokova koji su kodirani sa istim parametrima predviđanja. Parametre predviđanja za takvu grupu blokova je potrebno kodirati samo jednom. U gornjim primerima sa Sl. 1-7, na primer, parametri kodiranja za trenutni blok 40 se ne prenose pod uslovom da dođe do objedinjavanja. To jest, enkoder ne prenosi parametre kodiranja povezane sa trenutnim blokom, a dekoder ne očekuje da niz bitova 30 sadrži parametre kodiranja za trenutni blok 40. Umesto toga, u skladu sa njegovim specifičnim primerima izvođenja, samo informacije o prečišćavanju mogu da se prenesu za spojeni trenutni blok 40. Kako određivanje skupa kandidata i njegovo smanjenje, tako i objedinjavanje itd. takođe se vrše za ostale kodirajuće blokove 40 sa slike 20. Kodirajući blokovi na neki način formiraju grupe kodirajućih blokova duž lanca kodiranja, pri čemu se parametri kodiranja za ove grupe samo jednom prenose u potpunosti unutar niza bitova.
[0072] Ako je brzina protoka bitova koja se čuva smanjenjem broja kodiranih parametara predviđanja veća od brzine protoka bitova koja se dodatno troši za kodiranje informacija o objedinjavanju, opisano objedinjavanje zaista dovodi do povećanja efikasnosti kodiranja. Dalje treba napomenuti da opisano proširenje sintakse (za objedinjavanje) enkoderu pruža dodatnu slobodu u izboru particionisanja slike ili grupe ravni u blokove, bez uvođenja redundancije. Enkoder nije ograničen da prvo izvrši podelu, a da onda proveri da li neki od rezultirajućih blokova imaju isti skup parametara predviđanja. Kao jedna jednostavna alternativa, enkoder može prvo da odredi podelu kao u tehnikama kodiranja iz stanja tehnike. I onda bi mogao da proveri za svaki blok, da li objedinjavanje sa jednim od njegovih susednih blokova (ili pridruženom već utvrđenom grupom blokova) smanjuje meru cene stope distorzije. Pri tome parametri predviđanja povezani sa novom grupom blokova mogu ponovo da se estimiraju (npr. izvođenjem nove pretrage kretanja) ili parametri predviđanja koji su već određeni za trenutni blok, a susedni blok ili grupa blokova bi mogli da budu evaluirani za novu grupu blokova. Enkoder takođe može direktno da proveri obrasce (njihov podskup) koji su obezbeđeni kombinacijom razdvajanja i objedinjavanja; tj. estimacija kretanja i odluka o režimu može da se izvrši sa rezultujućim oblicima kao što je već gore pomenuto. Informacije o objedinjavanju mogu da se signaliziraju na nivou bloka. Efektivno, objedinjavanje bi takođe moglo da se interpretira kao zaključivanje parametara predviđanja za trenutni blok, gde su zaključeni parametri predviđanja postavljeni da budu jednaki sa parametrima predviđanja jednog od susednih blokova.
[0073] Za druge režime osim SKIP-a, potrebni su dodatni flegovi, poput CBF-a, koji signaliziraju da se ne prenosi rezidualni signal. Postoje dve varijante SKIP/DIRECT režima u standardu iz stanja tehnike za kodiranje video zapisa u H.264, koji su izabrani na nivou slike: vremenski direktni režim i prostorni direktni režim. Oba direktna režima su primenljiva samo na B slike. U vremenskom direktnom režimu, referentni indeks za listu referentnih slika 0 postavljen je da bude jednak 0, a referentni indeks za listu referentnih slika 1, kao i vektori pokreta za obe referentne liste izvedeni su na osnovu podataka o kretanju kolociranog makrobloka na prvoj referentnoj slici u listi referentnih slika 1. Vremenski DIRECT režim koristi vektor kretanja iz vremenski kolociranog bloka i skalira vektor kretanja prema vremenskoj udaljenosti između trenutnog i kolociranog bloka. U prostornom direktnom režimu, referentni indeksi i vektori kretanja za obe liste referentnih slika u osnovi se zaključuju na osnovu podataka o kretanju u prostornom susedstvu. Referentni indeksi su izabrani kao minimum odgovarajućih referentnih indeksa u prostornom susedstvu, a svaka komponenta vektora kretanja postavljena je jednaka medijani odgovarajućih komponenti vektora kretanja u prostornom susedstvu. SKIP režim može da se koristi samo za kodiranje makrobloka 16x16 u H.264 (na slikama P i B), a DIRECT režim može da se koristi za kodiranje makrobloka 16x16 ili podmakrobloka 8x8. Za razliku od DIRECT režima, ako se objedinjavanje primeni na trenutni blok, svi parametri predviđanja mogu da se kopiraju iz bloka sa kojim se trenutni blok spaja. Objedinjavanje takođe može da se primeni na proizvoljne veličine blokova što rezultira gore pomenutim fleksibilnijim obrascima particionisanja gde se svi uzorci jednog obrasca predviđaju koristeći iste parametre predviđanja.
[0074] Osnovna ideja rešenja prikazanih gore kao i u nastavku je da se smanji brzina protoka bitova koja je potrebna za prenos CBF flegova kombinovanjem flegova za objedinjavanje i CBF flegova. Ako skup uzoraka koristi objedinjavanje i ne prenose se rezidualni podaci, prenosi se jedan fleg koji signalizira obe stvari.
[0075] Da bi se smanjila stopa sporednih informacija u aplikacijama za kodiranje slike i video snimaka, određeni skupovi uzoraka (koji mogu da predstavljaju pravougaone ili kvadratne blokove ili regione proizvoljnog oblika ili bilo koju drugu zbirku uzoraka) obično su povezani sa određenim skupom parametara kodiranja. Za svaki od ovih skupova uzoraka, parametri kodiranja su uključeni u niz bitova. Parametri kodiranja mogu da predstavljaju parametre predviđanja koji specificiraju kako se odgovarajući skup uzoraka predviđa pomoću već kodiranih uzoraka. Podela nizova uzoraka slike na skupove uzoraka može da bude fiksirana sintaksom ili signalizirana odgovarajućim informacijama o podelama unutar niza bitova. Može da bude dozvoljeno više obrazaca particionisanja za blok. Parametri kodiranja za skupove uzoraka prenose se unapred definisanim redosledom, koji je dat sintaksom. Za trenutni skup uzoraka može da se signalizira da se objedinjava (npr. u svrhu predviđanja) sa jednim ili više drugih skupova uzoraka u grupu skupova uzoraka. Mogući skup vrednosti za odgovarajuće informacije o objedinjavanju može se da se prilagodi primenjenom obrascu particionisanja, na način da određeni obrasci particionisanja ne mogu da se predstave kombinacijom drugih obrazaca particionisanja i odgovarajućih podataka objedinjavanja. Parametri kodiranja za grupu skupova uzoraka treba da se pošalju samo jednom. Dodatno u odnosu na parametre predviđanja, mogu da se prenose i rezidualni parametri (kao što su sporedne informacije o transformaciji i kvantizaciji i nivoi koeficijenta transformacije). Ako se trenutni skup uzoraka objedini, prenose se sporedne informacije koje opisuju proces objedinjavanja. Ove sporedne informacije će se nadalje označavati kao informacije o objedinjavanju. Rešenja prikazana gore kao i u nastavku opisuju koncept po kome se signalizacija informacija za objedinjavanje kombinuje sa signalizacijom flega kodiranog bloka (specificirajući da li su rezidualni podaci prisutni za blok).
[0076] U jednom posebnom izvođenju, informacije o objedinjavanju sadrže kombinovani, takozvani mrg_cbf, fleg koji je jednak 1 ako je trenutni skup uzoraka objedinjen i ne prenose se rezidualni podaci. U ovom slučaju se ne prenose dalji parametri kodiranja i rezidualni parametri. Ako je kombinovani fleg mrg_cbf jednak 0, kodiran je drugi fleg koji ukazuje da li je objedinjavanje primenjeno ili ne. Štaviše, kodirani su flegovi koji ukazuju da se ne prenose rezidualni parametri. U CABAC-u i VLC prilagođenom kontekstu, konteksti za izvođenje verovatnoće (i prebacivanje tabele VLC) za elemente sintakse koji se odnose na informacije o objedinjavanju mogu da se izaberu kao funkcija već prenetih elemenata sintakse i/ili dekodiranih parametara (kao što je kombinovani fleg mrg_cbf).
[0077] U jednom poželjnom izvođenju, informacije o objedinjavanju koje sadrže kombinovani fleg mrg_cbf kodiraju se pre parametara kodiranja (npr. informacije o predviđanju i informacije o podeli).
[0078] U jednom poželjnom izvođenju, informacije o objedinjavanju koje sadrže kombinovani fleg mrg_cbf kodiraju se nakon podskupa parametara kodiranja (npr. informacije o predviđanju i informacije o podeli). Za svaki skup uzoraka, koji rezultuje iz informacija o podeli, mogu da se kodiraju informacije o objedinjavanju.
[0079] U izvođenjima opisanim dalje u nastavku u odnosu na Sl. 11 do 13, mrg_cbf se naziva skip_flag. Obično, mrg_cbf može da se naziva merge_skip kako bi se pokazalo da je to još jedna verzija preskakanja povezana sa objedinjavanjem blokova.
[0080] Sledeća poželjna izvođenja su opisana za skupove uzoraka koji predstavljaju pravougaone i kvadratne blokove, ali mogu da se prošire na proizvoljno oblikovane regione ili druge zbirke uzoraka na jednostavan način. U poželjnim izvođenjima opisane su kombinacije elemenata sintakse koji se odnose na šemu objedinjavanja i elemenata sintakse koji ukazuju na odsustvo rezidualnih podataka. Rezidualni podaci mogu da uključuju rezidualne sporedne informacije, kao i nivoe koeficijenata transformacije. Za sva poželjna izvođenja, odsustvo rezidualnih podataka je specificirano pomoću kodiranog blok flega (CBF), ali može takođe da se izrazi i drugim sredstvima ili flegovima. CBF jednak 0 odnosi se na slučaj u kojem se ne prenose rezidualni podaci.
1. Kombinacija flega za objedinjavanje i CBF flega
[0081] U nastavku se pomoćni fleg za aktiviranje objedinjavanja naziva mrg, dok se kasnije, u odnosu na Sl. 11 do 13, naziva merge_flag. Slično, indeks objedinjavanja se sada naziva mrg_idx, dok se kasnije koristi merge_idx.
[0082] U ovom odeljku je opisana moguća kombinacija flega za objedinjavanje i flega CBF korišćenjem jednog elementa sintakse. Opis ove moguće kombinacije koji je naveden u nastavku može da se prenese na bilo šta od gore opisanog prikazanog na Sl. 1 do 6.
[0083] U jednom poželjnom izvođenju, do tri elementa sintakse se prenose radi specifikacije informacija o objedinjavanju i CBF -a.
[0084] Prvi element sintakse, koji se u nastavku naziva mrg_cbf, specificira da li je trenutni skup uzoraka objedinjen sa drugim skupom uzoraka i da li su svi odgovarajući CBF-ovi jednaki 0. Element sintakse mrg_cbf može da se kodira samo ako izvedeni skup skupova uzoraka kandidata nije prazan (nakon potencijalnog uklanjanja kandidata koji bi proizveli particionisanje koje bi moglo da bude signalizirano različitim obrascem particioniranja bez objedinjavanja). Međutim, podrazumevano je da može da se garantuje da lista kandidata za objedinjavanje nikada ne nestaje, da je na raspolaganju najmanje jedan ili čak dva kandidata za objedinjavanje. U jednom poželjnom izvođenju pronalaska, ako izvedeni skup kandidata skupova uzoraka nije prazan, element sintakse mrg_cbf se kodira na sledeći način.
- Ako se trenutni blok objedini i CBF je jednak 0 za sve komponente (npr. luma i dve hroma komponente), element sintakse mrg_cbf postavlja se na 1 i kodira.
- U suprotnom se element sintakse mrg_cbf postavlja jednako sa 0 i kodira.
[0085] Vrednosti 0 i 1 za elemente sintakse mrg_cbf takođe mogu da se zamene.
[0086] Drugi element sintakse, koji se dalje naziva mrg, specificira da li je trenutni skup uzoraka objedinjen sa drugim skupom uzoraka. Ako je element sintakse mrg_cbf jednak 1, element sintakse mrg nije kodiran i umesto toga se zaključuje da je jednak 1. Ako element sintakse mrg_cbf nije prisutan (jer je izvedeni skup uzoraka kandidata prazan), element sintakse mrg takođe nije prisutan, ali se zaključuje da je jednak 0. Međutim, podrazumevano može da se garantuje da lista kandidata za objedinjavanje nikada ne nestaje, da je dostupan najmanje jedan ili čak najmanje dva kandidata za objedinjavanje.
[0087] Treći element sintakse, koji se dalje naziva mrg_idx, koji je kodiran samo ako je element sitakse mrg jednak 1 (ili se zaključuje da je jednak 1), određuje koji od skupova kandidata uzoraka se koristi za objedinjavanje. U jednom poželjnom izvođenju, element sintakse mrg_idx se kodira samo ako izvedeni skup skupova kandidata uzoraka sadrži više od jednog skupa kandidata uzoraka. U sledećem poželjnom primeru izvođenja, element sintakse mrg_idx se kodira samo ako su najmanje dva skupa uzoraka izvedenog skupa skupova kandidata uzoraka povezana sa različitim parametrima kodiranja.
[0088] Trebalo bi napomenuti da lista kandidata za objedinjavanje može čak i da se fiksira kako bi se dekuplovalo raščlanjivanje i rekonstrukcija radi poboljšanja protoka raščlanjivanja i da bi bili robusniji u pogledu gubitka informacija. Preciznije, dekuplovanje može da se osigura korišćenjem fiksnog dodjeljivanja unosa na listu i kodnih reči. Ovo ne bi zahtevalo da se fiksira dužina liste. Međutim, istovremeno fiksiranje dužine liste dodavanjem dodatnih kandidata omogućava kompenzaciju gubitka efikasnosti kodiranja fiksnih (dužih) kodnih reči. Time, kao što je ranije opisano, element sintakse indeksa objedinjavanja može da se prenese samo ako lista kandidata sadrži više od jednog kandidata. Ovo bi, međutim, zahtevalo da se izvede lista pre raščlanjivanja indeksa objedinjavanja, sprečavajući da se ova dva procesa izvedu u paraleli. Da bi se omogućio veći protok raščlanjivanja i proces raščlanjivanja učinio robusnijim s obzirom na greške u prenosu, moguće je da se ukloni ova zavisnost korišćenjem fiksne kodne reči za svaku vrednost indeksa i fiksni broj kandidata. Ukoliko ovaj broj možda ne bude dostignut odabirom kandidata, moguće je da se izvedu pomoćni kandidati za kompletiranje liste. Ovi dodatni kandidati mogu da uključuju takozvane kombinovane kandidate, koji su izgrađeni od parametara kretanja od moguće različitih kandidata koji se već nalaze na listi, i nula vektora kretanja.
[0089] U jednom poželjnom izvođenju, informacije o objedinjavanju za skup uzoraka se kodiraju nakon što se prenese podskup parametara predviđanja (ili, opštije, određeni parametri kodiranja koji su povezani sa skupovima uzoraka). Podskup parametara predviđanja može da se sastoji od jednog ili više indeksa referentne slike ili jedne ili više komponenti vektora parametara kretanja ili indeksa referentne slike i jedne ili više komponenti vektora parametara kretanja, itd.
[0090] U jednom poželjnom izvođenju, element sintakse mrg_cbf za informaciju o objedinjavanju kodiran je samo za smanjeni skup režima particionisanja. Mogući skup režima particionisanja predstavljen je na Sl. 8. U poželjnom primeru izvođenja, ovaj smanjeni skup režima particionisanja ograničen je na jedan i odgovara prvom režimu particionisanja (gornji levi na listi na Sl. 8). Kao primer, mrg_cbf je kodiran samo ako blok nije dalje particionisan. Kao dalji primer, mrg_cfb može da se kodira samo za kvadratne blokove.
[0091] U drugom poželjnom izvođenju, element sintakse mrg_cbf za informaciju o objedinjavanju kodiran je samo za jedan blok particionisanja gde je ovo particionisanje jedan od mogućih režima particionisanja prikazanih na Sl. 8, npr. režim particionisanja sa četiri bloka dole levo. U jednom poželjnom izvođenju, ako postoji više od jednog bloka koji je objedinjen u jednom od ovih režima particionisanja, informacije o objedinjavanju prvog objedinjenog bloka (u redosledu dekodiranja) sadrže element sintakse mrg_cbf za kompletnu particiju. Za sve ostale blokove istog režima particionisanja koji su naknadno dekodirani, informacije o objedinjavanju sadrže samo element sintakse mrg koji specificira da li je trenutni skup uzoraka objedinjen sa drugim skupom uzoraka ili ne. Informacije o tome da li su rezidualni podaci prisutni ili nisu zaključuje se iz elementa sintakse mrg_cbf kodiranog u prvom bloku.
[0092] U jednom daljem poželjnom izvođenju pronalaska, informacije o objedinjavanju za skup uzoraka se kodiraju pre parametara predviđanja (ili, opštije, posebnih parametara kodiranja koji su povezani sa skupovima uzoraka). Informacija o objedinjavanju, koja sadrži mrg_cbf, mrg i element sintakse mrg_idx, kodirana je na način opisan gore u prvom poželjnom izvođenju. Parametri predviđanja ili kodiranja i rezidualni parametri prenose se samo ako informacija o objedinjavanju signalizira da trenutni skup uzoraka nije objedinjen sa još jednim skupom uzoraka i da je CBF, za barem jednu od komponenti, jednak 1. U jednom poželjnom izvođenju, ako element sintakse mrg_cbf specificira da je trenutni blok objedinjen, a CBF-ovi za sve komponente su jednaki 0, za ovaj trenutni blok više neće biti potrebna signalizacija posle informacije o objedinjavanjau.
[0093] U još jednom poželjnom izvođenju pronalaska, elementi sintakse mrg_cbf, mrg i mrg_idx kombinovani su i kodirani kao jedan ili dva elementa sintakse. U jednom poželjnom izvođenju, mrg_cbf i mrg kombinovani su u jedan element sintakse, koji specificira bilo koji od sledećih slučajeva: (a) blok je objedinjen i ne sadrži rezidualne podatke, (b) blok je objedinjen i sadrži rezidualne podatke (ili bi mogao da sadrži rezidualne podatke), (c) blok nije objedinjen. U još jednom poželjnom izvođenju, elementi sintakse mrg i mrg_idx kombinovani su u jedan element sintakse. Ako je N broj kandidata za objedinjavanje, kombinovani element sintakse specificira jedan od sledećih slučajeva: blok nije objedinjen, blok je objedinjen sa kandidatom 1, blok je objedinjen sa kandidatom 2, ..., blok je objedinjen sa kandidatom N. U jednom daljem poželjnom izvođenju pronalaska, elementi sintakse mrg_cfb, mrg i mrg_idx kombinovani su u jedan element sintakse, koji specificira jedan od sledećih slučajeva (pri čemu je N broj kandidata): blok nije objedinjen, blok je objedinjen sa kandidatom 1 i ne sadrži rezidualne podatke, blok je objedinjen sa kandidatom 2 i ne sadrži rezidualne podatke, ..., blok je objedinjen sa kandidatom N i ne sadrži rezidualne podatke, blok je objedinjen sa kandidatom 1 i sadrži (ili bi mogao da sadrži) rezidualne podatke, blok je objedinjen sa kandidatom 2 i sadrži (ili bi mogao da sadrži) rezidualne podatke, ..., blok je objedinjen sa kandidatom N i sadrži (ili bi mogao da sadrži) rezidualne podatke. Kombinovani elementi sintakse mogu da se prenesu kodom promenljive dužine ili mogu da se prenesu aritmetičkim kodiranjem ili mogu da se prenesu binarnim aritmetičkim kodiranjem korišćenjem bilo koje posebne šeme binarizacije.
2. Kombinacija flega za objedinjavanje i flega CBF i SKIP/DIRECT režima
[0094] Režimi SKIP/DIRECT mogu da budu podržani za sve ili samo za određene veličine blokova i/ili oblike blokova. U proširenju SKIP/DIRECT režima kako je navedeno u standardu za kodiranje video snimaka H.264 iz stanja tehnike, skup blokova kandidata se koristi za SKIP/DIRECT režime. Razlika između SKIP i DIRECT je u tome da li se rezidualni parametri šalju ili ne. Parametri (npr. za predviđanje) od SKIP i DIRECT mogu da se zaključe iz bilo kog od odgovarajućih kandidata. Indeks kandidata je kodiran, koji signalizira koji kandidat se koristi za zaključivanje parametara kodiranja. Ako se više predviđanja kombinuje kako bi se formirao konačni signal predviđanja za trenutni blok (kao u bi-prediktivnim blokovima koji se koriste u H.264 B-frejmovima), svako predviđanje može da se odnosi na drugog kandidata. Time za svako predviđanje može da se kodira indeks kandidata.
[0095] U jednom poželjnom izvođenju pronalaska, lista kandidata za SKIP/DIRECT može da sadrži različite blokove kandidata u odnosu na listu kandidata za režime objedinjavanja. Jedan primer je ilustrovan na Slici 10. Lista kandidata može da sadrži sledeće blokove (trenutni blok je označen sa Xi):
· Vektor Kretanja (0,0)
· Srednji (između Levi, Iznad, Ugaoni)
· Levi blok (Li)
· blok Iznad (Ai)
· Ugaoni blokovi (redom: Gore Desno (Ci1), Ispod Levo (Ci2), Gore Levo (Ci3))
· Kolocirani blok na drugačijoj, ali već kodiranoj slici
[0096] Sledeća notacija se koristi za opisivanje sledećih primera izvođenja:
· set_mvp_ori je skup kandidata koji se koriste za SKIP/DIRECT režim. Ovaj skup se sastoji od {Srednji, Levi, Iznad, Ugaoni, Kolocirani}, gde je Srednji medijana (srednja vrednost u uređenom skupu od Levi, Iznad i Ugaoni), a kolocirani je dat prema najbližem referentnom frejmu (ili prvoj referentnoj slici na jednoj od lista referentnih slika), a odgovarajući vektori pokreta su skalirani prema vremenskoj udaljenosti. Vektor Kretanja sa obe komponente jednake 0 može dodatno da se ubaci u listu kandidata, na primer ako nema blokova Levi, Iznad, Ugaoni.
· set_mvp_comb je podskup skupa set_mvp_ori.
[0097] U jednom poželjnom izvođenju, podržani su i SKIP/DIRECT režimi i režimi objedinjavanja blokova. Režimi SKIP/DIRECT koriste originalni skup kandidata, set_mvp_ori. Informacija o objedinjavanju koja se odnosi na režim objedinjavanja blokova može da sadrži kombinovani element sintakse mrg_cbf.
[0098] U još jednom izvođenju, podržani su i SKIP/DIRECT režim i režimi objedinjavanja blokova, ali SKIP/DIRECT režimi koriste modifikovani skup kandidata, set_mvp_comb. Ovaj modifikovani skup kandidata može da bude poseban podskup originalnog skupa set_mvp_ori. U jednom poželjnom izvođenju, modifikovani skup kandidata sastavljen je od Ugaonih blokova i Kolociranog bloka. U još jednom izvođenju, modifikovani skup kandidata sastavljen je samo od Kolociranog bloka. Mogući su i dalji podskupovi.
[0099] U još jednom izvođenju, informacija o objedinjavanju koja sadrži element sintakse mrg_cbf kodira se pre parametara vezanih za režim SKIP.
[0100] U još jednom izvođenju, parametri povezani sa režimom SKIP kodirani su pre informacije o objedinjavanju koja sadrži element sintakse mrg_cbf.
[0101] Prema jednom drugom izvođenju, režim DIRECT možda neće biti aktiviran (čak nije ni prisutan), a objedinjavanje blokova ima prošireni skup kandidata sa režimom SKIP zamenjenim sa mrg_cbf.
[0102] U jednom poželjnom izvođenju, lista kandidata za objedinjavanje blokova može da sadrži različite kandidate blokova. Primer je ilustrovan na Slici 10. Lista kandidata može da uključuje sledeće blokove (trenutni blok je označen sa Xi):
· Vektor Kretanja (0,0)
· Levi blok (Li)
· blok Iznad (Ai)
· Kolocirani blok na drugačijoj, ali već kodiranoj slici
· Ugaoni blokovi (redom: Gore Desno (Ci1), Ispod Levo (Ci2), Gore Levo (Ci3)
· Kombinovani bi-prediktivni kandidati
· Bi-prediktivni kandidati koji nisu skalirani
[0103] Treba da se napomene da pozicija kandidata za objedinjavanje blokova može da bude ista kao lista MVP-a u inter predikciji radi uštede pristupa memoriji.
[0104] Dalje, lista može da se „popravi“ na gore opisani način kako bi se dekuplovalo raščlanjivanje i rekonstrukcija radi poboljšanja protoka raščlanjivanja i da bi bila robusnija u pogledu gubitka informacija.
3. Kodiranje CBF-a
[0105] U jednom poželjnom izvođenju, ako je element sintakse mrg_cfb jednak 0 (signalizira da blok nije objedinjen ili da sadrži rezidualne podatke koji nisu nula), prenosi se fleg koji signalizira da li su sve komponente (npr. luma i dve hroma komponente) rezidualnih podataka nule ili ne. Ovaj fleg se ne prenosi ako je mrg_cfb jednako 1. U određenoj konfiguraciji, ovaj fleg se ne prenosi ako je mrg_cfb jednak 0 i element sintakse mrg specificira da je blok objedinjen.
[0106] U još jednom poželjnom izvođenju, ako je element sintakse mrg_cfb jednak 0 (signalizira da blok ili nije objedinjen ili da sadrži rezidualne podatke koji nisu nula), prenosi se zasebni element sintakse za svaku komponentu koji signalizira da li su rezidualni podaci za komponentu nule ili nisu.
[0107] Za mrg_cbf mogu da se koriste različiti kontekstni modeli.
[0108] Prema tome, gore prikazana rešenja, između ostalog, opisuju uređaj za kodiranje slike koji sadrži
razdelnik podešen da podeli sliku na skupove uzoraka;
uređaj za objedinjavanje konfigurisan da objedini skupove uzoraka u disjunktne skupove od po jednog ili više skupova uzoraka svaki;
enkoder konfigurisan da kodira sliku korišćenjem parametara kodiranja koji se razlikuju duž slike u jedinicama disjunkntnih skupova od skupova uzoraka, pri čemu je enkoder konfigurisan da kodira sliku predviđanjem slike i kodiranjem reziduala predviđanja za unapred određene skupove uzoraka; i
generator niza konfigurisan da umetne rezidual predviđanja i parametre kodiranja u niz bitova, zajedno sa jednim ili više elemenata sintakse za svaki od najmanje podskupa skupova uzoraka, signalizirajući da li je odgovarajući skup uzoraka objedinjen u jedan od disjunktnih skupova zajedno sa drugim skupom uzoraka ili ne.
[0109] Dalje, opisan je uređaj za dekodiranje niza bitova koji sadrži kodiranu sliku, koji sadrži
razdelnik konfigurisan da podeli sliku na skupove uzoraka;
uređaj za objedinjavanje konfigurisan da objedini skupove uzoraka u disjunktne skupove od po jednog ili više skupova uzoraka svaki;
dekoder konfigurisan da dekodira sliku korišćenjem parametara kodiranja koji se razlikuju duž slike u jedinicama disjunktnih skupova od skupova uzoraka, pri čemu je dekoder konfigurisan da dekodira sliku predviđanjem slike, dekodiranjem reziduala predviđanja za unapred određene skupove uzoraka i kombinovanjem reziduala predviđanja i predviđanja koje rezultuje iz predviđanja slike, za unapred određene skupove uzoraka;
ekstraktor konfigurisan da ekstrahuje rezidual predviđanja i parametare kodiranja iz niza bitova, zajedno sa jednim ili više elemenata sintakse za svaki od najmanje podskupa od skupova uzoraka, signalizirajući da li respektivni skup uzoraka treba da se objedini u jedan od disjunktnih skupova zajedno sa drugim skupom uzoraka ili ne, pri čemu je uređaj za objedinjavanje konfigurisan da izvede objedinjavanje odgovarajući na elemente sintakse.
[0110] Jedno od mogućih stanja jednog ili više elemenata sintakse signalizira da će respektivni skup uzoraka da se objedini u jedan od disjunktnih skupova zajedno sa drugim skupom uzoraka i nema kodiran reziduala predviđanja umetnut u niz bitova.
[0111] Ekstraktor takođe može da se konfiguriše da ekstrahuje informacije o podeli iz niza bitova, a razdelnik je konfigurisan da podeli sliku na skupove uzoraka responzivne na informacije o podeli.
[0112] Ekstraktor i uređaj za objedinjavanje mogu, na primer, da budu konfigurisani da sekvencijalno prolaze kroz skupove uzoraka prema redosledu skeniranja skupa uzoraka i da, za trenutni skup uzoraka,
ekstrahuju prvi binarni element sintakse (mrg_cbf) iz niza bitova;
ako prvi binarni element sintakse zauzima prvo binarno stanje, objedine trenutni skup uzoraka u jedan od disjunktnih skupova zaključivanjem da su parametri kodiranja za trenutni skup uzoraka jednaki sa parametrima kodiranja koji su povezani sa ovim disjunktnim skupom, preskoče ekstrakciju reziduala predviđanja za trenutni skup uzoraka i pređu na sledeći skup uzoraka u redosledu skeniranja skupa uzoraka;
ako prvi binarni element sintakse zauzima drugo binarno stanje, ekstrahuju drugi element sintakse (mrg, mrg_idx) iz niza bitova; i
zavisno od drugog elementa sintakse, objedine trenutni skup uzoraka u jedan od disjunktnih skupova zaključivanjem da su parametri kodiranja za trenutni skup uzoraka jednaki sa parametrima kodiranja koji su povezani sa ovim disjunktnim skupom ili izvrše ekstrakciju parametara kodiranja za trenutni skup uzoraka, sa ekstrakcijom barem još jednog elementa sintakse koji se odnosi na rezidual predviđanja za trenutni skup uzoraka.
[0113] Jedan ili više elemenata sintakse za svaki od barem podskupa od skupova uzoraka takođe mogu da signaliziraju sa kojim od skupova unapred određenih skupova kandidata uzoraka, koji se nalaze u susedstvu sa respektivnim skupom uzoraka, respektivni skup uzoraka treba da se objedini, ako respektivni skup uzoraka treba da se objedini u bilo koji od disjunktnih skupova zajedno sa još jednim skupom uzoraka.
[0114] Ekstraktor može da bude konfigurisan da, ako jedan ili više elemenata sintakse ne signalizira da respektivni skup uzoraka treba da se objedini u bilo koji od disjunktnih skupova zajedno sa još jednim skupom uzoraka,
ekstrahuje iz niza bitova jedan ili više daljih elemenata sintakse (režim SKIP/DIRECT) koji signaliziraju da li, i iz kojeg od daljeg skupa unapred određenih skupova kandidata uzoraka koji se nalaze u susedstvu sa respektivnim skupom uzoraka, treba da se predvidi barem deo parametara kodiranja za respektivni skup uzoraka.
[0115] U tom slučaju, skup unapred određenih skupova kandidata uzoraka i dalji skup predodređenih skupova kandidata uzoraka mogu da budu disjunktni ili da imaju presek u odnosu na manjinu unapred određenih skupova kandidata uzoraka iz skupa unapred određenih skupova kandidata uzoraka i daljeg skupa unapred određenih skupova kandidata uzoraka, respektivno.
[0116] Ekstraktor takođe može da bude konfigurisan da ekstrahuje informacije o podeli iz niza bitova, a razdelnik je konfigurisan da hijerarhijski podeli sliku na skupove uzoraka responzivne sa informacijama o podeli, a ekstraktor je konfigurisan da sekvencijalno prolazi kroz decu skupove uzoraka od roditelja skupa uzoraka, koji se sastoji od skupova uzoraka na koje je slika podeljena, i, za trenutni dete skup uzoraka,
ekstrahuju prvi binarni element sintakse (mrg_cbf) iz niza bitova;
ako prvi binarni element sintakse zauzima prvo binarno stanje, objedine trenutni dete skup uzoraka u jedan od disjunktnih skupova zaključivanjem da su parametri kodiranja za trenutni dete skup uzoraka jednaki sa parametrima kodiranja povezanim sa ovim disjunktnim skupom, preskoče ekstrakciju reziduala predviđanja za trenutni dete skup uzoraka i pređu na sledeće deca skupove uzoraka;
ako prvi binarni element sintakse zauzima drugo binarno stanje, izdvoje drugi element sintakse (mrg, mrg_idx) iz niza bitova; i
zavisno od drugog elementa sintakse, objedine trenutni dete skup uzoraka u jedan od disjunktnih skupova zaključivanjem da su parametri kodiranja za trenutni dete skup uzoraka jednaki sa parametrima kodiranja povezanim sa ovim disjunknim skupom ili izvrše ekstrakciju parametara kodiranja za trenutni dete skup uzoraka, sa ekstrakcijom barem još jednog daljeg elementa sintakse koji se odnosi na rezidual predviđanja za trenutni dete skup uzoraka, a zatim prelaženjem na sledeći od deca skupova uzoraka,
sa, za sledeće deca skupove uzoraka, preskakanjem ekstrakcije prvog binarnog elementa sintakse ako prvi binarni element sintakse trenutnog dete skupa uzoraka zauzima prvo binarno stanje i počinjanjem ekstrakcije drugog elementa sintakes umesto toga, i ekstrakcijom prvog binarnog elementa sintakse ako prvi binarni element sintakse za trenutni dete skup uzoraka zauzima drugo binarno stanje.
[0117] Pretpostavimo, na primer, da je roditelj skup uzoraka (CU) podeljen na dva dete skupa uzoraka (PU). Ako je, onda, za prvi PU, prvi binarni element sintakse (merge_cbf) ima prvo binarno stanje 1) prvi PU koristi objedinjavanje, a prvi i drugi PU (ceo CU) nemaju rezidualne podatke u nizu bitova, i 2) za drugi PU se signalizira drugi binarni element sintakse (merge_flag, merge_idx). Međutim, ako prvi binarni element sintakse za prvi PU ima drugo binarno stanje, tada 1) za prvi PU, drugi binarni element sintakse (merge_flag, merge idx) je signaliziran, a rezidualni podaci su takođe u nizu bitova, dok je 2) za drugi PU signaliziran prvi binarni element sintakse (merge_cbf). Prema tome, može da se desi da je merge_cbf takođe signaliziran na nivou PU, tj. za sukcesivne deca skupove uzoraka, ako je merge_cbf u sekundarnom binarnom stanju za sve prethodne deca skupove uzoraka. Ako je merge_cbf u prvom binarnom stanju za sukcesifni dete skup uzoraka, svi deca skupovi uzoraka koji prate ovaj dete skup uzoraka nemaju rezidualne podatke u nizu bitova. Na primer, za CU podeljen na, na primer, 4 PU-a, moguće je da je merge_cbf u prvom binarnom stanju za drugi PU što znači da treći i četvrti PU u redosledu kodiranja nemaju rezidualne podatke u nizu bitova, već ih prvi PU ima ili može da ih ima.
[0118] Prvi i drugi binarni elementi sintakse mogu da se kodiraju korišćenjem kodiranja promenljive dužine ili aritmetičkog kodiranja prilagođenog kontekstu (binarnog), a konteksti za kodiranje elemenata sintakse izvedeni su na osnovu vrednosti ovih elemenata sintakse u već kodiranim blokovima.
[0119] Kao što je opisano u drugim poželjnim primerima izvođenja, element sintakse merge_idx može da se prenese samo ako lista kandidata sadrži više od jednog kandidata. Ovo zahteva da se lista izvede pre raščlanjivanja indeksa objedinjavanja, sprečavajući da se ova dva procesa izvedu u paraleli. Da bi se omogućio veći protok raščlanjivanja i da bi se proces raščlanjivanja učinio robusnijim u odnosu na greške u prenosu, moguće je da se ukloni ova zavisnost korišćenjem fiksne kodne reči za svaku vrednost indeksa i fiksnog broja kandidata. Ako ovaj broj možda ne može da se dostigne odabirom kandidata, moguće je da se izvedu pomoćni kandidati za kompletiranje liste. Ovi dodatni kandidati mogu da uključuju takozvane kombinovane kandidate, koji su napravljeni od parametara kretanja od moguće različitih kandidata koji se već nalaze na listi, i nula vektora kretanja.
[0120] U još jednom poželjnom izvođenju, sintaksa za signalizaciju koji od blokova iz skupa kandidata se istovremeno adaptira na enkoderu i dekoderu. Ako su, na primer, data 3 izbora blokova za objedinjavanje, ta tri izbora su prisutna samo u sintaksi i uzimaju se u obzir za entropijsko kodiranje. Verovatnoće za sve ostale izbore smatraju se ravne sa 0 i entropijski kodek se podešava istovremeno na enkoderu i dekoderu.
[0121] Parametri predviđanja koji se izvode kao posledica procesa objedinjavanja mogu da predstavljaju kompletan skup parametara predviđanja koji su povezani sa blokom ili mogu da predstavljaju podskup ovih parametara predviđanja (npr. parametri predviđanja za jednu hipotezu bloka za koji se koristi multi-hypotheses predikcija).
[0122] U jednom poželjnom izvođenju, elementi sintakse koji se odnose na informacije o objedinjavanju entropijski su kodirani korišćenjem kontekstnog modeliranja.
[0123] Jedan od načina prenošenja gore opisanih rešenja u specifičnu sintaksu objašnjen je u nastavku u odnosu na sledeće slike. Naročito, Sl. 11-13 prikazuju različite delove sintakse koja koristi prednosti gore opisanih rešenja. Naročito, u skladu sa dole prikazanim izvođenjem, slika 20 je prvo podeljena na blokove stabla kodiranja čiji je sadržaj slike kodiran pomoću sintakse coding_tree prikazane na Sl. 11. Kao što je u njoj prikazano, za entropi_coding_mode_flag=1, koji se odnosi, na primer, na binarno aritmetičko kodiranje koje se prilagođava kontekstu ili na drugi specifičan entropijski režim kodiranja, quad-tree podela trenutnog kodiranja bloka stabla signalizira se unutar dela sintakse coding_tree putem flegova pod nazivom split_coding_unit_flag kod oznake 400. Kao što je prikazano na Sl. 11, u skladu sa izvođenjem opisanim u daljem tekstu, blok korena stabla podeljen je kao što je signalizirano sa split_coding_unit_fleg u redosledu prelaska po dubini kao što je prikazano na Sl. 7a. Kad god se dođe do lisnog čvora, isti predstavlja jedinicu kodiranja koja se odmah kodira pomoću sintaksičke funkcije coding_unit. Ovo može da se vidi sa Sl. 11 kada se pogleda if-klauzula kod oznake 402 koja proverava da li je trenutni split_coding_unit_fleg postavljen ili nije. Ako je odgovor da, funkcija coding_tree se rekurzivno poziva, što dovodi do daljeg prenosa/ekstrakcije daljeg flega split_coding_unit_flag na enkoderu i dekoderu, respektivno. Ako je odgovor ne, tj. ako je split_coding_unit_flag=0, trenutni podblok bloka 200 korena stabla sa Sl. 7a je blok lista i da bi se kodirala ova jedinica kodiranja, funkcija coding_unit sa Sl. 10 se poziva kod oznake 404.
[0124] U izvođenju koje se ovde opisuje, koristi se gore navedena opcija prema kojoj je objedinjavanje samo upotrebljivo za slike za koje je dostupan režim inter predikcije. To jest, intra-kodirani isečci/slike ionako ne koriste objedinjavanje. To je vidljivo sa Sl. 12, gde se fleg skip_flag prenosi kod oznake 406 samo u slučaju da je tip isečka nije jednak tipu isečka unutar slike, tj. ako trenutni isečak kojem pripada trenutna jedinica kodiranja dozvoljava da particije budu inter kodirane. Objedinjavanje se, u skladu sa predmetnim izvođenjem, odnosi samo na parametre predviđanja koji se odnose na inter predikciju. U skladu sa predmetnim izvođenjem, skip_flag se signalizira za celu kodirajuću jedinicu 40 i ako je skip_flag jednak 1, ova vrednost flega istovremeno signalizira dekoderu
1) da je režim particionisanja za trenutnu jedinicu kodiranja režim bez particionisanja prema kojem ista nije particionisana i predstavlja jedinu particiju te jedinice kodiranja,
2) da je trenutna kodirajuća jedinica/particija inter-kodirana, tj. dodeljena režimu inter kodiranja,
3) da je trenutna jedinica kodiranja/particija podložna objedinjavanju i
4) da je trenutna jedinica kodiranja/particija podložna režimu preskakanja, odnosno da je aktiviran režim preskakanja.
[0125] Shodno tome, ako je skip_flag postavljen, funkcija prediction_unit se poziva kod oznake 408 sa označavanjem trenutne jedinice kodiranja kao jedinice predviđanja. Ovo, međutim, nije jedina mogućnost za uključivanje opcije objedinjavanja. Umesto toga, ako skip_flag koji se odnosi na celu jedinicu kodiranja nije postavljen kod oznake 406, tip predviđanja jedinice kodiranja isečka ne-unutar slike signalizira se kod oznake 410 elementom sintakse pred_tipe sa, u zavisnosti od toga, pozivanjem funkcije prediction_unit za bilo koju particiju trenutne jedinice kodiranja na, na primer, 412 u slučaju da trenutna jedinica kodiranja nije dalje particionisana. Na Sl. 12 prikazane su kao dostupne samo četiri različite opcije particionisanja, ali mogu da budu dostupne i druge opcije particionisanja prikazane na Sl. 8. Druga mogućnost bi bila da nije dostupna opcija particioniranja PART_NxN, već ostale. Povezanost naziva za režime particionisanja koji se koriste na Sl. 12 sa opcijama particionisanja prikazanim na Sl. 8 naznačena je na Sl. 8 odgovarajućim indeksima ispod pojedinačnih opcija particionisanja. Treba imati u vidu da element sintakse tipa predviđanja pred_tipe ne signalizira samo režim predviđanja, tj. intra ili inter kodiranje, već i particionisanje u slučaju režima inter-kodiranja. Slučaj režima inter-kodiranja se razmatra dalje. Funkcija prediction_unit se poziva za svaku particiju, kao što su particije 50 i 60 u gore navedenom redosledu kodiranja. Funkcija prediction_unit počinje proverom skip_flag kod oznake 414. Ako je skip_flag podešen, merge_idx neizbežno sledi kod oznake 416. Provera u koraku 414 služi za proveru da li je skip_flag koji se odnosi na celu jedinicu kodiranja signaliziranu kod 406 podešen ili nije. Ako nije, merge_flag se ponovo signalizira kod 418, a ako je potonji podešen, sledi merge_idx kod 420 koji označava kandidata za objedinjavanje za trenutnu particiju. Opet, merge_fleg je signaliziran za trenutnu particiju na 418 samo u slučaju da je trenutni režim predviđanja trenutne kodirajuće jedinice režim inter predikcije (vidi 422). To jest, u slučaju da skip_flag nije podešen, režim predviđanja signalizira se putem pred_type kod 410, pri čemu, za svaku jedinicu predviđanja, pod uslovom da pred_type signalizira da je režim interkodiranja aktivan (vidi 422), oznaka za objedinjavanje, naime merge_flag, prenosi se pojedinačno za svaku particiju koja sledi, ako je objedinjavanje aktivirano za odgovarajuću particiju pomoću indeksa objedinjavanja merge_idx.
[0126] Kao što je vidljivo sa Sl. 13, prenos parametara predviđanja u upotrebi za trenutnu jedinicu predviđanja kod 424, u skladu sa predmetnim primerom izvođenja, vrši se samo u slučaju da se objedinjavanje ne koristi za ovu jedinicu predviđanja, tj. da nije aktivirano ni sa skip_flag niti sa respektivnim merge_flag respektivne particije.
[0127] Kao što je već naznačeno gore, skip_flag=1 istovremeno signalizira da se ne prenose rezidualni podaci. Ovo može da se izvede iz činjenice da se prenos rezidualnih podataka kod 426 na Sl. 12 za trenutnu jedinicu kodiranja odvija samo u slučaju da je skip_flag jednak 0, što može da se izvede iz činjenice da je ovaj prenos rezidualnih podataka unutar druge mogućnost if-klauzule 428 koja proverava stanje za skip_flag odmah nakon njegovog prenosa.
[0128] Do sada, rešenje prikazano na Sl. 11 do 13 opisano je samo pod pretpostavkom da je entropi_coding_mode_flag jednak 1. Međutim, primeri izvođenja sa Sl. 11 do 13 takođe sadrže varijantu gore opisanih izvođenja u slučaju entropi_coding_mode_flag=0, u kom slučaju se koristi drugi režim entropijskog kodiranja kako bi se entropijski kodirali elementi sintakse, kao što je, na primer, kodiranje promenljive dužine i, da bi bilo preciznije, na primer kodiranje promenljive dužine prilagođeno kontekstu. Naročito, mogućnost istovremenog signaliziranja aktivacije objedinjavanja s jedne strane i režima preskakanja s druge strane sledi gore navedenu alternativu prema kojoj je uobičajeno signalno stanje samo jedno stanje među više od dva stanja odgovarajućeg elementa sintakse. Ovo je sada detaljnije opisano. Međutim, naglašeno je da je mogućnost prebacivanja između oba režima entropijskog kodiranja opcionalna, pa se stoga alternativni primeri izvođenja mogu lako da se izvedu sa Sl. 11 do 13 samo dopuštanjem jednog od dva režima entropijskog kodiranja.
[0129] Pogledati, na primer, Sl. 11. Ako je entropi_coding_mode_flag jednak 0, a element sintakse tipa isečka signalizira da trenutni blok korena stabla pripada inter-kodiranom isečku, odnosno da je dostupan režim inter kodiranja, tada se element sintakse cu_splitjpred_part_mode prenosi kod 430, a ovaj element sintakse signalizira, kao što je naznačeno putem njegovog naziva, informacije o daljoj podeli trenutne jedinice kodiranja, aktiviranje ili deaktiviranje režima preskakanja, aktiviranje ili deaktiviranje objedinjavanja i režim predviđanja zajedno sa respektivnim informacijama o particionisanju. Videti tabelu 1: Tabela 1
[0130] Tabela 1 specificira značaj mogućih stanja elemenata sintakse cu_split_pred_part_mode u slučaju da trenutna kodirajuća jedinica ima veličinu koja nije najmanja u quad-tree podeli trenutnog bloka korena stabla. Moguća stanja su navedena u krajnjoj levoj koloni tabele 1. Kako se tabela 1 odnosi na slučaj kada trenutna kodirajuća jedinica nema najmanju veličinu, postoji stanje cu_split_pred_part_mode, odnosno stanje 0, koje signalizira da trenutna kodirajuća jedinica nije stvarna kodirajuća jedinica, već mora da se podeli na dalje četiri jedinice koje se zatim prelaze po redosledu prelaska po dubini, kako je naznačeno ponovnim pozivanjem funkcije coding_tree kod 432. To jest, cu_split_pred_part_mode=0 signalizira da će se trenutna quad-tree jedinica podele trenutnog bloka korena stabla ponovo podeliti na još četiri manje jedinice, tj. split_coding_unit_flag=1. Međutim, ako cu_split_pred_part_mode zauzima bilo koje drugo moguće stanje, tada split_coding_unit_flag=0 i trenutna jedinica formira blok lista trenutnog bloka korena stabla, tj. kodirajuću jedinicu. U tom slučaju, jedno od preostalih mogućih stanja cu_split_pred_part_mode predstavlja gore opisano uobičajeno signalno stanje koje istovremeno signalizira da je trenutna jedinica kodiranja podložna objedinjavanju i da ima aktiviran režim preskakanja, označeno skip_flag jednakim 1 u trećoj koloni tabele 1, dok istovremeno signalizira da se ne vrši dalje particionisanje trenutne kodirajuće jedinice, tj. PART_2Nx2N je izabran kao način particionisanja. cu_split_pred_part_mode takođe ima moguće stanje koje signalizira aktivaciju objedinjavanja sa deaktiviranim režimom preskakanja. Ovo je moguće stanje 2, koje odgovara za skip_flag=0 dok je merge_flag=1 sa aktivnim režimom bez particionisanja, tj. PART_2Nx2N. To jest, u tom slučaju merge_flag se signalizira ranije, umesto unutar sintakse prediction_unit. U preostalim mogućim stanjima cu_split_pred_part_mode, režim inter predikcije sa drugim načinima particionisanja je signaliziran, pri čemu ti načini particionisanja dele trenutnu jedinicu kodiranja na više od jedne particije.
T l 2
[0131] Tabela 2 prikazuje značaj ili semantiku mogućih stanja cu_split_pred_part_mode u slučaju da trenutna kodirajuća jedinica ima najmanju moguću veličinu u skladu sa quad-tree podelom trenutnog bloka stabla korena. U tom slučaju, sva moguća stanja cu_split_pred_part_mode ne odgovaraju daljoj podeli prema split_coding_unit_flag=0. Međutim, moguće stanje 0 signalizira da je skip_flag=1, tj. istovremeno signalizira da je objedinjavanje aktivirano i da je režim preskakanja aktivan. Štaviše, isti signali da se ne vrši podela, tj. režim particionisanja PART_2Nx2N. Moguće stanje 1 odgovara mogućem stanju 2 tabele 1, a isto se odnosi i na moguće stanje 2 tabele 2, što odgovara mogućem stanju 3 tabele 1.
[0132] Iako je gornjim opisom izvođenja prikazanog na Sl. 11-13 već opisana većina funkcionalnosti i semantike, neke dalje informacije predstavljene su u nastavku.
[0133] skip_flag[x0][y0] jednak 1 specificira da za trenutnu jedinicu kodiranja (videti 40 na slikama), prilikom dekodiranja P ili B isečka, sintaksni elementi osim indeksa predviđanja vektora kretanja (merge_idx) više se ne analiziraju nakon skip_flag[x0][y0]. skip_flag[x0][y0] jednako 0 označava da jedinica kodiranja nije preskočena. Indeksi niza x0, y0 određuju lokaciju (x0, y0) gornjeg levog luma uzorka razmatrane kodirajuće jedinice u odnosu na gornji levi luma uzorak slike (videti 20 na slikama).
[0134] Kada skip_flag[x0][y0] nije prisutan, zaključiće se da je jednak sa 0.
[0135] Kao što je gore opisano ako je skip_flag[x0][y0] jednak 1,
- Zaključuje se da je PredMode jednak sa MODE_SKIP
- Zaključuje se da je PartMode jednak sa PART_2Nx2N
[0136] cu_split_pred_part_mode[x0][y0] specificira split_coding_unit_flag i kada jedinica kodiranja nije podeljena skip_flag[x0][y0], merge_flag[x0][y0], PredMode i PartMode jedinice kodiranja. Indeksi niza x0 i y0 određuju lokaciju (x0, y0) gornjeg levog luma uzorka kodirajuće jedinice u odnosu na gornji levi luma uzorak slike.
[0137] merge_flag[x0][y0] specificira da li su parametri inter predikcije za trenutnu jedinicu predviđanja (videti 50 i 60 na slikama, tj. particiju unutar kodirajuće jedinice 40) zaključeni iz susedne particije dobijene inter-predikcijom. Indeksi niza x0, y0 određuju lokaciju (x0, y0) gornjeg levog luma uzorka razmatranog bloka predviđanja u odnosu na gornji levi luma uzorak slike.
[0138] merge_idx [x0] [y0] specificira indeks kandidata za objedinjavanje liste kandidata za objedinjavanje gde x0, y0 određuju lokaciju (x0, y0) gornjeg levog luma uzorka razmatranog bloka predviđanja u odnosu na gornji levi luma uzorak slike.
[0139] Iako nije posebno naznačeno u gornjem opisu za Sl. 11-13, kandidati za objedinjavanje ili lista kandidata za objedinjavanje je određena u ovoj varijanti primerno koristeći ne samo parametre kodiranja ili parametre predviđanja prostorno susednih jedinica/particija predviđanja, već se lista kandidata takođe formira korišćenjem parametara predviđanja vremenski susednih particija vremenski susednih i prethodno kodiranih slika. Štaviše, kombinacije parametara predviđanja prostorno i/ili vremenski susedne jedinice/particije predviđanja se koriste i uključuju u listu kandidata za objedinjavanje. Naravno, može da se koristi samo podskup toga. Konkretno, Sl. 14 prikazuje jednu mogućnost određivanja prostornih suseda, odnosno prostorno susednih particija ili jedinica predviđanja. Sl. 14 prikazuje primer jedinice predviđanja ili particije 60 i piksela B0do B2i A0i A1koji se nalaze neposredno uz granicu 500 particije 60, naime B2je dijagonalno u blizini gornjeg levog piksela particije 60, a B1se nalazi vertikalno iznad i susedni gornji desni piksel particije 60, B0se nalazi dijagonalno prema na gornjem desnom pikselu particije 60, pri čemu se A1nalazi horizontalno levo od i u blizini donjeg levog piksela particije 60 i A0nalazi se dijagonalno do donjeg levog piksela particije 60. Particija koja uključuje najmanje jedan od piksela B0do B2i A0i A1formira prostornog suseda i njeni parametri predviđanja formiraju kandidata za objedinjavanje.
[0140] Da bi se izvršilo gore pomenuto opcionalno uklanjanje onih kandidata koji bi doveli do drugog režima particionisanja koji bi takođe bio dostupan, mogle bi da se koriste sledeće funkcije:
[0141] Naročito, kandidat N, tj. parametri kodiranja/predviđanja koji proizlaze iz jedinice/particije predviđanja koja pokriva piksel N = (B0, B1, B2, A0, A1), tj. pozicija (xN, yN), uklanja se sa liste kandidata ako je bilo koji od sledećih uslova ispunjen (videti Sl. 8 za način particionisanja PartMode i odgovarajući indeks particije PartIdx koji indeksira respektivnu particiju unutar jedinice kodiranja):
- PartMode trenutne jedinice predviđanja je PART_2NxN, a PartIdx je jednak 1, a jedinice predviđanja koje pokrivaju lokaciju lume (xP,yP - 1) (PartIdx = 0) i lokaciju lume (xN, yN) (Kand. N) imaju identične parametre kretanja:
- PartMode trenutne jedinice predviđanja je PART_Nx2N, a PartIdx je jednak 1, a jedinice predviđanja koje pokrivaju lokaciju lume (xP-1, yP) (PartIdx=0) i lokaciju lume (xN, yN) (Kand. N) imaju identične parametre kretanja:
- PartMode trenutne jedinice predviđanja je PART_NxN, a PartIdx jednak 3, a jedinice predviđanja koje pokrivaju lokaciju lume (xP-1, yP) (PartIdx=2) i lokaciju lume (xP-1, yP-1) (PartIdx=0) imaju identične parametre kretanja:
i jedinice predviđanja koje pokrivaju lokaciju lume (xP, yP-1) (PartIdx=1) i lokaciju lume (xN, yN) (Kand. N) imaju identične parametre kretanja:
- PartMode trenutne jedinice predviđanja je PART_NxN, a PartIdx jednak 3, a jedinice predviđanja koje pokrivaju lokaciju lume (xP, yP -1) (PartIdx = 1) i lokaciju lume (xP-1, yP-1) (PartIdx = 0) imaju identične parametre kretanja:
i jedinice predviđanja koje pokrivaju lokaciju lume (xP-1, yP) (PartIdx = 2) i luma lokacija (xN, yN) (Kand. N) imaju identične parametre kretanja:
[0142] S tim u vezi, treba imati na umu da položaj ili lokacija (xP, yP) označava najviši piksel trenutne jedinice particije/predviđanja. To jest, u skladu sa prvom tačkom, svi kandidati za parametre kodiranja se proveravaju koji su izvedeni direktnim usvajanjem respektivnih parametara kodiranja susednih jedinica predviđanja, naime jedinice predviđanja N. Ostali dodatni kandidati za parametre kodiranja mogu se, međutim, proveriti na isti način da li su isti jednaki parametrima kodiranja odgovarajuće jedinice predviđanja koji se pojavljuju, što bi rezultiralo dobijanjem drugog obrasca particionisanja takođe podržanog sintaksom. U skladu sa upravo opisanim primerima izvođenja, jednakost parametara kodiranja obuhvata proveru jednakosti vektora kretanja, tj. mvLX, referentnog indeksa, tj. refIxLX, i flega predviđanja predFlagLX koji ukazuje na to da parametri, odnosno vektor kretanja i referentni indeks, povezani sa referentnom listom X, pri čemu je X 0 ili 1, koriste se u inter predikciji.
[0143] Treba imati na umu da bi upravo opisana mogućnost uklanjanja kandidata za parametre kodiranja susednih jedinica predviđanja/particija bila primenljiva i u slučaju podržavanja asimetričnih režima particionisanja prikazanih u desnoj polovini Sl. 8. U tom slučaju, režim PART_2NxN mogao bi da predstavlja sve režime horizontalne podele, a PART_Nx2N bi mogao da odgovara svim režimima vertikalne podele. Nadalje, režim PART_NxN mogao bi da se isključi iz podržanih režima particionisanja ili obrazaca particionisanja u tom slučaju, trebale bi da se izvršie samo prve dve provere uklanjanja.
[0144] Što se tiče izvođenja prikazanog na Sl. 11-14, takođe treba napomenuti da je moguće isključiti intra prediktovane particije sa liste kandidata, tj. njihovi parametri kodiranja, naravno, nisu uključeni u listu kandidata.
[0145] Nadalje, primećeno je da mogu da se koriste tri konteksta za skip_flag, merge_flag i merge_idx, respektivno.
[0146] Iako su neki aspekti opisani u kontekstu uređaja, jasno je da ti aspekti takođe predstavljaju opis odgovarajućeg postupka, gde blok ili uređaj odgovaraju koraku postupka ili svojstvu koraka postupka. Analogno tome, aspekti opisani u kontekstu koraka postupka takođe predstavljaju opis odgovarajućeg bloka ili stavke ili svojstva odgovarajućeg uređaja. Neki ili svi koraci postupka mogu da budu izvedeni od strane (ili upotrebom) hardverskog uređaja, kao što je, na primer, mikroprocesor, programabilni računar ili elektronsko kolo. U nekim izvođenjima, neki jedan ili više najvažnijih koraka postupka mogu da se izvrše od strane takvog uređaja.
[0147] U zavisnosti od određenih zahteva implementacije, izvođenja pronalaska mogu da se implementiraju u hardveru ili u softveru. Implementacija može da se izvede korišćenjem digitalnog medijuma za skladištenje, na primer flopi diskete, DVD, Blue-Ray, CD, ROM, PROM, EPROM, EEPROM ili FLASH memorije, sa elektronski čitljivim kontrolnim signalima na njima, koji sarađuju (ili su sposobni za saradnju) sa programabilnim računarskim sistemom tako da se izvede respektivni postupak. Zbog toga digitalni medij za skladištenje može da bude računarski čitljiv.
[0148] Neka izvođenja prema pronalasku sadrže nosač podataka koji ima elektronski čitljive upravljačke signale, koji su sposobni da sarađuju sa programabilnim računarskim sistemom, tako da se izvodi jedan od postupaka opisanih ovde.
[0149] Generalno, rešenja prema predmetnom pronalasku mogu da se primene kao računarski programski proizvod sa programskim kodom, pri čemu je programski kod operativan za izvođenje jednog od postupaka kada se računarski programski proizvod izvršava na računaru. Programski kod može, na primer, da bude uskladišten na mašinski čitljivom nosaču.
[0150] Druga rešenja obuhvataju računarski program za izvođenje jednog od ovde opisanih postupaka, uskladišten na mašinski čitljivom nosaču.
[0151] Drugim rečima, rešenje inventivnog postupka je, prema tome, računarski program koji ima programski kod za izvođenje jednog od ovde opisanih postupaka, kada se računarski program izvršava na računaru.
[0152] Dalje rešenje ovog inventivnog postupka je, prema tome, nosač podataka (ili digitalni medijum za skladištenje, ili računar čitljiv medij) koji sadrži, snimljen na njemu, računarski program za izvođenje jednog od ovde opisanih postupaka. Nosač podataka, digitalni medij za skladištenje ili snimljeni medij su tipično opipljivi i/ili neprelazni.
[0153] Dalje rešenje ovog inventivnog postupka je, prema tome, tok podataka ili sekvenca signala koji predstavljaju računarski program za izvođenje jednog od ovde opisanih postupaka. Tok podataka ili sekvenca signala mogu, na primer, da budu konfigurisani za prenos preko veze za prenos podataka, na primer preko Interneta.
[0154] Jedno dalje rešenje sadrži sredstvo za obradu, na primer računar, ili programabilni logički uređaj, konfigurisan ili prilagođen za izvođenje jednog od ovde opisanih postupaka.
[0155] Dalji primer izvođenja sadrži računar na kojem je instaliran računarski program za izvođenje jednog od ovde opisanih postupaka.
[0156] Jedno dalje rešenje sadrži uređaj ili sistem konfigurisan za prenos (na primer, elektronski ili optički) računarskog programa za izvođenje jednog od ovde opisanih postupaka na prijemnik. Prijemnik može, na primer, da bude računar, mobilni uređaj, memorijski uređaj ili slično. Uređaj ili sistem mogu, na primer, da sadrže fajl server za prenos računarskog programa na prijemnik.
[0157] U nekim rešenjima, programabilni logički uređaj (na primer polje programabilnog niza gejtova) može da se koristi za izvođenje nekih ili svih funkcionalnosti ovde opisanih postupaka. U nekim rešenjima, programabilno polje logičkih kola može da sarađuje sa mikroprocesorom radi izvođenja jednog od ovde opisanih postupaka. Generalno, postupci se poželjno izvode bilo kojim hardverskim uređajem.
Claims (15)
1. Uređaj konfigurisan da dekodira niz bitova (30) u kojem je kodirana slika (20) predstavljena kao niz uzoraka, pri čemu je niz uzoraka slike particionisan u skupove uzoraka koji su pravougaoni ili kvadratni blokovi, i od kojih je svaki povezan sa respektivnim parametrima kodiranja, gde je uređaj konfigurisan da postavi, za trenutni skup uzoraka, parametre kodiranja koji su povezani sa trenutnim skupom uzoraka u skladu sa kandidatom za objedinjavanje objedinjavanjem sa kandidatom za objedinjavanje ili da preuzme parametre kodiranja povezane sa trenutnim skupom uzoraka iz niza bitova (30), i koji je konfigurisan da rekonstruiše trenutni skup uzoraka (40) slike (20) na osnovu signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka (40), bez ikakvih rezidualnih podataka, ili da rekonstruiše trenutni skup uzoraka prečišćavanjem signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka (40) pomoću rezidualnih podataka u nizu bitova (30),
pri čemu je uređaj konfigurisan da bude uobičajeno responzivan na prvi fleg unutar niza bitova (30) koji ima prvo stanje flega kako bi se objedinjavanjem sa kandidatom za objedinjavanje dobili parametri kodiranja povezani sa trenutnim skupom uzoraka (40) i rekonstruisao trenutni skup uzoraka (40) slike (20) na osnovu signala predviđanja u zavisnosti od parametara kodiranja bez ikakvih rezidualnih podataka, i pri čemu je uređaj konfigurisan tako da bude responzivan na prvi fleg koji ima drugo stanje flega tako da dekodira drugi fleg iz niza bitova (30) u slučaju da prvi fleg ima drugo moguće stanje flega,
naznačen time što je uređaj konfigurisan tako da bude responzivan na
drugi fleg u nizu bitova koji ima prvo stanje flega, tako da
ekstrahuje parametre kodiranja povezane sa trenutnim skupom uzoraka (40) iz niza bitova (30), pribavi rezidualne podatke za trenutni skup uzoraka (40) iz niza bitova (30) i rekonstruišite trenutni skup uzoraka (40) slike (20) na osnovu signala predviđanja i rezidualnih podataka, i
kada drugi fleg ima drugo stanje flega kako bi se dobili parametri kodiranja povezani sa trenutnim skupom uzoraka (40) postavljanjem navedenih parametara kodiranja objedinjavanjem sa kandidatom za objedinjavanje, pribavi rezidualne podatke za trenutni skup uzoraka (40) iz niza bitova (30) i rekonstruišite trenutni skup uzoraka (40) slike (20) na osnovu signala predviđanja i rezidualnih podataka.
2. Uređaj prema zahtevu 1, pri čemu
ako prvi fleg unutar niza bitova signalizira da parametri kodiranja povezani sa trenutnim skupom uzoraka treba da budu postavljeni objedinjavanjem sa kandidatom za objedinjavanje,
uređaj je konfigurisan da primeni unapred određeni među podržanim obrascima particionisanja za trenutni skup uzoraka, a
ako prvi fleg unutar niza bitova ne signalizira da se parametri kodiranja povezani sa trenutnim skupom uzoraka postavljaju objedinjavanjem sa kandidatom za objedinjavanje,
uređaj je konfigurisan da particioniše informacije unutar niza bitova i signalizira jedan od podržanih obrazaca particionisanja za trenutni skup uzoraka.
3. Uređaj prema zahtevu 2, pri čemu je unapred određeni među podržanim obrascima particionisanja režim bez particionisanja i
ako prvi fleg unutar niza bitova signalizira da parametri kodiranja povezani sa trenutnim skupom uzoraka treba da se postave objedinjavanjem sa kandidatom za objedinjavanje,
uređaj je konfigurisan da pribavi parametre kodiranja povezane sa trenutnim skupom uzoraka postavljanjem navedenih parametara kodiranja objedinjavanjem sa kandidatom za objedinjavanje, i rekonstruiše trenutni skup uzoraka slike samo na osnovu signala predviđanja u zavisnosti od parametara kodiranja bez ikakvih rezidualnih podataka, i
ako prvi fleg unutar niza bitova ne signalizira da parametri kodiranja povezani sa trenutnim skupom uzoraka treba da budu postavljeni objedinjavanjem sa kandidatom za objedinjavanje,
uređaj je konfigurisan da particioniše informacije unutar niza bitova i da signalizira jedan od podržanih obrazaca particionisanja za trenutni skup uzoraka, pribavi rezidualne podatke za trenutni skup uzoraka iz niza bitova,
za svaki podskup uzoraka signaliziranog podržanog obrasca particionisanja trenutnog skupa uzoraka, uređaj je konfigurisan da bude responzivan na dalji fleg unutar niza bitova, tako da je uređaj konfigurisan da, u zavisnosti od daljeg flega,
pribavi parametre kodiranja povezane sa respektivnim podskupom uzorka postavljanjem navedenih parametara kodiranja objedinjavanjem sa kandidatom za objedinjavanje, ili
ekstrahuje parametre kodiranja povezane sa respektivnim podskupom uzoraka iz niza bitova; i
rekonstruiše trenutni skup uzoraka slike na osnovu signala predviđanja u zavisnosti od parametara kodiranja svakog podskupa uzoraka i rezidualnih podataka.
4. Uređaj prema zahtevu 3, pri čemu je uređaj konfigurisan da
ako signalizirani podržani obrasci particionisanja specificiraju podpodelu trenutnog skupa uzoraka na dva ili više podskupova uzoraka,
ukloni
za sve podskupove uzoraka osim prvog podskupa uzoraka podskupova u redosledu kodiranja,
iz skupa kandidata za objedinjavanje za respektivni podskup uzoraka,
kandidate za objedinjavanje koji imaju parametre kodiranja koji su isti kao parametri kodiranja povezani sa bilo kojim od podskupova uzoraka, što bi, kada se objedini sa respektivnim podskupom uzoraka, rezultiralo jednim od podržanih obrazaca particionisanja.
5. Uređaj prema bilo kom od zahteva 1 do 4, pri čemu slika ima pridruženu mapu dubine kao dodatnu informaciju.
6. Uređaj prema bilo kom od zahteva 1 do 4, pri čemu je niz uzoraka informacija jedan od niza uzoraka koji se odnose na različite ravni slike, koji su kodirani nezavisno jedan od drugog.
7. Uređaj za kodiranje slike (20) predstavljene kao niz uzoraka u nizu bitova (30), gde je niz uzoraka slike (20) particionisan u skupove uzoraka (40) koji su pravougaoni ili kvadratni blokovi, i od kojih je svaki povezan sa respektivnim parametrima kodiranja, gde je uređaj konfigurisan da postavi, za trenutni skup uzoraka, parametre kodiranja povezane sa trenutnim skupom uzoraka (40) u skladu sa kandidatom za objedinjavanje objedinjavanjem sa kandidatom za objedinjavanje ili da umetne parametre kodiranja povezane sa trenutnim skupom uzoraka u niz bitova (30), i konfigurisan je da kodira trenutni skup uzoraka (40) slike (20) na osnovu signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka (40), bez ikakvih rezidualnih podataka, ili da kodira trenutni skup uzoraka prečišćavanjem signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka (40) pomoću rezidualnih podataka u nizu bitova (30),
pri čemu je uređaj konfigurisan da kodira prvi fleg u niz bitova (30), gde prvi fleg koji ima prvo stanje flega tako da obično signalizira da parametri kodiranja povezani sa trenutnim skupom uzoraka (40) moraju da se dobiju objedinjavanjem sa kandidatom za objedinjavanje, a trenutni skup uzoraka (40) slike (20) treba da se rekonstruiše na osnovu signala predviđanja u zavisnosti od parametara kodiranja bez ikakvih rezidualnih podataka,
pri čemu je uređaj konfigurisan da kodira drugi fleg u niz bitova (30) u slučaju da prvi fleg ima drugo stanje flega,
naznačen time što drugi fleg signalizira da
parametri kodiranja povezani sa trenutnim skupom uzoraka (40) treba da se ekstrahuju iz niza bitova (30), da se rezidualni podaci za trenutni skup uzoraka (40) pribave iz niza bitova (30) i da se trenutni skup uzoraka (40) slike (20) rekonstruiše na osnovu signala predviđanja i rezidualnih podataka, u slučaju da drugi fleg ima prvo stanje flega, i
parametri kodiranja povezani sa trenutnim skupom uzoraka (40) treba da se pribave postavljanjem navedenih parametara kodiranja objedinjavanjem sa kandidatom za objedinjavanje, da rezidualni podaci za trenutni skup uzoraka (40) treba da se pribave iz niza bitova (30) i da trenutni skup uzoraka (40) slike (20) treba da se rekonstruiše na osnovu signala predviđanja i rezidualnih podataka u slučaju da drugi fleg ima drugo stanje flega.
8. Uređaj prema zahtevu 7, pri čemu slika ima pridruženu mapu dubine kao dodatnu informaciju.
9. Uređaj prema zahtevu 7, pri čemu je niz uzoraka jedan od niza uzoraka koji se odnose na različite ravni slike, koji su kodirani nezavisno jedan od drugog.
10. Postupak za dekodiranje niza bitova (30) u koji je kodirana slika (20) predstavljena kao niz uzoraka, gde je niz uzoraka slike particionisan na skupove uzoraka koji su pravougaoni ili kvadratni blokovi, i od kojih je svaki povezan sa respektivnim parametrima kodiranja, gde postupak sadrži za trenutni skup uzoraka, postavljanje parametara kodiranja povezanih sa trenutnim skupom uzoraka u skladu sa kandidatom za objedinjavanje objedinjavanjem sa kandidatom za objedinjavanje ili preuzimanje parametara kodiranja povezanih sa trenutnim setom uzoraka iz niza bitova (30), i rekonstruisanje trenutnog skupa uzoraka (40) slike (20) samo na osnovu signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka (40), bez ikakvih rezidualnih podataka, ili rekonstruisanje trenutnog skupa uzoraka prečišćavanjem signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka (40) pomoću rezidualnih podataka u nizu bitova (30), pri čemu postupak sadrži dekodiranje prvog flega i, u slučaju da prvi fleg ima prvo stanje flega,
pribavljanje parametara kodiranja povezanih sa trenutnim skupom uzoraka (40) objedinjavanjem sa kandidatom za objedinjavanje, i rekonstruisanje trenutnog skupa uzoraka (40) slike (20) na osnovu na signala predviđanja u zavisnosti od parametara kodiranja bez ikakvih rezidualnih podataka,
pri čemu postupak sadrži dekodiranje drugog flega iz niza bitova (30) u slučaju da prvi fleg ima drugo stanje flega,
naznačen time što postupak sadrži
ako drugi fleg u nizu bitova ima prvo stanje flega
ekstrahovanje parametara kodiranja povezanih sa trenutnim skupom uzoraka (40) iz niza bitova (30), pribavljanje rezidualnih podataka za trenutni skup uzoraka (40) iz niza bitova (30) i rekonstruisanje trenutnog skupa uzoraka (40) slike (20) na osnovu signala predviđanja i rezidualnih podataka, i
ako drugi fleg ima drugo stanje flega
pribavljanje parametara kodiranja povezanih sa trenutnim skupom uzoraka (40) postavljanjem navedenog parametara kodiranja objedinjavanjem sa kandidatom za objedinjavanje, pribavljanje rezidualnih podataka za trenutni skup uzoraka (40) iz niza bitova (30) i rekonstruisanje trenutnog skupa uzoraka (40) slike (20) na osnovu signala predviđanja i rezidualnih podataka.
11. Postupak za kodiranje slike (20) predstavljene kao niz uzoraka u nizu bitova (30), gde je niz uzoraka slike (20) particionisan u skupove uzoraka (40) koji su pravougaoni ili kvadratni blokovi, i od kojih je svaki povezan sa respektivnim parametrima kodiranja, gde postupak obuhvata za trenutni skup uzoraka, postavljanje parametara kodiranja povezanih sa trenutnim skupom uzoraka (40) u skladu sa kandidatom za objedinjavanje objedinjavanjem sa kandidatom za objedinjavanje ili umetanje parametara kodiranja povezanih sa trenutnim skupom uzoraka u niz bitova (30), i kodiranje trenutnog skupa uzoraka (40) slike (20) na osnovu signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka (40), bez ikakvih rezidualnih podataka, ili kodiranje trenutnog skupa uzoraka prečišćavanjem signala predviđanja u zavisnosti od parametara kodiranja povezanih sa trenutnim skupom uzoraka (40) pomoću rezidualnih podataka u nizu bitova (30),
pri čemu postupak sadrži kodiranje prvog flega u niz bitova (30) gde prvi fleg ima prvo stanje flega koje obično signalizira da se
parametri kodiranja povezani sa trenutnim skupom uzoraka (40) postavljaju objedinjavanjem sa kandidatom za objedinjavanje, i da trenutni skup uzoraka (40) slike (20) treba da se rekonstruiše samo na osnovu signala predviđanja u zavisnosti od parametara kodiranja bez ikakvih razidualnih podataka,
pri čemu postupak sadrži kodiranje drugog flega u niz bitova (30) u slučaju da prvi fleg ima drugo stanje flega,
naznačen time što drugi fleg signalizira da
parametri kodiranja povezani sa trenutnim skupom uzoraka (40) treba da se ekstrahuju iz niza bitova (30), da rezidualni podaci za trenutni skup uzoraka (40) treba da se pribave iz niza bitova (30) i da trenutni skup uzoraka (40) slike (20) treba da se rekonstruiše na osnovu signala predviđanja i rezidualnih podataka, u slučaju da drugi fleg ima prvo stanje flega, i
da parametri kodiranja povezani sa trenutnim skupom uzoraka (40) treba da se dobiju postavljanjem istih objedinjavanjem sa kandidatom za objedinjavanje, da rezidualni podaci za trenutni skup uzoraka (40) treba da se pribave iz niza bitova (30) i da trenutni skup uzoraka (40) slike (20) treba da se rekonstruiše na osnovu signala predviđanja i rezidualnih podataka u slučaju da drugi fleg ima drugo stanje flega.
12. Niz bitova kodiran postupkom za kodiranje slike (20) prema zahtevu 11.
13. Niz bitova prema zahtevu 12, pri čemu slika ima pridruženu mapu dubine kao dodatnu informaciju.
14. Niz bitova prema zahtevu 12, pri čemu je niz uzoraka jedan od niza uzoraka koji se odnose na različite ravni slike, koji su kodirani nezavisno jedan od drugog.
15. Računarski program koji ima programski kod za izvršavanje, pri izvođenju na računaru, postupka prema zahtevu 10 ili 11.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US41024610P | 2010-11-04 | 2010-11-04 | |
| EP21182527.8A EP3962088B1 (en) | 2010-11-04 | 2011-11-04 | Picture coding supporting block merging and skip mode |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RS64610B1 true RS64610B1 (sr) | 2023-10-31 |
Family
ID=44925528
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RS20211216A RS62555B1 (sr) | 2010-11-04 | 2011-11-04 | Kodiranje slike koje podražava objedinjavanje blokova i režim preskakanja |
| RS20230823A RS64610B1 (sr) | 2010-11-04 | 2011-11-04 | Kodiranje slike koje podržava objedinjavanje blokova i režim preskakanja |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RS20211216A RS62555B1 (sr) | 2010-11-04 | 2011-11-04 | Kodiranje slike koje podražava objedinjavanje blokova i režim preskakanja |
Country Status (16)
| Country | Link |
|---|---|
| US (11) | US9924193B2 (sr) |
| EP (7) | EP4398571B1 (sr) |
| JP (7) | JP6258704B2 (sr) |
| KR (10) | KR101603860B1 (sr) |
| CN (11) | CN107071491B (sr) |
| DK (2) | DK2636218T3 (sr) |
| ES (5) | ES3038310T3 (sr) |
| FI (1) | FI3962088T3 (sr) |
| HU (5) | HUE056453T2 (sr) |
| LT (2) | LT3962088T (sr) |
| PL (5) | PL4398569T3 (sr) |
| PT (2) | PT2636218T (sr) |
| RS (2) | RS62555B1 (sr) |
| SI (2) | SI3962088T1 (sr) |
| TW (8) | TWI513277B (sr) |
| WO (1) | WO2012059577A1 (sr) |
Families Citing this family (128)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20110068792A (ko) * | 2009-12-16 | 2011-06-22 | 한국전자통신연구원 | 적응적 영상 부호화 장치 및 방법 |
| ES3053791T3 (en) | 2010-04-13 | 2026-01-26 | Ge Video Compression Llc | Video coding using multi-tree sub-divisions of images |
| KR102166519B1 (ko) | 2010-04-13 | 2020-10-16 | 지이 비디오 컴프레션, 엘엘씨 | 샘플 영역 병합 |
| CN106067985B (zh) | 2010-04-13 | 2019-06-28 | Ge视频压缩有限责任公司 | 跨平面预测 |
| TWI662797B (zh) | 2010-04-13 | 2019-06-11 | Ge影像壓縮有限公司 | 在樣本陣列多元樹細分中之繼承技術 |
| CN107071491B (zh) | 2010-11-04 | 2020-11-03 | Ge视频压缩有限责任公司 | 支持区块合并和跳过模式的图像编码 |
| WO2012118358A2 (ko) * | 2011-03-03 | 2012-09-07 | 한국전자통신연구원 | 변환 계수 스캔 방법 및 그 장치 |
| US11102494B2 (en) * | 2011-03-03 | 2021-08-24 | Electronics And Telecommunication Research Institute | Method for scanning transform coefficient and device therefor |
| US9066110B2 (en) | 2011-03-08 | 2015-06-23 | Texas Instruments Incorporated | Parsing friendly and error resilient merge flag coding in video coding |
| JP5982734B2 (ja) * | 2011-03-11 | 2016-08-31 | ソニー株式会社 | 画像処理装置および方法 |
| KR20120140181A (ko) | 2011-06-20 | 2012-12-28 | 한국전자통신연구원 | 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치 |
| US9313494B2 (en) | 2011-06-20 | 2016-04-12 | Qualcomm Incorporated | Parallelization friendly merge candidates for video coding |
| EP4404558B1 (en) | 2011-06-23 | 2026-02-25 | Sun Patent Trust | Computer program for image decoding, computer program for image encoding. |
| RU2603552C2 (ru) * | 2011-06-24 | 2016-11-27 | Сан Пэтент Траст | Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения |
| TWI581615B (zh) | 2011-06-24 | 2017-05-01 | Sun Patent Trust | A decoding method, a coding method, a decoding device, an encoding device, and a coding / decoding device |
| RU2608244C2 (ru) | 2011-06-27 | 2017-01-17 | Сан Пэтент Траст | Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений, устройство декодирования изображений и устройство кодирования и декодирования изображений |
| BR122022013246B1 (pt) | 2011-06-28 | 2022-11-16 | Sun Patent Trust | Aparelho de decodificação para decodificar um parâmetro de controle para controlar decodificação de uma imagem, e aparelho de codificação para codificar um parâmetro de controle para controlar codificação de uma imagem |
| KR102006032B1 (ko) | 2011-06-29 | 2019-07-31 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
| KR102060619B1 (ko) | 2011-06-30 | 2019-12-30 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
| EP3944617A1 (en) | 2011-06-30 | 2022-01-26 | Sun Patent Trust | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding and decoding device |
| ES2784552T3 (es) | 2011-07-11 | 2020-09-28 | Sun Patent Trust | Procedimiento de decodificación de imagen, aparato de decodificación de imagen |
| US9300975B2 (en) * | 2011-09-11 | 2016-03-29 | Texas Instruments Incorporated | Concurrent access shared buffer in a video encoder |
| US9756353B2 (en) | 2012-01-09 | 2017-09-05 | Dolby Laboratories Licensing Corporation | Hybrid reference picture reconstruction method for single and multiple layered video coding systems |
| US9749645B2 (en) * | 2012-06-22 | 2017-08-29 | Microsoft Technology Licensing, Llc | Coded-block-flag coding and derivation |
| US10230956B2 (en) | 2012-09-26 | 2019-03-12 | Integrated Device Technology, Inc. | Apparatuses and methods for optimizing rate-distortion of syntax elements |
| CN108401157B (zh) | 2012-10-01 | 2022-06-24 | Ge视频压缩有限责任公司 | 可伸缩视频解码器、编码器及可伸缩视频解码、编码方法 |
| US9699450B2 (en) | 2012-10-04 | 2017-07-04 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
| CN110545419B (zh) | 2012-10-12 | 2022-11-22 | 韩国电子通信研究院 | 图像编码/解码方法和使用其的装置 |
| KR20140051789A (ko) * | 2012-10-22 | 2014-05-02 | (주)휴맥스 | 3차원 비디오에서의 뷰간 움직임 예측 방법 및 뷰간 병합 후보 결정 방법 |
| US20140219331A1 (en) * | 2013-02-06 | 2014-08-07 | Magnum Semiconductor, Inc. | Apparatuses and methods for performing joint rate-distortion optimization of prediction mode |
| US9300906B2 (en) * | 2013-03-29 | 2016-03-29 | Google Inc. | Pull frame interpolation |
| EP2997732A1 (en) * | 2013-05-15 | 2016-03-23 | VID SCALE, Inc. | Single loop decoding based inter layer prediction |
| WO2015000108A1 (en) * | 2013-07-01 | 2015-01-08 | Mediatek Singapore Pte. Ltd. | An improved texture merging candidate in 3dvc |
| WO2015054813A1 (en) | 2013-10-14 | 2015-04-23 | Microsoft Technology Licensing, Llc | Encoder-side options for intra block copy prediction mode for video and image coding |
| CN105659606B (zh) | 2013-10-14 | 2019-06-18 | 微软技术许可有限责任公司 | 用于视频和图像编码和解码的方法、系统和介质 |
| CA2928495C (en) | 2013-10-14 | 2020-08-18 | Microsoft Technology Licensing, Llc | Features of intra block copy prediction mode for video and image coding and decoding |
| US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
| US10264290B2 (en) | 2013-10-25 | 2019-04-16 | Microsoft Technology Licensing, Llc | Hash-based block matching in video and image coding |
| KR102353787B1 (ko) | 2014-01-03 | 2022-01-19 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측 |
| US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
| US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
| US10542274B2 (en) | 2014-02-21 | 2020-01-21 | Microsoft Technology Licensing, Llc | Dictionary encoding and decoding of screen content |
| EP3253059A1 (en) | 2014-03-04 | 2017-12-06 | Microsoft Technology Licensing, LLC | Block flipping and skip mode in intra block copy prediction |
| WO2015131325A1 (en) | 2014-03-04 | 2015-09-11 | Microsoft Technology Licensing, Llc | Hash table construction and availability checking for hash-based block matching |
| EP3114841B1 (en) | 2014-03-04 | 2020-06-10 | Microsoft Technology Licensing, LLC | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
| WO2015138979A2 (en) * | 2014-03-14 | 2015-09-17 | Sharp Laboratories Of America, Inc. | Dpb capacity limits |
| US10785486B2 (en) | 2014-06-19 | 2020-09-22 | Microsoft Technology Licensing, Llc | Unified intra block copy and inter prediction modes |
| CN105706450B (zh) | 2014-06-23 | 2019-07-16 | 微软技术许可有限责任公司 | 根据基于散列的块匹配的结果的编码器决定 |
| EP2975008B1 (en) | 2014-07-16 | 2017-03-01 | Saint-Gobain Glass France | Transparent diffusive oled substrate and method for producing such a substrate |
| MX379020B (es) | 2014-09-30 | 2025-03-11 | Microsoft Technology Licensing Llc | Reglas para modos de prediccion intra-imagen cuando se habilita el procesamiento paralelo de onda frontal. |
| JP6462119B2 (ja) | 2014-09-30 | 2019-01-30 | マイクロソフト テクノロジー ライセンシング,エルエルシー | コンピューティングデバイス |
| ES2637715T3 (es) | 2014-12-01 | 2017-10-16 | Saint-Gobain Glass France | Sustrato OLED difusor transparente y método para producir dicho sustrato |
| US9936201B2 (en) * | 2015-01-27 | 2018-04-03 | Qualcomm Incorporated | Contexts for large coding tree units |
| US9591325B2 (en) | 2015-01-27 | 2017-03-07 | Microsoft Technology Licensing, Llc | Special case handling for merged chroma blocks in intra block copy prediction mode |
| WO2016197334A1 (zh) * | 2015-06-09 | 2016-12-15 | 华为技术有限公司 | 图像编解码方法和设备 |
| CN106664405B (zh) | 2015-06-09 | 2020-06-09 | 微软技术许可有限责任公司 | 用调色板模式对经逸出编码的像素的稳健编码/解码 |
| US10091506B2 (en) * | 2015-06-11 | 2018-10-02 | Sony Corporation | Data-charge phase data compression architecture |
| CN106559669B (zh) | 2015-09-29 | 2018-10-09 | 华为技术有限公司 | 预测图像编解码方法及装置 |
| US10944962B2 (en) * | 2015-11-20 | 2021-03-09 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image by using geometrically changed image |
| US11695958B2 (en) * | 2016-02-01 | 2023-07-04 | Lg Electronics Inc. | Method and apparatus for encoding/decoding video signal by using edge-adaptive graph-based transform |
| US10390015B2 (en) * | 2016-08-26 | 2019-08-20 | Qualcomm Incorporated | Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction |
| US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
| KR102471208B1 (ko) | 2016-09-20 | 2022-11-25 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
| US10880552B2 (en) | 2016-09-28 | 2020-12-29 | Lg Electronics Inc. | Method and apparatus for performing optimal prediction based on weight index |
| WO2018062950A1 (ko) * | 2016-09-30 | 2018-04-05 | 엘지전자(주) | 영상 처리 방법 및 이를 위한 장치 |
| KR102531386B1 (ko) | 2016-10-04 | 2023-05-12 | 주식회사 비원영상기술연구소 | 영상 데이터 부호화/복호화 방법 및 장치 |
| CN110024384A (zh) * | 2016-10-06 | 2019-07-16 | Lg电子株式会社 | 基于帧间预测模式处理视频的方法和用于该方法的设备 |
| KR20180045530A (ko) | 2016-10-26 | 2018-05-04 | 디지털인사이트 주식회사 | 임의의 블록 분할을 사용하는 비디오 코딩 방법 및 장치 |
| CN117119178A (zh) * | 2016-11-18 | 2023-11-24 | 株式会社Kt | 视频解码方法、视频编码方法和压缩视频数据发送设备 |
| CN116744023A (zh) | 2016-11-25 | 2023-09-12 | 株式会社Kt | 用于对视频进行编码和解码的方法 |
| US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
| US10715827B2 (en) * | 2017-01-06 | 2020-07-14 | Mediatek Inc. | Multi-hypotheses merge mode |
| US10943100B2 (en) | 2017-01-19 | 2021-03-09 | Mindmaze Holding Sa | Systems, methods, devices and apparatuses for detecting facial expression |
| WO2018142228A2 (en) | 2017-01-19 | 2018-08-09 | Mindmaze Holding Sa | Systems, methods, apparatuses and devices for detecting facial expression and for tracking movement and location including for at least one of a virtual and augmented reality system |
| CN110892408A (zh) * | 2017-02-07 | 2020-03-17 | 迈恩德玛泽控股股份有限公司 | 用于立体视觉和跟踪的系统、方法和装置 |
| WO2018174591A1 (ko) * | 2017-03-22 | 2018-09-27 | 김기백 | 영상을 구성하는 화소값 범위를 이용한 영상 부호화/복호화 방법 |
| KR102774043B1 (ko) * | 2017-03-31 | 2025-02-27 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법 |
| US10630978B2 (en) | 2017-05-12 | 2020-04-21 | Blackberry Limited | Methods and devices for intra-coding in video compression |
| JP7147145B2 (ja) * | 2017-09-26 | 2022-10-05 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム |
| US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
| KR102524628B1 (ko) | 2018-01-05 | 2023-04-21 | 에스케이텔레콤 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
| CN115037930B (zh) | 2018-01-05 | 2025-06-10 | Sk电信有限公司 | 对视频进行编码或解码的方法和非暂时性计算机可读介质 |
| US11328533B1 (en) | 2018-01-09 | 2022-05-10 | Mindmaze Holding Sa | System, method and apparatus for detecting facial expression for motion capture |
| TWI789986B (zh) * | 2018-02-28 | 2023-01-11 | 弗勞恩霍夫爾協會 | 合成式預測及限制性合併技術 |
| WO2019172203A1 (ja) * | 2018-03-05 | 2019-09-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
| CN111919449B (zh) * | 2018-03-27 | 2024-07-05 | 数码士有限公司 | 使用运动补偿的视频信号处理方法及设备 |
| CN117692638A (zh) | 2018-04-01 | 2024-03-12 | 有限公司B1影像技术研究所 | 图像编码/解码方法、介质和传送比特流的方法 |
| US10659781B2 (en) * | 2018-04-02 | 2020-05-19 | Tencent America LLC | Concatenated coding units in flexible tree structure |
| CN110505482B (zh) * | 2018-05-16 | 2021-10-26 | 华为技术有限公司 | 一种编解码方法及装置 |
| CN112703741B (zh) * | 2018-07-13 | 2024-08-27 | 弗劳恩霍夫应用研究促进协会 | 分区内编码概念 |
| US11051025B2 (en) * | 2018-07-13 | 2021-06-29 | Tencent America LLC | Method and apparatus for video coding |
| CN116418992A (zh) * | 2018-08-26 | 2023-07-11 | 北京字节跳动网络技术有限公司 | 组合的基于历史的运动矢量预测符和多运动模型解码 |
| US11595639B2 (en) | 2018-09-21 | 2023-02-28 | Lg Electronics Inc. | Method and apparatus for processing video signals using affine prediction |
| FR3086485A1 (fr) * | 2018-09-21 | 2020-03-27 | Orange | Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image. |
| CN113170132B (zh) | 2018-09-24 | 2024-07-26 | 弗劳恩霍夫应用研究促进协会 | 使用或适用于与依赖标量量化的组合的变换系数的有效编码 |
| CN116527889A (zh) * | 2018-09-25 | 2023-08-01 | 华为技术有限公司 | 一种图像预测方法和设备 |
| US20210400298A1 (en) * | 2018-09-28 | 2021-12-23 | Lg Electronics Inc. | Method and apparatus for processing video signal by using affine prediction |
| SI3849190T1 (sl) | 2018-10-08 | 2026-02-27 | Lg Electronics Inc. | Postopek za zasnovo sintakse in naprava za izvajanje kodiranja z uporabo sintakse |
| CN112913247B (zh) | 2018-10-23 | 2023-04-28 | 北京字节跳动网络技术有限公司 | 使用局部照明补偿的视频处理 |
| WO2020084508A1 (en) | 2018-10-23 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Harmonization between local illumination compensation and inter prediction coding |
| CN111107354B (zh) | 2018-10-29 | 2024-11-15 | 华为技术有限公司 | 一种视频图像预测方法及装置 |
| US10931958B2 (en) | 2018-11-02 | 2021-02-23 | Fungible, Inc. | JPEG accelerator using last-non-zero (LNZ) syntax element |
| US10827191B2 (en) | 2018-11-02 | 2020-11-03 | Fungible, Inc. | Parallel coding of syntax elements for JPEG accelerator |
| US10827192B2 (en) * | 2018-11-02 | 2020-11-03 | Fungible, Inc. | Work allocation for JPEG accelerator |
| US10848775B2 (en) | 2018-11-02 | 2020-11-24 | Fungible, Inc. | Memory layout for JPEG accelerator |
| MX2021005255A (es) | 2018-11-06 | 2021-09-08 | Interdigital Vc Holdings Inc | Agrupamiento de parametros entre varias unidades de codificacion para codificacion y decodificacion de video. |
| WO2020112440A1 (en) * | 2018-11-30 | 2020-06-04 | Interdigital Vc Holdings, Inc. | Unified process and syntax for generalized prediction in video coding/decoding |
| US11115652B2 (en) | 2018-12-07 | 2021-09-07 | Tencent America LLC | Method and apparatus for further improved context design for prediction mode and coded block flag (CBF) |
| JP7524188B2 (ja) | 2018-12-12 | 2024-07-29 | ヒューマックス・カンパニー・リミテッド | 現在ピクチャ参照を用いたビデオ信号処理方法及び装置 |
| US10893298B2 (en) | 2018-12-12 | 2021-01-12 | Tencent America LLC | Method and apparatus for video coding |
| KR102585131B1 (ko) * | 2018-12-13 | 2023-10-06 | 텐센트 아메리카 엘엘씨 | 비디오 디코딩을 위한 방법 및 비디오 디코더 |
| KR102625145B1 (ko) * | 2018-12-17 | 2024-01-16 | 삼성전자주식회사 | 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치 |
| CN113475071B (zh) * | 2018-12-20 | 2025-04-15 | 弗劳恩霍夫应用研究促进协会 | 使用具有邻近样本缩减的线性或者仿射变换的内预测 |
| KR102569347B1 (ko) | 2018-12-20 | 2023-08-22 | 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) | 비디오 인코딩 및 디코딩에서의 개선된 타일 어드레스 시그널링 |
| CN113302918B (zh) | 2019-01-15 | 2025-01-17 | 北京字节跳动网络技术有限公司 | 视频编解码中的加权预测 |
| CN118158434A (zh) * | 2019-01-18 | 2024-06-07 | 韦勒斯标准与技术协会公司 | 使用运动补偿的视频信号处理方法和设备 |
| CN118870034A (zh) | 2019-02-19 | 2024-10-29 | 数码士有限公司 | 基于帧内预测的视频信号处理方法和设备 |
| KR102379676B1 (ko) | 2019-03-04 | 2022-03-28 | 엘지전자 주식회사 | 영상 코딩 시스템에서 컨텍스트 코딩된 사인 플래그를 사용하는 영상 디코딩 방법 및 그 장치 |
| WO2021034122A1 (ko) * | 2019-08-21 | 2021-02-25 | 엘지전자 주식회사 | Hmvp 후보에 기반하여 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
| CN111050165B (zh) * | 2019-11-29 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 一种视频解码的方法、设备及介质 |
| CN115398910B (zh) * | 2020-02-25 | 2025-01-17 | Lg电子株式会社 | 图像解码方法和用于图像解码方法的设备 |
| US11405628B2 (en) | 2020-04-06 | 2022-08-02 | Tencent America LLC | Method and apparatus for video coding |
| US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
| US12225205B2 (en) * | 2021-06-18 | 2025-02-11 | Tencent America LLC | Block-wise entropy coding method in neural image compression |
| WO2023135518A1 (en) * | 2022-01-12 | 2023-07-20 | Nokia Technologies Oy | High-level syntax of predictive residual encoding in neural network compression |
| US12340485B1 (en) | 2022-09-20 | 2025-06-24 | Apple Inc. | Graphics geometry processing with segmented and non-segmented sets of work |
| WO2025038308A1 (en) * | 2023-08-14 | 2025-02-20 | Google Llc | Direct frame prediction with residual coding |
| US20250104284A1 (en) * | 2023-09-27 | 2025-03-27 | Sony Interactive Entertainment LLC | High quality transcode-efficient texture format |
Family Cites Families (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3353968B2 (ja) | 1992-09-25 | 2002-12-09 | オリンパス光学工業株式会社 | 画像処理装置 |
| JPH08298665A (ja) | 1994-04-21 | 1996-11-12 | Sanyo Electric Co Ltd | 動きベクトル検出回路、検出方法、及び動画像圧縮回路 |
| US6026232A (en) | 1995-07-13 | 2000-02-15 | Kabushiki Kaisha Toshiba | Method and system to replace sections of an encoded video bitstream |
| KR100287868B1 (ko) | 1998-06-17 | 2001-05-02 | 구자홍 | 디지털 저장 매체의 신호 기록재생장치 |
| JP3561485B2 (ja) * | 2000-08-18 | 2004-09-02 | 株式会社メディアグルー | 符号化信号分離・合成装置、差分符号化信号生成装置、符号化信号分離・合成方法、差分符号化信号生成方法、符号化信号分離・合成プログラムを記録した媒体および差分符号化信号生成プログラムを記録した媒体 |
| ES2610430T3 (es) * | 2001-12-17 | 2017-04-27 | Microsoft Technology Licensing, Llc | Codificación por omisión de macrobloques |
| JP4088205B2 (ja) | 2002-06-11 | 2008-05-21 | 松下電器産業株式会社 | 符号化装置、コンピュータ読取可能なプログラム、符号化方法。 |
| CN1751519A (zh) * | 2003-02-17 | 2006-03-22 | 皇家飞利浦电子股份有限公司 | 视频编码 |
| US20060047522A1 (en) | 2004-08-26 | 2006-03-02 | Nokia Corporation | Method, apparatus and computer program to provide predictor adaptation for advanced audio coding (AAC) system |
| US8948266B2 (en) | 2004-10-12 | 2015-02-03 | Qualcomm Incorporated | Adaptive intra-refresh for digital video encoding |
| EP1647937A1 (en) * | 2004-10-15 | 2006-04-19 | Sony Deutschland GmbH | Method for motion estimation |
| US7551772B2 (en) * | 2004-11-30 | 2009-06-23 | Hewlett-Packard Development Company, L.P. | Blur estimation in a digital image |
| KR101246915B1 (ko) * | 2005-04-18 | 2013-03-25 | 삼성전자주식회사 | 동영상 부호화 또는 복호화 방법 및 장치 |
| CN101375605A (zh) * | 2006-01-31 | 2009-02-25 | 汤姆森许可贸易公司 | 用于实现降低分辨率更新模式的限制预测以及视频编码器和解码器中的复杂度可分级的方法和装置 |
| EP2011237A1 (en) | 2006-04-21 | 2009-01-07 | Kabushiki Kaisha Toshiba | Method and apparatus for entropy coding and decoding |
| US20080025390A1 (en) * | 2006-07-25 | 2008-01-31 | Fang Shi | Adaptive video frame interpolation |
| JP4956304B2 (ja) | 2006-08-08 | 2012-06-20 | キヤノン株式会社 | 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
| CN101168276A (zh) | 2006-10-23 | 2008-04-30 | 乔小刚 | 一种可回收压铸成型的家具支柱或底座的制作方法 |
| JP5666293B2 (ja) * | 2007-04-12 | 2015-02-12 | トムソン ライセンシングThomson Licensing | ビデオ・エンコーディング、およびデコーディングのためのスキップ/ダイレクトモードのコンテクストに依存するマージのための方法と装置 |
| JP4774382B2 (ja) * | 2007-05-08 | 2011-09-14 | 株式会社リコー | 画像処理装置、画像処理回路、及び、画像処理方法 |
| US9237357B2 (en) * | 2007-09-02 | 2016-01-12 | Lg Electronics Inc. | Method and an apparatus for processing a video signal |
| US7710296B2 (en) * | 2007-09-19 | 2010-05-04 | Texas Instruments Incorporated | N-bin arithmetic coding for context adaptive binary arithmetic coding |
| CN101415115B (zh) * | 2007-10-15 | 2011-02-02 | 华为技术有限公司 | 基于运动跳跃模式的视频编解码方法及其编解码器 |
| US20090162973A1 (en) | 2007-12-21 | 2009-06-25 | Julien Gatineau | Germanium precursors for gst film deposition |
| EP2232875A2 (en) | 2008-01-11 | 2010-09-29 | Thomson Licensing | Video and depth coding |
| JP5071721B2 (ja) | 2008-02-27 | 2012-11-14 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
| US8699562B2 (en) * | 2008-10-06 | 2014-04-15 | Lg Electronics Inc. | Method and an apparatus for processing a video signal with blocks in direct or skip mode |
| TWI370410B (en) * | 2008-12-30 | 2012-08-11 | Ind Tech Res Inst | Image processing method for providing depth information |
| US8873626B2 (en) * | 2009-07-02 | 2014-10-28 | Qualcomm Incorporated | Template matching for video coding |
| US20110090954A1 (en) * | 2009-10-21 | 2011-04-21 | Cohen Robert A | Video Codes with Directional Transforms |
| CN101835044B (zh) * | 2010-04-23 | 2012-04-11 | 南京邮电大学 | 一种频率域分布式视频编码中的分类组合方法 |
| KR101484281B1 (ko) * | 2010-07-09 | 2015-01-21 | 삼성전자주식회사 | 블록 병합을 이용한 비디오 부호화 방법 및 그 장치, 블록 병합을 이용한 비디오 복호화 방법 및 그 장치 |
| EP2580912B1 (en) * | 2010-07-09 | 2017-01-25 | Samsung Electronics Co., Ltd | Method for decoding video by using block merging |
| CN107071491B (zh) | 2010-11-04 | 2020-11-03 | Ge视频压缩有限责任公司 | 支持区块合并和跳过模式的图像编码 |
| EP4462789A3 (en) * | 2010-11-25 | 2025-02-26 | LG Electronics, Inc. | Inter prediction method, image encoding method and computer readable storage medium |
| US20120189052A1 (en) * | 2011-01-24 | 2012-07-26 | Qualcomm Incorporated | Signaling quantization parameter changes for coded units in high efficiency video coding (hevc) |
| US20120195366A1 (en) | 2011-02-01 | 2012-08-02 | Mediatek Singapore Pte. Ltd. | Method and Apparatus of Adaptive Inter Mode Coding Using Variable Length Codes |
| US9648334B2 (en) * | 2011-03-21 | 2017-05-09 | Qualcomm Incorporated | Bi-predictive merge mode based on uni-predictive neighbors in video coding |
-
2011
- 2011-11-04 CN CN201710067883.1A patent/CN107071491B/zh active Active
- 2011-11-04 SI SI201132092T patent/SI3962088T1/sl unknown
- 2011-11-04 KR KR1020147030834A patent/KR101603860B1/ko active Active
- 2011-11-04 TW TW100140313A patent/TWI513277B/zh active
- 2011-11-04 CN CN201710067972.6A patent/CN107071492B/zh active Active
- 2011-11-04 TW TW104135588A patent/TWI559740B/zh active
- 2011-11-04 CN CN201710067804.7A patent/CN107071489B/zh active Active
- 2011-11-04 EP EP24163026.8A patent/EP4398571B1/en active Active
- 2011-11-04 TW TW112112476A patent/TWI833626B/zh active
- 2011-11-04 TW TW107137593A patent/TWI725348B/zh active
- 2011-11-04 SI SI201132004T patent/SI2636218T1/sl unknown
- 2011-11-04 KR KR1020247008039A patent/KR20240038124A/ko active Pending
- 2011-11-04 ES ES24163024T patent/ES3038310T3/es active Active
- 2011-11-04 KR KR1020227018195A patent/KR102648076B1/ko active Active
- 2011-11-04 RS RS20211216A patent/RS62555B1/sr unknown
- 2011-11-04 ES ES21182527T patent/ES2955542T3/es active Active
- 2011-11-04 ES ES24163026T patent/ES3038305T3/es active Active
- 2011-11-04 TW TW110110237A patent/TWI799816B/zh active
- 2011-11-04 CN CN201180064204.6A patent/CN103299623B/zh active Active
- 2011-11-04 KR KR1020217024268A patent/KR102405537B1/ko active Active
- 2011-11-04 PL PL24163024.3T patent/PL4398569T3/pl unknown
- 2011-11-04 PL PL24163025.0T patent/PL4398570T3/pl unknown
- 2011-11-04 CN CN201710067876.1A patent/CN107071490B/zh active Active
- 2011-11-04 TW TW113101983A patent/TW202431850A/zh unknown
- 2011-11-04 WO PCT/EP2011/069408 patent/WO2012059577A1/en not_active Ceased
- 2011-11-04 CN CN201710067799.XA patent/CN107071486B/zh active Active
- 2011-11-04 ES ES24163025T patent/ES3038304T3/es active Active
- 2011-11-04 JP JP2013537146A patent/JP6258704B2/ja active Active
- 2011-11-04 EP EP11781501.9A patent/EP2636218B1/en active Active
- 2011-11-04 PL PL11781501T patent/PL2636218T3/pl unknown
- 2011-11-04 EP EP26154821.8A patent/EP4712475A2/en active Pending
- 2011-11-04 DK DK11781501.9T patent/DK2636218T3/da active
- 2011-11-04 CN CN201710067975.XA patent/CN106851320B/zh active Active
- 2011-11-04 CN CN201710067793.2A patent/CN107105303B/zh active Active
- 2011-11-04 PT PT11781501T patent/PT2636218T/pt unknown
- 2011-11-04 LT LTEP21182527.8T patent/LT3962088T/lt unknown
- 2011-11-04 HU HUE11781501A patent/HUE056453T2/hu unknown
- 2011-11-04 HU HUE24163024A patent/HUE072362T2/hu unknown
- 2011-11-04 CN CN201710067801.3A patent/CN107071487B/zh active Active
- 2011-11-04 EP EP21182527.8A patent/EP3962088B1/en active Active
- 2011-11-04 HU HUE24163026A patent/HUE072408T2/hu unknown
- 2011-11-04 HU HUE24163025A patent/HUE072351T2/hu unknown
- 2011-11-04 RS RS20230823A patent/RS64610B1/sr unknown
- 2011-11-04 KR KR1020147030835A patent/KR101607426B1/ko active Active
- 2011-11-04 CN CN201710067934.0A patent/CN107105304B/zh active Active
- 2011-11-04 TW TW112112474A patent/TWI832743B/zh active
- 2011-11-04 KR KR1020167007532A patent/KR101894355B1/ko active Active
- 2011-11-04 ES ES11781501T patent/ES2891598T3/es active Active
- 2011-11-04 PL PL24163026.8T patent/PL4398571T3/pl unknown
- 2011-11-04 KR KR1020187024669A patent/KR102024178B1/ko active Active
- 2011-11-04 CN CN201710067802.8A patent/CN107071488B/zh active Active
- 2011-11-04 PL PL21182527.8T patent/PL3962088T3/pl unknown
- 2011-11-04 KR KR1020197013440A patent/KR102126374B1/ko active Active
- 2011-11-04 KR KR1020207017633A patent/KR102286294B1/ko active Active
- 2011-11-04 FI FIEP21182527.8T patent/FI3962088T3/fi active
- 2011-11-04 EP EP23179369.6A patent/EP4270957A3/en active Pending
- 2011-11-04 TW TW105131691A patent/TWI644561B/zh active
- 2011-11-04 PT PT211825278T patent/PT3962088T/pt unknown
- 2011-11-04 EP EP24163024.3A patent/EP4398569B1/en active Active
- 2011-11-04 HU HUE21182527A patent/HUE063103T2/hu unknown
- 2011-11-04 KR KR1020137014189A patent/KR101527666B1/ko active Active
- 2011-11-04 DK DK21182527.8T patent/DK3962088T3/da active
- 2011-11-04 LT LTEPPCT/EP2011/069408T patent/LT2636218T/lt unknown
- 2011-11-04 EP EP24163025.0A patent/EP4398570B1/en active Active
-
2013
- 2013-05-02 US US13/875,779 patent/US9924193B2/en active Active
-
2015
- 2015-10-09 JP JP2015201550A patent/JP6659298B2/ja active Active
- 2015-10-09 JP JP2015201551A patent/JP6659299B2/ja active Active
-
2016
- 2016-06-28 US US15/195,609 patent/US9788009B2/en active Active
-
2017
- 2017-09-05 US US15/695,433 patent/US10027976B2/en active Active
-
2018
- 2018-01-04 JP JP2018000340A patent/JP6727238B2/ja active Active
- 2018-01-04 JP JP2018000341A patent/JP6856554B2/ja active Active
- 2018-02-06 US US15/890,168 patent/US10382776B2/en active Active
- 2018-06-13 US US16/007,084 patent/US10382777B2/en active Active
-
2019
- 2019-01-18 US US16/251,785 patent/US10785500B2/en active Active
- 2019-04-17 US US16/386,403 patent/US10602182B2/en active Active
-
2020
- 2020-02-14 US US16/790,892 patent/US10841608B2/en active Active
- 2020-09-21 US US17/027,168 patent/US11785246B2/en active Active
-
2021
- 2021-03-18 JP JP2021044196A patent/JP7381513B2/ja active Active
-
2023
- 2023-08-01 US US18/363,057 patent/US12137242B2/en active Active
- 2023-11-02 JP JP2023188257A patent/JP7791149B2/ja active Active
-
2024
- 2024-09-25 US US18/895,939 patent/US20250097453A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7791149B2 (ja) | ブロック統合およびスキップモードをサポートする画像符号化 | |
| KR102102600B1 (ko) | 블록 분할 및 블록 병합을 지원하는 픽처 코딩 | |
| HK40069342B (en) | Picture coding supporting block merging and skip mode | |
| JP2026053421A (ja) | ブロック統合およびスキップモードをサポートする画像符号化 | |
| HK40102379A (en) | Picture coding supporting block merging and skip mode | |
| HK40069342A (en) | Picture coding supporting block merging and skip mode | |
| HK1242496B (zh) | 解码装置和方法、编码装置和方法、存储和传输图像方法 |