RS64037B1 - Kodiranje niza uzoraka za nisko kašnjenje - Google Patents

Kodiranje niza uzoraka za nisko kašnjenje

Info

Publication number
RS64037B1
RS64037B1 RS20230181A RSP20230181A RS64037B1 RS 64037 B1 RS64037 B1 RS 64037B1 RS 20230181 A RS20230181 A RS 20230181A RS P20230181 A RSP20230181 A RS P20230181A RS 64037 B1 RS64037 B1 RS 64037B1
Authority
RS
Serbia
Prior art keywords
entropy
slice
slices
decoding
encoding
Prior art date
Application number
RS20230181A
Other languages
English (en)
Inventor
George Valeri
Anastasia Henkel
Heiner Kirchhoffer
Detlev Marple
Thomas Schierl
Original Assignee
Ge Video Compression Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46548436&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=RS64037(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ge Video Compression Llc filed Critical Ge Video Compression Llc
Publication of RS64037B1 publication Critical patent/RS64037B1/sr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/97Matching pursuit coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/99Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals involving fractal coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Networks Using Active Elements (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Dc Digital Transmission (AREA)

Description

Opis
[0001] Predmetna prijava patenta se odnosi na kodiranje niza uzoraka kao što je kodiranje slike ili videa.
[0002] Paralelizacija enkodera i dekodera je veoma važna zbog povećanih zahteva za obradu prema HEVC standardu, kao i zbog očekivanog povećanja video rezolucije. Višejezgarne arhitekture postaju dostupne u širokom spektru savremenih elektronskih uređaja. Shodno tome, potrebne su efikasne metode za omogućavanje upotrebe višejezgarnih arhitektura.
[0003] Kodiranje ili dekodiranje LCU-ova se sprovodi u rasterskom skeniranju, kojim se CABAC verovatnoća prilagođava specifičnostima svake slike. Između susednih LCU-ova postoje prostorne zavisnosti. Svaka LCU (najveća jedinica kodiranja) zavisi od svog levog, gornjeg, gornjeg levog i gornjeg desnog suseda LCU-a, zbog različitih komponenti, na primer, vektora pokreta, predviđanja, intra-predviđanja i drugih. Zbog omogućavanja paralelizacije u dekodiranju, ove zavisnosti obično moraju biti prekinute ili su prekinute u najsavremenijim aplikacijama.
[0004] Predloženi su neki koncepti paralelizacije, odnosno obrada talasnog fronta. Motivator za dalje proučavanje je izvođenje tehnika koje smanjuju gubitke u efikasnosti kodiranja i na taj način smanjuju opterećenje na protok za pristupe paralelizaciji u enkoderu i dekoderu. Štaviše, obrada sa malim kašnjenjem nije bila moguća sa dostupnim tehnikama.
[0005] Dokument 'Wavefront Parallel Processing' (96. MPEG sastanak; 21-3-2011 - 25-3-2011; Ženeva; (Grupa Stručnjaka Za Pokretne Slike ili ISO/IEC JTC1/SC29/VG11), br. m19714, 19. mart 2011. (2011-03-19), XP030048281, Félix Henri i drugi prikazuje metod za obavljanje paralelnog kodiranja i dekodiranja videa koristeći HEVC.
[0006] Prema tome, cilj ovog pronalaska je da obezbedi koncept kodiranja za nizove uzoraka koji dozvoljava niži nivo kašnjenja uz relativno manje negativnog uticaja na efikasnost kodiranja.
[0007] Ovaj cilj se postiže kao što je prikazano u priloženim nezavisnim patentnim zahtevima.
[0008] Izvođenje se odnosi na dekoder za rekonstrukciju niza uzoraka iz entropijski kodiranog toka podataka, konfigurisan da entropijski dekodira više entropijskih isečaka unutar entropijski kodiranog toka podataka tako da rekonstruiše različite delove niza uzoraka povezanih sa entropijskim isečcima, respektivno, pri čemu svaki entropijski isečak ima entropijski kodirane podatke za odgovarajući deo niza uzoraka, pri čemu svaki od različitih delova formira odgovarajući red blokova niza uzoraka sa blokovima koji su pravilno raspoređeni u redove i kolone tako da se delovi koji odgovaraju entropijskim isečcima sastoje od istog broja blokova. Entropijski isečci su podeljeni na komade i entropijsko dekodiranje više entropijskih isečaka obuhvata izvođenje, za svaki entropijski isečak, entropijskog dekodiranja duž odgovarajuće putanje entropijskog kodiranja koristeći odgovarajuće procene verovatnoće, pri čemu je putanja entropijskog kodiranja paralelno usmerena duž redova blokova, prilagođavajući odgovarajuće procene verovatnoće duž odgovarajuće putanje entropijskog kodiranja koristeći prethodno dekodirani deo odgovarajućeg entropijskog isečka, započinjući entropijsko dekodiranje više entropijskih isečaka uzastopno koristeći redosled entropijskih isečaka, i izvodeći, u entropijskom dekodiranju unapred određene entropijske isečke, entropijsko dekodiranje trenutnog dela unapred određenog entropijskog isečka na osnovu odgovarajućih procena verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno dekodiranog dela unapred određenog entropijskog isečka. Entropijsko dekodiranje trenutnog dela unapred određenog entropijskog isečka se izvodi na osnovu odgovarajućih procena verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno dekodiranog dela unapred određenog entropijskog isečka sa skladištenjem procena verovatnoće koja se manifestuju nakon entropijskog dekodiranja drugog bloka dela koji odgovara unapred određenom entropijskom isečku za inicijalizaciju procene verovatnoće pre dekodiranja prvog bloka dela koji odgovara po redosledu entropijskih isečaka sledećem entropijskom isečku duž odgovarajuće putanje kodiranja i uz proveru da li trenutni komad odgovara prvom poddelu dela koji odgovara unapred određenom entropijskom isečku duž putanje entropijskog kodiranja. Ako je tako, obavljanje inicijalizacije procena verovatnoće pre dekodiranja prvog bloka dela koji odgovara unapred određenom entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja sa procenama verovatnoće koje se manifestuju nakon što se entropijski dekodira drugi blok dela koji odgovara po redosledu entropijskih isečaka prethodnom entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja, entropijsko dekodiranje trenutnog komada pod prilagođavanjem odgovarajućih procena verovatnoće, i ostavljajući nepromenjeno stanje odgovarajućih procena verovatnoće što ih manifestuje na kraju entropijskog dekodiranja tekućeg komada za uzimanje u obzir pri entropijskom dekodiranju drugog komada koji odgovara drugom pod-delu dela unapred određenog entropijskog isečka duž putanje entropijskog kodiranja, a ako nije, nastavljanje entropijskog dekodiranja unapred određenog entropijskog isečka na trenutnom isečku ostavljajući nepromenjeno stanje odgovarajućih procena verovatnoće koje se manifestuju na kraju entropijskog dekodiranja komada koji odgovara pod-delu dela unapred određenog entropijskog isečka koji prethodi pod-delu koji odgovara trenutnom komadu, duž putanje entropijskog kodiranja.
[0009] Ako se entropijsko kodiranje trenutnog dela unapred određenog entropijskog isečka zasniva, ne samo na odgovarajućim procenama verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno kodiranog isečka unapred određenog entropijskog isečka, već i na procenama verovatnoće kao koje se koriste u entropijskom kodiranju prostorno susednog, po redosledu entropijskih isečaka prethodnog entropijskog isečka u njegovom susednom delu, procene verovatnoće koje se koriste u entropijskom kodiranju su bliže prilagođene stvarnoj statistici simbola, čime se smanjuje umanjenje efikasnosti kodiranja koje je obično uzrokovano konceptom nižeg-kašnjenja. Vremenski međusobni odnosi mogu se iskoristiti dodatno ili alternativno.
[0010] Na primer, zavisnost od procena verovatnoće koja se koristi u entropijskom kodiranju prostorno susednog, po redosledu entropijskih isečaka prethodnog entropijskog isečka, može uključivati inicijalizaciju procena verovatnoće na početku entropijskog kodiranja unapred određenog entropijskog isečka. Obično se procene verovatnoće inicijalizuju na vrednosti prilagođene statistici simbola reprezentativne mešavine materijala niza uzoraka. Da bi se izbegao prenos inicijalizacionih vrednosti procena verovatnoće, poznato je da se one kodiraju i dekodiraju po konvenciji. Međutim, takve unapred definisane vrednosti inicijalizacije su, naravno, samo kompromis između brzine prenosa sporednih informacija s jedne strane i efikasnosti kodiranja s druge strane, jer takve vrednosti inicijalizacije prirodno – manje ili više – odstupaju od stvarne statistike uzorka trenutno kodiranog materijala niza uzoraka. Prilagođavanje verovatnoće tokom kodiranja entropijskog isečka je u stvari prilagođavanje procene verovatnoće stvarnoj statistici simbola. Ovaj proces se ubrzava inicijalizacijom procena verovatnoće na početku entropijskog kodiranja trenutnog/predodređenog entropijskog isečka koristeći već prilagođene procene verovatnoće upravo pomenutog prostorno susednog, po redosledu entropijskih isečaka prethodnog entropijskog isečka, kao što su poslednje vrednosti već bile, donekle, prilagođene stvarnoj statistici simbola niza uzoraka koji je trenutno pri ruci. Kodiranje sa niskim kašnjenjem se ipak može omogućiti korišćenjem, u inicijalizaciji procena verovatnoće za unapred određene/trenutne entropijske isečke, procene verovatnoće koja se koristi u susednom delu, umesto da se manifestuje na kraju entropijskog kodiranja prethodnog entropijskog isečka. Ovom merom, obrada talasnog fronta je i dalje moguća.
[0011] Dalje, gore pomenuta zavisnost od procena verovatnoće koje se koriste u entropijskom kodiranju prostorno susednog, po redosledu entropijskih isečaka prethodnog entropijskog isečka, može uključivati proces prilagođavanja procene verovatnoće koje se koristi u entropijskom kodiranju trenutnog/predodređenog samog entropijskog isečka. Adaptacija procene verovatnoće uključuje upotrebu upravo kodiranog dela, tj. upravo kodiranog(ih) simbola(a), kako bi se prilagodilo trenutno stanje procene verovatnoće stvarnoj statistici simbola. Ovom merom, inicijalizovane procene verovatnoće se prilagođavaju nekom brzinom prilagođavanja stvarnoj statistici simbola. Ova brzina prilagođavanja se povećava izvođenjem upravo pomenute adaptacije procene verovatnoće ne samo na osnovu trenutno kodiranog simbola trenutnog/predodređenog entropijskog isečka, već je u zavisnosti od procene verovatnoće koja se manifestuje na susednom delu prostorno susednog, po redosledu entropijskih isečaka prethodnog entropijskog isečka. Ponovo, izborom prostornog susedstva trenutnog dela trenutnog entropijskog isečka i susednog dela prethodnog entropijskog isečka na odgovarajući način, obrada talasnog fronta je i dalje moguća. Korist od spajanja sopstvene adaptacije procene verovatnoće duž trenutnog entropijskog isečka, sa prilagođavanjem verovatnoće prethodnog entropijskog isečka je povećana stopa po kojoj se prilagođavanje na stvarnu statistiku simbola odvija kao što broj simbola pređenih u trenutnom i prethodnim entropijskim isečcima doprinosi adaptaciji, pre nego samo simboli trenutnog entropijskog isečka.
[0012] Pogodne implementacije izvođenja ovog pronalaska prikazana su u zavisnim patentnim zahtevima. Dalje, poželjna izvođenja su opisana u odnosu na slike, među kojima
Sl. 1 prikazuje blok dijagram jednog primernog enkodera;
Sl. 2 prikazuje šematski dijagram podele slike na isečke i delove isečaka (tj. blokove ili jedinice kodiranja) zajedno sa nalozima kodiranja definisanim među njima;
Sl. 3 prikazuje dijagram toka funkcionalnosti jednog primernog enkodera kao što je onaj sa Sl. 1;
Sl. 4 prikazuje šematski dijagram za objašnjenje funkcionalnosti jednog primernog enkodera kao što je onaj sa Sl. 1;
Sl. 5 prikazuje šematski dijagram za paralelnu operativnu implementaciju enkodera i dekodera;
Sl. 6 prikazuje blok dijagram jednog primernog dekodera;
Sl. 7 prikazuje dijagram toka funkcionalnosti jednog primernog dekodera kao što je onaj sa Sl. 6;
Sl. 8 prikazuje šematski dijagram za primerni tok bitova koji je rezultat šeme kodiranja sa Sl. 1 do 6;
Sl. 9 šematski pokazuje primer kako se izračunava verovatnoća uz pomoć drugih LCU-ova; Sl. 10 prikazuje grafik koji ilustruje RD rezultate za Intra (4 niti), u poređenju sa HM3.0; Sl. 11 prikazuje grafik koji ilustruje RD rezultate za nisko kašnjenje (1 nit), u poređenju sa HM3.0;
Sl. 12 prikazuje grafik koji ilustruje RD rezultate za slučajni pristup (1 nit), u poređenju sa HM3.0;
Sl. 13 prikazuje grafik koji ilustruje RD rezultate za nisko kašnjenje (4 niti), u poređenju sa HM3.0;
Sl. 14 šematski i primerno ilustruje moguće smeše entropijskih isečaka
Sl. 15 šematski i primerno ilustruje moguću signalizaciju entropijskog isečka
Sl. 16 šematski i primerno ilustruje kodiranje, segmentaciju, preplitanje i dekodiranje podataka entropijskog isečka preko komada;
Sl. 17 šematski i primerno ilustruje moguću smesu između frejmova;
Sl. 18 šematski i primerno ilustruje moguću upotrebu raspoređenih informacija;
Sl. 19 šematski prikazuje mogućnost da talasni front teče ukoso unutar prostornog/vremenskog prostora koji se prostire uzastopnim nizovima uzoraka; i Sl. 20 šematski prikazuje još jedan primer za podelu entropijskih isečaka na komade.
[0013] Da bi se olakšalo razumevanje dole navedenih mera za poboljšanje postizanja niskog kašnjenja uz manje negativnog dejstva u smislu efikasnosti kodiranja, enkoder sa Sl. 1 je najpre opisan opštijim terminima bez, preliminarno, diskusije o korisnim konceptima izvođenja prema ovoj prijavi patenta i kako isti mogu biti ugrađeni u izvođenje sa Sl. 1. Treba napomenuti, međutim, da struktura prikazana na Sl. 1 samo služi kao ilustrativno okruženje u kojem se izvođenja ove prijave mogu koristiti. Generalizacije i alternative za enkodere i dekodere u skladu sa izvođenjima ovog pronalaska su takođe ukratko razmotrene.
[0014] Sl. 1 prikazuje enkoder za kodiranje niza 10 uzoraka u entropijski kodirani tok 20 podataka. Kao što je prikazano na Sl. 1, niz 10 uzoraka može biti jedan od sekvence 30 nizova uzoraka i enkoder može biti konfigurisan da kodira sekvencu 30 u tok 20 podataka.
[0015] Enoder sa Sl. 1 je generalno označen pozivnom oznakom 40 i sadrži predkoder 42 praćen stepenom 44 entropijskog kodiranja, čiji izlaz daje tok 20 podataka. Pretkoder 42 je konfigurisan da prima i radi na nizu 10 uzoraka da bi se opisao njegov sadržaj putem sintaksnih elemenata unapred određene sintakse sa svakim sintaksnim elementom koji pripada odgovarajućem od unapred određenog skupa tipova elemenata sintakse koji su, zauzvrat, povezani sa odgovarajućom semantikom.
[0016] U opisivanju niza 10 uzoraka koristeći elemente sintakse, prekoder 42 može da podeli niz uzoraka 10 na jedinice 50 kodiranja. Izraz "jedinica kodiranja" može se, iz razloga koji su detaljnije navedeni u nastavku, alternativno nazvati "jedinica stabla kodiranja“ (CTU)s. Jedna mogućnost na koji način predkoder 42 može da podeli niz 10 uzoraka na jedinice 50 kodiranja primerno je prikazana na Sl. 2. U skladu sa ovim primerom, podela regularno deli niz 10 uzoraka na jedinice 50 kodiranja, tako da su poslednje raspoređene u redove i kolone tako da pokriju kompletan niz 10 uzoraka bez preklapanja. Drugim rečima, prekoder 42 može biti konfigurisan da opiše svaku jedinicu 50 kodiranja pomoću elemenata sintakse. Neki od ovih elemenata sintakse mogu formirati informacije o potpodeli za dalju podelu odgovarajuće jedinice 50 kodiranja. Na primer, putem potpodele sa više stabala, informacije o potpodeli mogu opisati potpodelu odgovarajuće jedinice 50 kodiranja u blokove 52 predviđanja sa prekoderom 42 povezivanjem režima predviđanja sa povezanim parametrima predviđanja za svaki od ovih blokova 52 predviđanja. Ova podela predviđanja može omogućiti da se blokovi 52 predviđanja razlikuju po veličini kao što je ilustrovano na Sl. 2. Prekoder 42 takođe može da poveže informacije o ostatku podele sa blokovima 52 za predviđanje kako bi se blokovi 52 predviđanja dalje podelili na preostale blokove 54 kako bi se opisao ostatak predviđanja po bloku 52 predviđanja. Prema tome, prekoder može biti konfigurisan da generiše opis sintakse niza 10 uzoraka u skladu sa šemom hibridnog kodiranja. Međutim, kao što je već pomenuto gore, pomenuti način na koji predkoder 42 opisuje niz uzoraka 10 pomoću sintaksnih elemenata je samo predstavljen u svrhu ilustracije i takođe se može primeniti drugačije.
[0017] Prekoder 42 može da iskoristi prostorne međuodnose između sadržaja susednih jedinica 50 kodiranja niza 10 uzoraka. Na primer, prekoder 42 može predvideti elemente sintakse za određenu jedinicu 50 kodiranja iz elemenata sintakse određenih za prethodno kodirane jedinice 50 kodiranja koje su prostorno pored trenutno kodirane jedinice 50 kodiranja. Na Sl. 1 i 2, na primer, gornji i levi susedi služe za predviđanje kao što je ilustrovano strelicama 60 i 62. Štaviše, prekoder 42 može, u režimu intra-predviđanja, ekstrapolirati već kodirani sadržaj susednih jedinica 50 kodiranja u trenutnu jedinica 50 kodiranja tako da se dobije predviđanje uzoraka trenutne jedinice kodiranja 50. Kao što je prikazano na Sl. 1, prekoder 42 može, osim iskorišćavanja prostornih međusobnih odnosa, privremeno predvideti uzorke i/ili elemente sintakse za trenutnu jedinicu kodiranja 50 od prethodno kodiranih nizova uzoraka kao što je ilustrativno prikazano na Sl. 1 pomoću strelice 64. To jest, predviđanje sa kompenzacijom kretanja može se koristiti kao prekoder 42, a sami vektori kretanja mogu biti predmet vremenskog predviđanja iz vektora kretanja prethodno kodiranih nizova uzoraka.
[0018] To jest, prekoder 42 može da opiše sadržaj niza uzoraka 10 jedinica kodiranja i može, u tu svrhu, da koristi prostorno predviđanje. Prostorno predviđanje je ograničeno za svaku jedinicu 50 kodiranja na prostorno susedne jedinice kodiranja istog niza 10 uzoraka tako da kada se prati redosled 66 kodiranja među jedinicama 50 kodiranja niza 10 uzoraka, susedne jedinice kodiranja služe kao referenca za predviđanje za prostorno predviđanje, generalno su prošli redosledi 66 kodiranja pre trenutne jedinice 50 kodiranja. Kao što je ilustrovano na Slici 2, redosled 66 kodiranja definisan među jedinicama 50 kodiranja može, na primer, biti rasterski redosled skeniranja prema kojem kodirane jedinice 50 se prelaze red po red od vrha do dna. Opciono, podela niza 10 na niz pločica može dovesti do toga da redosled 66 skeniranja prelazi - u rasterskom redosledu skeniranja - jedinice 50 kodiranja koje prvo sačinjavaju jednu pločicu pre nego što prethode sledećoj u redosledu pločica koji, zauzvrat, može takođe biti tipa rasterskog skeniranja. Na primer, prostorno predviđanje može uključivati samo susedne jedinice 50 kodiranja unutar reda jedinice kodiranja iznad reda jedinice kodiranja u kojem se nalazi trenutna jedinica 50 kodiranja, i jedinicu kodiranja unutar istog reda kodne jedinice, ali levo u odnosu na trenutnu jedinica kodiranja. Kao što će biti detaljnije objašnjeno u nastavku, ovo ograničenje na prostornu međusobnu vezu/prostorno predviđanje, omogućava paralelnu obradu talasnog fronta.
[0019] Prekoder 42 prosleđuje elemente sintakse u fazu 44 entropijskog kodiranja. Kao što je upravo navedeno, neki od ovih elemenata sintakse su prediktivno kodirani, tj. predstavljaju ostatke predviđanja. Predkoder 42 se stoga može smatrati prediktivnim koderom. Pored toga, prekoder 42 može biti transformacioni koder konfigurisan da transformiše ostatke koda predviđanja sadržaja jedinica 50 kodiranja.
[0020] Primer unutrašnje strukture stepena 44 entropijskog kodiranja je takođe prikazan na Sl.1. Kao što je prikazano, stepen 44 entropijskog kodiranja može da sadrži, opciono, simbolizator za pretvaranje svakog od sintaksnih elemenata primljenih od prekodera 42, čiji broj mogućih stanja premašuje kardinalnost simbola abecede u niz simbola siabecede simbola zasnovan na principu na kom radi mašina 44 za entropijsko kodiranje. Pored tog opcionog simbolizatora 70, mašina 44 za entropijsko kodiranje može da sadrži selektor 72 konteksta i inicijalizator 74, menadžer 76 za procenu verovatnoće, adapter 78 za procenu verovatnoće i jezgro 80 za entropijsko kodiranje. Izlaz jezgra entropijskog kodiranja formira izlaz entropijskog stepena 44 kodiranja. Osim toga, jezgro 80 za entropijsko kodiranje sadrži dva ulaza, naime jedan za prijem simbola siniza simbola, i drugi za prijem procene verovatnoće piza svaki od simbola.
[0021] Zahvaljujući svojstvima entropijskog kodiranja, efikasnost kodiranja u smislu stope kompresije, raste sa poboljšanjem procene verovatnoće: što se procena verovatnoće bolje poklapa sa stvarnom statistikom simbola, to je bolja stopa kompresije.
[0022] U primeru na Sl. 1, birač 72 konteksta je konfigurisan da izabere, za svaki simbol si, odgovarajući kontekst cimeđu skupom dostupnih konteksta kojima upravlja menadžer 76. Međutim, treba napomenuti da izbor konteksta čini samo opciono svojstvo i može se izostaviti, na primer, korišćenjem istog konteksta za svaki simbol. Međutim, ako se koristi selekcija konteksta, selektor 72 konteksta može biti konfigurisan da izvrši izbor konteksta barem delimično na osnovu informacija koje se tiču jedinica kodiranja izvan trenutne jedinice kodiranja, odnosno koje se tiču susednih jedinica kodiranja unutar ograničenog susedstva o kome je gore diskutovano.
[0023] Menadžer 76 sadrži skladište koje čuva, za svaki dostupni kontekst, pridruženu procenu verovatnoće. Na primer, abeceda simbola može biti binarna abeceda tako da samo jedna vrednost verovatnoće mora da bude sačuvana za svaki dostupni kontekst.
[0024] Inicijalizator 74 može, povremeno, da inicijalizuje ili ponovo inicijalizuje procene verovatnoće uskladištene u menadžeru 76 za dostupne kontekste. Mogući trenuci vremena u kojima se takva inicijalizacija može izvršiti, razmatraju se dalje u nastavku.
[0025] Adapter 78 ima pristup parovima simbola sii odgovarajućim procenama verovatnoće pii shodno tome prilagođava procene verovatnoće unutar menadžera 76. To jest, svaki put kada entropijsko kodirajuće jezgro 80 primeni procenu verovatnoće tako da entropijski kodira odgovarajući simbol si, u tok podataka 20, adapter 78 može da promeni ovu procenu verovatnoće u skladu sa vrednošću ovog trenutnog simbola si, tako da ova procena verovatnoće pije bolje prilagođena stvarnoj statistici simbola kada se kodira sledeći simbol koji je povezan sa tom procenom verovatnoće (prema svom kontekstu). To jest, adapter 78 prima procenu verovatnoće za izabrani kontekst od menadžera 76 zajedno sa odgovarajućim simbolom sii u skladu sa tim prilagođava procenu verovatnoće pitako da se za sledeći simbol siistog konteksta cikoristi adaptivna procena verovatnoće.
[0026] Jezgro 80 za entropijsko kodiranje je, na primer, konfigurisano da radi u skladu sa šemom aritmetičkog kodiranja ili u šemi kodiranja intervala-verovatnoće-particionisaneentropije. U aritmetičkom kodiranju, jezgro 80 entropijskog kodiranja bi, na primer, neprekidno ažuriralo svoje stanje prilikom kodiranja niza simbola, pri čemu je stanje definisano intervalom verovatnoće definisanim vrednošću širine intervala verovatnoće i vrednošću pomeraja intervala verovatnoće, na primer. Kada radi u pajp konceptu, jezgro 80 entropijskog kodiranja bi, na primer, podelilo domen mogućih vrednosti procene verovatnoće na različite intervale sa izvođenjem entropijskog kodiranja sa fiksnom verovatnoćom u odnosu na svaki od ovih intervala, čime bi se dobio podtok za svaki od podintervala čija je efikasnost kodiranja prilagođena odgovarajućem intervalu verovatnoće. U slučaju entropijskog kodiranja, izlaz toka 20 podataka bi bio aritmetički kodirani tok podataka koji signalizira informaciju sa strane dekodiranja koja omogućava emulaciju ili ponavljanje procesa podele intervala.
[0027] Naravno, bilo bi moguće da stanje 44 entropijskog kodiranja entropijski kodira sve informacije, tj. sve sintaksne elemente/simbole si, koji se odnose na niz 10 uzoraka sa inicijalizacijom procene verovatnoće samo jednom na njegovom početku, a zatim kontinuiranim ažuriranjem procene verovatnoće pomoću adaptera 78. Ovo bi, međutim, rezultiralo protokom 20 podataka koji bi morao da se sekvencijalno dekodira na strani za dekodiranje. Drugim rečima, ne bi postojala mogućnost da bilo koji dekoder podeli rezultujući tok podataka na nekoliko pod-delova i paralelno dekodira pod-delove. Ovo bi, zauzvrat, ometalo –sve napore za niskim kašnjenjem.
[0028] Shodno tome, kao što će biti detaljnije istaknuto u nastavku, poželjno je dodatno podeliti količinu podataka koji opisuju niz 10 uzoraka u takozvane entropijske isečke. Svaki od ovih entropijskih isečaka bi, shodno tome, pokrivao drugačiji skup elemenata sintakse koji se odnose na niz 10 uzoraka. Ako bi faza 44 entropijskog kodiranja, međutim, entropijski kodirala svaki entropijski isečak potpuno nezavisno jedan od drugog tako što bi prvo inicijalizovala procenu verovatnoće jednom uz kontinuirano ažuriranje procene verovatnoće za svaki entropijski isečak pojedinačno, tada bi efikasnost kodiranja bila smanjena zbog povećanog procenta podataka koji se odnose na i koji opisuju niz 10 uzoraka, za koje su korišćene procene verovatnoće (još) manje tačno prilagođene stvarnoj statistici simbola.
[0029] Da bi se prevazišli upravo pomenuti problemi u ispunjavanju želje za niskim kašnjenjem kodiranja s jedne strane i visokom efikasnošću kodiranja s druge strane, može se koristiti sledeća šema kodiranja, koja je sada opisana u odnosu na Sl. 3.
[0030] Prvo, podaci koji opisuju niz 10 uzoraka se dalje dele na delove koji se u nastavku nazivaju "entropijskim isečcima". Pododeljak 80 ne mora da bude bez preklapanja. S druge strane, ova podela može bar delimično odgovarati prostornoj podeli niza 10 uzoraka na različite delove. To jest, prema pododeljku 80, elementi sintakse koji opisuju niz 10 uzoraka mogu biti raspoređeni na različite entropijske isečke u zavisnosti od lokacije jedinice 50 kodiranja na koju se odnosi odgovarajući sintaktički element. Videti, na primer, Sl. 2. Sl. 2 prikazuje primer podele niza 10 uzoraka na različite delove 12. Svaki deo odgovara odgovarajućem entropijskom isečku. Kao što je prikazano kao primer, svaki deo 12 odgovara nizu jedinica 50 kodiranja. Druge podele su, međutim, takođe izvodljive. Međutim, korisno je ako podela niza 10 uzoraka na delove 12 sledi gore pomenuti redosled 66 kodiranja tako da delovi 12 pokrivaju uzastopne serije jedinica 12 kodiranja duž redosleda kodiranja 66. Čak i ako je tako, međutim, početna i krajnja pozicija dela 12 duž redosleda 66 kodiranja ne mora da se poklapa sa levom i desnom ivicom redova jedinica 50 kodiranja, respektivno. Čak i podudarnost sa granicama kodnih jedinica 50 koje odmah slede jedna za drugom i redosled kodiranja 66 ne mora da bude obavezan.
[0031] Podelom niza 10 uzoraka na taj način, redosled 16 entropijskih isečaka se definiše između delova 12 duž kojih delovi 12 slede jedan za drugim duž redosleda 66 kodiranja. Štaviše, za svaki entropijski isečak, definisana je odgovarajuća putanja 14 entropijskog kodiranja, odnosno fragment putanje 66 kodiranja koji ide do odgovarajućeg dela 12. U primeru sa Sl. 2 gde se delovi 12 poklapaju sa redovima jedinica 50 kodiranja, putanje 14 entropijskog kodiranja svakog entropijskog isečka uperene su duž pravca reda, paralelno jedna ka drugoj, odnosno ovde sa leve ka desnoj strani.
[0032] Treba napomenuti da bi bilo moguće ograničiti prostorna predviđanja koja vrši predkoder 42 i derivacije konteksta koje izvodi selektor 72 konteksta tako da se ne prelaze granice isečka, tj. tako da prostorna predviđanja i izbor konteksta ne zavise od podataka koji odgovara drugom entropijskom isečku. Na ovaj način, „entropijski isečci” bi odgovarali uobičajenoj definiciji „isečaka” u H.264, na primer, koji se potpuno mogu dekodirati nezavisno jedan od drugog, osim za dole navedene zavisnosti od inicijalizacije/prilagođavanja verovatnoće. Međutim, takođe bi bilo izvodljivo dozvoliti prostornim predviđanjima i odabirima konteksta, tj. generalno govoreći zavisnostima, da prelaze granice isečka kako bi se iskoristile lokalne/prostorne međuzavisnosti pošto je WPP obrada još uvek izvodljiva čak i pri obrnutom smeru od prethodnog kodiranja, odnosno rekonstrukcija zasnovana na elementima sintakse i izboru entropijskog konteksta. Do sada bi entropijski preseci nekako odgovarali "zavisnim presecima".
[0033] Potpodela 80 može, na primer, da se izvrši pomoću faze 44 entropijskog kodiranja. Podpodela može biti fiksna ili može da varira između niza sekvence 30. Potpodela može biti fiksna po konvenciji ili može biti signalizirana unutar toka 20 podataka.
[0034] Na osnovu entropijskih isečaka, može se odigrati stvarno entropijsko kodiranje, tj. 82. Za svaki entropijski isečak, entropijsko kodiranje može biti strukturirano u početnu fazu 84 i fazu 86 nastavljanja. Početna faza 84 uključuje npr., inicijalizaciju procena verovatnoće kao i pokretanje stvarnog procesa entropijskog kodiranja za odgovarajući entropijski isečak. Stvarno entropijsko kodiranje se zatim izvodi tokom faze 86 nastavka. Entropijsko kodiranje tokom faze 86 se izvodi duž odgovarajuće putanje 14 entropijskog kodiranja. Početna faza 84 se kontroliše za svaki entropijski isečak tako da entropijsko kodiranje više entropijskih isečaka počinje sekvencijalno koristeći redosled 16 entropijskih isečaka.
[0035] Sada, da bi se izbeglo gore opisano negativno dejstvo koje bi bilo rezultat entropijskog kodiranja svakog entropijskog isečka potpuno nezavisno jedan od drugog, proces 82 entropijskog kodiranja se kontroliše tako da trenutni deo, npr. trenutna jedinica kodiranja trenutnog entropijskog isečka je entropijski kodirana na osnovu odgovarajućih procena verovatnoće trenutnog entropijskog isečka kako je prilagođeno korišćenjem prethodno kodiranog dela trenutnog entropijskog isečka, tj. dela trenutnog entropijskog isečka levo od trenutne jedinice za kodiranje 50 u slučaju Sl. 2, i procene verovatnoće koja se koristi u entropijskom kodiranju prostorno susednog, po redosledu 16 entropijskih isečaka prethodnog entropijskog isečka u njegovom susednom delu, tj. susednoj jedinici kodiranja.
[0036] Da bi se jasnije opisala gore pomenuta zavisnost, upućuje se na Sl. 4. Sl. 4 ilustruje n-1, n i n+1-te entropijske isečke u redosledu 16 entropijskih isečka sa pozivnom oznakom 90. Svaki entropijski isečak 90 obuhvata niz elemenata sintakse koji opisuju deo 12 niza 10 uzoraka sa kojim je odgovarajući entropijski isečak 90 povezan. Duž putanje 14 entropijskog kodiranja, entropijski isečak 19 je segmentiran u niz segmenata 92, od kojih svaki odgovara odgovarajućoj jednoj od kodnih jedinica 50 dela 12 na koji se entropijski isečak 90 odnosi.
[0037] Kao što je gore opisano, procene verovatnoće koje se koriste u entropijskom kodiranju entropijskih isečaka 90 se kontinuirano ažuriraju tokom faze 86 nastavka duž putanje 14 entropijskog kodiranja tako da procene verovatnoće sve bolje prilagođavaju stvarnu statistiku simbola odgovarajućeg entropijskog dela 90 - tj. procene verovatnoće su povezane sa odgovarajućim entropijskim isečkom. Dok se procene 94 verovatnoće koje se koriste za entropijsko kodiranje entropijskog isečka 90 tokom faze 86 nastavka, kontinuirano ažuriraju, na Sl. 4 su ilustrovana i dalje prikazana samo stanja procene 94 verovatnoće koja se javljaju na početnoj i krajnjoj poziciji segmenata 92. Konkretno, stanje pre entropijskog kodiranja prvog segmenta 92 kako je inicijalizovano tokom početne faze 84 prikazano je na 96, stanje koje se manifestuje nakon kodiranja prvog segmenta je ilustrovano na 98, a stanje koje se manifestuje nakon kodiranja prva dva segmenta je označeno sa 100. Isti elementi su prikazani na Sl. 4 takođe za n-1 entropijski isečak u redosledu 16 entropijskih isečaka, i sledeći entropijski isečak, tj. entropijski isečak n+1.
[0038] Sada, da bi se postigla gore navedena zavisnost, početno stanje 96 za entropijsko kodiranje n-tog entropijskog isečka 90 se postavlja u zavisnosti od bilo kog međustanja procene 94 verovatnoće koje se manifestuje tokom kodiranja prethodnog entropijskog dela n -1. „Međustanje“ označava bilo koje stanje procene 94 verovatnoće, isključujući početno stanje 96 i konačno stanje koje se manifestuje nakon entropijskog kodiranja kompletnog entropijskog isečka n-1. Na taj način, entropijsko kodiranje niza entropijskih isečaka 90 duž redosleda 16 entropijskih isečaka može biti paralelizovano sa stepenom paralelizacije koji se određuje odnosom broja segmenata 92 koji prethode stanju koje se koristi za inicijalizaciju procene 94 verovatnoće za entropijsko kodiranje sledećeg entropijskog isečka, tj. a, i broj segmenata 92 koji slede ovu fazu, tj. b. Konkretno, na Sl. 4, a je primerno postavljeno da bude jednako, sa inicijalizacijom, tj. adaptacijom stanja 100 tako da se stanje 96 trenutnog entropijskog isečka postavi da bude jednako stanju 100 prethodnog entropijskog isečka, što je ilustrovano strelicom 104.
[0039] Ovom merom, entropijsko kodiranje bilo kog segmenta 92 koji sledi stanje 100 u redosledu 14 putanje entropijskog kodiranja zavisilo bi od procene 94 verovatnoće kako je prilagođeno tokom faze 86 nastavka na osnovu prethodnih segmenata istog entropijskog isečka, kao i procena verovatnoće koja se koristi u entropijskom kodiranju trećeg segmenta 92 prethodnog entropijskog dela 90.
[0040] Shodno tome, entropijsko kodiranje entropijskih isečaka 90 može se izvoditi paralelno u pajplajn rasporedu. Jedina ograničenja nametnuta vremenskom rasporedu bi bila da entropijsko kodiranje nekog entropijskog isečka može početi tek nakon završetka entropijskog kodiranja a-tog segmenta 92 prethodnog entropijskog isečka. Entropijski isečci 90 koji po redosledu 16 entropijskih isečka slede odmah jedan za drugim, ne podležu nikakvim drugim
1
ograničenjima u vezi sa vremenskim usklađivanjem procedure entropijskog kodiranja tokom faze 86 nastavka.
[0041] U skladu sa jednim drugim izvođenjem, međutim, dodatno i/ili alternativno se koristi jače spajanje. Konkretno, kao što je ilustrovano na Sl. 4 reprezentativnim strelicama 106, prilagođavanje procene verovatnoće tokom faze 86 nastavka uzrokuje da podaci jedinice kodiranja koja odgovaraju određenom segmentu 92 menjaju procene 94 verovatnoće iz stanja na početku odgovarajućeg segmenta 92 do kraja ovog segmenta 92, čime se poboljšava aproksimacija stvarne statistike simbola kao što je gore naznačeno. To jest, adaptacija 106 se izvodi za entropijski isečak n-1 samo u zavisnosti od podataka entropijskog isečka n-1, a isto važi i za adaptaciju procene verovatnoće 106 entropijskog isečka n, itd. Na primer, bilo bi moguće izvršiti inicijalizaciju kao što je gore objašnjeno u odnosu na strelice 104 sa izvođenjem adaptacije procene verovatnoće 106 bez ikakvih daljih smetnji između entropijskih isečaka 90. Međutim, da bi se ubrzala aproksimacija procene verovatnoće stvarnog simbola statistike, adaptacija 106 procene verovatnoće uzastopnih entropijskih isečaka može biti spojena tako da adaptacija procene verovatnoće 106 prethodnog entropijskog isečka n-1 takođe utiče, ili se uzima u obzir, kada se prilagođava adaptacija procene verovatnoće trenutnog entropijskog isečka n. Ovo je ilustrovano na Sl. 4 strelicom 108 koja pokazuje verovatnoće za entropijsko kodiranje n-1-tog entropijskog isečka 90 od stanja 110 prostorno susednih procena 94 do stanja 100 procene 94 verovatnoće za entropijsko kodiranje n-tog entropijskog isečka 90. Kada se koristi gore opisana inicijalizacija stanja 96, sprega 108 prilagođavanja verovatnoće može se, na primer, koristiti u bilo kom od b stanja procene verovatnoće koje se manifestuje nakon entropijskog kodiranja b segmenata 92 prethodnog entropijskog isečka. Da budemo precizniji, procene verovatnoće koje se manifestuju nakon entropijskog kodiranja prvog segmenta 92 trenutnog entropijskog isečka mogu biti rezultat uobičajene adaptacije 106 verovatnoće i uzimajući u obzir 108 od stanja procene verovatnoće koja su rezultat adaptacije 106 procene verovatnoće tokom entropijskog kodiranja (a+1)-tog segmenta 92 prethodnog entropijskog isečka n-1. „Uzimanje u obzir“ može, na primer, da uključuje neku operaciju usrednjavanja. Primer će biti dodatno razmatran u nastavku. Drugim rečima, stanje 98 procena 94 verovatnoće za entropijsko kodiranje n-tog entropijskog isečka 90 na početku njegovog segmenta 92 entropijskog kodiranja, može biti rezultat usrednjavanja stanja 96 prethodnika procene verovatnoće 94 za entropijsko kodiranje trenutnog entropijskog isečka n kako je inače i prilagođen korišćenjem adaptacije 106, i stanje pre entropijskog kodiranja (a+1)-tog segmenta 92 prethodnog entropijskog isečka n-1 modifikovanog u skladu sa adaptacijom verovatnoće 106. Analogno tome, stanje 100 može biti rezultat usrednjavanja rezultata adaptacije 106 izvršene tokom entropijskog kodiranja trenutnog entropijskog isečka n i rezultata adaptacije verovatnoće tokom entropijskog kodiranja (a+2)-tog segmenta 92 prethodnog entropijskog isečka n-1, itd.
[0042] Tačnije, neka
p(n)→ {i,j}, pri čemu i,j označava poziciju bilo koje jedinice kodiranja (sa (0,0) koja je leva, gornja a (I,J) desna, donja pozicija), i∈{ 1...I} i j∈{1...J}, I je broj ili kolone, J je broj redova i p() definiše redosled putanje 66,
P{i,j}procena verovatnoće koja se koristi u jedinici kodiranja entropijskog kodiranja {i,j}; i
T(P{i,j}) rezultat adaptacije verovatnoće 106 za P{i,j}na osnovu jedinice {i,j} kodiranja; Zatim, procene 106 verovatnoće uzastopnih entropijskih isečaka 90 mogu da se kombinuju da bi se zamenila uobičajena interna adaptacija entropijskog isečka prema Pp(n+1)=T(Pp(n)), pomoću
gde N može biti 1 ili više od 1 i {i,j}1...Nse bira/ju između (unutar) bilo kog prethodnog (u redosledu 16 entropijskih isečaka) entropijskog isečka 90 i njegovog pridruženog dela 12, respektivno. Funkcija „srednji“ može biti jedna od ponderisane sume, funkcije medijane, itd. p(n)={i,j} je trenutna jedinica kodiranja i p(n+1) sledi u skladu sa redosledom 14 i 66 kodiranja, respektivno. U predstavljenim izvođenjima p(n+1)={i+1,j).
[0043] Poželjno, {i,j}1...Nispunjava, za svaki k∈{1...N}, {i,j}1...N= {ik,jk} i ik<i+ 3 i jk<j pri čemu je p(n)={i,j} trenutna jedinica kodiranja (tj. bilo koja od druge ili sledeće jedinice kodiranja trenutnog entropijskog isečka), tj. ne leže izvan talasnog fronta.
[0044] U poslednjoj alternativi, vremensko raspoređivanje entropijskog kodiranja kada entropijsko kodiranje entropijskih isečaka 90 u paraleli, je bliže povezano jedno sa drugim. To jest, tokom faze 86 nastavka, sledeći segment 92 u liniji trenutnog entropijskog isečka, može samo da se započne nakon završetka odgovarajućeg segmenta prethodnog entropijskog isečka što je rang pozicija dalje u redosledu 14 putanje entropijskog kodiranja.
[0045] Drugim rečima, gornja diskusija je pokazala primer gde je dekoder 40, a posebno faza 44 entropijskog kodiranja, konfigurisan da izvrši, za entropijski isečak 90, kao što je n-ti, inicijalizaciju njegove verovatnoće procene 94 pre dekodiranja prvog segmenta 92 koji odgovara prvoj jedinici kodiranja/prvom bloku 50 dela 12 koji odgovara n-tom entropijskom isečku duž odgovarajuće putanje 14 kodiranja sa procenama verovatnoće koje se manifestuju nakon entropijskog dekodiranja druge jedinice/bloka 50 kodiranja dela 12 koji odgovara, po redosledu 16 entropijskih isečaka, prethodnom entropijskom isečku duž odgovarajuće putanje kodiranja 14. Dodatno, ili alternativno, dekoder 40 i, posebno, faza 44 entropijskog kodiranja, mogu biti konfigurisani da obavljaju, za svaki entropijski isečak 90, entropijsko dekodiranje i prilagođavanje procene verovatnoće tako da, nakon što je trenutni deo/blok/kodirajuća jedinica 50 trenutnog entropijskog isečka entropijski dekodiran na osnovu odgovarajućih procena 94 verovatnoće trenutnog entropijskog isečka 90, odgovarajuće procene verovatnoće 94 trenutnog entropijskog isečka su prilagođene u zavisnosti od ovog trenutnog dela trenutnog entropijskog isečka i procena verovatnoće koje se manifestuju u entropijskom dekodiranju susednog dela/bloka/jedinice 50 kodiranja prostorno susednog, prethodnog entropijskog isečka, kao što je onaj u gornjem susednom redu u drugoj koloni desno od trenutnog dela/bloka/jedinice kodiranja trenutnog entropijskog isečka.
[0046] Kao što je postalo jasno iz gornje diskusije, procena verovatnoće se mora prilagoditi/upravljati za svaki entropijski isečak 50 posebno. Ovo se može uraditi sekvencijalnom obradom entropijskih isečaka i čuvanjem stanja procene verovatnoće kao što su ona primerno prikazana i pomenuta u odnosu na Sl. 4, tj. 96, 98, 100, 110 i 102, u odgovarajuću memoriju za procenu verovatnoće 120 (vidi Sl. 1). Alternativno, može se obezbediti više od jedne faze entropijskog kodiranja 44 kako bi se dekodirali entropijski delovi paralelno. Ovo je ilustrovano na Sl. 5, gde je prikazano više instancija faze 44 entropijskog kodiranja, od kojih je svaka povezana sa odgovarajućim jednim od entropijskih isečaka i odgovarajućim delovima 12 niza 10 uzoraka, respektivno. Sl. 5 takođe ilustruje proces dekodiranja i njegove moguće implementacije korišćenjem paralelnih instancija odgovarajućih faza 130 entropijskog dekodiranja. Svaka od ovih faza 130 entropijskog dekodiranja se napaja sa odgovarajućim jednim od entropijskih isečaka koji se prenose putem toka 20 podataka.
[0047] Sl. 5 pokazuje da faze 44 entropijskog kodiranja i odgovarajuće faze 130 dekodiranja ne rade potpuno nezavisno jedna od druge paralelno. Umesto toga, uskladištena stanja procene verovatnoće, kao što su ona uskladištena u skladištu 120, se prenose iz jedne faze koja odgovara odgovarajućem entropijskom isečku, u drugu fazu koja se odnosi na entropijski isečak koji sledi u skladu sa redosledom 16 entropijskih isečaka.
[0048] Sl. 5 pokazuje u svrhu ilustracije, takođe mogući redosled prelaska za prelazak mogućih potpodela jedinica 50 kodiranja, kao što je redosled 140 prelaska definisan među blokovima 52 predviđanja unutar jedne jedinice 50 kodiranja. Za sve ove blokove 52 predviđanja odgovarajući elementi sintakse su sadržani unutar odgovarajućeg segmenta 92 i u skladu sa vrednostima ovih elemenata sintakse, procene 94 verovatnoće se prilagođavaju tokom obilaska putanje 140 sa prilagođavanjem tokom prelaska jedinice 50 kodiranja koja definiše gore pomenuti "T". U CABAC-u prema H.264 i HEVC, „T“ se izvodi na osnovu tabele, odnosno „hodom po tabeli“ koji definiše prelaze iz trenutnog stanja procene verovatnoće za trenutni kontekst u sledeće stanje u zavisnosti od trenutne vrednosti simbola povezano sa tim kontekstom.
[0049] Pre nego što nastavimo sa Sl. 6 koja prikazuje izvođenje dekodera koje odgovara izvođenju enkodera sa Sl. 1, treba napomenuti da je prediktivna priroda prekodera 42 samo služila kao ilustrativno izvođenje. U skladu sa čak i alternativnim izvođenjima, prekoder 42 može biti izostavljen sa elementima sintakse na kojima faza 44 entropijskog kodiranja radi, a to su, na primer, originalne vrednosti uzorka niza 10 uzoraka. Čak i alternativno, prekoder 42 može biti konfigurisan da formira podopseg dekompozicije niza 10 uzoraka kao što je u JPEG. Opciona priroda selektora konteksta 72 je već pomenuta gore. Isto važi i za inicijalizator 74. Isto može biti drugačije instrumentirano.
[0050] Sl. 6 prikazuje dekoder 200 koji odgovara enkoderu 40 sa Sl. 1. Sa slike 6 je vidljivo da konstrukcija dekodera 200 u suštini odražava konstrukciju enkodera 40. To jest, dekoder 200 sadrži ulaz 202 za prijem toka 20 podataka, nakon čega sledi spajanje faze 204 entropijskog dekodiranja i konstruktora 206. Faza 204 entropijskog dekodiranja dekodira entropijske isečke prenete u tok 202 podataka i prosleđuje, zauzvrat, dekodirane simbole si i sintaksne elemente, respektivno, konstruktoru 206, koji, zauzvrat, zahteva elemente sintakse iz faze 204 entropijskog dekodiranja odgovarajućim zahtevom 208. Drugim rečima, konstruktor 206 takođe preuzima odgovornost za raščlanjivanje toka elemenata sintakse koji proizvodi prekoder 42 unutar enkodera. Shodno tome, konstruktor 206 zahteva sekvencijalno elemente sintakse od faze 204 entropijskog dekodiranja. Faza entropijskog dekodiranja 204 je strukturisana suštinski na isti način kao i faza entropijskog kodiranja 44. Shodno tome, iste pozivne oznake unutrašnjih blokova faze entropijskog dekodiranja 204 se ponovo koriste. Simbolizator 70, ako je prisutan, pretvara zahteve za elemente sintakse u zahteve za simbole, a jezgro 80 za entropijsko dekodiranje odgovara sa odgovarajućom vrednošću simbola si, simbolizator 70 mapira sekvence primljenih simbola formirajući važeće reči simbola u elemente sintakse i prosleđuje ih konstruktoru 206. Konstruktor 206 rekonstruiše niz 10 uzoraka iz toka elemenata sintakse primljenog iz faze 204 entropijskog dekodiranja, kao što je, kao što je gore navedeno, korišćenjem prediktivnog dekodiranja, itd. Da budemo precizniji, konstruktor 206 takođe koristi red 66 kodiranja i vrši dekodiranje kodiranje po
1
jedinici sa izvođenjem predviđanja 60, 62 i 64. Jedno ili više predviđanja za elemente sintakse ili za vrednosti uzorka se kombinuju kao što je sabiranje, opciono uz korišćenje ostatka predviđanja dobijenog od elemenata sintakse toka elemenata sintakse. Jezgro 80 za entropijsko dekodiranje može, baš kao i jezgro za entropijsko kodiranje 80, da prati koncept aritmetičkog dekodiranja ili koncept dekodiranja entropijskog dekodiranja intervala verovatnoće. U slučaju aritmetičkog dekodiranja, jezgro 80 entropijskog dekodiranja može kontinuirano ažurirati unutrašnje stanje u obliku delimične vrednosti širine intervala i vrednosti kao što je vrednost pomaka, koja ukazuje na ovaj delimični interval. Ažuriranje se vrši pomoću ulaznog toka podataka. Trenutni delimični interval je podeljen analogno jezgru 80 entropijskog kodiranja koristeći procenu verovatnoće pikoja je obezbeđena za svaki simbol siputem selektora konteksta 72 zajedno sa menadžerom za procenu verovatnoće 76. Adapter 78 vrši prilagođavanje procene verovatnoće koristeći dekodirane vrednosti simbola si u cilju ažuriranja vrednosti procene verovatnoće pikonteksta cipridruženog simbolu sipomoću kontekstnog selektora 72. Inicijalizacije pomoću inicijalizatora 74 se rade na istim instancama i na isti način kao na strani kodiranja.
[0051] Dekoder sa Sl. 6 radi na način veoma sličan funkcionalnosti enkodera kao što je gore opisano u odnosu na Sl. 3. U koraku 230, niz 10 uzoraka se dalje deli na entropijske isečke. Videti, na primer, Sl. 8. Slika 8 prikazuje tok 20 podataka koji dolazi na ulaz 202 i posebno entropijske isečke 90, koji se nalaze u njima. U koraku 230, svaki od ovih entropijskih isečaka 90 je povezan sa delom 12 sa kojim je odgovarajući entropijski isečak 90 povezan tako da se može izvršiti gore opisana inicijalizacija procene verovatnoće i prilagođavanje procene verovatnoće na osnovu odgovarajućeg entropijskog isečka koji se nastavlja. Podela niza uzoraka, ili, preciznije rečeno, povezivanje entropijskih isečaka 90 sa njihovim odgovarajućim delovima 12, može biti izvedeno od strane konstruktora 206. Povezivanje se može postići različitim merama, kao što su sporedne informacije sadržane u toku 20 podataka u delovima koji nisu entropijski kodirani ili po konvenciji.
[0052] Entropijski isečci 90 se zatim, u procesu entropijskog dekodiranja 232, entropijski dekodiraju na način koji odražava proces 82 kodiranja, odnosno sa izvođenjem za svaki entropijski isečak 90, početne faze 234 i faze 236 nastavka sa procenom verovatnoće inicijalizacija i adaptacija na isti način i na istim instancama kao u postupku kodiranja.
[0053] Ista paralelizacija kao što je gore opisano u pogledu kodiranja, moguća je na strani dekodiranja. Instancije 130 faze entropijskog dekodiranja prikazane na Sl. 5 mogu se izvesti kao što je prikazano u odnosu na fazu 204 entropijskog dekodiranja na Sl. 6. Skladište 240 procene verovatnoće može se koristiti da bi se uskladištila stanja procene verovatnoće za upotrebu u fazi 130 entropijskog dekodiranja odgovornoj za entropijsko dekodiranje sledećeg entropijskog isečka u redosledu 16 entropijskog kodiranja.
[0054] Nakon što su opisana izvođenja ove prijave, koncepti o kojima se do sada raspravljalo su opisani u nastavku, ponovo koristeći različite formulacije. Zatim je opisano nekoliko daljih aspekata ove prijave. U nastavku, gore pomenute jedinice 50 kodiranja se nazivaju LCU (najveća jedinica kodiranja), čime se formulacija prilagođava predstojećem HEVC standardu.
[0055] Prvo, gore diskutovano prilagođenje 106 verovatnoće je ponovo ukratko razmotreno u odnosu na Sl. 9.
[0056] Trenutni LCU koristi procene verovatnoće kao što su CABAC verovatnoće, dostupne nakon kodiranja prethodnog levog LCU. Na primer, LCU na Sl. 9, označen sa x, treba da bude entropijski kodiran korišćenjem procene verovatnoće p1 kako je prilagođeno do kraja entropijskog kodiranja leve strane LCU levo od LCUx. Međutim, ako se informacije koriste ne samo sa leve, već i iz jedne ili više drugih LCU-a, koje su već obrađene i dostupne, mogu se postići bolji rezultati u prilagođavanju verovatnoće.
[0057] Kao što je gore opisano, u entropijskom dekodiranju i entropijskom kodiranju entropijskih isečaka, nove procene verovatnoće se računaju pre kodiranja ili dekodiranja svake LCU, uz pomoć već postojećih verovatnoća (procena verovatnoće) iz drugih LCU. Da budemo precizniji, prilagođavanje verovatnoće se ne izvodi samo iz bilo kojeg prethodnog LCU-a trenutnog entropijskog isečka, već i iz LCU-ova entropijskih isečaka koji prethode redosledu entropijskih isečaka. Ovaj pristup je ponovo predstavljen na Sl. 9. Početna verovatnoća trenutne LCU koja je označena X na Sl. 9, može se izračunati u skladu sa:
gde su a1,... aktežinski faktori LCU.
[0058] Testirano je koje ponderisanje verovatnoće daje najbolje rezultate. U ovom eksperimentu su korišćeni samo susedni LCUovi. Studija otkriva da se koristi ponderisanje: 75% sa leve LCU i 25% iz gornje desne LCU. Na Sl. 10-13, prikazani su rezultati. Grafikoni sa naslovom "prob. Adapt." koriste gore opisano prilagođavanje verovatnoće.
[0059] Međutim, u prilagođavanju procene verovatnoće, mogu se koristiti ne samo susedni blokovi. Svaka najbliža LCU ima svoje susede, čija upotreba za optimizaciju verovatnoće može biti značajna. Drugim rečima, mogu se primeniti ne samo LCU-ovi iz najbližeg gornjeg reda. Na Sl. 9, može se videti primer gde su derivacije procena verovatnoće prvo uzete od suseda i mogu se uzeti iz svake gornje desne LCU svakog sledećeg gornjeg reda, cf. p5i pk.
[0060] Treba priznati da je određena složenost uvedena gore navedenim ponovnim izračunavanjem verovatnoće ili prilagođavanjem procene verovatnoće. Novo izračunavanje procene verovatnoće se dešava, na primer, u tri koraka: u početku se procene verovatnoće svakog kandidata moraju dobiti iz svakog stanja konteksta. Ovo se radi čuvanjem u skladištu 120 i 240, respektivno, ili upravljanjem paralelnim entropijskim isečkom n/dekodiranja procesa tako da su ova stanja dostupna istovremeno. Drugo, korišćenjem jednačine (1) biće kreirana optimizovana verovatnoća (pnew). To jest, neko usrednjavanje, na primer, može da se koristi da bi se kombinovale prilagođene procene verovatnoće različitih entropijskih isečaka. Kao poslednji korak, novo stanje konteksta se konvertuje iz pnewi zamenjuje staro. To jest, menadžer 76 za procenu verovatnoće usvaja nove tako dobijene procene verovatnoće. Ova izvedba za svaki element sintakse, posebno korišćenje operacija množenja, može značajno povećati složenost. Jedini način da se smanji ovo negativno dejstvo je da se pokuša da se izbegnu ova tri koraka. Ako su određeni broj kandidata i njihova ponderisanja, može se unapred izračunata tabela aproksimirati za svaku situaciju. Dakle, potreban je samo jedan jednostavan pristup podacima tabele uz pomoć indeksa kandidata (stanja konteksta).
[0061] Tvrdi se da ova tehnika može da pruži dobre rezultate i za aplikacije koje koriste i one koje ne koriste entropijske isečke. Prva aplikacija koristi samo jedan isečak po kadru, tako da je prilagođavanje verovatnoće optimizovano bez ikakvih drugih promena. U slučaju entropijskih isečaka, prilagođavanje verovatnoće se dešava unutar svakog isečka nezavisno od drugih isečaka. Ovo omogućava brzo učenje verovatnoća trenutnog LCU.
1
[0062] U gornjem opisu je takođe predstavljena upotreba druge LCU gornje linije, tj. upotreba druge LCU za inicijalizaciju procene verovatnoće. Paralelizacija kodiranja i dekodiranja je moguća ako su ispunjeni neki uslovi toka bitova koji su gore navedeni (entropijski isečci). Zavisnost CABAC verovatnoće između LCU-ova mora biti prekinuta. Paralelnom obradom talasnog fronta važno je učiniti prvi LCU svake linije nezavisnim od poslednjeg LCU prethodne linije. To se može postići ako se, na primer, CABAC verovatnoće ponovo inicijalizuju na početku svake linije LCU. Međutim, ovaj metod nije optimalan, jer se svakom ponovnom inicijalizacijom gube postignute CABAC verovatnoće koje su prilagođene specifičnostima slike. Ovo negativno dejstvo se može smanjiti ako se inicijalizacija CABAC verovatnoća prve LCU svake linije dogodi sa verovatnoćama dobijenim nakon drugog LCU prethodne linije.
[0063] Kao što je gore opisano, povećanje brzine prilagođavanja verovatnoće se postiže spajanjem adaptacija verovatnoće prostorno susednih entropijskih isečaka. Konkretno, drugim rečima, gornja diskusija takođe predviđa da dekoder s entropijski dekodira (što se izvodi u fazi entropijskog dekodiranja) više entropijskih isečaka unutar toka podataka entropijskog kodera kako bi se rekonstruisali različiti delovi (12) pridruženog niza uzoraka sa entropijskim isečcima, respektivno, sa izvođenjem, za svaki entropijski isečak, entropijskog dekodiranja duž odgovarajuće putanje (14) entropijskog kodiranja koristeći odgovarajuće procene verovatnoće, prilagođavajući (koje vrši adapter 78) odgovarajuće procene verovatnoće duž odgovarajuće putanje entropijskog kodiranja koristeći prethodno dekodirani deo odgovarajućeg entropijskog isečka, započinjući entropijsko dekodiranje više entropijskih isečaka uzastopno koristeći redosled (16) entropijskih isečaka, i izvodeći, u entropijskom dekodiranju unapred određenog entropijskog isečka, entropijsko dekodiranje trenutnog dela (x) od unapred određenog entropijskog isečka zasnovan na odgovarajućim procenama verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno dekodirani deo unapred određenog entropijskog isečka (uključujući p1, na primer) i procena verovatnoće koje se koriste u entropijskom dekodiranju prostorno susednog, po redosledu entropijskih isečaka prethodnom entropijskom isečku (isečak koji sadrži X, na primer) na susednom delu (kao što je p4) prostorno susednog entropijskog isečka.
[0064] Različiti delovi mogu biti redovi blokova (npr. LCU ili makroblokovi) niza uzoraka. Ovo poslednje može biti slika video zapisa. Putanja entropijskog kodiranja može se protezati po redu. Entropijsko kodiranje, a samim tim i prilagođavanje verovatnoće, može biti prilagođeno kontekstu. Redosled entropijskih isečaka se generalno može izabrati tako da, duž redosleda entropijskih isečaka, različiti delovi slede jedan za drugim u pravcu (16) pod uglom u odnosu na putanje (14) entropijskog kodiranja entropijskih isečaka, koji se, zauzvrat, protežu suštinski paralelno jedna sa drugom. Ovom merom, „talasni front“ trenutno dekodiranih delova (kao što su p1, p4, p5+1 i pk na slici) entropijskih isečaka može generalno biti raspoređen duž linije koja formira ugao u odnosu na putanje entropijskog isečaka manji od smera redosleda delova. Talasni front će možda morati da ima nagib od 1y po 2x blok pozicijama da bi gornja leva referenca uvek bila tu, za sve niti koje paralelno obrađuju isečke.
[0065] Dekoder može biti konfigurisan da izvrši, za svaki entropijski isečak, entropijsko dekodiranje duž odgovarajuće putanje entropijskog kodiranja u jedinicama delova dela niza uzoraka odgovarajućeg entropijskog isečka tako da se entropijski isečci sastoje od istog broja delova, respektivno, i sekvenca delova iz porcije duž putanja entropijskog isečka su poravnati jedan prema drugom u pravcu bočno od putanja entropijskih isečaka. Trenutni deo porcije unapred određenog entropijskog isečka pripada rezultujućoj mreži delova (npr. LCU-ovi ili makroblokovi). U izvođenju, za svaki entropijski isečak, entropijskog dekodiranja duž
1
odgovarajuće putanje entropijskog kodiranja, dekoder može sačuvati odstupanja/pomeranja između početnih vremena između neposredno uzastopnih entropijskih isečaka u redosledu entropijskih isečaka tako da talasni front trenutno dekodiranih delova entropijskih isečaka formira dijagonalu kao što je do linije sa nagibom od 0,5x pozicija bloka u odnosu na putanje entropijskih isečaka i smer redosleda entropijskih isečaka. Pomak/pomeranje može odgovarati na dva dela za sve parove neposredno uzastopnih entropijskih isečaka. Alternativno, dekoder može samo da spreči da razdaljina trenutno dekodiranih delova neposredno uzastopnih (i neposredno susednih, što se tiče delova 12 niza uzoraka) entropijskih isečaka postane manja od dva dela. Vidite gornju sliku: čim deo/blok p4 bude dekodiran, deo/blok desno od njega se dekodira prema redosledu putanje 16, a istovremeno, ako postoji, dekodira se X ili bilo koji od delova/blokova koji prethodi istom). Ovom merom, dekoder može da koristi procene verovatnoće koje su već prilagođene na osnovu sadržaja dela/bloka p4, tj. dela unutar prostorno susednog dela, koji je poravnat sa delom dela 12 unapred određenog entropijskog isečka koji sledi trenutni deo X u redosledu putanje 16, da bi se odredile procene verovatnoće koje će se koristiti u dekodiranju X. U slučaju konstantnog pomaka u dekodiranju neposredno entropijskih isečaka dva dela, dekoder može da koristi procene verovatnoće kao što je već prilagođeno na osnovu sadržaja dela/bloka p4 istovremeno za entropijsko dekodiranje sledećeg dela (tj. dela desno od p4) prostorno susednog entropijskog isečka.
[0066] Kao što je gore opisano, može se koristiti ponderisani zbir već prilagođenih procena verovatnoće da bi se odredile procene verovatnoće koje će se koristiti za dekodiranje X.
[0067] Kao što je takođe gore opisano, redosled entropijskih isečaka može takođe da ide preko granica frejma.
[0068] Treba napomenuti da se upravo navedeno usvajanje verovatnoće iz prethodnih entropijskih isečaka može izvesti za svaki deo trenutnog/prethodno određenog entropijskog isečka za koji su takvi susedni delovi u prethodnim entropijskim presecima dostupni. To je takođe tačno za prvi deo duž pravca putanje 16, a za ovaj prvi deo/blok (krajnji levi u svakom entropijskom isečku na slici) usvajanje je jednako inicijalizaciji opisanoj gore.
[0069] U cilju boljeg prilagođavanja, takođe u ovom slučaju, 2 gore pomenuta metoda mogu se kombinovati zajedno. Rezultati ovog procesa sa 1 i 4 Niti, odnosno paralelno korišćenim procesorskim jedinicama, ilustrovani su na Sl. 10 - Sl. 13 (2LCU+Prob.Adap ili 2LCU grafovi).
[0070] Da bi se bolje razumeo kontekst gornjih izvođenja i, posebno, daljih izvođenja opisanih u nastavku, posebno korišćenje LCU-a, može se prvo pogledati struktura H.264/AVC.
[0071] Kodirana video sekvenca u H.264/AVC sastoji se od niza pristupnih jedinica koje su sakupljene u okviru NAL jedinica i koriste samo jedan skup parametara sekvence. Svaka video sekvenca se može nezavisno dekodirati. Kodirana sekvenca se sastoji od niza kodiranih slika. Kodirani frejm može biti ceo frejm ili jedno polje. Svaka slika je podeljena na makroblokove fiksne veličine (u HEVC: LCU). Nekoliko makroblokova ili LCU-ova može se spojiti zajedno u jedan isečak. Slika je stoga kolekcija jednog ili više isečaka. Cilj ovog razdvajanja podataka je da se omogući nezavisno dekodiranje uzoraka u oblasti slike, koja je predstavljena isečkom, bez upotrebe podataka iz drugih, kao što je onaj na Sl. 6 za rekonstrukciju niza (10) uzoraka iz entropijski kodiranog toka podataka, konfigurisanih isečaka.
1
[0072] Tehnika koja se takođe često naziva "entropijskim isečcima" je cepanje tradicionalnog isečka na dodatne pod-isečke. Konkretno, to znači presecanje entropijski kodiranih podataka jednog isečka. Raspored entropijskih isečaka u isečku može imati različite varijante. Najjednostavniji je da se svaki red LCU/makroblokova u frejmu koristi kao jedan entropijski isečak. Alternativno, kolone ili odvojeni regioni se mogu koristiti kao entropijski isečci, koji se čak mogu prekidati i preklapati jedni sa drugima, npr. isečak 1 na Sl. 14.
[0073] Očigledan cilj koncepta entropijskog isečka je da omogući upotrebu paralelnih CPU/GPU i višejezgarnih arhitektura kako bi se poboljšalo vreme procesa dekodiranja, odnosno ubrzao proces. Trenutni isečak se može podeliti na particije koje se mogu raščlaniti i rekonstruisati bez pozivanja na druge podatke isečka. Iako se neka prednost može postići pristupom entropijskog isečka, time se dolazi do nekih nepovoljnosti.
[0074] Pre svega, glavni cilj je da se stvori tok bitova koji je pogodan za proces paralelnog kodiranja i dekodiranja. Mora se uzeti u obzir da se LCU može kodirati samo ako su susedni LCU (levo, gore, gore desno) već dostupni u kodiranoj verziji, kako bi se koristile informacije o prostoru i kretanju za predviđanje. Da bi se omogućio paralelizam isecanjem, mora se realizovati pomeranje između obrade isečka (na primer pomeranje 2 LCU, kao što je tipično za pristup talasnom frontu). Zbog prilagođavanja CABAC verovatnoća, LCU koristi verovatnoće koje su dostupne iz prethodnog kodiranog LCU. Što se tiče redosleda rasterskog skeniranja, problem koji nastaje presecanjem slike je sprečavanje paralelizma, pošto prva LCU svake linije zavisi od poslednje LCU prethodne linije. Uticaj ovoga je da se zavisnosti CABAC verovatnoća između isečaka moraju prekinuti, tako da se nekoliko isečaka može pokrenuti istovremeno. Jedan od načina da se to uradi je uobičajena CABAC ponovna inicijalizacija pri čemu će, međutim, svi usvojeni podaci biti izgubljeni. Kao rezultat, brzina u bitovima može biti povećana.
[0075] Drugo, svaki isečak generiše sopstveni pod-tok bitova, koji se može ubaciti u seriju u glavni tok. Ali potrebno je dekoderu preneti posebne informacije, tako da se ovi delovi i njihove pozicije u glavnom toku mogu ispravno identifikovati. Podržana su dva scenarija za signalizaciju. Informacije o lokaciji mogu biti sačuvane u zaglavlju slike (informacije o dužini isečaka) ili u zaglavlju svakog isečka (tačke kao početni kod). Poravnanje bajtova na kraju svakog entropijskog dela i informacije o lokaciji povećavaju gubitak.
[0076] Da bi se smanjio negativan uticaj uveden signalizacijom za entropijske isečke, neophodno je koristiti dobru tehniku kodiranja za signalizaciju. Primetan negativan uticaj za signalizaciju entropijskog isečka se uvodi u frejm, ako se startni kodovi koriste za svaki isečak, tj. previše dodatnih bajtova (npr. min. 4 bajta po isečku) se dodaje u tok bitova. Svakako, umetanje entropijskih isečaka 90 korišćenjem početnih kodova ima prednost u scenarijima sa malim kašnjenjem gde će enkoder biti u stanju da trenutno generiše entropijske isečke. U takvim slučajevima nije moguće unapred signalizirati ulazne tačke.
[0077] Međutim, u manje striktnim scenarijima sa manje kašnjenja, prilika za čuvanje dužine isečka (offseta) izgleda prikladnijom. Jedna dobro poznata metoda za kodiranje takvih informacija je kod varijabilne dužine (VLC) ili eksponencijalno-golomb kodiranje. Glavna karakteristika VLC-a je dodavanje praznih informacija (nula) pre istinitih informacija. Uz pomoć ovih nula može se odrediti kod koji čuva informacije o dužini ofseta. Ovde se predlaže druga tehnika da se to realizuje, čija je šema prikazana na Sl. 15, gde je X=EntropiSliceSize količina bajtova sadržanih u entropijskom isečku. Svaki sledeći X (offset) je definisan kao
1
razlika u veličini između prethodnog, već kodiranog i signaliziranog, pomeranja entropijskog isečka i trenutnog. Glavne karakteristike ovog koncepta su formiranje razlika u zavisnosti od veličine X, tako da se količina podataka može umanjiti, i dodati do 3 bita, što omogućava ekstrakciju odgovarajućih informacija o veličini svakog entropijskog isečka dekoderom. U poređenju sa VLC-om, može se dobiti ušteda količina bita u zaglavlju entropijskog isečka.
[0078] To jest, u skladu sa aspektom Sl. 15, na primer, obezbeđen je koncept za entropijsko kodiranje informacionog signala koji omogućava veću stopu kompresije uprkos mogućnosti paralelne obrade nego u poređenju sa konceptima dostupnim do sada. U skladu sa ovim aspektom, odeljak 20 toka podataka kodiranog entropijski u koji je kodiran niz uzoraka, sadrži entropijske isečke kao što je 90 na Sl. 8 u koje su entropijski kodirani različiti delovi 12 niza uzoraka, i zaglavlje ilustrovano isprekidanim linijama 300 na Sl. 9, koji sadrže informacije koje otkrivaju početne pozicije 302 entropijskih isečaka 90, merenih u entropijski dekodovanom domenu, unutar entropijski kodiranog toka podataka, koje informacije sadrže, za unapred određeni entropijski isečak, vrednost razlike koja otkriva razliku između početne pozicije prethodnog entropijskog isečka n-1 i početne pozicije unapred određenog entropijskog isečka n, pri čemu je razlika uključena u tok podataka kao sekvenca VLC bitova.
[0079] Konkretno, VLC sekvenca bitova može imati prefiks promenljive dužine y, što ukazuje da razlika x pada u y-tu sekvencu broja z intervala [0,2<a>-1], [2<a>, 2<b>+2<a>-1], [2<b>+2<a>, 2<c>+2<b>+2<a>-1] tako dalje, i PCM kodirani sufiks y-tog od sekvenci dužina a, b, c ... Ako su a, b, c, ... izabrani da budu stepen dvojke, ako se doda odgovarajuće y, tj. tako da su a+1, b+2, c+3 i tako dalje sve stepeni dvojke, onda poravnanje bajtova može biti sačuvano. Broj z nije ograničen na tri kao što je u primeru izabrano na Sl. 15.
[0080] Enoder, kao što je onaj na Sl. 1, je na odgovarajući način dizajniran da pretvori razliku uzastopnih početnih pozicija u sekvencu VLC bitova, tj. prvo određivanjem prefiksa, tj. u kom podintervalu leži razlika (y-ti), a zatim postavljanje sufiksa plus da bude jednak razlici početne pozicije minus y-ti od 0, 2<a>, 2<b>+2<a>kao i dalje. Dekoder, kao što je na Sl. 6, je na odgovarajući način dizajniran da izvede početnu poziciju trenutnog entropijskog isečka n iz sekvence VLC bitova, tj. tako što prvo pregleda prefiks da bi se dobio y, a zatim postavi razliku na vrednost sufiksa plus y-ti od 0, 2a, 2b+2a kao i dalje, a zatim se razlika dodaje početnoj tački prethodnog entropijskog isečka n-1.
[0081] Dalja prednost se može postići segmentacijom entropijskih isečaka, naime za prenos sa niskim kašnjenjem i ubrzanje dekodiranja.
[0082] U video-strimingu, omogućavanje viših rezolucija (Full-HD, QUAD-HD itd.) dovodi do veće količine podataka koji se moraju preneti. Za scenarije osetljive na vreme, takozvani slučaj upotrebe sa niskim kašnjenjem (<145ms), vreme prenosa postaje kritičan faktor. Razmotriti vezu za učitavanje ADSL-a za aplikaciju za video konferencije. Ovde će takozvane slučajne pristupne tačke toka, koje se obično odnose na I-frejmove, biti kandidati da izazovu usko grlo tokom prenosa.
[0083] Da bi se rešio taj problem i da bi se minimiziralo kašnjenje u prenosu i vremenu dekodiranja, tj. kašnjenje od kraja do kraja, može se primeniti nova tehnika za šemu isprepletanog entropijskog isečka za paralelni prenos i obradu.
[0084] HEVC će omogućiti tzv. obradu talasnog fronta na strani dekodera. To će biti omogućeno upotrebom entropijskih isečaka. U normalnom slučaju podaci za ceo isečak će biti
1
isporučeni odjednom. Proces dekodiranja će početi čim kodirani podaci stignu u blok za dekodiranje talasnog fronta (Wavefront-decoder-engines). Da bi se smanjilo vreme kada dekoder može da započne i završi frejm, koristi se segmentacija entropijskih isečaka na male komade korišćenjem pristupa preplitanja u skladu sa ovom varijantom. Dakle, enkoder može dostaviti podatke, koji odgovaraju određenom entropijskom isečku, transportnom sloju ranije nego što je to u normalnom slučaju. Rezultat toga je brži prenos i raniji početak procesa paralelnog dekodiranja kod klijenta.
[0085] Kreiranje komada isečka se dalje može postići daljim deljenjem entropijskog isečka na dalje isečke, zadržavajući sve zavisnosti (zavisne isečke). Ako se to uradi u svakoj najvećoj jedinici kodiranja (LCU)/jedinici stabla kodiranja (CTU), ovi komadi se mogu preplitati dodatno korišćenjem tehnika sistemskog sloja koje omogućavaju prenos komada u isprepletanom obliku i vraćanje ili bar obezbeđivanje znanja o originalnom redosledu dekodiranja komada putem dodatne signalizacije. Takva signalizacija može biti broj naloga dekodiranja (DON), kao što je definisano u IETF RTP Paiload formatu za H.264/AVC (RFC 3984). Po drugom sistemskom metodu moguće je da se komadi podtoka talasnog fronta primenjuju na drugačiji transportni tok, kao u MEPG-2 sistemima, dodeljivanjem različitog PID-a svakom od njih, daljem multipleksiranju i time njihovim preplitanjem na transportnom kanalu.
[0086] Pristup se takođe može primeniti preko granica frejma, u slučaju da se sledeći isečak (ci) ili entropijski isečak(ci) već mogu dekodirati, npr. na način talasnog fronta, na osnovu saznanja da su potrebne informacije za dekodiranje entropijskog isečka sledećeg frejma zbog dostupnosti međufrejmovskih referenci. Ti podaci koji se već mogu dekodirati a pripadaju frejmu koji sledi po redosledu dekodiranja mogu biti izvedeni iz maksimalne dozvoljene/signalizovane dužine vektora kretanja ili dodatnih informacija u toku podataka koji ukazuju na zavisnosti delova podataka od prethodnog(ih) frejma(ova), ili fiksne šeme referenciranja, označavajući poziciju koja je signalizirana u poziciji sa fiksnom sekvencom kao što je skup parametara. Ovo će dalje biti navedeno u nastavku.
[0087] Slika može biti kodirana sa jednim entropijskim isečkom po redu(ovima) najveće jedinice kodiranja (LCU) kao što je prikazano na Sl. 2 i 9. Pogodno je za korišćenje Wavefront-tehnike na strani dekodera. Tokom procesa kodiranja, tok bitova svakog isečka može biti podeljen na segmente konstantne veličine. Zatim se dobijeni segmenti prepliću i mogu se preneti na prenos. Konstantna veličina segmenata može dovesti do problema na kraju toka podataka zbog njegove promenljive dužine.
[0088] Moguća su dva opšta rešenja. Prvo je generisanje jednobajtnih segmenata (obično je reprezentacija bitova isečka poravnjana po bajtovima) i kontrola potrošnje bajtova od strane svakog dekoder-bloka, tj. dekoder saznaje završetak entropijskog isečka.
[0089] Drugi je korišćenje koda za finalizaciju na kraju isečka. U poslednjem slučaju, segmenti promenljive dužine su mogući, ali to takođe može dovesti do veće količine podataka. Drugi metod je signalizacija dužine entropijskog isečka. Jedan od načina takve alternative je opisan u nastavku.
[0090] Veličina segmenta i mod preplitanja mogu biti signalizirani ili u jednoj SEI-poruci ili u SPS.
[0091] Šema prenosa je prikazana na Sl. 16.
2
[0092] Dakle, u skladu sa aspektom prikazanom na Sl. 16, na primer, obezbeđen je koncept za entropijsko kodiranje niza uzoraka koji omogućava manje kašnjenje u poređenju sa konceptima dostupnim do sada. U skladu sa ovim aspektom, kodirani tok 20 podataka u koji je kodiran informacioni signal, sadrži isečke kao što su entropijski isečci 90 ili samo isečci koje se mogu potpuno nezavisno dekodirati (prikazani na levoj strani) u koje su kodirani različiti delovi 12 informacionog signala (prediktivni i/ili entropijski), pri čemu su isečci 90 podeljeni na komade (osenčena polja 310) koji su raspoređeni unutar kodiranog toka 20 podataka na isprepleteni način (prikazano na desnoj strani), gde je preplitanje predstavljeno zagradom 312.
[0093] Kao što je gore navedeno i opisano u odnosu na druge aspekte, isečci mogu biti entropijski isečci 90 koji, zauzvrat, mogu biti odgovarajući podskupovi isečaka frejmova, i shodno tome, kodirani tok podataka može biti entropijski kodirani tok 20 podataka.
[0094] Preplitanje 312 isečaka 90 omogućava manje kašnjenje pošto dekoder odgovoran za dekodiranje bilo kog od isečaka 90 ne mora da čeka vremensko trajanje koje su potrošili prethodni isečci drugih dekodera (prema redosledu 16 isečaka). Umesto toga, svi dostupni dekoderi mogu da počnu da dekodiraju svoje pridružene isečke čim prvi komad 310 bude dostupan i potencijalne međuslojne zavisnosti među isečcima budu rešene, up. sa pristupom isečcima talasnog fronta, ili korišćenjem međuentropijskog usvajanja procene verovatnoće kao što je gore opisano, kao što je, na primer, da su različiti delovi 12 kodirani u entropijskim isečcima 90 duž odgovarajućih putanja 14 entropijskog kodiranja, a podređeni entropijski isečci imaju svoje odgovarajuće delove 12 koji su tu kodirani koristeći procene verovatnoće izvedenih, između ostalog, iz procena verovatnoće koje se koriste u više rangiranim entropijskim isečcima u prostorno susednim delovima odgovarajućeg dela, kao što je prethodno opisano.
[0096] Entropijski kodirani tok 20 podataka može dodatno da sadrži zaglavlje kao što je prikazano kao opcija na Sl. 16. Zaglavlje 300 može biti povezano sa frejmom (nizom uzoraka) sekvence 30, pri čemu zaglavlje 300 sadrži informacije koje otkrivaju dužine entropijskih isečaka. Informacije u vezi sa dužinom entropijskih isečaka 90 mogu biti kodirane unutar zaglavlja 300 kao što je gore opisano korišćenjem VLC kodova. Koristeći znanje o dužini entropijskih isečaka, na strani dekodiranja, moguće je identifikovati poslednji komad povezan sa svakim od entropijskih isečka 90 i njihovu dužinu. Međutim, mogu se koristiti i početni kodovi ili druge indikacione šeme. Početne pozicije isečaka se takođe mogu identifikovati samo procesom dekodiranja koji poznaje završetak isečka. Stoga je moguće samo osloniti se na indikaciju dekodera, ali to zahteva signalizaciju između dekodera i u nekim slučajevima, ako se neki „raniji” entropijski isečаk završi kasnije od „kasnijeg” isečka u toku. Ovo može zahtevati posebne slučajeve „adaptivne“ signalizacije u toku, koja može biti zasnovana na početnim kodovima.
[0097] Na primer, entropijski isečci 90 mogu biti raspoređeni iza zaglavlja 300 kao što je ilustrovano na Sl. 16.
[0098] Komadi 310 mogu biti jednakih dužina, bar kada se to odnosi na početni susedni deo niza komada 310 od prvog od komada dalje duž redosleda u kome su komadi raspoređeni unutar entropijski kodiranog toka 20 podataka. Naredni komadi mogu varirati po dužini. Sledeći komadi mogu biti jednaki po dužini početnom susednom delu niza ili manji od ove dužine. Dužina narednih komada može biti izvedena iz gore pomenutih informacija unutar zaglavlja 300 koji otkrivaju dužinu entropijskih isečaka 90 ili početnu poziciju. Komadi 310 mogu biti raspoređeni unutar entropijski kodiranog toka 20 podataka na cikličan način u skladu sa redosledom definisanim među entropijskim isečcima. Za entropijske isečke, čiji su komadi u potpunosti unutar prethodnih ciklusa, mogu se preskočiti u trenutnom i narednim ciklusima.
[0099] Drugi informacioni signali, osim sekvence niza uzoraka, kao što je video signal, takođe mogu da se prenesu putem toka 20 podataka. Stoga različiti delovi 12 ne moraju biti delovi unapred određenog niza uzoraka kao što je slika/frejm.
[0100] Kao što je gore opisano, entropijski isečci 90 mogu imati različite delove 12 niza 10 uzoraka koji su kodirani u njih putem prediktivnog kodiranja korišćenjem predviđanja između entropijskih isečaka i/ili predviđanja između frejmova, entropijskog kodiranja ostatka predviđanja od predviđanja između entropijskih isečaka i/ili predviđanja između frejmova. To jest, kao što je gore opisano, različiti delovi mogu biti prostorno različiti delovi frejma 10 ili više frejmova 30. Poslednji slučaj se primenjuje, ako sledeći deo(delovi) ili entropijski isečak(ci) mogu već biti dekodirani, na primer na način talasnog fronta, na osnovu saznanja da su potrebne informacije za dekodiranje entropijskog dela sledećeg frejma zbog dostupnih referenci između frejmova. Ti podaci koji već mogu dekodirati frejm koji sledi u redosledu dekodiranja mogu biti izvedeni iz maksimalne dozvoljene/signalizovane dužine vektora kretanja ili dodatnih informacija u toku koje ukazuju na zavisnosti delova podataka u odnosu na prethodni(e) frejm(ove) i predviđanje između entropijskih isečaka može uključivati intra predviđanje, dok predviđanje između frejmova može uključivati predviđanje kompenzovano kretanjem. Primer je dat u nastavku.
[0101] Gore pomenuta nezavisnost podešavanja procene verovatnoće između entropijskih isečaka, može se odnositi i na prilagođavanje verovatnoće, kao i na kontekstualno modeliranje. To jest, kontekst izabran unutar entropijskog isečka može biti izabran nezavisno od drugih entropijskih isečaka, a procena verovatnoće konteksta može biti inicijalizovana i prilagođena nezavisno od bilo kog drugog entropijskog isečka.
[0102] Odgovarajući entropijski dekoder može biti konstruisan na sledeći način.
[0103] Entropijski dekoder konfigurisan da dekodira entropijski kodirani tok 20 podataka koji sadrži entropijske isečke 90 u koje su entropijski kodirani različiti delovi frejma, pri čemu su entropijski delovi podeljeni na komade 310 koji su raspoređeni unutar entropijski kodiranih podataka toka 20 na način preplitanja, može biti konfigurisan kao što je prikazano na Sl. 6 i može dodatno da sadrži deinterliver konfigurisan da rasplete komade 310, simbolizovane sa 314 na Sl. 16.
[0104] Konkretno, kao što je ilustrovano na Sl. 5, entropijski dekoder može da sadrži više entropijskih dekodera 130, kao što su niti koje se pokreću na različitim jezgrima obrade, pri čemu deinterliver može biti konfigurisan da, za svaki entropijski isečak, prosleđuje njihove komade 310 u entropijski dekoder 44 povezan sa odgovarajućim entropijskim isečkom.
[0105] Drugim rečima, entropijski isečci mogu biti podeljeni na komade, koji se, zauzvrat, mogu preplitati, a dekoder može da sadrži deinterliver da bi razdvojio komade i može da počne da radi na entropijskim isečcima paralelno duž putanja 16 čak i pre prijema bilo kog od entropijskih isečaka u celini. Treba podsetiti da se dužina komada, poželjno, meri u entropijsko kodiranom domenu, a ne u domenu sintakse, tako da odgovara, na primer, određenom broju određenih prostornih delova/blokova na slici ili slično, iako bi poslednja opcija takođe bila dostupna.
[0106] Zatim je opisana moguća upotreba vremenskih zavisnosti. Isto se može koristiti kao dodatak, ili alternativno, do sada opisanim aspektima poboljšanja procene verovatnoće.
[0107] Obrazac obrade talasnog fronta se može, kao što je sada opisano, proširiti na entropijsko kodiranje sa novim proračunom verovatnoće za svaki LCU da bi koristio i vremenske zavisnosti između frejmova.
[0108] Kao što je dobro poznato, verovatnoće će biti ponovo inicijalizovane na početku svakog frejma (prvi LCU). Time se gube verovatnoće koje su već stečene u prethodnom frejmu. Da bi se smanjio gubitak efikasnosti kodiranja, može se proći krajnje stanje slike (cp.
320) ili, u slučaju upotrebe entropijskog isečka, krajnje stanje isečka (cp. 322) verovatnoća iz referentnog frejma 324 do prvog LCU 50 trenutnog frejma 10 ili entropijskog isečka 12 respektivno (Sl. 17). Takvi podaci odgovarajućeg isečka u referentnom frejmu mogu biti izvedeni ne samo na krajnjoj poziciji već i iz prethodne pozicije u referentnim isečcima, pošto obrada paralelnog talasnog fronta takođe može da ide preko granica frejma, tj. dok se kodira deo frejma, proces kodiranja isečka prethodnog frejma možda nije već završen. Prema tome, signalizacija se može koristiti za označavanje referentne pozicije, ili može biti naznačena šemom.
[0109] Koristeći gornju napomenu, može se, stoga, za inicijalizaciju u početnoj fazi 84 i 234, respektivno, postaviti P{i,j}sa {i,j} koji označava prvi CU 50 u k-tom entropijskom isečku trenutnog niza uzoraka da bude jednak ili barem u zavisnosti od bilo kojeg T(P{i,j}') sa {i,j}' koji označava CU unutar prethodnog (u redosledu kodiranja niza uzoraka koji može biti jednak redosledu prezentacije) niza uzoraka ili kombinacija nekoliko T(P{i,j}'). Ovo se može uraditi samo za k= 0, ili za svaki entropijski isečak k ∈ {1...K} pri čemu K označava broj entropijskih isečaka u trenutnom frejmu. Vremenska inicijalizacija se može uraditi dodatno ili alternativno prostornoj inicijalizaciji opisanoj gore. To jest, P{i,j}sa {i,j} koji označava prvi CU 50 u k-tom entropijskom isečku može biti postavljen da bude jednak nekoj kombinaciji (kao što je sme prosek) od T(P{i,j}') i T(P{i,j}prostorni) sa {i,j}' koji označava CU u okviru prethodnog (prethodno de/kodovanog) niza uzoraka ili kombinaciju nekoliko T(P{i,j}') i {i,j}prostornikoji označavaju CU unutar prethodnog entropijskog isečka trenutnog niza uzoraka. Što se lokacije {i,j}' tiče, P{i,j}sa {i,j} označava prvi (u redosledu 14 entropijskog kodiranja) CU 50 u k-tom (u redosledu 14 entropijskog kodiranja) entropijskom isečku trenutnog niza uzoraka može biti postavljen da je jednak T(P{i,j}') sa {ij}' koji označava poslednju (u redosledu entropijskog kodiranja 14) CU unutar k-tog (u redosledu entropijskih isečaka) entropijskog isečka u prethodnom (u redosledu kodiranja niza uzoraka) nizu uzoraka ili poslednjoj CU u okviru poslednjeg (u redosledu entropijskih isečaka) entropijskog isečka u prethodnom (u redosledu kodiranja niza uzoraka) nizu uzoraka. Opet, ova privremena inicijalizacija se može izvršiti samo za prvi entropijski isečak u nizu uzoraka.
[0110] Proces raščlanjivanja krajnjeg stanja referentnog frejma testiran je metodom prilagođavanja verovatnoće, čiji su rezultati ilustrovani na Sl. 10 - Sl. 19 (Vremenski graf).
[0111] Druga prilika da se koriste podaci iz drugih frejmova je razmena dobijenih verovatnoća između zajedničkih LCU-ova. Osnovna ideja se zasniva na tvrdnji da se svojstva referentnog frejma ne razlikuju mnogo od trenutnog frejma. Da bi se ubrzalo učenje
2
verovatnoća duž LCU-ova u frejmu, može se pokušati da se prođe krajnje stanje svake LCU na odgovarajući LCU u trenutnom frejmu. Ovaj predlog je ilustrovan na Sl. 18.
[0112] Pod referentnim frejmom mogu se razumeti različite mogućnosti. Na primer, frejm, koji je poslednji kodiran, može se koristiti kao referentni frejm. U suprotnom, poslednji kodirani frejm samo iz istog vremenskog sloja može se usvojiti za referencu.
[0113] Štaviše, ovaj pristup se može spojiti sa već gore predloženim metodama, kao što je korišćenje poslednje (isečak) informacije iz referentnog frejma, prilagođavanje verovatnoće i korišćenje druge LCU iz gornje linije.
[0114] Gore navedeni proces prostorne adaptacije može biti modifikovan da bude
gde N može biti 1 ili veće od 1 i {i,j}1...Nje/su birani iz (unutar) bilo kog prethodnog (u redosledu 16 entropijskih isečaka) entropijskog isečka 90 u trenutnom nizu 10 uzoraka i njemu povezanom delu 12, respektivno, a M može biti 1 ili veće od 1 i {i,j}'1...Mje/su u okviru prethodnog niza uzoraka 350. Može biti da (je) najmanje jedan od CU-a 50 {i,j}'1...Mje kolociran na p(n). Što se tiče mogućih izbora CU-a 50 {i,j}1...N, upućuje se na gornji opis. Funkcija „prosek“ može biti jedna od ponderisane sume, funkcije medijane itd.
[0115] Gore navedeni proces prostorne adaptacije može biti zamenjen sa
gde M može biti 1 ili više od 1 i {i,j}’1...Mje/se nalazi u okviru prethodnog niza uzoraka. Može biti da je (najmanje) od {i,j}’1...Mko-lociran sa p(n). U pogledu mogućih izbora {i,j}1...Nupućuje se na gornji opis. Funkcija „prosek“ može biti jedna od ponderisane sume, funkcije medijane itd. Može biti da je bar od {i,j}’1...Mko-lociran u p(n).
[0116] Kao specifično proširenje upotrebe raspoređenih informacija, može se primeniti pristup za korišćenje dobijenih podataka iz drugih blokova iz jednog ili čak više referentnih frejmova.
[0117] Ranije pomenute tehnike koriste samo dobijene informacije od direktnih suseda u trenutnom frejmu ili u referentnim frejmovima. Međutim, to ne znači da su dobijene verovatnoće u ovom slučaju najbolje. Susedni LCU, prema delovima slike (reziduali), nemaju uvek modele sa najboljim verovatnoćama. Pretpostavlja se da se najbolji rezultati mogu postići uz pomoć blokova, iz kojih će se vršiti predviđanje. I stoga, ovaj odgovarajući blok se može koristiti kao referenca za trenutni LCU.
[0118] Dakle, u gornjem primeru adaptacije, {i,j}1...Ni/ili {i,j}'1...Mmogu biti izabrani u zavisnosti od toga da li CUovi služe kao dobavljači prediktora za p(n ).
[0119] Prikazane šeme adaptacije/inicijalizacije vremenske verovatnoće se takođe mogu koristiti bez entropijskih isečaka ili jednog entropijskog isečka po frejmu.
[0120] U skladu sa poslednjim aspektom, povećanje brzine prilagođavanja verovatnoće se postiže spajanjem adaptacija verovatnoće vremenski susednih/srodnih frejmova. Ono što je tamo opisano je dekoder kao što je onaj na Sl. 6, pri čemu je dekoder konfigurisan da rekonstruiše sekvencu nizova uzoraka iz toka podataka entropijskog enkodera i konfigurisan je da entropijski dekodira trenutni frejm entropijskog enkodera toka podataka kako bi se rekonstruisao trenutni niz uzoraka sekvence nizova uzoraka, izvršilo entropijsko dekodiranje duž putanje entropijskog kodiranja i koristeći procene verovatnoće i prilagodile procene verovatnoće duž putanje entropijskog kodiranja koristeći prethodno dekodirani deo trenutnog frejma, pri čemu je faza entropijskog dekodiranja konfigurisana da inicijalizuje ili odredi procene verovatnoće za trenutni frejm na osnovu procena verovatnoće koje se koriste u dekodiranju prethodno dekodiranog frejma entropijski kodiranog toka podataka.
[0121] To jest, na primer, procene verovatnoće za trenutni frejm se inicijalizuju na osnovu procena verovatnoće koje rezultiraju nakon završetka dekodiranja prethodno dekodiranog frejma entropijski kodiranog toka podataka. Zahtevi za baferom su, prema tome, niski, pošto samo krajnje stanje procene verovatnoće mora biti baferovano do početka dekodiranja trenutnog frejma. Naravno, ovaj aspekt se može kombinovati sa aspektom prikazanim na Sl. 1 do 9 u tome što za prve delove svakog dela 12 ne koriste se samo procene verovatnoće koje se koriste za prostorno susedne delove u prethodnim entropijskim isečcima (ako su dostupni) već i na ponderisan način, na primer, koristi se krajnje stanje procene verovatnoće (na primer, prostorno) odgovarajućeg entropijskog isečka u prethodnom frejmu. Takvi podaci odgovarajućeg isečka u referentnom frejmu mogu biti izvedeni ne samo na krajnjoj poziciji već i iz prethodne pozicije u referentnim isečcima, pošto obrada paralelnog talasnog fronta takođe može da ide preko granica frejma, tj. dok se kodira deo frejma, proces kodiranja isečka prethodnog frejma možda nije već završen. Prema tome, signalizacija se može koristiti za označavanje referentne pozicije, ili može biti naznačena šemom.
[0122] Dalje, na primer, procene verovatnoće koje se koriste za kodiranje delova/blokova prethodno dekodiranog frejma se baferuju za sve, ne samo krajnje stanje, a dekoder bi, u entropijskom dekodiranju unapred određene entropijske isečke (sa referencom na gornji opis derivacije prostorno povezanih verovatnoća), izvršio entropijsko dekodiranje trenutnog dela (X) unapred određenog entropijskog isečka na osnovu odgovarajućih procena verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno dekodiranog dela unapred određenog entropijskog isečka (uključujući p1, na primer), i procene verovatnoće koje se koriste u entropijskom dekodiranju prostorno odgovarajućeg dela entropijskog isečka prethodno dekodiranog frejma sa, opciono, dodatno korišćenjem procena verovatnoće koje se koriste u entropijskom dekodiranju prostorno susednog, po redosledu entropijskih isečaka prethodnog entropijskog isečka (isečak koji sadrži X, na primer) na susednom delu (kao što je p4) prostorno susednog entropijskog isečka, kao što je gore opisano. Kao što je takođe gore opisano, prostorna korespondencija među delovima i identifikacija jednog odgovarajućeg za usvajanje verovatnoće za trenutni frejm među prethodno dekodiranom frejmu može biti definisana uz pomoć informacija o kretanju kao što su, indeksi kretanja, vektori kretanja i slično, trenutnog dela/bloka.
[0123] Do sada, talasni front koji se proteže tokom obrade talasnog fronta prvenstveno je opisan kao da se proteže ukoso kroz jedan niz 10 uzoraka pri čemu se kodiranje/dekodiranje izvodi jedan niz uzoraka za drugim. Međutim, ovo nije obavezno. Ovde se pozivamo na Sl.
19. Sl. 19 prikazuje deo sekvence nizova uzoraka, pri čemu su nizovi uzoraka iz sekvenci definisani među sobom, i prikazani su raspoređeni u redosledu 380 kodiranja niza uzoraka koji se može ili ne može podudarati sa vremenskim redosledom prezentacije. Sl. 19 kao
2
primer prikazuje podelu nizova 10 uzoraka svakog na po četiri entropijska isečka. Već kodirani/dekodirani entropijski isečci su prikazani šrafiranim. Četiri niti kodiranja/dekodiranja (faze kodiranja/dekodiranja) 382 trenutno rade na četiri entropijske isečka 12 niza uzoraka koji imaju indeks n. Međutim, Sl. 19 prikazuje nit broj 5 koja je ostavljena, i moguće je da ova dodatna nit 382 koja ima broj 5 na Sl. 19 radi tako što kodira/dekodira sledeći niz uzoraka u redu, tj. n+1, u delovima za koje je garantovano da su odgovarajući referentni delovi u trenutno kodiranom/dekodovanom frejmu n već dostupni, tj. da su već obrađeni bilo kojom od niti 1 do 4. Ovi delovi su referencirani u predviđanjima prikazanim na 64 na Sl. 1, na primer.
[0124] Slika 19 kao primer prikazuje isprekidanu liniju 384, liniju koja se proteže kroz niz uzoraka n+1 koji je ko-lociran do granice između već obrađenog, tj. već kodiranog/dekodiranog dela niza uzoraka n, tj. deo unutar niza uzoraka n sa jedne strane, i deo koji još nije obrađen, tj. nešrafirani deo niza uzoraka n sa druge strane. Sa dvosmernim strelicama, Sl. 19 takođe prikazuje maksimalnu moguću dužinu vektora kretanja mereno u pravcu kolone i reda, tj. ymaxi xmax, respektivno. Shodno tome, Sl. 19 takođe prikazuje isprekidanom linijom 386 pomerenu verziju linije 384, odnosno liniju 386 koja je udaljena od linije 384 na minimalnoj mogućoj udaljenosti tako da rastojanje ne padne ispod ymaxu pravcu kolone i xmaxu pravcu reda. Kao što se može videti, postoje jedinice kodiranja 50 u nizu uzoraka n+1 za koje je garantovano da će se bilo koji referentni deo u nizu uzoraka n naći kao potpuno sadržan u već obrađenom delu ovog niza uzoraka n, naime one koje se nalaze u polovini niza uzoraka n+1 koja leži na uzvodnoj strani u odnosu na liniju 386. Shodno tome, nit 5 već može da radi da dekodira/kodira ove jedinice kodiranja kao što je prikazano na Sl.
19. Kao što se može videti, čak i šesta nit može da radi na drugom entropijskom isečku u redosledu 16 entropijskog isečka niza uzoraka n+1. Na taj način, talasni front se proteže ne samo prostorno već i vremenski kroz prostorno-vremenski prostor koji obuhvata sekvencu 30 nizova uzoraka.
[0125] Treba imati u vidu da upravo pomenuti aspekt talasnog fronta takođe funkcioniše u kombinaciji sa gore navedenim vezama za procenu verovatnoće preko granica entropijskog isečka.
[0126] Dalje, u vezi sa gore navedenim aspektom komada, takođe treba napomenuti da podela entropijskih isečaka na manje delove, tj. komade, nije ograničena na to da se izvodi u entropijski kodiranom domenu, tj. u entropijski komprimovanom domenu. Razmisliti o gornjoj diskusiji: entropijski isečci kao što je gore opisano imaju prednost smanjenja gubitka efikasnosti kodiranja uprkos omogućavanju obrade talasnog fronta zbog izvođenja procena verovatnoće iz prethodno kodiranih/dekodiranih entropijskih isečaka istog ili prethodno kodiranog/dekodovanog frejma, tj. inicijalizacija i/ili prilagođavanje procena verovatnoće zasnovanih na procenama verovatnoće takvih prethodnih entropijskih isečaka. Svaki od ovih entropijskih isečaka bi trebalo da bude entropijski kodiran/dekodiran od strane jedne niti u slučaju obrade talasnog fronta. Odnosno, kada se dele entropijski isečci, nije neophodno da komadi budu kodirani/dekodirani paralelno. Umesto toga, enkoderu će se samo obezbediti mogućnost da izbaci poddelove toka podataka svog entropijskog isečka pre finalizacije entropijskog kodiranja, a dekoderu će biti data mogućnost da radi na ovim poddelovima, tj. komadima, pre prijema preostalih komada istog entropijskog isečka. Štaviše, preplitanje će biti omogućeno na strani prijema. Međutim, da bi se omogućilo kasnije raspletavanje, nije potrebno izvršiti podpodelu u entropijski kodiranom domenu. Konkretno, moguće je izvršiti gore predstavljenu podelu entropijskih isečaka na manje komade bez ozbiljnog gubitka efikasnosti kodiranja, povremenim samo resetovanjem unutrašnjeg stanja intervala verovatnoće, tj. vrednosti širine intervala verovatnoće i vrednosti pomaka, respektivno, jezgra
2
za entropijsko kodiranje/dekodiranje. Procene verovatnoće se, međutim, ne resetuju. Umesto toga, one se neprekidno ažuriraju/prilagođavaju od početka do kraja entropijskih isečaka, respektivno. Ovom merom, moguće je podeliti entropijske isečke na pojedinačne komade pri čemu se podela vrši u domenu elementa sintakse, a ne u domenu komprimovanog toka bitova. Pod-podela može da prati prostornu pod-podelu kao što je dole navedeno da bi se olakšalo signaliziranje interfejsa komada do dekodera. Svaki od komada može imati sopstveno zaglavlje komada koje otkriva, na primer, njegovu početnu poziciju u nizu uzoraka, merenu, na primer, u odnosu na redosled 14 kodiranja u odnosu na početnu poziciju odgovarajućeg entropijskog isečka, zajedno sa indeksom za njegov entropijski isečak, ili u odnosu na istaknutu lokaciju niza 10 uzoraka, kao što je gornji levi ugao.
[0127] Da bi se jasnije opisala podela entropijskih isečaka na komade u skladu sa poslednjim aspektom, upućuje se na Sl. 20. Sl. 20 prikazuje, samo u ilustrativne svrhe, niz 10 uzoraka podeljen na četiri entropijska isečka. Trenutno kodirani delovi niza 10 uzoraka prikazani su šrafirano. Tri niti trenutno rade na entropijskom kodiranju niza 10 uzoraka i izlaznih komada entropijskih isečaka na osnovu trenutne pažnje: pogledati na primer prvi entropijski isečak po redosledu 16 entropijskih isečaka koji odgovara delu 12 niza 10 uzoraka. Nakon kodiranja poddela 12a dela 12, enkoder formira komad 390 od njega, tj. jezgro 80 entropijskog kodiranja izvodi neku završnu proceduru da finalizuje aritmetički tok bitova koji je do sada proizveden iz pod-dela 12a u slučaju aritmetičkog kodiranja da bi se formirao komad 390. Procedura se zatim nastavlja u odnosu na sledeći pod-deo 12b entropijskog isečka 12 u redosledu kodiranja 14 dok započinje novi tok bitova entropije. To znači, na primer, da se interna stanja, kao što su vrednost širine intervala verovatnoće i vrednost pomaka intervala verovatnoće jezgra 80 entropijskog kodiranja, resetuju. Procene verovatnoće se, međutim, ne resetuju. One su ostavljene nepromenjene. Ovo je ilustrovano na Sl. 20 strelicom 392. Na Sl.
20 je primerno prikazano da je entropijski isečak ili deo 12 podeljen na više od dva pod-dela, i shodno tome, čak i drugi komad 1b podleže određenom završetku entropije pre nego što se stigne do kraja dela 12 duž redosleda kodiranja 14, nakon čega se započinje sa sledećim komadom u redu itd.
[0128] Istovremeno, druga nit radi na drugom entropijskom isečku ili delu 12 u redosledu 16 entropijskih isečaka. Po završetku prvog pod-dela ovog drugog entropijskog isečka/dela 12, izlazi komad 2a, nakon čega je entropijsko kodiranje ostatka drugog entropijskog isečka započeto dok se, međutim, održava procena verovatnoće koja je važeća na kraju komada 2a.
[0129] Sa vremenskom osom 394, Sl. 20 nastoji da ilustruje da komadi 390 izlaze čim su finalizovani. Ovo dovodi do preplitanja sličnog onom prikazanom na Sl. 16. Svaki komad se može pakovati u paket i transportovati na stranu za dekodiranje preko nekog transportnog sloja bilo kojim redosledom. Transportni sloj je ilustrovan strelicom 396.
[0130] Dekoder mora ponovo dodeliti komade svojim pod-delovima 12a, 12b i tako dalje. U tom cilju, svaki komad 390 može imati sekciju zaglavlja 398 koja otkriva lokaciju početka njegovog pridruženog pod-dela 12a ili 12b, tj. pod-deo koji elementi sintakse opisuju kao isti entropijski kodirani odgovarajući komad. Korišćenjem ove informacije, dekoder je u stanju da poveže svaki komad 390 sa njegovim entropijskim isečkom i sa njegovim pod-delom unutar dela 12 tog entropijskog isečka.
[0131] U svrhu ilustracije, Sl. 20 takođe kao primer pokazuje mogućnost da spoj između uzastopnih pod-delova 12a i 12b entropijskog isečka 12 ne mora da se poklapa sa granicom između uzastopnih jedinica 50 kodiranja. Umesto toga, spoj može biti definisan u dubljem
2
nivou gore pomenute kao primer podele kodnih jedinica sa više stabala. Informacije o lokaciji sadržane u zaglavljima 398 mogu ukazivati na početak pod-dela povezanog sa trenutnim komadom 390 dovoljno precizno da bi se identifikovao odgovarajući pod-blok odgovarajuće jedinice kodiranja, tj. lokacija unutar sekvence elementa sintakse na osnovu koje je opisan odgovarajući podblok.
[0132] Kao što je postalo jasno iz gornje diskusije, skoro nikakav gubitak u efikasnosti kodiranja nije proizišao iz podele entropijskih isečaka na komade Samo procesi dorade entropije i paketiranje mogu uključiti gubitak efikasnosti kodiranja, ali s druge strane, dobici od niskog kašnjenja su ogromni.
[0133] Opet, treba imati u vidu da upravo pomenuti aspekt komada prostorne pod-podele takođe funkcioniše u kombinaciji sa gore navedenim vezama za procenu verovatnoće preko granica entropijskog isečka, prostorno i vremenski.
[0134] Dekoder kao što je dekoder sa Sl. 6, može poništiti prenos komada na sledeći način. Konkretno, dekoder može da proveri kom entropijskom isečku pripada trenutni komad. Ova provera se može obaviti na osnovu prethodno navedenih informacija o lokaciji. Zatim, može se proveriti da li trenutni komad odgovara prvom pod-delu dela odgovarajućeg entropijskog isečka duž putanje 14 entropijskog kodiranja. Ako jeste, dekoder može entropijski dekodirati trenutni komad pod prilagođavanjem odgovarajućih procena verovatnoće i uzeti u obzir stanje odgovarajućih procena verovatnoće koje se manifestuju na kraju entropijskog dekodiranja trenutnog komada kada entropijski dekodira drugi komad koji odgovara drugom pod-delu dela unapred određenog entropijskog isečka duž putanje entropijskog kodiranja. „Uzimanje u obzir“ može uključivati postavljanje procene verovatnoće na početku komada 1b jednake procenama verovatnoće koje se manifestuju prilagođavanjem verovatnoće počevši od stanja procene verovatnoće na početku komada 1a, na kraju pod-dela 12a od komada 1a, ili jednak njihovoj kombinaciji sa procenama verovatnoće entropije iz drugih entropijskih isečka kao što je gore opisano. Što se tiče inicijalizacije verovatnoće na početku prvog komada 12a, upućuje se na gornju diskusiju, jer ovo takođe čini početak odgovarajućeg entropijskog isečka. Drugim rečima, ako je trenutni isečak drugi ili sledeći deo po redosledu 14, dekoder može entropijski dekodirati trenutni deo koristeći procene verovatnoće koje zavise od procena verovatnoće koje se manifestuju na kraju entropijskog dekodiranja komada koji odgovara pod-delu dela unapred određenog entropijskog isečka koji prethodi poddelu koji odgovara trenutnom komadu, duž putanje 14 entropijskog kodiranja.
[0135] Gornji opis otkriva različite metode, koje mogu biti korisne za paralelno kodiranje i dekodiranje, kao i od pomoći za optimizaciju već postojećih procesa u novom HEVC standardu video kodiranja. Dat je kratak pregled entropijskih isečaka. Pokazano je kako se mogu formirati, koje prednosti se mogu postići isecanjem i kakve nepovoljnosti mogu nastati od tih tehnika. Predloženo je više metoda, koje bi trebalo da poboljšaju proces učenja verovatnoća duž LCU-ova (najveće jedinice kodiranja) u frejmu, boljim iskorišćavanjem lokalnih zavisnosti između LCU-a, kao i vremenskih zavisnosti između LCU-ova različitih frejmova. Tvrdi se da različite kombinacije pružaju poboljšanja za oba koncepta sa i bez paralelizacije kodiranja i dekodiranja.
[0136] Poboljšanje performansi u visokoj efikasnosti, na primer, najboljom kombinacijom predloženih pristupa, je -0,4 % u Intra, -0,78 % u Nisko Kašnjenje i -0,63 % u Slučajan Pristup u poređenju sa HM3.0 bez upotrebe entropijskih isečaka ili -0,7 % u Intra, -1,95 % u
2
Nisko Kašnjenje i -1,5 % u Slučajan Pristup u poređenju sa pristupom entropijskog isečka sa uobičajenom ponovnom inicijalizacijom.
[0137] Posebno, između ostalog, gore su predstavljene sledeće tehnike.
• da se koriste ne samo lokalne već i vremenske zavisnosti LCU-ova, da bi se optimizovalo prilagođavanje CABAC verovatnoća pre kodiranja svake LCU, videti Sl. 1 do 9, 17 i 18. • da bi se postigla veća fleksibilnost u dekodiranju, mogu se koristiti i entropijski isečci, tako da određeni regioni u frejmu postanu nezavisni jedan od drugog.
• da se omogući minimalna signalizacija početnih pozicija isečaka / entropijskih isečaka za paralelizovanu, npr. obradu talasnog fronta, videti Sl. 15
• da se omogući transport sa niskim kašnjenjem u paralelizovanom okruženju enkoder -predajnik - prijemnik - dekoder kroz isprepletan transport entropijskih isečaka / isečaka, videti Sl. 16.
[0138] Sve metode, koje su gore pomenute, integrisane su i testirane u HM3.0. Dobijeni rezultati, gde je referentna tačka HM3.0 bez implementacije entropijskog isečka, prikazani su u tabelama 1 i 2 (gde je 2LCU- upotreba drugog LCU gornje linije; 2LCU+ Prob.Adap -2LCU je spojeno sa metodom adaptacije verovatnoće Vremenska- upotreba vremenskih zavisnosti (krajnje stanje referentnog frejma) sa adaptacijom verovatnoće za svaku LCU).
Tabela 1. Rezime RD rezultata sa 1 niti
Tabela 2. Rezime RD rezultata sa 4 niti
[0139] Međutim, zanimljivo je znati kako predloženi pristupi utiču na obradu talasnog fronta sa ponovnom inicijalizacijom verovatnoća na početku svake linije LCU. Ovi rezultati su ilustrovani u tabelama 3 i 4 (gde je orig_neiInit poređenje HM3.0 bez upotrebe entropijskih isečaka uz korišćenje entropijskih isečaka sa ponovnom inicijalizacijom).
T l R zim RD r z l 1 ni i R f r n n ini i liz i
2
Tabela 4. Rezime RD rezultata sa 4 niti. Referenca je nova inicijalizacija.
[0140] Gore navedeni rezultati pokazuju da znatno veća upotreba zavisnosti unutar i između frejmova i racionalna primena već dobijenih informacija sprečavaju prosečne gubitke.
[0141] Pristup za obradu talasnog fronta za HEVC video kodiranje i dekodiranje objedinjuje mogućnost korišćenja zavisnosti između susednih LCU-a, kao i zavisnosti vremenskih okvira sa konceptom paralelne obrade talasnog fronta WPP. Na ovaj način se gubici mogu smanjiti i postići napredak u performansama.
[0142] Dobitak u brzini prilagođavanja verovatnoće je postignut izračunavanjem adaptacija verovatnoće prostorno susednih entropijskih isečaka.
[0143] Kao što je već pomenuto, svi gore navedeni aspekti se mogu kombinovati jedan sa drugim, tako da će se pominjanje određenih mogućnosti implementacije u vezi sa određenim aspektom, naravno, primeniti i na druge aspekte.
[0144] Iako su neki aspekti opisani u kontekstu uređaja, jasno je da ovi aspekti takođe predstavljaju opis odgovarajućeg metoda, gde blok ili uređaj odgovara koraku metode ili karakteristikama koraka metode. Analogno tome, aspekti opisani u kontekstu koraka metode takođe predstavljaju opis odgovarajućeg bloka ili stavke ili karakteristike odgovarajućeg uređaja. Neki ili svi koraci metode mogu biti izvršeni (ili korišćenjem) 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 metode mogu biti izvedeni pomoću takvog uređaja.
[0145] Inventivni kodirani signali koji su gore pomenuti mogu biti uskladišteni na digitalnom medijumu za skladištenje ili se mogu preneti na medijum za prenos kao što je medij za bežični prenos ili žičani prenosni medijum kao što je Internet.
[0146] U zavisnosti od određenih zahteva implementacije, izvođenja pronalaska mogu biti implementirana u hardveru ili softveru. Implementacija se može izvesti pomoću digitalnog medijuma za skladištenje, na primer flopi diska, DVD-a, Blu-Rai-a, CD-a, ROM-a, PROM-a, EPROM-a, EEPROM-a ili FLASH memorije, sa elektronski čitljivim kontrolnim signalima koji se čuvaju na njemu, koji sarađuju (ili su sposobni da sarađuju) sa programabilnim računarskim sistemom tako da se vrši odgovarajući metod. Stoga, digitalni medij za skladištenje može biti čitljiv računarom.
[0147] Neka izvođenja prema pronalasku obuhvataju nosač podataka koji ima elektronski čitljive kontrolne signale, koji su sposobni da sarađuju sa programabilnim računarskim sistemom, tako da se izvodi jedan od ovde opisanih metoda.
[0148] Generalno, izvođenja ovog pronalaska mogu se implementirati kao računarski programski proizvod sa programskim kodom, pri čemu je programski kod operativan za izvođenje jednog od metoda kada se računarski programski proizvod pokreće na računaru. Programski kod može, na primer, biti sačuvan na mašinski čitljivom nosaču.
[0149] Druga izvođenja obuhvataju računarski program za obavljanje jednog od ovde opisanih metoda, uskladišten na mašinski čitljivom nosaču.
[0150] Drugim rečima, izvođenje inventivnog metoda je, prema tome, računarski program koji ima programski kod za obavljanje jednog od ovde opisanih metoda, kada se računarski program izvršava na računaru.
[0151] Dalje izvođenje inventivnih metoda je, prema tome, nosač podataka (ili digitalni medij za skladištenje, ili računarski čitljiv medijum) koji sadrži, snimljen na njemu, računarski program za izvođenje jednog od ovde opisanih metoda. Nosač podataka, digitalni medij za skladištenje ili snimljeni medij su obično opipljivi i/ili neprelazni.
[0152] Dalja realizacija inventivnog metoda je, dakle, tok podataka ili sekvenca signala koji predstavljaju kompjuterski program za izvođenje jednog od ovde opisanih metoda. Tok podataka ili niz signala može biti, na primer, konfigurisana da se prenosi preko veze za prenos podataka, na primer preko Interneta.
[0153] Dalje izvođenje obuhvata sredstvo za obradu, na primer računar, ili programibilni logički uređaj, konfigurisan ili prilagođen da izvrši jedan od ovde opisanih metoda.
[0154] Dalje izvođenje obuhvata računar koji ima instaliran računarski program za izvođenje jednog od ovde opisanih metoda.
[0155] Dalje izvođenje prema pronalasku obuhvata aparat ili sistem konfigurisan da prenosi (na primer, elektronski ili optički) računarski program za izvođenje jednog od ovde opisanih metoda na prijemnik. Prijemnik može, na primer, biti računar, mobilni uređaj, memorijski uređaj ili slično. Uređaj ili sistem mogu, na primer, da sadrže server datoteka za prenos računarskog programa na prijemnik.
[0156] U nekim izvođenjima, programibilni logički uređaj (na primer niz programabilnih gejtovskih polja (FPGA) koji se može programirati na terenu) može se koristiti za obavljanje nekih ili svih funkcionalnosti metoda opisanih ovde. U nekim izvođenjima, niz programabilnih gejtovskih polja (FPGA) može da sarađuje sa mikroprocesorom kako bi izvršio jedan od ovde opisanih metoda. Generalno, metode se poželjno izvode bilo kojim hardverskim uređajem.
[0157] Gore opisana izvođenja su samo ilustrativna za principe ovog pronalaska. Podrazumeva se da će modifikacije i varijacije uređaja i detalja opisanih ovde biti očigledni stručnjacima u ovoj oblasti tehnike. Stoga je namera da jedino ograničenje predstavlja obim predstojećih patentnih zahteva, a ne specifični detalji prikazani u opisu i objašnjenja prikazanih izvođenja.
1

Claims (11)

PATENTNI ZAHTEVI
1. Dekoder (40, 200) za rekonstrukciju niza (10) uzoraka iz entropijski kodiranog toka (20, 202) podataka, konfigurisan da entropijski dekodira više entropijskih isečaka (90) unutar entropijski kodiranog toka (20, 202) podataka tako da se rekonstruišu različiti delovi (12) niza (10) uzoraka koji su povezani sa entropijskim isečcima (90), respektivno, pri čemu svaki entropijski isečak ima entropijski kodirane podatke za odgovarajući deo niza (10) uzoraka, pri čemu svaki od različitih delova (12) formira odgovarajući red blokova (50) niza (10) uzoraka pri čemu su blokovi pravilno raspoređeni u redove i kolone tako da se delovi koji odgovaraju entropijskim isečcima (90) sastoje od istog broja blokova, pri čemu su entropijski isečci (90) podeljeni na komade (310, 390) i pri čemu entropijsko dekodiranje više entropijskih isečaka (90) obuhvata
izvođenje, za svaki entropijski isečak, entropijskog dekodiranja duž odgovarajuće putanje (14) entropijskog kodiranja koristeći odgovarajuće procene (94) verovatnoće, pri čemu je putanja (14) entropijskog kodiranja paralelno usmerena duž redova blokova,
prilagođavanje odgovarajućih procena (94) verovatnoće duž odgovarajuće putanje (14) entropijskog kodiranja koristeći prethodno dekodirani deo odgovarajućeg entropijskog isečka,
započinjanje entropijskog dekodiranja više entropijskih isečaka (90) uzastopno korišćenjem redosleda (16) entropijskih isečaka, i izvođenje, u entropijskom dekodiranju unapred određenog entropijskog isečka, entropijsko dekodiranje trenutnog dela unapred određenog entropijskog isečka na osnovu odgovarajućih procena (94) verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno dekodiranog dela unapred određenog entropijskog isečka, uz
čuvanje procena (94) verovatnoće koje se manifestuju nakon entropijskog dekodiranja drugog bloka dela koji odgovara unapred određenom entropijskom isečku za inicijalizaciju procene verovatnoće pre dekodiranja prvog bloka dela koji odgovara po redosledu (16) entropijskih isečka sledećem entropijskom isečku duž odgovarajuće putanje (14) entropijskog kodiranja,
proveravanje da li trenutni komad odgovara prvom pod-delu (12a, 12b) dela koji odgovara unapred određenom entropijskom isečku duž putanje (14) entropijskog kodiranja,
ako je tako, izvođenje inicijalizacije procene (94) verovatnoće pre dekodiranja prvog bloka dela koji odgovara unapred određenom entropijskom isečku duž odgovarajuće putanje (14) entropijskog kodiranja sa procenama (94) verovatnoće koje se manifestuju nakon entropijskog dekodiranja drugog bloka dela koji odgovara po redosledu (16) entropijskih isečaka prethodnom entropijskom isečku duž odgovarajuće putanje (14) entropijskog kodiranja, entropijsko dekodiranje trenutnog komada pod prilagođavanjem odgovarajućih procena (94) verovatnoće i ostavljanje nepromenjenog stanja odgovarajućih procena (94) verovatnoće kako se manifestuju na kraju entropijskog dekodiranja trenutnog komada radi uzimanja u obzir prilikom entropijskog dekodiranja drugog komada koji odgovara drugom pod-delu (12a, 12b) dela unapred određenog entropijskog isečka duž putanje (14) entropijskog kodiranja, a ako nije, nastavljanje entropijskog dekodiranja unapred određenog entropijskog isečka na trenutnom isečku ostavljanjem nepromenjenog stanja
2
odgovarajućih procena (94) verovatnoće koje se manifestuju na kraju entropijskog dekodiranja komada koji odgovara pod-delu (12a, 12b) dela unapred određenog entropijskog isečka koji prethodi pod-delu (12a, 12b) koji odgovara trenutnom komadu, duž putanje entropijskog kodiranja (14).
2. Dekoder (40, 200) prema patentnom zahtevu 1, pri čemu je dekoder (40, 200) konfigurisan da upravlja entropijskim dekodiranjem neposredno uzastopnih entropijskih isečaka (90) u redosledu (16) entropijskih isečaka tako da je sprečeno da udaljenost trenutno dekodiranih blokova delova koji odgovaraju neposredno uzastopnim entropijskim isečcima (90) merena u blokovima duž putanja (14) kodiranja postane manje od dva bloka.
3. Dekoder (40, 200) prema zahtevu 1, pri čemu je dekoder (40, 200) konfigurisan da upravlja entropijskim dekodiranjem neposredno uzastopnih entropijskih isečaka (90) u redosledu (16) entropijskih isečaka tako da udaljenost trenutno dekodiranih delova blokova koji odgovaraju neposredno uzastopnim entropijskim isečcima (90) mereno u blokovima duž putanja (14) kodiranja ostaje jednaka dva bloka.
4. Dekoder (40, 200) prema zahtevu 1, pri čemu dekoder (40, 200) sadrži raspletač (314) za raspetletanje komada (310, 390) i konfigurisan je da započne entropijsko dekodiranje entropijskih isečaka (90) paralelno duž putanja (14) entropijskog dekodiranja čak i pre prijema bilo kog entropijskog isečaka (90) u celini.
5. Dekoder (40, 200) prema zahtevu 1, pri čemu je niz (10) uzoraka tekući niz (10) uzoraka od sekvence nizova (10) uzoraka i dekodiranje je konfigurisano da, u entropijskom dekodiranju u entropijskom redosledu (16) isečaka prvog entropijskog isečka, inicijalizuje odgovarajuće procene (94) verovatnoće u entropijskom redu (16) isečaka prvog entropijskog isečka koristeći krajnje stanje procena (94) verovatnoće kao što je korišćeno u entropijskom dekodiranju prethodnog niza.
6. Dekoder (40, 200) prema zahtevu 1, pri čemu je entropijski kodirani tok (20, 202) podataka vremenski slojevit tok podataka (20, 202).
7. Enkoder za kodiranje niza (10) uzoraka u entropijski kodirani tok (20, 202) podataka, konfigurisan da entropijski kodira više entropijskih isečaka (90) u tok (20, 202) podataka entropijskog enkodera pri čemu je svaki entropijski isečak povezan sa različitim delom niza (10) uzoraka, respektivno, tako da svaki entropijski isečak ima entropijski kodirane podatke za odgovarajući deo niza (10) uzoraka, pri čemu svaki od različitih delova (12) formira odgovarajući red blokova (50) niza (10) uzoraka pri čemu su blokovi pravilno raspoređeni u redove i kolone tako da se delovi koji odgovaraju entropijskim isečcima (90) sastoje od istog broja blokova, pri čemu su entropijski isečci (90) podeljeni na komade (310, 390) i pri čemu entropijsko kodiranje više entropijskih isečaka (90) obuhvata
izvođenje, za svaki entropijski isečak, entropijskog kodiranja duž odgovarajuće putanje (14) entropijskog kodiranja koristeći odgovarajuće procene (94) verovatnoće, pri čemu je putanja (14) entropijskog kodiranja paralelno usmerena duž redova blokova,
prilagođavanje odgovarajućih procena (94) verovatnoće duž odgovarajuće putanje (14) entropijskog kodiranja koristeći prethodno kodirani deo odgovarajućeg entropijskog isečka, započinjanje entropijskog kodiranja više entropijskih isečaka (90) uzastopno koristeći redosled (16) entropijskih isečaka, i
izvođenje, u entropijskom kodiranju unapred određenog entropijskog isečka, entropijsko kodiranje trenutnog dela unapred određenog entropijskog isečka na osnovu odgovarajućih procena (94) verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno kodiranog dela unapred određenog entropijskog isečka, uz
čuvanje procena (94) verovatnoće koje se manifestuju nakon što je entropijski kodiran drugi blok dela koji odgovara unapred određenom entropijskom isečku za inicijalizaciju procene verovatnoće pre kodiranja prvog bloka dela koji odgovara po redosledu (16) entropijskih isečaka sledećem entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja (14),
proveravanje da li trenutni komad odgovara prvom pod-delu (12a, 12b) dela koji odgovara unapred određenom entropijskom isečku duž putanje (14) entropijskog kodiranja,
ako je tako, izvođenje inicijalizacije procene (94) verovatnoće pre kodiranja prvog bloka dela koji odgovara unapred određenom entropijskom isečku duž odgovarajuće putanje (14) entropijskog kodiranja sa procenama (94) verovatnoće koje se manifestuju nakon entropijskog kodiranja drugog bloka dela koji odgovara po redosledu (16) entropijskih isečaka prethodnom entropijskom isečku duž odgovarajuće putanje (14) entropijskog kodiranja, entropijsko kodiranje trenutnog komada pod prilagođavanjem odgovarajućih procena (94) verovatnoće i ostavljanje nepromenjenog stanja odgovarajućih procena (94) verovatnoće koje se manifestuju na kraju entropijskog kodiranja trenutnog komada radi uzimanja u obzir prilikom entropijskog kodiranja drugog komada koji odgovara drugom pod-delu (12a, 12b) dela unapred određenog entropijskog isečka duž putanje (14) entropijskog kodiranja, i ako nije, nastavljanje entropijskog kodiranja unapred određenog entropijskog isečka na trenutnom isečku ostavljanjem nepromenjenog stanja odgovarajućih procena (94) verovatnoće koje se manifestuju na kraju entropijskog kodiranja komada koji odgovara pod-delu (12a, 12b) dela unapred određenog entropijskog isečka koji prethodi pod-delu (12a, 12b) koji odgovara trenutnom komadu, duž putanje (14) entropijskog kodiranja.
8. Enoder prema zahtevu 7, pri čemu je entropijski kodirani tok (20, 202) podataka vremenski slojevit tok (20, 202) podataka.
9. Metod za rekonstrukciju niza uzoraka iz entropijski kodiranog toka podataka, koji obuhvata entropijsko dekodiranje više entropijskih isečaka unutar entropijski kodiranog toka podataka tako da se rekonstruišu različiti delovi niza uzoraka koji su povezani sa entropijskim isečcima, respektivno, pri čemu svaki entropijski isečak ima entropijsko kodirane podatke za odgovarajući deo niza uzoraka, pri čemu svaki od različitih delova formira odgovarajući red blokova niza uzoraka, pri čemu su blokovi pravilno raspoređeni u redove i kolone tako da se delovi koji odgovaraju entropijskim isečcima sastoje istog broja blokova, pri čemu su entropijski isečci podeljeni na komade i pri čemu entropijsko dekodiranje više entropijskih isečaka obuhvata
4
izvođenje, za svaki entropijski isečak, entropijskog dekodiranja duž odgovarajuće putanje entropijskog kodiranja koristeći odgovarajuće procene verovatnoće, pri čemu je putanja entropijskog kodiranja paralelno usmerena duž redova blokova, prilagođavanje odgovarajućih procena verovatnoće duž odgovarajuće putanje entropijskog kodiranja koristeći prethodno dekodirani deo odgovarajućeg entropijskog isečka,
započinjanje entropijskog dekodiranja više entropijskih isečaka uzastopno koristeći redosled entropijskih isečaka, i
izvođenje, u entropijskom dekodiranju unapred određenog entropijskog isečka, entropijsko dekodiranje trenutnog dela unapred određenog entropijskog isečka na osnovu odgovarajućih procena verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno dekodiranog dela unapred određenog entropijskog isečka, uz
čuvanje procena verovatnoća koje se manifestuju nakon entropijskog dekodiranja drugog bloka dela koji odgovara unapred određenom entropijskom isečku za inicijalizaciju procene verovatnoće pre dekodiranja prvog bloka dela koji odgovara po redosledu entropijskih isečaka sledećem entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja,
proveravanje da li trenutni komad odgovara prvom pod-delu dela koji odgovara unapred određenom entropijskom isečku duž putanje entropijskog kodiranja,
ako je tako, izvođenje inicijalizacije procene verovatnoće pre dekodiranja prvog bloka dela koji odgovara unapred određenom entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja sa procenama verovatnoće koje se manifestuju nakon entropijskog dekodiranja drugog bloka dela koji odgovara po entropijskom redosledu isečaka prethodnom entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja, entropijsko dekodiranje trenutnog komada pod prilagođavanjem odgovarajućih procena verovatnoće i ostavljanje nepromenjenog stanja odgovarajućih procena verovatnoće kako se manifestuju na kraju entropijskog dekodiranja tekućeg komada radi uzimanja u obzir prilikom entropijskog dekodiranja drugog komada koji odgovara drugom poddelu dela unapred određenog entropijskog isečka duž putanje entropijskog kodiranja, i
ako nije, nastavljanje entropijskog dekodiranja unapred određenog entropijskog isečka na trenutnom isečku ostavljanjem nepromenjenog stanja odgovarajućih procena verovatnoće koje se manifestuju na kraju entropijskog dekodiranja komada koji odgovara pod-delu dela unapred određenog entropijskog isečka koji prethodi pod-delu koji odgovara trenutnom komadu, duž putanje entropijskog kodiranja.
10. Metod za kodiranje niza uzoraka u entropijski kodirani tok podataka, koji obuhvata entropijsko kodiranje više entropijskih isečaka u tok podataka entropijskog enkodera, pri čemu je svaki entropijski isečak povezan sa različitim delom niza uzoraka, respektivno, tako da svaki entropijski isečak ima entropijski kodirane podatke za odgovarajući deo niza uzoraka, pri čemu svaki od različitih delova formira odgovarajući red blokova niza uzoraka pri čemu su blokovi pravilno raspoređeni u redove i kolone tako da se delovi koji odgovaraju entropijskim isečcima sastoje od istog broja blokova, pri čemu su entropijski isečci podeljeni na komade i pri čemu entropijsko kodiranje više entropijskih isečaka obuhvata
izvođenje, za svaki entropijski isečak, entropijskog kodiranja duž odgovarajuće putanje entropijskog kodiranja koristeći odgovarajuće procene verovatnoće, pri čemu je putanja entropijskog kodiranja paralelno usmerena duž redova blokova, prilagođavanje odgovarajućih procena verovatnoće duž odgovarajuće putanje entropijskog kodiranja koristeći prethodno kodirani deo odgovarajućeg entropijskog isečka,
započinjanje entropijskog kodiranja više entropijskih isečaka uzastopno korišćenjem redosleda entropijskih isečaka, i
izvođenje, u entropijskom kodiranju unapred određenog entropijskog isečka, entropijsko kodiranje trenutnog dela unapred određenog entropijskog isečka na osnovu odgovarajućih procena verovatnoće unapred određenog entropijskog isečka kako je prilagođeno korišćenjem prethodno kodiranog dela unapred određenog entropijskog isečka, uz
čuvanje procena verovatnoće koje se manifestuju nakon što je entropijski kodiran drugi blok dela koji odgovara unapred određenom entropijskom isečku za inicijalizaciju procene verovatnoće pre kodiranja prvog bloka dela koji odgovara po redosledu entropijskih isečaka sledećem entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja,
proveravanje da li trenutni komad odgovara prvom pod-delu dela koji odgovara unapred određenom entropijskom delu duž putanje entropijskog kodiranja,
ako je tako, izvođenje inicijalizacije procene verovatnoće pre kodiranja prvog bloka dela koji odgovara unapred određenom entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja sa procenama verovatnoće koje se manifestuju nakon entropijskog kodiranja drugog bloka dela koji odgovara po redosledu entropijskih isečka prethodnom entropijskom isečku duž odgovarajuće putanje entropijskog kodiranja, entropijsko kodiranje trenutnog komada pod prilagođavanjem odgovarajućih procena verovatnoće i ostavljanje nepromenjenog stanja odgovarajućih procena verovatnoće koje se manifestuju na kraju entropijskog kodiranja trenutnog komada radi uzimanja u obzir prilikom entropijskog kodiranja drugog komada koji odgovara drugom pod-delu dela unapred određenog entropijskog isečka duž putanje entropijskog kodiranja, i
ako nije, nastavljanje entropijskog kodiranja unapred određenog entropijskog isečka na trenutnom isečku ostavljanjem nepromenjenog stanja odgovarajućih procena verovatnoće koje se manifestuju na kraju entropijskog kodiranja komada koji odgovara pod-delu dela unapred određenog entropijskog isečka koji prethodi pod-delu koji odgovara trenutnom komadu, duž putanje entropijskog kodiranja.
11. Računarski program koji ima programski kod konfigurisan da izvrši, kada se izvodi na računaru, metod prema zahtevu 9 ili 10.
RS20230181A 2011-07-15 2012-07-16 Kodiranje niza uzoraka za nisko kašnjenje RS64037B1 (sr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161508477P 2011-07-15 2011-07-15
EP18190116.6A EP3425805B1 (en) 2011-07-15 2012-07-16 Sample array coding for low-delay

Publications (1)

Publication Number Publication Date
RS64037B1 true RS64037B1 (sr) 2023-04-28

Family

ID=46548436

Family Applications (2)

Application Number Title Priority Date Filing Date
RS20240729A RS65721B1 (sr) 2011-07-15 2012-07-16 Kodiranje niza uzoraka za nisko kašnjenje
RS20230181A RS64037B1 (sr) 2011-07-15 2012-07-16 Kodiranje niza uzoraka za nisko kašnjenje

Family Applications Before (1)

Application Number Title Priority Date Filing Date
RS20240729A RS65721B1 (sr) 2011-07-15 2012-07-16 Kodiranje niza uzoraka za nisko kašnjenje

Country Status (31)

Country Link
US (15) US9596469B2 (sr)
EP (5) EP3425805B1 (sr)
JP (7) JP6177775B2 (sr)
KR (10) KR20220129114A (sr)
CN (5) CN103797793B (sr)
AP (2) AP3992A (sr)
AU (9) AU2012285851B2 (sr)
BR (1) BR112014001026B1 (sr)
CA (1) CA2841888C (sr)
CL (1) CL2014000116A1 (sr)
CO (1) CO6880051A2 (sr)
DK (3) DK4152749T3 (sr)
ES (3) ES2983979T3 (sr)
FI (2) FI4152749T3 (sr)
HR (1) HRP20230228T1 (sr)
HU (3) HUE067091T2 (sr)
IL (11) IL299633B2 (sr)
LT (2) LT4152749T (sr)
MA (1) MA35416B1 (sr)
MX (4) MX2014000542A (sr)
MY (4) MY191000A (sr)
PH (6) PH12018502511A1 (sr)
PL (3) PL3425805T3 (sr)
PT (3) PT2732625T (sr)
RS (2) RS65721B1 (sr)
RU (5) RU2643647C1 (sr)
SI (2) SI3425805T1 (sr)
TN (1) TN2014000015A1 (sr)
UA (3) UA114670C2 (sr)
WO (1) WO2013010997A1 (sr)
ZA (1) ZA201401075B (sr)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8897583B2 (en) * 2008-05-23 2014-11-25 Panasonic Corporation Image decoding apparatus for decoding a target block by referencing information of an already decoded block in a neighborhood of the target block
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2977111A1 (fr) * 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
ES2983979T3 (es) 2011-07-15 2024-10-28 Ge Video Compression Llc Codificación de matrices de muestras para bajo retardo
WO2013109114A1 (ko) * 2012-01-19 2013-07-25 삼성전자 주식회사 서브영역별로 엔트로피 부호화의 병렬 처리가 가능한 비디오 부호화 방법 및 장치, 서브영역별로 엔트로피 복호화의 병렬 처리가 가능한 비디오 복호화 방법 및 장치
BR112014017915B1 (pt) * 2012-01-20 2021-03-16 Ge Video Compression, Llc conceito de codificação que permite o processamento parelelo, desmultiplexador de transporte e fluxo de bites de vídeo
US9805310B2 (en) * 2012-03-04 2017-10-31 Adam Jeffries Utilizing spatial statistical models to reduce data redundancy and entropy
GB2513111A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US20140362098A1 (en) * 2013-06-10 2014-12-11 Sharp Laboratories Of America, Inc. Display stream compression
US9578328B2 (en) * 2013-07-15 2017-02-21 Qualcomm Incorporated Cross-layer parallel processing and offset delay parameters for video coding
EP3084968A4 (en) * 2013-12-16 2017-11-29 McAfee, LLC Process efficient preprocessing for an encryption standard
US10123028B2 (en) * 2014-09-17 2018-11-06 Mediatek Inc. Syntax parsing apparatus with multiple syntax parsing circuits for processing multiple image regions within same frame or processing multiple frames and related syntax parsing method
CN105206302B (zh) * 2015-09-14 2019-05-31 联想(北京)有限公司 一种信息处理方法及电子设备
CN105939479B (zh) * 2016-06-15 2019-06-21 北京奇艺世纪科技有限公司 一种并行编码方法和装置
US10218979B2 (en) * 2016-11-01 2019-02-26 Cisco Technology, Inc. Entropy coding state segmentation and retention
EP3358754A1 (en) * 2017-02-02 2018-08-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Antenna array codebook with beamforming coefficients adapted to an arbitrary antenna response of the antenna array
US10554977B2 (en) * 2017-02-10 2020-02-04 Intel Corporation Method and system of high throughput arithmetic entropy coding for video coding
CN110546956B (zh) * 2017-06-30 2021-12-28 华为技术有限公司 一种帧间预测的方法及装置
CN109558888A (zh) * 2017-09-27 2019-04-02 武汉嫦娥信息科技有限公司 一种高光谱遥感图像分类的并行化加速算法
US10664477B2 (en) * 2017-12-21 2020-05-26 Futurewei Technologies, Inc. Cardinality estimation in databases
CN112189343B (zh) * 2018-03-29 2023-10-20 弗劳恩霍夫应用研究促进协会 用于增强并行编码能力的构思
EP3780607A4 (en) * 2018-04-13 2021-02-17 Zhejiang University METHOD AND DEVICE FOR INFORMATION RETAINING CODING AND DECODING
EP3588800A1 (en) 2018-06-29 2020-01-01 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Antenna array codebook with beamforming coefficients adapted to an arbitrary antenna response of the antenna array
JP6982253B2 (ja) * 2018-10-31 2021-12-17 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
CN114731446B (zh) * 2019-09-24 2025-01-07 弗劳恩霍夫应用研究促进协会 用于信息值序列的编码概念
US11538221B2 (en) * 2020-05-21 2022-12-27 Samsung Electronics Co., Ltd. Re-reference aware tile walk order for primitive binner
CN117242775A (zh) 2021-04-26 2023-12-15 华为技术有限公司 并行熵译码
CN115604486B (zh) * 2021-07-09 2025-09-12 华为技术有限公司 视频图像的编解码方法及装置
CN117082257A (zh) * 2022-05-10 2023-11-17 华为技术有限公司 子流交织方法
EP4287132A1 (en) * 2022-05-30 2023-12-06 Imagination Technologies Limited Compression and decompression of sub-primitive presence indications for use in a rendering system
US12284359B2 (en) * 2023-01-05 2025-04-22 Qualcomm Incorporated Early notification for a low latency video decoder
CN117472591B (zh) * 2023-12-27 2024-03-22 北京壁仞科技开发有限公司 用于数据计算的方法、电子设备和存储介质

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9108199D0 (en) 1991-04-17 1991-06-05 Rhone Poulenc Agriculture New compositions of matter
RU2093957C1 (ru) * 1994-09-20 1997-10-20 Научно-производственное предприятие "Информационные технологии" Устройство для сжатия данных (варианты)
US6104752A (en) * 1996-10-01 2000-08-15 Victor Company Of Japan, Ltd. Apparatus and method of decoding high efficiency coded picture data with picture size resizing
US6832005B2 (en) 2001-03-23 2004-12-14 Microsoft Corporation Adaptive encoding and decoding of bi-level images
JP4494789B2 (ja) * 2002-01-14 2010-06-30 ノキア コーポレイション 動的フィルタのコーディング
US8401084B2 (en) 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
US20040258162A1 (en) 2003-06-20 2004-12-23 Stephen Gordon Systems and methods for encoding and decoding video data in parallel
US7693339B2 (en) * 2003-12-17 2010-04-06 Andreas Wittenstein Method and apparatus for faster-than-real-time lossless compression and decompression of images
US7450770B2 (en) * 2003-12-19 2008-11-11 National Taiwan University Architecture and method for parallel embedded block coding
US20070014367A1 (en) * 2005-07-13 2007-01-18 Yaxiong Zhou Extensible architecture for multi-standard variable length decoding
US8401082B2 (en) * 2006-03-27 2013-03-19 Qualcomm Incorporated Methods and systems for refinement coefficient coding in video compression
US8306125B2 (en) * 2006-06-21 2012-11-06 Digital Video Systems, Inc. 2-bin parallel decoder for advanced video processing
JP4660433B2 (ja) * 2006-06-29 2011-03-30 株式会社東芝 符号化回路、復号回路、エンコーダ回路、デコーダ回路、cabac処理方法
US8275045B2 (en) * 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US8000388B2 (en) 2006-07-17 2011-08-16 Sony Corporation Parallel processing apparatus for video compression
US7365659B1 (en) 2006-12-06 2008-04-29 Silicon Image Gmbh Method of context adaptive binary arithmetic coding and coding apparatus using the same
JP5150129B2 (ja) 2007-04-20 2013-02-20 株式会社ミマキエンジニアリング プリンター装置
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
CN101389021B (zh) 2007-09-14 2010-12-22 华为技术有限公司 视频编解码方法及装置
BRPI0818444A2 (pt) 2007-10-12 2016-10-11 Qualcomm Inc codificação adaptativa de informação de cabeçalho de bloco de vídeo
US9008171B2 (en) * 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
JP4314315B1 (ja) * 2008-03-31 2009-08-12 株式会社東芝 情報処理装置および復号制御方法
FR2931280B1 (fr) 2008-05-19 2011-01-07 Envivio France Procede et dispositif de codage ou decodage d'image avec parallelisatioon du traitement sur plusieurs processeurs et coprocesseurs, programme d'ordinateur et moyen de stockage correspondants.
EP2146343A1 (en) * 2008-07-16 2010-01-20 Deutsche Thomson OHG Method and apparatus for synchronizing highly compressed enhancement layer data
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
CN101836454B (zh) 2008-12-03 2012-08-22 联发科技股份有限公司 对有序熵切片执行平行cabac码处理的方法及装置
US9467699B2 (en) 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
CN102687510B (zh) 2009-07-06 2014-11-05 松下电器产业株式会社 图像解码装置、图像编码装置、图像解码方法、图像编码方法及集成电路
WO2011042645A1 (fr) * 2009-10-05 2011-04-14 France Telecom Procedes de codage et de décodage d'images, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
US8718149B2 (en) 2009-10-29 2014-05-06 Panasonic Corporation Image coding method and image decoding method
CN102098503B (zh) * 2009-12-14 2012-11-28 中兴通讯股份有限公司 一种多核处理器并行解码图像的方法和装置
US20110280314A1 (en) * 2010-05-12 2011-11-17 Texas Instruments Incorporated Slice encoding and decoding processors, circuits, devices, systems and processes
CN101888554B (zh) * 2010-07-09 2013-05-22 西安交通大学 并行流水运动补偿滤波器vlsi结构设计方法
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
AU2012268951B2 (en) 2011-06-16 2015-07-30 Dolby Video Compression, Llc Context initialization in entropy coding
US20130003823A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
ES2983979T3 (es) * 2011-07-15 2024-10-28 Ge Video Compression Llc Codificación de matrices de muestras para bajo retardo

Also Published As

Publication number Publication date
JP2016187194A (ja) 2016-10-27
MX2020003540A (es) 2022-03-25
US20170302944A1 (en) 2017-10-19
JP7164692B2 (ja) 2022-11-01
IL265152A (en) 2019-05-30
KR102444757B1 (ko) 2022-09-19
CN103797793B (zh) 2018-01-09
KR101882979B9 (ko) 2021-10-27
KR102385848B1 (ko) 2022-04-14
IL253274B (en) 2018-04-30
IL230399A (en) 2017-07-31
EP3425805A1 (en) 2019-01-09
US20210211701A1 (en) 2021-07-08
AU2012285851A1 (en) 2014-02-06
IL299633B1 (en) 2024-03-01
PH12018500195B1 (en) 2019-10-25
HUE039959T2 (hu) 2019-02-28
IL291443A (en) 2022-05-01
PT3425805T (pt) 2023-03-13
IL291443B2 (en) 2023-06-01
IL276219B (en) 2021-05-31
CN107948645B (zh) 2021-12-24
IL276219A (en) 2020-09-30
KR101721487B1 (ko) 2017-03-30
DK3425805T3 (da) 2023-03-06
US9866857B2 (en) 2018-01-09
HUE061192T2 (hu) 2023-05-28
AP2016009466A0 (sr) 2016-09-30
EP3425805B1 (en) 2022-12-07
PH12018500196B1 (en) 2018-09-24
ES2939239T3 (es) 2023-04-20
MY210263A (en) 2025-09-05
US11019352B2 (en) 2021-05-25
KR20220047686A (ko) 2022-04-18
DK4152749T3 (da) 2024-07-15
JP2023017786A (ja) 2023-02-07
JP6985436B2 (ja) 2021-12-22
KR20140042893A (ko) 2014-04-07
MY191000A (en) 2022-05-27
US10771800B2 (en) 2020-09-08
KR20160049028A (ko) 2016-05-04
KR20170047405A (ko) 2017-05-04
CO6880051A2 (es) 2014-02-28
MX390959B (es) 2025-03-21
BR112014001026A2 (pt) 2017-02-14
PH12018500197B1 (en) 2018-09-24
US20170302945A1 (en) 2017-10-19
EP4708876A2 (en) 2026-03-11
LT4152749T (lt) 2024-07-25
AU2024278627A1 (en) 2025-01-16
HK1254387A1 (zh) 2019-07-19
FI3425805T3 (fi) 2023-03-22
KR102187171B1 (ko) 2020-12-04
RU2643647C1 (ru) 2018-02-02
PH12014500152A1 (en) 2014-04-24
RU2666628C1 (ru) 2018-09-11
AU2019275583B2 (en) 2020-09-03
IL282796B (en) 2022-04-01
MA35416B1 (fr) 2014-09-01
JP2025041597A (ja) 2025-03-26
DK2732625T3 (en) 2018-12-17
HRP20230228T1 (hr) 2023-04-14
EP2732625A1 (en) 2014-05-21
EP4407997A3 (en) 2024-10-30
US20250310553A1 (en) 2025-10-02
MY198882A (en) 2023-10-02
US9860544B2 (en) 2018-01-02
US20140105293A1 (en) 2014-04-17
CN108111854A (zh) 2018-06-01
US20240292010A1 (en) 2024-08-29
PH12018500198A1 (en) 2018-09-24
IL310690B1 (en) 2024-12-01
AP2014007416A0 (en) 2014-02-28
KR20220129114A (ko) 2022-09-22
ES2983979T3 (es) 2024-10-28
US12389024B2 (en) 2025-08-12
US20200280731A1 (en) 2020-09-03
JP6659767B2 (ja) 2020-03-04
KR20180086525A (ko) 2018-07-31
JP7593980B2 (ja) 2024-12-03
KR20250044718A (ko) 2025-04-01
PH12018500195A1 (en) 2018-09-24
JP2022033819A (ja) 2022-03-02
ZA201401075B (en) 2015-02-25
AU2025204718B2 (en) 2025-09-18
HK1254424A1 (zh) 2019-07-19
IL282796A (en) 2021-06-30
PT2732625T (pt) 2018-12-17
EP4407997A2 (en) 2024-07-31
IL299633B2 (en) 2024-07-01
KR101882979B1 (ko) 2018-08-24
RU2682922C1 (ru) 2019-03-22
CN107995491A (zh) 2018-05-04
PH12018500196A1 (en) 2018-09-24
US10924754B2 (en) 2021-02-16
IL270426B (en) 2020-08-31
AU2017208363A1 (en) 2017-08-17
KR102039049B1 (ko) 2019-11-15
AP3992A (en) 2017-01-08
UA111362C2 (uk) 2016-04-25
US9860547B2 (en) 2018-01-02
CN107959854B (zh) 2021-07-23
IL265152B (en) 2019-11-28
RU2763532C2 (ru) 2021-12-30
AU2024278627B2 (en) 2025-05-15
US20200366919A1 (en) 2020-11-19
MX372652B (es) 2020-05-06
US20200021830A1 (en) 2020-01-16
LT3425805T (lt) 2023-03-27
EP2732625B1 (en) 2018-09-05
PH12018500197A1 (en) 2018-09-24
IL310690B2 (en) 2025-04-01
AU2017208363B2 (en) 2019-09-12
AU2016200182B2 (en) 2017-05-04
RU2019107150A3 (sr) 2021-10-22
AU2022202573A1 (en) 2022-05-12
PT4152749T (pt) 2024-07-12
US20180367810A1 (en) 2018-12-20
AU2022202573B2 (en) 2023-08-10
AU2016200182A1 (en) 2016-02-04
CN108111854B (zh) 2021-04-02
KR101730586B1 (ko) 2017-04-26
RS65721B1 (sr) 2024-08-30
US10652564B2 (en) 2020-05-12
CL2014000116A1 (es) 2014-08-01
JP2014525187A (ja) 2014-09-25
SI4152749T1 (sl) 2024-08-30
JP6177775B2 (ja) 2017-08-09
MX2014000542A (es) 2014-07-14
CN107995491B (zh) 2021-12-28
US10085035B2 (en) 2018-09-25
US9596469B2 (en) 2017-03-14
AU2023258453B2 (en) 2024-09-19
CN107948645A (zh) 2018-04-20
US20200236378A1 (en) 2020-07-23
CA2841888C (en) 2017-01-03
TN2014000015A1 (en) 2015-07-01
RU2019107150A (ru) 2020-09-14
IL299633A (en) 2023-03-01
KR20200024959A (ko) 2020-03-09
US20230179786A1 (en) 2023-06-08
US20180084267A1 (en) 2018-03-22
IL316612A (en) 2024-12-01
HK1254885A1 (zh) 2019-07-26
ES2694848T3 (es) 2018-12-27
RU2610668C2 (ru) 2017-02-14
MY168583A (en) 2018-11-14
IL310690A (en) 2024-04-01
CN103797793A (zh) 2014-05-14
PH12018502511A1 (en) 2020-03-16
IL258274B (en) 2019-03-31
WO2013010997A1 (en) 2013-01-24
AU2019275583A1 (en) 2020-01-02
KR20200136515A (ko) 2020-12-07
US9729891B2 (en) 2017-08-08
EP4152749B1 (en) 2024-04-10
JP2020092437A (ja) 2020-06-11
FI4152749T3 (fi) 2024-07-03
RU2014105554A (ru) 2015-08-27
JP2018152896A (ja) 2018-09-27
US20170302943A1 (en) 2017-10-19
AU2020280994A1 (en) 2021-01-07
PL2732625T3 (pl) 2019-02-28
CA2841888A1 (en) 2013-01-24
IL253274A0 (en) 2017-08-31
MX2022003601A (es) 2022-06-17
PL3425805T3 (pl) 2023-05-08
UA114670C2 (uk) 2017-07-10
SI3425805T1 (sl) 2023-04-28
AU2025204718A1 (en) 2025-07-10
AU2023258453A1 (en) 2023-11-23
US11595675B2 (en) 2023-02-28
US11949897B2 (en) 2024-04-02
US10659798B2 (en) 2020-05-19
PL4152749T3 (pl) 2024-09-02
CN107959854A (zh) 2018-04-24
IL258274A (en) 2018-05-31
HUE067091T2 (hu) 2024-09-28
PH12014500152B1 (en) 2019-10-30
AU2012285851B2 (en) 2015-11-12
AU2020280994B2 (en) 2022-03-03
BR112014001026B1 (pt) 2022-05-03
PH12018500198B1 (en) 2019-10-25
HK1255113A1 (zh) 2019-08-02
EP4152749A1 (en) 2023-03-22
KR102085171B1 (ko) 2020-03-06
KR20190124341A (ko) 2019-11-04
UA124568C2 (uk) 2021-10-13
US20170134741A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
AU2023258453B2 (en) Sample array coding for low-delay
HK40113322A (en) Sample array coding for low-delay
HK40088761B (en) Sample array coding for low-delay
HK40088761A (en) Sample array coding for low-delay
HK1198092B (en) Sample array coding for low-delay
HK1198092A (en) Sample array coding for low-delay