RS56473B1 - Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje - Google Patents

Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje

Info

Publication number
RS56473B1
RS56473B1 RS20171115A RSP20171115A RS56473B1 RS 56473 B1 RS56473 B1 RS 56473B1 RS 20171115 A RS20171115 A RS 20171115A RS P20171115 A RSP20171115 A RS P20171115A RS 56473 B1 RS56473 B1 RS 56473B1
Authority
RS
Serbia
Prior art keywords
unit
interpolation
coding
filter
depth
Prior art date
Application number
RS20171115A
Other languages
English (en)
Inventor
Alexander Alshin
Elena Alshina
Jianle Chen
Nikolay Shlyakhov
Yoon-Mi Hong
Woo-Jin Han
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of RS56473B1 publication Critical patent/RS56473B1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • G06F17/175Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
    • 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)

Description

Tehnička oblast
Predloženi pronalazak se odnosi na postupak za kompenzaciju pokreta.
Osnova pronalaska
Kod tipičnih metoda kodiranja i dekodiranja slike, da bi se kodirala slika, jedna slika se deli na makro blokove. Nakon toga se obavlja prediktivno kodiranje na svakom makro bloku pomoću inter predikcije ili intra predikcije.
Inter predikcija se odnosi na metodu komprimovanja slike uklanjanjem privremene redundancije između slika i njen reprezentativni primer je kodiranje procene pokreta. Tokom kodiranja procene pokreta, svaki blok trenutne slike se predviđa pomoću najmanje jedne referentne slike. Referentni blok koji je najsličniji trenutnom bloku pronađen je unutar prethodno određenog opsega pretraživanja pomoću prethodno određene funkcije evaluacije.
Predikcija trenutnog bloka se vrši na osnovu referentnog bloka, a rezidualni blok se dobija oduzimanjem od trenutnog bloka, tako da se generisani blok za predikciju kodira kao rezultat predikcije. U ovom slučaju, da bi se izvela preciznija predikcija, obavljena je interpolacija u opsegu pretrage referentne slike, pikseli jedinica subuzoraka manji od piksela jedinica celobrojnih uzoraka su generisani i inter predikcija je obavljena na generisanim pikselima jedinica subuzoraka.
MCCANN (ZETACAST/SAMSUNG K ET AL: “Video coding technology proposal by Samsung (and BBC)”, 1. JCT-VC MEETING; 15-4-2010 – 23-4-2010; DRESDEN; (JOINTCOLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-TSG.16); URL: HTTP://WFTP3.ITU.INT/AV-ARCH.JCTVC-SITE/, broj XP030007572, 1. jun 2010. (2010-06-01), XP030007573, ISSN:0000-0049 opisuje pokret korišćenjem filtriranja za interpolaciju u odeljku [2.3.4 Filter za interpolaciju na osnovu DCT-a (DIF)].
Predlog pronalaska
Tehnički problem
Predloženi pronalazak predstavlja postupak za kompenzaciju pokreta pomoću filtera za interpolaciju tako što generiše piksel jedinice subuzoraka interpolacijom piksela jedinice celobrojnih uzoraka.
Tehničko rešenje
Shodno aspektu predloženog pronalaska, obezbeđen je postupak shodno patentnim zahtevima.
Povoljni efekti
Kada se video zapis kodira i dekodira, s obzirom da je slika visokog kvaliteta generisana interpolacijiom referentnog okvira i procena pokreta i kompenzacija obavljeni na osnovu slike visokog kvaliteta, preciznost inter predikcije može da se poveća. Takođe, pošto se filter za interpolaciju i uglačavanje koristi za smanjenje visoko frekventnih komponenti u rezultatu interpolacije, dobija se uglačaniji rezultat interpolacije, visoko frekventne komponente se mogu ukloniti i može se poboljšati rezultat kodiranja i dekodiranja slike.
Kratak opis crteža
SL. 1 predstavlja blok dijagram aparata za interpolaciju slike;
SL. 2 predstavlja dijagram za opisivanje veze između jedinice celobrojnih uzoraka i jedinice subuzoraka;
SL. 3 predstavlja dijagram koji prikazuje susedne piksele jedinica celobrojnih uzoraka na osnovu kojih se određuje vrednost piksela jedinice subuzoraka;
SL. 4A do 4C predstavljaju dijagrame koji prikazuju primere piksela jedinica celobrojnih uzoraka na osnovu kojih se određuje vrednost piksela jedinice subuzoraka;
SL. 5 predstavlja grafik parametra uglačavanja filtera za inerpolaciju i uglačavanje; SL. 6 predstavlja grafik splajn funkcije koju koristi filter za interpolaciju i uglačavanje;
SL. 7 predstavlja dijagram toka metode interpolacije slike;
SLIKE 8A do 8C predstavljaju tabele koje prikazuju koeficijente 12-tap filtera za interpolaciju, određenih na osnovu parametra uglačavanja i lokacije za interpolaciju;
SL. 9A do 9C predstavljaju tabele koje prikazuju koeficijente 6-tap filtera za interpolaciju, određenih na osnovu parametra uglačavanja i lokacije za interpolaciju;
SL. 10 predstavlja tabelu koja prikazuje koeficijente 6-tap filtera za interpolaciju, određenih za piksele boja na osnovu parametra uglačavanja i lokacije za interpolaciju; SL. 11 predstavlja tabelu koja prikazuje koeficijente filtera za interpolaciju i uglačavanje koji su drugačije određeni na osnovu boje komponente i lokacije za interpolaciju slike;
SL. 12A do 12C predstavljaju tabele koje prikazuju koeficijente filtera za interpolaciju i uglačavanje na osnovu lokacije za interpolaciju slike i faktora skaliranja, uključujući i one shodno realizacijama predloženog pronalaska;
SL. 13A predstavlja blok dijagram aparata za kodiranje video zapisa pomoću filtera za interpolaciju i uglačavanje;
SL. 13B predstavlja blok dijagram aparata za dekodiranje video zapisa pomoću filtera za interpolaciju i uglačavanje;
SL. 14A predstavlja dijagram toka metode za kodiranje slike pomoću filtera za interpolaciju i uglačavanje; SL. 14B predstavlja dijagram toka metode za dekodiranje slike pomoću filtera za interpolaciju i uglačavanje;
SL. 15 predstavlja dijagram koji opisuje koncept jedinica za kodiranje; SL. 16 predstavlja blok dijagram kodera slike na osnovu jedinica za kodiranje;
SL. 17 predstavlja blok dijagram dekodera slike na osnovu jedinica za kodiranje; SL. 18 predstavlja dijagram koji ilustruje jedinice za dublje kodiranje shodno dubinama i particijama;
SL. 19 predstavlja dijagram za opisivanje veze između jedinice za kodiranje i jedinica za transformaciju;
SL. 20 predstavlja dijagram za opisivanje informacija o kodiranju jedinica za kodiranje koje odgovaraju kodiranoj dubini;
SL. 21 predstavlja dijagram jedinice za dublje kodiranje shodno dubinama;
SL. 22 do 24 predstavljaju dijagrame za opisivanje veze između jedinica za kodiranje, jedinica za predikciju i jedinica za transformaciju; SL.25 predstavlja dijagram za opisivanje veze između jedinice za kodiranje, jedinice za predikciju ili particiju i jedinice za transformaciju, shodno informacijama o režimu kodiranja iz tabele 1;
SL. 26 predstavlja dijagram toka metode kodiranja video zapisa pomoću filtera za interpolaciju i uglačavanje na osnovu jedinica za kodiranje koje imaju strukturu stabla; i SL. 27 predstavlja dijagram toka metode dekodiranja video zapisa pomoću filtera za interpolaciju i uglačavanje na osnovu jedinica za kodiranje koje imaju strukturu stabla.
Najbolji način za realizaciju pronalaska
Shodno aspektu predloženog pronalaska, obezbeđen je postupak shodno patentnim zahtevima. Primer metode interpolacije slike s obzirom na uglačavanje, metoda uključuje različit izbor filtera za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačanosti iz reda filtera za interpolaciju za generisanje bar jedne vrednosti piksela jedinice subuzoraka koja se nalazi između piksela jedinica celobrojnih uzoraka; i generisanje bar jedne vrednosti piksela jedinice subuzoraka interpolacijom vrednosti piksela za piksele jedinica celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju.
Filter za interpolaciju može uključiti koeficijente filtera za transformaciju piksela jedinica celobrojnih uzoraka na osnovu mnoštva osnovnih funkcija i inverzno transformisanog mnoštva koeficijenata generisanih kao rezultat transformacije.
Filter za interpolaciju može da uključi koeficijente filtera koji imaju određenu uglačanost na osnovu razdaljine između lokacije za interpolaciju i piksela jedinica celobrojnih uzoraka. Filteri za interpolaciju mogu uključiti koeficijente filtera koji imaju određenu uglačanost na osnovu razdaljine između lokacije za interpolaciju i piksela jedinice celobrojnih uzoraka susednih lokaciji za interpolaciju.
Da bi interpolisali piksele jedinica celobrojnih uzoraka u prostorni domen, filter za interpolaciju može da uključi koeficijente filtera dobijene kombinovanjem filtera za obavljanje transformacije i inverzne transformacije, korišćenjem mnoštva osnovnih funkcija i prozor funkcije, gde prozor funkcija može biti simetrična u odnosu na lokaciju za interpolaciju.
Da bi interpolisali piksele jedinica celobrojnih uzoraka u prostorni domen, filter za interpolaciju može da uključi koeficijente filtera dobijene kombinovanjem filtera za obavljanje transformacije i inverzne transformacije korišćenjem mnoštva osnovnih funkcija i parametra za uglačavanje, gde parametar za uglačavanje može da kontroliše bar jednu brzinu uglačavanja i opseg uglačavanja.
Filter za interpolaciju može da uključi koeficijente filtera na osnovu splajn funkcije. Filter za interpolaciju može da uključi koeficijente filtera za maksimiziranje nisko frekventnog odziva filtera za interpolaciju na osnovu funkcije polinoma.
Izbor filtera za interpolaciju može da uključi izbor filtera za interpolaciju koji uključuje koeficijente filtera srazmerne celim brojevima iz reda filtera za interpolaciju, i da generiše bar jednu vrednost piksela jedinice subuzoraka, može da uključi normalizaciju bar jedne vrednosti piksela jedinice subuzoraka generisane upotrebom filtera za izbor interpolacije, na osnovu faktora skaliranja.
Izbor filtera za interpolaciju može da uključi drugačiji izbor filtera za interpolaciju na osnovu karakteristika piksela iz reda filtera za interpolaciju, i da generiše bar jednu vrednost piksela jedinice subuzoraka može uključiti generisanje bar jedne vrednosti piksela jedinice subuzoraka korišćenjem drugačije odabranih filtera za interpolaciju na osnovu karakteristika piksela.
Na primeru aparata za interpolaciju slike uzimajući u obzir uglačavanje, aparat uključuje selektor filtera za drugačiji izbor filtera za interpolaciju na osnovu lokacije za interpolaciju piksela jedinice subuzoraka i uglačanja iz reda filtera za interpolaciju za generisanje bar jedne vrednosti piksela jedinice subuzoraka koja se nalazi između piksela jedinica celobrojnih uzoraka; i interpolator za generisanje bar jedne vrednosti piksela jedinice subuzoraka interpolacijom vrednosti piksela jedinica celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju.
Na primeru metode interpolacije slike uzimajući u obzir boju komponente, metoda uključuje različit izbor filtera za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i boje komponente trenutnog piksela iz reda filtera za interpolaciju za generisanje bar jedne vrednosti piksela jedinice subuzoraka koja se nalazi između piksela jedinica celobrojnih uzoraka; i generiše bar jednu vrednost piksela jedinice subuzoraka interpolacijom vrednosti piksela jedinica celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju.
Izbor filtera za interpolaciju može da uključi za interpolaciju piksela boje izbor filtera za interpolaciju koji ima jaču uglačanost od filtera za interpolaciju piksela osvetljenja, iz reda filtera za interpolaciju.
Filter za interpolaciju koji ima jaču uglačanost od filtera za interpolaciju piksela osvetljenja može biti jedan od filtera koji uključuje koeficijente filtera za uglačavanje piksela jedinica celobrojnih uzoraka, transformišući uglačanost piksela jedinica celobrojnih uzoraka korišćenjem mnoštva osnovnih funkcija, i obrnuto transformisanog mnoštva koeficijenata generisanih kao rezultat transformacije; filter dobijen kombinovanjem koeficijenata filtera za obavljanje transformacije i inverzne transformacije korišćenjem mnoštva osnovnih funkcija, i koeficijenata prozor funkcije za obavljanje niskopropusnog filtriranja; filter koji uključuje koeficijente filtera za najjaču granicu uglačavanja piksela jedinica celobrojnih uzoraka na osnovu stanja granice splajn funkcije; i filter koji uključuje koeficijente filtera za maksimiziranje nisko frekventnog odziva filtera za interpolaciju na osnovu funkcije polinoma.
Na primeru aparata za interpolaciju slike uzimajući u obzir boju komponente, aparat uključuje selektor filtera za drugačiji izbor filtera za interpolaciju na osnovu lokacije za interpolaciju piksela jedinice subuzoraka i boje komponente trenutnog piksela iz reda filtera za interpolaciju za generisanje bar jedne vrednosti piksela jedinice subuzoraka koja se nalazi između piksela jedinica celobrojnih uzoraka; i interpolator za generisanje bar jedne vrednosti piksela jedinice subuzoraka interpolacijom vrednosti piksela jedinica celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju.
Na primeru kodiranja video zapisa korišćenjem filtera za interpolaciju slike, koder video zapisa uključuje koder za različit izbor filtera za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačenosti iz reda filtera za interpolaciju sačuvanih u koderu video zapisa, u odnosu na svaki blok ulazne slike, obavljajući prediktivno kodiranje kako bi se generisala bar jedna vrednost piksela jedinice subuzoraka interpolacijom vrednosti piksela jedinice celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju, i vršenjem transformacije i kvantizacije na rezultatu predikcije prediktivnog kodiranja; jedinicu za izlazne podatke za slanje toka bitova koji se generiše obavljanjem entropijskog kodiranja na kvantifikovanim koeficijentima transformacije i informacijama o kodiranju; i skladište za čuvanje koeficijenata filtera za interpolaciju.
Na primeru dekodiranja video zapisa korišćenjem filtera za interpolaciju slike, dekoder video zapisa uključuje prijemnik i ekstraktor za prijem kodiranog toka bitova video zapisa i izdvajanje kodirane informacije i kodiranih podataka slike video zapisa obavljanjem entropijskog dekodiranja i raščlanjivanjem toka bitova; dekoder za obavljanje inverzne kvantizacije i inverzne transformacije na kvantifikovanim koeficijentima transformacije kodiranih podataka trenutnog bloka slike, drugačiji izbor filtera za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačenosti iz reda filtera za interpolaciju sačuvanih u video dekoderu, obavlja prediktivno dekodiranje kako bi se generisala bar jedna vrednost piksela jedinice subuzoraka interpolacijom vrednosti piksela jedinice celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju, i rekonstrukciju slike; i skladište za čuvanje koeficijenata filtera za interpolaciju.
U nekim konfiguracijama obezbeđeni su medijumi za snimanje koje može čitati računar koji ima snimljen kompjuterski program za izvršavanje gore navedene metode.
Način za izvođenje pronalaska
U sledećem opisu, ''slika'' može sveobuhvatno da se odnosi na pokretnu sliku, kao što je video zapis, kao i na nepokretnu sliku.
Interpolacija slike koja razmatra uglačavanje, shodno primeru predloženog pronalaska, opisana je uzimajući u obzir SLIKE.1 do 12 C. Takođe, kodiranje i dekodiranje video zapisa pomoću filtera za interpolaciju i uglačavanje, shodno primeru opisano je uzimajući u obzir SLIKE. 13A do 27. Konkretno, kodiranje i dekodiranje video zapisa pomoću filtera za interpolaciju i uglačavanje na osnovu jedinica za kodiranje sa strukturom stabla, shodno primeru opisanom uzimajući u obzir SLIKE.15 do 27.
Interpolacija slike koja obuhvata uglačavanje i filter za interpolaciju i uglačavanje, shodno primeru opisuje se detaljno prema SLIKAMA.1 do 12 C.
SL. 1 predstavlja blok dijagram aparata za interpolaciju slike 10 shodno primeru. Aparat za interpolaciju slike 10 koji obuhvata uglačavanje uključuje selektor filtera 12 i interpolator 14. Rad selektora filtera 12 i interpolatora 14 za aparat za interpolaciju slike 10 može biti kooperativno kontrolisan procesorom za kodiranje video zapisa, centralnom jedinicom za obradu (CPU) i grafičkim procesorom.
Aparat za interpolaciju slike 10 može primiti izlaznu sliku i može generisati vrednosti piksela jedinice subuzoraka interpolacijom piksela jedinice celobrojnih uzoraka . Ulazna slika može biti sekvenca, slika, okvir ili blokovi video zapisa.
Selektor filtera 12 može drugačije odabrati filter za interpolaciju za generisanje bar jedne vrednosti piksela jedinice subuzoraka koja se nalazi između jedinica celobrojnih uzoraka, na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačanosti.
Interpolator 14 može interpolisati piksele jedinice celobrojnih uzoraka susedne lokaciji za interpolaciju jedinice subuzoraka korišćenjem filtera za interpolaciju odabranog selektorom filtera 12, čime se generišu vrednosti piksela jedinice subuzoraka. Filtriranje za interpolaciju piksela jedinice celobrojnih uzoraka koje generiše vrednosti piksela jedinice subuzoraka može uključiti filtriranje za interpolaciju referentnih vrednosti piksela jedinice celobrojnih uzoraka uključujući piksele jedinicu celobrojnih uzoraka susedne lokaciji za interpolaciju jedinice subuzoraka u oblasti koja je podržana filterom za interpolaciju.
Filter za interpolaciju može uključiti koeficijente filtera za transformaciju referentnih piksela jedinice celobrojnih uzoraka na osnovu mnoštva osnovnih funkcija i obrnuto transformisanog mnoštva koeficijenata generisanih kao rezultat transformacije.
Filter za interpolaciju može biti jednodimenzionalni ili dvodimenzionalni filter. Ako je odabrani filter za interpolaciju jednodimenzionalni filter, interpolator 14 može redom obaviti filtriranje korišćenjem jednodimenzionalnih filtera za interpolaciju u dva ili više pravaca, čime generiše vrednost trenutnih piksela jedinice subuzoraka..
Filter za interpolaciju i uglačavanje može imati uglačanost koja je određena na osnovu razdaljine između lokacije za interpolaciju i piksela jedinice celobrojnih uzoraka.
Filter za interpolaciju može uključiti različite koeficijente filtera na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačanosti. U daljem tekstu filter za interpolaciju je određen uzimajući u obzir lokaciju za interpolaciju jedinice subuzoraka i uglačanosti, označen kao filter za interpolaciju i uglačavanje.
Filter za interpolaciju i uglačavanje može imati uglačanost koja je određena na osnovu razdaljine između lokacije za interpolaciju i piksela jedinice celobrojnih uzoraka susedne lokaciji za interpolaciju.
Takođe, filter za interpolaciju i uglačavanje može uključiti i koeficijente filtera za jače uglačavanje referentnih piksela jedinice celobrojnih uzoraka udaljenih od lokacije za interpolaciju.
Kako bi interpolisao piksele jedinice celobrojnih uzoraka u prostorni domen, filter za interpolaciju i uglačavanje može se dobiti kombinovanjem koeficijenata filtera za obavljanje transformacije i inverzne transformacije korišćenjem mnoštva osnovnih funkcija, i koeficijenata prozor funkcije za obavljanje niskopropusnog filtriranja.
Prozor funkcija može biti simetrična lokaciji za interpolaciju. Filter za interpolaciju i uglačavanje dobijen kombinovanjem koeficijenata filtera za obavljanje i transformacije i inverzne transformacije, kao i koeficijenata prozor funkcije za obavljanje niskopropusnog filtriranja, može uključiti koeficijente filtera za dodeljivanje veće težine referentnim pikselima jedinice celobrojnih uzoraka u blizini lokacije za interpolaciju i dodeljivanjem malih težina referentnim pikselima jedinica celobrojnih uzoraka udaljenih od lokacije za interpolaciju.
Filter za interpolaciju i uglačavanje može uključiti koeficijente filtera za uglačavanje referentnih piksela jedinice celobrojnih uzoraka korišćenjem mnoštva osnovnih funkcija, i obrnuto transformisanih mnoštva koeficijenata generisanih kao rezultat transformacije.
Filter za interpolaciju i uglačavanje je filter za interpolaciju u prostorni domen, i može uključiti koeficijente filtera dobijene kombinacijom filtera za interpolaciju koji obavlja i transformaciju i inverznu transformaciju, kao i parametar za uglačavanje. Parametar za uglačavanje može kontrolisati bar jednu brzinu uglačavanja kao i jedan opseg uglačavanja.
Filter za interpolaciju i uglačavanje može uključiti koeficijente filtera na osnovu splajn funkcije. Osnovna funkcija transformacije i inverzne transformacije za određivanje koeficijenata filtera za interpolaciju može biti splajn funkcija. Kako bi bio dobijen uglačaniji rezultat interpolacije, filter za interpolaciju i uglačavanje može uključiti koeficijente filtera određene splajn funkcijom.
Shodno primeru, filter za interpolaciju i uglačavanje na osnovu splajn funkcije može uključiti koeficijente filtera za najjaču granicu uglačavanja referentnih piksela jedinice celobrojnih uzoraka na osnovu stanja granice splajn funkcije.
Shodno drugom primeru, ako je osnovna funkcija transformacije i inverzne transformacije funkcija polinoma, filter za interpolaciju i uglačavanje može uključiti koeficijente filtera za maksimiziranje niskofrekventnog odziva filtera za interpolaciju na osnovu funkcije polinoma.
Filter za interpolaciju i uglačavanje, shodno primeru, može uključiti različite koeficijente filtera na osnovu dužine filtera kao i lokacije za interpolaciju i uglačanosti.
Takođe, filter za interpolaciju i uglačavanje može uključiti različite koeficijente filtera na osnovu faktora skaliranja rezultata interpolacije kao i lokacije za interpolaciju jedinice subuzoraka, uglačanosti i dužine filtera . Selektor filtera 12 može odabrati filter za interpolaciju i uglačavanje uključujući koeficijente filtera srazmerne celim brojevima. Interpolator 14 normalizuje vrednosti piksela generisane upotrebom filtera za interpolaciju i uglačavanje odabranim selektorom filtera 12.
Takođe, selektor filtera 12 može različito odabrati filter za interpolaciju na osnovu karakteristika piksela. Interpolator 14 može generisati vrednosti piksela jedinice subuzoraka korišćenjem filtera za interpolaciju drugačije odabranog na osnovu karakteristika piksela.
Filter za interpolaciju odabran selektorom filtera 12 može uključiti filter za interpolaciju i uglačavanje, kao i opšti filter za interpolaciju koji ne obuhvata uglačavanje. Stoga, na osnovu karakteristika slike, selektor filtera 12 može odabrati opšti filter za interpolaciju koji uopšte ne sadrži uglačavanje.
Na primer, aparat za interpolaciju slike 10 može obaviti interpolaciju slike korišćenjem različitih filtera za interpolaciju shodno komponentama boje.
Shodno drugom primeru, selektor filtera 12 može drugačije odabrati filter za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i komponente boje trenutnog piksela. Shodno drugom primeru, interpolator 14 može interpolisati piksele jedinice celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju, čime generiše bar jednu vrednost piksela jedinice subuzoraka.
Na primer, selektor filtera 12 može različito odrediti filter za interpolaciju komponente osvetljenja i filtera za interpolaciju komponente boje.
Kako bi interpolisao piksel boje, selektor filtera 12 može odabrati filter za interpolaciju i uglačavanje koji ima jaču uglačanost od filtera za interpolaciju piksela osvetljenja.
Na primer, kako bi interpolisao piksel boje, mogu se odabrati ili filter za interpolaciju, uključujući koeficijente filtera određene na osnovu splajn funkcije ili filter za interpolaciju uključujući koeficijente filtera određene funkcijom polinoma. Koeficijenti filtera određeni na osnovu splajn funkcije mogu najjače uglačati granicu piksela jedinice celobrojnih uzoraka na osnovu graničnog stanja splajn funkcije. Filter za interpolaciju određen na osnovu funkcije polinoma može uključiti koeficijente filtera za maksimiziranje niskofrekventnog odziva.
Takođe, kako bi interpolisao piksel boje, mogu se odabrati ili filter za interpolaciju, uključujući koeficijente filtera određene na osnovu parametra za uglačavanje koji imaju jaču uglačanost od filtera za interpolaciju za piksel osvetljenja, ili filter za interpolaciju uključujući koeficijente filtera kombinovane sa prozor funkcijom za uklanjanje viška visokofrekventnih komponenti u odnosu na filter za interpolaciju piksel osvetljenja.
Kako bi bio dobijen uglačani rezultat interpolacije komponente boje, mogu se odabrati ili filter za interpolaciju i uglačavanje dobijen kombinacijom koeficijenata filtera za obavljanje transformacije i inverzne transformacije korišćenjem mnoštva osnovnih funkcija, ili koeficijenti prozor funkcije za obavljanje niskopropusnog filtriranja.
Interpolacija slike se koristi za transformaciju slike niskog kvaliteta u sliku visokog kvaliteta, kako bi isprepletena slika bila transformisana u progresivnu sliku, ili za transformaciju uzorka slike niskog kvaliteta u sliku visokog kvaliteta. Takođe, kada aparat za kodiranje video zapisa kodira sliku, estimator pokreta i kompenzator mogu obaviti inter predikciju korišćenjem interpolisanog referentnog okvira. Preciznost inter predikcije može biti povećana interpolisanjem referentnog okvira za generisanje slike visokog kvaliteta, i obavljanje procene pokreta i kompenzacije na osnovu slike visokog kvaliteta. Slično, kada aparat za dekodiranje slike dekodira sliku, kompenzator pokreta može obaviti kompenzaciju pokreta korišćenjem interpolisanog referentnog okvira, čime se povećava preciznost inter predikcije.
Takođe, filter za interpolaciju i uglačavanje koji koristi aparat za interpolaciju slike 10 može dovesti do uglačanog rezultata interpolacije smanjenjem visokofrekventnih komponenti u rezultatu interpolacije korišćenjem filtera za interpolaciju. S obzirom da visokofrekventne komponente smanjuju efikasnost kompresije slike, efikasnost kodiranja i dekodiranja se može poboljšati i obavljanjem intepolacije slike sa prilagodljivim uglačavanjem.
SL. 2 predstavlja dijagram za opisivanje veze između jedinice celobrojnih uzoraka i jedinice subuzoraka.
Shodno SL. 2 predstavlja aparat za interpolaciju slike 10 koji generiše vrednosti piksela lokacija ''X'' interpolacijom vrednosti piksela jedinice celobrojnih uzoraka lokacija ''O'' prethodno određenog bloka 20 u prostornom domenu. Vrednosti piksela lokacija ''X'' su vrednosti piksela jedinice subuzoraka piksela lokacije za interpolaciju određene sa αxi αy. Iako SL.2 prikazuje da je prethodno određeni blok 20 blok 4×4 , to lako mogu da razumeju stručnjaci iz ove oblasti nauke da veličina bloka nije ograničena na 4×4 , već može da bude veća ili manja od 4×4.
U obradi video zapisa, vektor pokreta se koristi za obavljanje kompenzacije pokreta i predikcije na trenutnoj slici. Na osnovu prediktivnog kodiranja, prethodno dekodirana slika izgleda kao da predviđa trenutnu sliku, a vektor pokreta ukazuje na prethodno određenu tačku referentne slike. Stoga, vektor pokreta označava piksel jedinice celobrojnih uzoraka referentne slike.
Međutim, piksel koji se odnosi na trenutnu sliku može biti lociran između piksela jedinice celobrojnih uzoraka referentne slike. Takva lokacija se odnosi na lokaciju jedinice subuzoraka. S obzirom na to da piksel ne postoji na lokaciji jedinice subuzoraka, vrednost piksela jedinice subuzoraka je uglavnom predviđena korišćenjem vrednosti piksela jedinice celobrojnih uzoraka.. Drugim rečima, vrednost piksela jedinice subuzoraka je procenjena interpolacijom piksela jedinice celobrojnih uzoraka.
Metod interpolacije piksela jedinice celobrojnih uzoraka se sada detaljno opisuje shodno SLIKAMA. 3, i 4A do 4C.
SL. 3 prikazuje dijagram koji ilustruje susedne piksele jedinice celobrojnih uzoraka koji se tretiraju tako da se odredi vrednost piksela jedinice subuzoraka.
Shodno SL.3, aparat za interpolaciju slike 10 generiše lokaciju interpolacije vrednosti piksela jedinice subuzoraka 35 interpolacijom vrednosti piksela jedinice celobrojnih uzoraka 31 i 33 u prostornom domenu. Lokacija interpolacije određena je pomoću α.
SL. 4A do 4C su dijagrami koji prikazuju primere piksela jedinice celobrojnih uzoraka koji se tretiraju tako da se odredi vrednost piksela jedinice subuzoraka.
Shodno SL. 4A, kako bi bila generisana vrednost piksela jedinice subuzoraka 35 interpolacijom dve vrednosti piksela jedinice celobrojnih uzoraka 31 i 33, korišćeno je mnoštvo susednih vrednosti piksela jedinice celobrojnih uzoraka 37 i 39 uključujući vrednosti piksela jedinice celobrojnih uzoraka 31 i 33. Drugim rečima, 0-ti i 1. pikseli mogu se interpolisati obavljanjem jednodimenzionalnog filtriranja za interpolaciju na 2M vrednosti piksela od -(M-1)-te vrednosti piksela do M-te vrednosti piksela.
Takođe, iako SL. 4A prikazuje da je vrednost piksela u horizontalnom pravcu interpolisana, jednodimenzionalno filtriranje za interpolaciju može se obaviti korišćenjem vrednosti piksela u vertikalnom ili dijagonalnom pravcu.
Shodno SL.4B, vrednost piksela P(α) lokacije za interpolaciju α može biti generisana interpolacijom piksela P041 i P143 koji su susedni jedni drugim u vertikalnom pravcu. Kada se SLIKE 4A i 4B uporede, njihove metode filtriranja za interpolaciju su slične i jedina razlika je između vrednosti piksela 47 i 49 poravnatih u vertikalnom pravcu, a interpolisanih na SL.
4B, dok su vrednosti piksela 37 i 39 poravnate u horizontalnom pravcu i interpolisane na SL.
4A.
Shodno SL. 4C, slično, vrednost piksela 44 lokacije za interpolaciju α je generisana interpolacijom dve susedne vrednosti piksela 40 i 42. Jedina razlika na SL. 4A je ta da se vrednosti piksela 46 i 48 koje su poravnate u dijagonalnom pravcu koriste umesto vrednosti piksela 37 i 39 koje su poravnate u horizontalnom pravcu.
Pored pravaca prikazanih na SLIKAMA 4A do 4C, jednodimenzionalno filtriranje za interpolaciju može se obaviti u različitim pravcima.
Filtriranje za interpolaciju može se obaviti za interpolisanje piksela jedinice celobrojnih uzoraka koji generišu vrednost piksela jedinice subuzoraka. Filtriranje za interpolaciju može se predstaviti sledećom jednačinom.
Vrednost piksela p(x) se generiše obavljanjem interpolacije na osnovu skalarnog proizvoda vektora p 2M referentnih piksela jedinice celobrojnih uzoraka {pm}={p-M+1, p-
M+2, ..., p0, p1, ..., pMi vektora f(x) koeficijenata filtera {fm}={f-M+1, f-M+2, ..., f0, f1, ..., fM}. Budući da koeficijent filtera f(α) varira na osnovu lokacije za interpolaciju α i vrednosti piksela p(α) dobijenih obavljanjem interpolacije, određuje se na osnovu koeficijenta filtera f(α), odabranog filtera za interpolaciju, tj. određenog koeficijenta filtera f(x), i u velikoj meri utiče na performanse filtera za interpolaciju.
Sada se detaljno opisuje interpolacija slike pomoću transformacije i inverzne transformacije na osnovu osnovnih funkcija i metode za određivanje filtera za interpolaciju..
Filter za interpolaciju koristi transformaciju i inverznu transformaciju da u početku transformiše vrednosti piksela pomoću mnoštva osnovnih funkcija koje imaju različite komponente frekvencije. Transformacija može da uključuje sve tipove transformacije vrednosti piksela u domenu prostora u koeficijente u domenu transformacije, a može da bude i diskretna kosinusna transformacija (DCT). Vrednosti piksela jedinice celobrojnih uzoraka se transformišu pomoću mnoštva osnovnih funkcija. Vrednost piksela može da bude vrednost piksela osvetljenja ili vrednost piksela boje. Osnovne funkcije nisu ograničene na posebne osnovne funkcije i mogu da obuhvataju sve osnovne funkcije za transformaciju vrednosti piksela u domenu prostora u vrednosti piksela u domenu transformacije. Na primer, osnovne funkcije mogu da budu kosinusne ili sinusne funkcije za obavljanje DCT-a i inverznog DCT-a (IDCT). Alternativno, mogu da se koriste različite osnovne funkcije kao što su splajn funkcija i funkcija polinoma.. Takođe, DCT može biti modifikovana DCT (MDCT) ili MDCT sa korišćenjem prozor funkcije.
Filter za interpolaciju pomoću transformacije i inverzne transformacije menja faze osnovnih funkcija kako bi obavio transformaciju i inverznu transformaciju vrednosti mnoštva koeficijenata koji se generišu pomoću promenjenih faza osnovnih funkcija, tj. vrednosti u domenu transformacije. Kao rezultat inverzne transformacije, vrednosti piksela u domenu prostora su izlazne, a izlazne vrednosti mogu da budu i vrednosti piksela lokacije za interpolaciju.
<Koeficijenti filtera pomoću ortogonalne i inverzne transformacije na osnovu osnovnih ortogonalnih funkcija>
Sada se detaljno opisuje slučaj kada interpolator 14 obavlja filtriranje za interpolaciju pomoću transformacije i inverzne transformacije na osnovu osnovnih ortogonalnih funkcija Konkretno, DCT se opisuje kao primer transformacije.
Na primer, shodno SL. 4A, kako bi bile generisane vrednosti piksela jedinice subuzoraka 35 interpolacijom dve vrednosti piksela jedinice celobrojnih uzoraka 31 i 33, koristi se mnoštvo susednih vrednosti piksela jedinice celobrojnih uzoraka 37 i 39 uključujući vrednosti piksela jedinice celobrojnih uzoraka 31 i 33, 0-ti i 1. pikseli mogu biti interpolisani obavljanjem jednodimenzionalnog DCT-a na 2M vrednostima piksela od -(M-1)-te vrednosti piksela do M-te vrednosti piksela, kao i obavljanjem jednodimenzionalnog IDCT-a na osnovu promene faze osnovnih funkcija.
Interpolator 14 u početku obavlja jednodimenzionalni DCT na vrednostima piksela jedinice celobrojnih uzoraka. Jednodimenzionalni DCT može da se obavlja kako je prikazano u jednačini 1.
[Jednačina 1]
p(l) predstavlja vrednosti piksela 37 i 39 od -(M-1)-te vrednosti piksela do M-te vrednosti piksela, a Ck predstavlja mnoštvo koeficijenata u domenu frekvencije, koji se generišu obavljanjem jednodimenzionalnog DCT-a na vrednostima piksela 37 i 39. U ovom slučaju, k je pozitivan celi broj koji zadovoljava stanje jednačine 1, gore pomenuto.
Nakon obavljanja jednodimenzionalnog DCT-a na vrednostima piksela 37 i 39 pomoću jednačine 1, interpolator 14 obavlja inverznu transformaciju na koeficijentima kako je prikazano u jednačini 2.
[Jednačina 2]
α predstavlja lokaciju za interpolaciju između vrednosti dva piksela kako je prikazano na SL.13, i može da ima različite vrednosti razlomaka kao što su 1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8, 1/16, itd. Vrednost razlomaka nije ograničena na posebne vrednosti, i α može da bide stvarna vrednost umesto vrednosti razlomaka. P(α) predstavlja vrednost piksela jedinice subuzoraka 35 lokacije za interpolaciju α, koja se generiše kao rezultat jednodimenzionalnog IDCT-a.
Kada se jednačina 1 uporedi sa jednačinom 2, faza kosinusne funkcije koja se kao osnovna funkcija koristi za obavljanje IDCT-a se određuje na osnovu razlomka α umesto celog broja 1, i stoga se razlikuje od faze osnovne funkcije koja se koristi za obavljanje jednodimenzionalnog DCT-a. Drugim rečima, faza svake osnovne funkcije koristi se za obavljanje inverzne transformacije, tj. kosinusne funkcije, koja se menja na osnovu 2α. Ako interpolator 14 obavlja IDCT na osnovu promene faze kosinusne funkcije shodno jednačini 2, vrednost piksela jedinice subuzoraka 35 lokacije za interpolaciju α, tj. P(α), se generiše.
DCT, shodno jednačini 1, se dobija na osnovu jednačine matrice prikazane u jednačini 3.
[Jednačina 3]
Ovde C predstavlja 2M×1 matricu 2M koeficijenata opisanih iznad vezano za jednačinu 1, i REF predstavlja 2M×1 matricu vrednosti piksela jedinice celobrojnih uzoraka, tj. P-(M-1), ... PMvrednosti piksela, opisane iznad u odnosu na jednačinu 1. Broj vrednosti piksela jedinice celobrojnih uzoraka koje se koriste za obavljanje interpolacije, tj.2M, odnosi se na broj izvoda jednodimenzionalnog filtera za interpolaciju. D je kvadratna matrica za obavljanje jednodimenzionalnog DCT-a i može se definisati kako je prikazano u jednačini 4.
[Jednačina 4]
k i l su celi brojevi koji zadovoljavaju uslove iznad, i Dklse odnosi na red k i kolonu l kvadratne matrice D za obavljanje DCT-a u jednačini 3. M je isto što i u jednačini 3.
IDCT koristeći mnoštvo promena faza osnovnih funkcija shodno jednačini 2 je izražen jednačinom matrice koja je prikazana u jednačini 5.
[Jednačina 5]
Ovde je P(α) isto što i u jednačini 2, i W(α) je 1×2M matrica za obavljanje jednodimenzionalnog IDCT-a koja koristi mnoštvo promena faza osnovnih funkcija i može se definisati kako je prikazano u jednačini 6.
[Jednačina 6]
k je celi broj koji zadovoljava uslove iznad, i Wk(α) se odnosi na kolonu k matrice W(α) kao što je opisano iznad u jednačini 5. Filter F(α) za obavljanje jednodimenzionalnog DCT-a i jednodimenzionalnog IDCT-a pomoću mnoštva promena faza osnovnih funkcija shodno jednačinama 3 i 5 može biti definisan kako je prikazano u jednačini 7.
[Jednačina 7]
k i l su celi brojevi koji zadovoljavaju uslove iznad, Fl(α) se odnosi na kolonu l od F(α), i W(α), a D je isto što i u jednačini 3.
Kako bi se generisalo jače uglačavanje vrednosti piksela jedinice subuzoraka, interpolator 14 može da promeni filter za interpolaciju koji se koristi za obavljanje transformacije i inverzne transformacije na osnovu osnovnih funkcija.
Sada se redom, detaljno opisuje slučaj kada se koristi prozor funkcija, slučaj kada se koristi mnoštvo parametara za uglačavanje, slučaj kada se splajn funkcija koristi kao osnovna funkcija i slučaj kada se funkcija polinoma koristi za određivanje različitih filtera za interpolaciju i uglačavanje.
<Filter za interpolaciju i uglačavanje koji koristi prozor funkciju>
Sada se detaljno opisuje metoda koeficijenata filtera za interpolaciju i uglačavanje koja koristi prozor funkciju.
Prozor funkcija može da uključi Hamingovu prozor funkciju, kosinusnu prozor funkciju, eksponencijalnu prozor funkciju, Haningovu prozor funkciju, Blekmanovu prozor funkciju i trougaonu prozor funkciju. Iako se u nastavku opisuju slučajevi radi lakšeg objašnjenja gde su filteri za interpolaciju na osnovu transformacije i inverzne transformacije uglačani korišćenjem određenih prozor funkcija, stručnjaci iz ove oblasti nauke lako mogu da razumeju da, pored opisanih prozor funkcija, mogu da se koriste i druge prozor funkcije koje imaju slične odzive na frekvencije.
Koeficijenti prozor funkcije na osnovu Hamingove prozor funkcije zadovoljavaju jednačinu 24.
[Jednačina 8]
U različitim prozor funkcijama, uključujući Hamingovu prozor funkciju, ulaz n je simetričan referenci N/2, a frekvencija odziva je slična kao kod niskopropusnog filtera. Od ulaza prozor funkcije, samo ulaz obuhvaćen prozorom koji je formirala prozor funkcija može da se pošalje. Veličina prozora N može se postaviti kao pozitivan celi broj koji je veći od dužine originalnog filtera za interpolaciju. Na primer, da bi se primenila prozor funkcija na filteru za interpolaciju za generisanje piksela jedinice subuzoraka, kao što su 1/2 ili 1/4 piksela, centralna lokacija prozor funkcije može da se pomeri za 1/2 ili 1/4 piksela. To jest, budući da se centralna lokacija prozor funkcije pomera na lokaciju za interpolaciju, prozor funkcija može da bude simetrična u odnosu na lokaciju za interpolaciju.
Na primer, jednačine 9 i 10 prikazuju koeficijente prozora Hamingove prozor funkcije za filtere za interpolaciju jedinice uzoraka 1/2 i jedinice uzoraka 1/4.
[Jednačina 9]
[Jednačina 10]
Jednačina 11 sekvencijalno prikazuje koeficijente prozora Hamingove prozor funkcije, kosinusnu prozor funkciju, kao i eksponencijalnu prozor funkciju kao prozor funkciju za filtere za interpolaciju, koji se generišu na osnovu lokacije za interpolaciju jedinice subuzoraka α .
[Jednačina 11]
Kombinovanjem koeficijenata prozor funkcije, shodno jednačini 11, sa originalnim filterom za interpolaciju fk(α), koeficijenti filtera za interpolaciju i uglačavanje mogu biti određeni shodno jednačini 12.
[Jednačina 12]
Budući da je filter za interpolaciju i uglačavanje određen korišćenjem prozor funkcije, težina koeficijenata filtera za interpolaciju može da se podesi na osnovu razdaljine između referentnog piksela jedinice celobrojnih uzoraka i lokacije za interpolaciju. Na primer, filter za interpolaciju i uglačavanje može da se odredi na takav način da se ne promeni mnogo, a pomoću prozor funkcije, iz koeficijenata filtera za interpolaciju, iz koeficijenata filtera za referentni piksel jedinice celobrojnih uzoraka koji se nalaze daleko od veoma promenjene lokacije za interpolaciju i iz koeficijenata filtera za referentni piksel jedinice celobrojnih uzoraka koji su blizu lokacije za interpolaciju.
Takođe, ako se filter za interpolaciju i uglačavanje određuje korišćenjem prozor funkcije, filtriranje za interpolaciju može da se obavi nakon što su uglačani referentni pikseli jedinice celobrojnih uzoraka. Ulazni referentni pikseli jedinice celobrojnih uzoraka <Ref={p-M+1, p-M+2, ..., p0, p1, ..., pM} mogu da uključuju šum ili mogu da budu oštećeni usled greške kao što je greška kvantizacije. Kao takvi, ako su referentni pikseli jedinice celobrojnih uzoraka uglačani pre obavljanja filtriranja za interpolaciju, aparat za interpolaciju slike 10 može da poboljša efekat interpolacije.
<Filter za interpolaciju i uglačavanje koristi dva parametra>
Filter za interpolaciju i uglačavanje može da odredi uglačanost koeficijenata filtera na osnovu dva parametra. Koeficijenti filtera za interpolaciju i uglačavanje jedinice subuzoraka dobijeni kombinacijom matrice za uglačavanje S i koeficijenata filtera za interpolaciju na osnovu transformacije i inverzne transformacije, zadovoljavaju jednačinu 13.
[Jednačina 13]
Jednačina 14 prikazuje primer matrice za uglačavanje S.
[Jednačina 14]
Matrica za uglačavanje S shodno jednačini 14 je 3-dijagonalna matrica. Drugim rečima, među komponentama matrice za uglačavanje S, vrednost 0 imaju sve komponente drugačije od komponenti na centralnoj dijagonalnoj liniji, kao i na dve dijagonalne linije koje odgovaraju jedna drugoj i susedno centralnoj dijagonalnoj liniji.
U matrici za uglačavanje S, uglačanost σimože da se odredi, bez obzira na razdaljinu (i-α) od piksela jedinice celobrojnih uzoraka koje treba interpolisati. U ovom slučaju, uglačavanje na osnovu matrice za uglačavanje S može da se nazove ujednačeno uglačavanje.
Takođe, u matrici za uglačavanje S, uglačanost σimože da varira na osnovu indeksa I lokacije piksela jedinice celobrojnih uzoraka. U ovom slučaju, uglačavanje na osnovu matrice za uglačavanje S može da se nazove neujednačeno uglačavanje. Na primer, uglačanost σimože da zadovolji jednačinu 15.
[Jednačina 15]
Pozitivni indeks 1 može da poveća efekat uglačavanja, ako je velika udaljenost između lokacije za interpolaciju i referentnog piksela jedinice celobrojnih uzoraka. Shodno tome, pozitivni indeks 1 može da kontroliše brzinu uglačavanja na osnovu razdaljine između lokacije za interpolaciju i referentnog piksela jedinice celobrojnih uzoraka. Parametar uglačavanja β može da kontroliše opseg uglačavanja oko lokacije za interpolaciju.
Ako je parametar uglačavanja β manji od 0, matrica za uglačavanje S, shodno jednačini 13, može da se promeni u filter za izoštravanje. Shodno tome, ako je matrica za uglačavanje S, koja je manja od 0, kombinovana sa filterom za interpolaciju pomoću transformacije i inverzne transformacije, tada može da se regeneriše filter za pojačavanje visokofrekventnih komponenti.
Kako bi bila obavljena predikcija jedinice subuzoraka, aparat za interpolaciju slike 10 može da koristi podatke koeficijenta filtera za interpolaciju i uglačavanje koji je prethodno sačuvan u memoriji.
SL. 5 prikazuje grafik 50 faktora uglačavanja na osnovu parametra uglačavanja β filtera za interpolaciju i uglačavanje.
Prva i druga kriva 52 i 54 prikazuju faktor uglačavanja za uglačavanje filtera za interpolaciju na osnovu diskretne transformacije. Ako je m veliko, tj., ako se poveća razdaljina između piksela jedinice celobrojnih uzoraka koji se interpolišu, faktor uglačavanja je blizu 0.
Ovde, u poređenju sa drugom krivom 54, u slučaju kada je parametar uglačavanja β veliki, prva kriva 52, u slučaju kada je parametar uglačavanja mali, ima relativno veliku širinu faktora uglačavanja. Drugim rečima, ako je veliki parametar uglačavanja β filtera za interpolaciju i uglačavanje, niskofrekventne komponente uglavnom mogu da se filtriraju i na taj način mogu da se generišu relativno jače uglačane vrednosti piksela jedinice subuzoraka. Ako je relativno mali parametar uglačavanja β filtera za interpolaciju i uglačavanje, relativno visokofrekventne komponente mogu da ostanu i da se interpolišu i na taj način mogu da se generišu vrednosti piksela jedinice subuzoraka.
Da bi se odredili koeficijenti filtera za interpolaciju i uglačavanje, aparat za interpolaciju slike 10 može da koristi kao osnovne funkcije splajn funkciju ili funkciju polinoma, a može da koristi i ortogonalnu osnovnu funkciju.
<Filter za interpolaciju i uglačavanje na osnovu splajn funkcije>
Aparat za interpolaciju slike 10 može da odredi koeficijente filtera za interpolaciju i uglačavanje na osnovu splajn funkcije.
Takođe, da bi se došlo do uglačanog rezultata interpolacije, aparat za interpolaciju slike10 može da koristiti splajn funkciju koja ima granično stanje. Detaljnije, na primer, ako interpolacija splajn polinoma ima varijablu ρ koja se koristi za formiranje filtera za interpolaciju pomoću M piksela jedinice uzoraka pm(M je ceo broj jednak ili veći od 2), kako bi se omogućilo da varijabla ρ ima maksimalnu uglačanost u opsegu od 3 ≤ρ ≤M+1 i kako bi se omogućila splajn vrednost, tj., da vrednost rezultata interpolacije bude beskrajno uglačana na (-M+2)- tom pikselu i na (M-1)-tom pikselu, mogu da se postave dodatni uslovi (ρ-1). Ovi dodatni uslovi se nazivaju ne-granična stanja ili de Boor granična stanja.
Rezultat interpolacije pomoću koeficijenata filtera za interpolaciju na osnovu splajn funkcije može da se predstavi kao ponderisana suma izračunata korišćenjem jednačine16.
[Jednačina 16]
Ulazni pikseli pmsu referentni pikseli jedinice celobrojnih uzoraka, i skup {pm} izlaznih piksela u koji se unosi raspon m [-M+1, M] (tj., -M+1 ≤m ≤M). Splajn funkcija S(x) odgovara vrednostima piksela koje se generišu kao rezultat interpolacije. fm(x) predstavlja interpolant kardinalnog splajna i odgovara koeficijentima filtera na osnovu kardinalne splajn funkcije. fm(x) može da bude vrednost kardinalne splajn funkcije, koja ima isto granično stanje i vrednosti samo na lokacijama referentnih piksela jedinice celobrojnih uzoraka (tj. -M+1≤m≤M, m je ceo broj).
Koeficijent filtera fm(x) može da se odredi pomoću jednačine 17.
[Jednačina 17]
Kada je k celi broj opsega od 0 ≤ k ≤ 2M-2, koeficijent splajn filtera fm(x) može da se odredi na svakom celom broju m u opsegu od [-M+1+k, -M+k+2], tj. od (-M+1+k) to (-
M+k+2). U jednačini 17, koeficijent može da se odredi na osnovu jednačine 18.
[Jednačina 18]
Za interpolaciju jedinice subuzoraka, filter sa konačnim impulsnim odzivom (FIR), uključujući koeficijente splajn filtera fm(α) shodno lokaciji za interpolaciju α može prethodno da se izračuna i sačuva, a može da se generiše i vrednost piksela jedinice subuzoraka na lokaciji za interpolaciju α između 0-tog piksela i prvog piksela obavljanjem filtriranja interpolacije pomoću FIR filtera uključujući koeficijente splajn filtera fm(α) na referentnim pikselima jedinice celobrojnih uzoraka pm.
SL. 6 prikazuje grafik splajn funkcije 60 koji koristi filter za interpolaciju i uglačavanje.
Shodno SL. 6, na osnovu splajn funkcije koja ima varijablu ρ od 3, tri interpolantne splajn krive f-2(x) 61, f-1(x) 62 i f0(x) 63 za 2M=6, tj., prikazani su 6-tap filteri za interpolaciju. Na primer, koeficijenti filtera za interpolaciju za generisanje vrednosti piksela jedinice subuzoraka koji zadovoljavaju α=1/4 mogu da se odrede kao f-2(1/4) 64, f-1(1/4) 65 i f0(1/4) 66 na interpolantnim splajn krivama f-2(x) 61, f-1(x) 62, i f0(x) 63.
<Filter za interpolaciju i uglačavanje na osnovu funkcije polinoma>
Aparat za interpolaciju slike 10 može da odredi koeficijente filtera za interpolaciju i uglačavanje na osnovu funkcije polinoma.
Funkcija interpolacije polinoma, uključujući koeficijente filtera za interpolaciju {fk} na osnovu funkcije polinoma, može da se predstavi na osnovu funkcije polinoma kao osnovne funkcije iz jednačine 19. Celi broj k je definisan u sklopu opsega -M+1 ≤ k ≤ M.
[Jednačina 19]
Takođe, kako bi se dobio uglačani rezultat interpolacije, aparat za interpolaciju slike 10 može da odrediti koeficijente filtera koji su optimizovani niskofrekventnim opsegom iz reda koeficijenata filtera za interpolaciju {fk} na osnovu funkcije polinoma. Na primer, ako je frekvencija ω jednaka 0, koeficijenti filtera {fk} određuju se kada su vrednost funkcije polinoma za interpolaciju i vrednosti funkcije izvedene funkcije polinoma za interpolaciju jednaki, onda se mogu odrediti kao koeficijenti filtera za interpolaciju optimizovani za niskofrekventni opseg. Kao što je prikazano u jednačini 20, kao funkcija celog broja k, 2M linearna funkcija za 2M koeficijente filtera {fk} (2M je nepoznata) može da se dobije.
[Jednačina 20]
Rešenja linearne funkcije iz jednačine 20 mogu da se izračunaju pomoću Njutnove funkcije polinoma. Jednačina 21 predstavlja 2M koeficijente filtera {fk} izračunate kao rešenja linearnih funkcija jednačine 20.
[Jednačina 21]
Filter za interpolaciju, uključujući koeficijente filtera {fk} određene na osnovu Njutnove funkcije polinoma iz jednačina 20 i 21, ima maksimalni odziv na niskofrekventnom opsegu, uglačaniji rezultat interpolacije može da se dobije korišćenjem vrednosti piksela pomoću ovog filtera za interpolaciju. Shodno tome, filter za interpolaciju, uključujući koeficijente filtera određene funkcijom polinoma kao osnovne funkcije, može da se odabere kao filter za interpolaciju i uglačavanje.
Kao takav, aparat za interpolaciju slike 10 može da generiše uglačanije piksele za interpolaciju biranjem filtera za interpolaciju i uglačavanje, uključujući i koeficijente filtera za interpolaciju na osnovu funkcije polinoma. Praktično, budući da pikseli boje imaju jake visokofrekventne komponente, da bi mogle da se generišu vrednosti piksela jedinice subuzoraka od piksela boje jedinice celobrojnih uzoraka, može da se koristi filter za interpolaciju i uglačavanje, uključujući koeficijente filtera za interpolaciju na osnovu funkcije polinoma.
<Koeficijenti filtera za interpolaciju za skaliranu interpolaciju>
Različite metode generisanja filtera za interpolaciju i uglačavanje, shodno primerima predloženog pronalaska, baziraju se na osnovu aritmetičkog izraza za generisanje broja sa decimalom koji se menja umesto celog broja, i apsolutne vrednosti koeficijenata filtera koje uglavnom nisu veće od 1. Konkretno, rezultat realnog broja, umesto celog broja, može da se generiše pomoću lokacije za interpolaciju jedinice subuzoraka α.
Efikasnost izračunavanja celih brojeva je veća nego izračunavanja brojeva sa decimalom koja može da se menja. Kao takav, aparat za interpolaciju slike 10 može da poboljša izračunavanje efikasnosti filtriranja interpolacije skaliranjem koeficijenata filtera na cele brojeve pomoću faktora skaliranja. Takođe, budući da se povećava dubina bita vrednosti piksela, može da se poboljša i preciznost filtriranja interpolacije.
Aparat za interpolaciju slike 10 može da umnoži koeficijente filtera fm(α) prethodnim određivanjem vrednosti, a može i da obavi interpolaciju slike pomoću velikih koeficijenata filtera Fm(α). Na primer, koeficijenti filtera Fm(α) mogu da se skaliraju iz koeficijenata filtera fm(α) kako je prikazano u jednačini 22.
[Jednačina 22]
Za efikasnije izračunavanje, faktor skaliranja može da bude u obliku od 2<n>. n može da bude 0 ili pozitivan celi broj. Rezultat filtriranja za interpolaciju pomoću koeficijenata filtera skaliranih 2<n>, može da ima dubinu bita skaliranu n bitovima u poređenju sa rezultatom koji je dobijen upotrebom originalnih koeficijenata filtera.
Izračunavanje celih brojeva filtriranja za interpolaciju koristi skalirane koeficijente filtera Fm(α) koji zadovoljavaju jednačinu 23. Drugim rečima, nakon filtriranja za interpolaciju koje se obavlja korišćenjem skaliranih koeficijenata filtera Fm(α), skalirana dubina bita treba da bude rekonstruisana do originalne dubine bita.
[Jednačina 23]
U ovom slučaju, odstupanje može da bude 2<n-1.>
Drugim rečima, budući da skalirani rezultat za filtriranje pomoću skaliranog filtera za interpolaciju i uglačavanje treba da bude smanjen faktorom skaliranja, tj. 2<n>tako da se rekonstruiše do originalnih bitova, dubina bita skaliranog rezultata za filtriranje može da bude smanjena n bitovima.
Ukupno 2n bita može da se smanji ako se obavi filtriranje za interpolaciju iz dva koraka pomoću jednodimenzionalnog filtriranja za interpolaciju u horizontalnom pravcu i pomoću jednodimenzionalnog filtriranja za interpolaciju u vertikalnom pravcu. Shodno tome, ako je prvi jednodimenzionalni filter za interpolaciju skaliran pomoću n1 bitova i ako je drugi jednodimenzionalni filter za interpolaciju skaliran pomoću n2 bitova, nakon što je obavljeno filtriranje za interpolaciju iz dva koraka pomoću prvog i drugog filtera za jednodimenzionalnu interpolaciju, može da se ostvariti smanjenje sumiranjem n1 i n2, tj. 2n bitovima. Prvi filter za jednodimenzionalnu interpolaciju može da bude filter za interpolaciju koji nije skaliran.
Budući da je suma koeficijenata filtera za interpolaciju i uglačavanje fm(α) jednaka 1, [Jednačina 24]
stanje za normalizaciju skaliranih koeficijenata filtera za interpolaciju i uglačavanje Fm(α) skaliranog filtera za interpolaciju treba da zadovolji jednačinu 25.
[Jednačina 25]
Međutim, stanje normalizacije shodno jednačini 25 može da prouzrokuje grešku zaokruživanja. Aparat za interpolaciju slike 10 može da zaokruži skalirane koeficijente filtera Fm(α) na osnovu stanja normalizacije shodno jednačini 19. Za normalizaciju, neki od skaliranih koeficijenata filtera Fm(α) mogu da se podese unutar prethodno određenog opsega originalnih vrednosti. Na primer, neki od skaliranih koeficijenata filtera Fm(α) mogu da budu podešeni u opsegu ± 1 kako bi se greška zaokruživanja ispravila.
Gore su opisani različiti filteri za interpolaciju i uglačavanje, kao i koeficijenti filtera. Konkretno, mogu da se koriste kao funkcija za određivanje koeficijenata filtera za interpolaciju i uglačavanje, prozor funkcija, splajn funkcija, funkcija polinoma, itd. Za filter za interpolaciju i uglačavanje, frekventni odziv funkcije može da se razlikuje na osnovu frekvencije, ali pojačanje filtera frekventnog odziva funkcije može da bude blizu 1. Shodno tome, aparat za interpolaciju slike 10 može da određuje koeficijente filtera korišćenjem funkcije koja ima pojačanje filtera kod kog je frekventni odziv bliži 1, čak i kada frekvencija varira, a može i da se odabere filter za interpolaciju i uglačavanje uključujući koeficijente filtera.
SL. 7 prikazuje dijagram toka metode za interpolaciju slike shodno primeru predloženog pronalaska.
U operaciji 71, filter za interpolaciju je drugačije odabran na osnovu lokacije za interpolaciju jedinice subuzoraka, kao i uglačanosti iz reda filtera za interpolaciju za generisanje bar jedne vrednosti piksela jedinice subuzoraka koji se nalaze između piksela jedinice celobrojnih uzoraka slike. Uglačanost filtera za interpolaciju može da bude određena na osnovu razdaljine između lokacije za interpolaciju i jedinica celobrojnih uzoraka.
Filter za interpolaciju, shodno primeru, može da bude filter uključujući i koeficijente filtera za obavljanje transformacije i inverzne transformacije na osnovu mnoštva osnovnih funkcija. Filter za interpolaciju i uglačavanje, shodno primeru, može da obuhvata bar jedan filter za interpolaciju kombinovan sa prozor funkcijom, filter za interpolaciju na osnovu mnoštva parametara za uglačavanje, filter za interpolaciju na osnovu parametra za uglačavanje, splajn filter za interpolaciju i filter za interpolaciju funkcije polinoma.
Da bi se obavilo filtriranje korišćenjem filtera za interpolaciju i uglačavanje, koeficijenti filtera mogu da budu određeni uglačanijim referentnim pikselima jedinice celobrojnih uzoraka udaljenih od lokacije za interpolaciju.
U operaciji 73, bar jedna vrednost piksela jedinice celobrojnih uzoraka se generiše vrednostima piksela za interpolaciju jedinice celobrojnih uzoraka korišćenjem filtera za interpolaciju odabranog u operaciji 71.
Ako se odabere filter za interpolaciju, iz reda filtera za interpolaciju, uključujući koeficijente filtera skalirane do odabranih celih brojeva, vrednosti piksela generisane korišćenjem filtera za interpolaciju mogu da se normalizuju na osnovu faktora skaliranja.
Shodno primeru, filter za interpolaciju može drugačije da bude odabran, na osnovu karakteristika piksela koji se interpoliraju, i vrednosti piksela jedinice subuzoraka koje mogu da se generišu korišćenjem odabranog filtera za interpolaciju.
Sada se opisuju, shodno SLIKAMA, različiti primeri koeficijenata filtera za interpolaciju koji se određuju uzimajući u obzir lokaciju za interpolaciju, kao i uglačanost.8A do 12C.
SL. Tabele 8A do 8C prikazuju koeficijente filtera 12-tap filtera za interpolaciju koji se određuju na osnovu parametra uglačavanja i lokacije za interpolaciju, shodno primerima predloženog pronalaska.
Shodno SLIKAMA 8A do 8C prikazuju se, iz reda gore opisanih filtera za interpolaciju na osnovu ortogonalne transformacije, da bi se obavile ortogonalna transformacija i inverzna transformacija nakon uglačavanja referentnih piksela jedinice celobrojnih uzoraka, kako je opisano gore shodno SL.5, koeficijenti filtera za interpolaciju i uglačavanje koji su dobijeni kombinacijom matrice za uglačavanje i filtera za interpolaciju na osnovu ortogonalne transformacije.
SL. 8A do 8C prikazuju različite filtere za interpolaciju uključujući različite koeficijente filtera kao parametar za uglačavanje β koji varira kao 0, 0,002, 0,004, 0,006, 0,008, 0,010, 0,012, 0,014, 0,016, 0,018, i 0,020, a lokacija α za interpolaciju varira kao 1/8, 1/4, 3/8, 1/2, 5/8, 3/4, i 7/8.
Na primer, u tabeli SL. 8A, ako su parametar za uglačavanja β 0,002 i lokacija α za interpolaciju 1/8, filter uključujući koeficijente filtera {fm}, npr., {f-11, f-10, f-9, f-8, f-7, f-6, f-5, f-
4, f-3, f-2,f-1, f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12}, određeni kao {-1, 4, -7, 12, -24, 246, 37, -16, 9, -5, 3, -1} mogu da budu odabrani kao filter za interpolaciju.
SL. 9A do 9C su tabele koje prikazuju koeficijente filtera 6-tap filtera za interpolaciju koji su određeni na osnovu parametra za uglačavanje i lokacije za interpolaciju, shodno primeru predloženog pronalaska.
Iako su koeficijenti filtera na SLIKAMA 8A do 8C su 12 koeficijenata 12-tap filtera za interpolaciju od filtera za interpolaciju i uglačavanje dobijenih kombinacijom matrice za uglačavanje i filtera za interpolaciju ortogonalne transformacije, SLIKE 9A do 9C prikazuju 6 koeficijenata filtera 6-tap filtera za interpolaciju. Na SLIKAMA 8A do 8C i 9A do 9C mogu da se prikažu različiti filteri za interpolaciju i uglačavanje, uključujući različite koeficijente filtera na osnovu parametra za uglačavanje β i lokacije za interpolaciju α.
Koeficijenti filtera prikazani na SLIKAMA 8A do 8C, i 9A do 9C su skalirani koeficijenti na faktoru skaliranja 256 (=2<8>) na osnovu skaliranog filtriranja za interpolaciju, a zatim su zaokruženi.
Na SLIKAMA 8A do 8C, i 9A do 9C, kada je lokacija α za interpolaciju konstanta, a parametar za uglačavanje β se povećava, koeficijent filtera fmmože da bude relativno mali.
Takođe, kada je parametar za uglačavanje β konstanta, a lokacija za interpolaciju α udaljena od 1/2, ako je m koeficijenta filtera fmudaljen od m=0 ka m=-M+1 ili m=M, koeficijent filtera fmmože da bude relativno mali u poređenju sa f0. Koeficijent filtera fmblizu m=0 može da bude relativno veliki.
Shodno tome, kada se parametar za uglačavanje β povećava, ako je lokacija α za interpolaciju udaljena od 1/2, to jest, u blizini piksela jedinice celobrojnih uzoraka, može da se odabere filter za interpolaciju oštrijeg uglačavanja, tj. filter za interpolaciju za slabije uglačavanje.
Budući da je filter za interpolaciju, shodno primeru, simetričan filter za reflektivno preslikavanje, koeficijent filtera fm(α) lokacije za interpolaciju (1-α) može da se odredi korišćenjem koeficijenta filtera fm(α) lokacije za interpolaciju α. Na primer, na SLIKAMA 9A, iz reda koeficijenata filtera {fm} koji imaju parametar za uglačavanje β=0,002, koeficijenti filtera {fm(3/8)} lokacije za interpolaciju α=3/8 i koeficijenata filtera {fm(5/8)} lokacije za interpolaciju α= 1 - 3/8 = 5/8 upoređeni su kako je prikazano ispod.
{fm(3/8)} = { 11, -42, 196, 117, -35, 10 },
{fm(5/8)} = { 10, -35, 117, 196, -42, 11 }
To jest, prikazano je da koeficijenti filtera {fm(3/8)} kada je m = -2, -1, 0 su jednaki koeficijentima filtera {fm(5/8)} kada je m = 3, 2, 1, i koeficijenti filtera {fm(3/8)} kada je m = 3, 2, 1 su jednaki koeficijentima filtera {fm(5/8)} kada je m = -2, -1, 0. Shodno tome, u tabelama na SLIKAMA 10 do 12C, iako su prikazani samo koeficijenti filtera fm(α) u slučaju kada je lokacija za interpolaciju manja ili jednaka 1/2, stručnjaci iz ove oblasti nauke lako mogu da razumeju da koeficijenti filtera za interpolaciju fm(α) u slučaju kada je lokacija za interpolaciju veća od 1/2 mogu takođe da se odrede.
SL. 10 je tabela na kojoj su prikazani koeficijenti filtera 6-tap filtera za interpolaciju koji su određeni pikselima boje na parametru za uglačavanje i na lokaciji za interpolaciju, shodno primeru predloženog pronalaska.
Aparat za interpolaciju slike 10 može različito da bira filter za interpolaciju na osnovu karakteristika slike. Na primer, ako se određuje filter za interpolaciju i uglačavanje, koji se dobija kombinovanjem matrice za uglačavanje i ortogonalne transformacije filtera za interpolaciju, parametar za uglačavanje može da se razlikuje na osnovu karakteristika slike.
Na primer, pošto su pikseli boje uzorkovani dole na formatu boje od 4:2:0, pikseli boje imaju manje niskofrekventne komponente u poređenju sa pikselima osvetljenja. U ovom slučaju, shodno SL.10, bez obzira na filter za interpolaciju piksela osvetljenja, samo filter za interpolaciju piksela boje može dodatno da se odabere. Različiti koeficijenti filtera za interpolaciju koji se drugačije biraju na osnovu komponente boje, sada se opisuju shodno SL.
11.
SL. 11 je tabela koja prikazuje koeficijente filtera za interpolaciju i uglačavanje koji se drugačije određuju na osnovu komponente boje i lokacije za interpolacije slike, shodno primeru predloženog pronalaska.
Shodno SL. 11, variraju različiti filteri za interpolaciju i uglačavanje, uključujući različite koeficijente filtera, kao što je broj tap filtera 2M, lokacija za interpolaciju α, kao i komponenta boje L(osvetljenje)/C(boja). Koeficijenti filtera SL.11, su skalirani koeficijenti na faktoru skaliranja 256 (=2<8)>i zaokruženi su. Kao što je gore opisano, na osnovu karakterisitka reflektivnog preslikavanja koeficijenata filtera za interpolaciju prikazuje se samo slučaj kada je lokacija za interpolaciju α manja ili jednaka 1/2.
Slično SLIKAMA 8A do 10, rezultat upoređivanja koeficijenata filtera za komponente boje i komponente osvetljenja je sličan rezultatu upoređivanja koeficijenata filtera u slučaju kada je parametar za uglačavanje β veliki i kada je mali.
SL. 12A do 12C su tabele koje prikazuju koeficijente filtera za interpolaciju i uglačavanje na osnovu lokacije za interpolaciju slike i faktora skaliranja, uključujući one shodno realizacijama predloženog pronalaska.
SL. 12A do 12C prikazuju različito modifikovane primere koeficijenata filtera za interpolaciju i uglačavanje, koji su skalirani, zaokruženi, i normalizovani kao faktor skaliranja 2<n>koji varira kao 512, 256, 128, i 64, a broj tap filtera kod filtera za interpolaciju, kao i lokacije za interpolaciju α varira.
Konkretno, na SL.12, koeficijenti filtera za interpolaciju 1/8 jedinica piksela mogu da se koriste za obavljanje kompenzacije pokreta na pikselima boje. Međutim, budući da je kvalitet slike piksela boje, koju ljudi vizuelno prepoznaju, manje kritičan u poređenju sa pikselima osvetljenja, zbog relativno kraćeg tap filtera, tj.4-tap, kao i manje dubine bita, može da se koristi i filter za interpolaciju i uglačavanje koji ima faktor skaliranja 2<5>.
Koeficijenti filtera prikazani na SLIKAMA 8A do 12C su samo delovi različitih primera, i stručnjaci iz ove oblasti nauke mogu lako da razumeju da koeficijenti filtera za interpolaciju koji razmatraju uglačavanje, shodno primerima, mogu da se modifikuju na osnovu različitih faktora uključujući lokaciju za interpolaciju, parametar za uglačavanje, prozor funkciju, splajn funkciju, funkciju polinoma, faktor skaliranja i zaokruživanje.
Kodiranje i dekodiranje video zapisa pomoću filtera za interpolaciju i uglačavanje , shodno primerima predloženog pronalaska, su opisani shodno SLIKAMA 13A do 27. Kodiranje i dekodiranje video zapisa na osnovu jedinica za kodiranje koje imaju strukturu stabla, shodno predloženom pronalasku, je opisano u skladu sa SLIKAMA 15 do 25. Metode kodiranja i dekodiranja video zapisa pomoću filtera za interpolaciju i uglačavanje , shodno predloženom pronalasku, opisane su u skladu sa SLIKAMA 26 i 27.
Kada se na podacima slike obavljaju različite operacije, podaci slike se dele na grupe podataka i ista operacija može da se obavi na podacima iste grupe podataka. U sledećem opisu, grupa podataka koja je formirana shodno prethodno određenom standardu opisana je kao ''jedinica podataka'', a operacija koja se obavlja na svakoj ''jedinici podataka'' korišćenjem podataka obuhvaćena je u jedinici podataka.
<Kodiranje i dekodiranje video zapisa korišćenjem filtera za interpolaciju i uglačavanje >
SL. 13A je blok dijagram aparata za kodiranje video zapisa 100 koji koristi filter za interpolaciju i uglačavanje , shodno primeru predloženog pronalaska.
Rad kodera 120 i izlazne jedinice 130 aparata za kodiranje video zapisa 100 mogu da budu kooperativno kontrolisani od strane procesora za kodiranje video zapisa, CPU-om i grafičkim procesorom.
Kako bi trenutna slika izlaznog video zapisa bila kodirana, aparat za kodiranje video zapisa 100 deli trenutnu sliku na jedinice podataka koje imaju prethodno određenu veličinu i kodira svaku jedinicu podataka.
Na primer, trenutna slika uključuje piksele koji su u prostornom domenu. Kako bi se prostorno susedni pikseli trenutne slike kodirali istovremeno, trenutna slika može da se podeli na grupe piksela koje imaju prethodno određenu veličinu, na takav način da su susedni pikseli unutar prethodno određenog opsega iz jedne grupe. Obavljanjem serija kodiranja na pikselima iz odvojenih grupa piksela, trenutna slika može da se kodira.
Budući da su početni podaci slike koja se kodira vrednosti piksela u prostornom domenu, svaka grupa piksela može da se koristi kao jedinica podataka koja se kodira. Takođe, kada se koeficijenti transformacije u domenu transformacije generišu obavljanjem transformacije za kodiranje video zapisa na vrednostima piksela grupe piksela u prostornom domenu, koeficijenti transformacije su uključeni u grupe koeficijenata koje imaju istu veličinu kao i grupe piksela u prostornom domenu. Shodno tome, i grupa koeficijenta kod koeficijenata transformacije u domenu za transformaciju može da se koristi kao jedinica podataka za kodiranje slike.
Shodno tome, u prostornom domenu i domenu transformacije, grupa podataka koja ima prethodno određenu veličinu može da se upotrebi kao jedinica podataka koja se kodira. U ovom slučaju, veličina jedinice podataka može da se definiše kao broj delova podataka koji je uključen u jedinicu podataka. Na primer, broj piksela u prostornom domenu ili broj koeficijenata transformacije u domenu transformacije mogu da predstavljati veličinu jedinice podataka.
Metoda kodiranja ili karakteristike kodiranja trenutne jedinice podataka mogu da se odrede u odnosu na svaku grupu podataka bilo kog nivoa podataka iz reda jedinice podataka, parčeta, slike i sekvence slike video zapisa koji se trenutno kodira.
Aparat za kodiranje video zapisa 100 može da kodira trenutnu sliku obavljanjem prediktivnog kodiranja uključujući inter predikciju i intra predikciju, transformaciju, kvantizaciju i entropijsko kodiranje na svakoj jedinici podataka.
Na osnovu inter predikcije može da se odredi na koj način bi bila procenjena trenutna vrednost piksela sa naznakom na vrednost piksela privremeno prethodne ili sledeće slike, preostali podaci između vrednosti piksela referentne oblasti referentne slike i vrednosti piksela trenutne slike, i referentnih podataka koji ukazuju na vrednosti piksela.
Kako bi se obavila preciznija inter predikcija, aparat za kodiranje video zapisa 100 može da odredi preostale podatke i referentni podatke korišćenjem vrednosti piksela jedinice subuzoraka. Kako bi se obavila inter predikcija piksela jedinice subuzoraka, aparat za kodiranje video zapisa 100 može da odredi vrednost piksela jedinice subuzoraka koja se nalazi između susednih piksela jedinice celobrojnih uzoraka pomoću interpolacije susednih piksela jedinice celobrojnih uzoraka.
Takođe, vrednost piksela jedinice subuzoraka može da se generiše obavljanjem filtriranja za interpolaciju na dva ili više referentna piksela jedinice celobrojnih uzoraka uključujući susedne piksele jedinice celobrojnih uzoraka. Referentni pikseli za obavljanje filtriranja za interpolaciju mogu da budu referentni pikseli referentne slike.
Kako bi se efikasno obavila interpolacija slike, aparat za kodiranje video zapisa 100 može selektivno da određuje koeficijente filtera za interpolaciju. Koder 120 može da uključuje aparat za interpolaciju slike 10 koji se prikazuje na SL.1. Drugim rečima, kako bi se obavila inter predikcija piksela jedinice subuzoraka, koder 120 može da generiše vrednost piksela jedinice subuzoraka korišćenjem filtera za interpolaciju uključujući i koeficijente filtera koji su određuju pomoću aparata za interpolaciju slike 10 na osnovu transformacije i inverzne transformacije.
Kako bi se efikasno obavila interpolacija slike, aparat za kodiranje video zapisa 100 može prethodno da sačuva u memoriji koeficijente filtera za interpolaciju. Shodno lokaciji za interpolaciju, uglačanost, broj tap filtera, dubina bita, faktor skaliranja, kao i osnovna funkcija filtriranja za interpolaciju na osnovu transformacije mogu da se sačuvaju u memoriji aparata za video kodiranje 100.
Na primer, bar jedan od (i) koeficijenata 8-tap filtera za jedinicu 1/4 uzoraka {-1, 4, -10, 57, 19, -7, 3, -1} koji imaju faktor skaliranja 2<6>, (ii) koeficijenata 8-tap filtera za jedinicu 1/2 uzoraka {-1, 4, -11, 40, 40, -11, 4, -1} koji imaju faktor skaliranja 2<6>, (iii) koeficijenata 4-tap filtera za jedinicu 1/8 uzoraka {-3, 60, 8, -1} koji imaju faktor skaliranja 2<6>, (iv) koeficijenata 4-tap filtera za jedinicu 1/4 uzoraka {-4, 54, 16, -2} koji imaju faktor skaliranja 2<6>, (v) koeficijenata 4-tap filtera za jedinicu 3/8 uzoraka {-5, 46, 27, -4} koji imaju faktor skaliranja 2<6>i (vi) koeficijenata 4-tap filtera za jedinicu 1/2 uzoraka {-4, 36, 36, -4} koji imaju faktor skaliranja 2<6>mogu da se sačuvaju u memoriju i mogu da se upotrebe za obavljanje filtriranja za interpolaciju i uglačavanje.
Pored gore navedenih koeficijenata filtera, koeficijenti filtera za interpolaciju i uglačavanje, koji mogu da se modifikuju na osnovu različitih osnovnih funkcija i prozor funkcija, kako je prikazano na SLIKAMA 8A do 12C mogu da se koriste za obavljanje filtriranja za interpolaciju.
Ako se filtriranje za interpolaciju obavlja korišćenjem koeficijenata filtera koji su sačuvani u memoriji, izračunavanje brzine inter predikcije može da se poboljša.
Iz reda mnoštva filtera za interpolaciju, koder 120 može da odabere i da koristi željeni filter za interpolaciju i uglačavanje kako bi obavio inter predikciju na osnovu lokacije za interpolaciju jedinice subuzoraka α i uglačavanje. Osim toga, filter za interpolaciju i uglačavanje,koji je prikladan za trenutni piksel, može da se odredi na osnovu broja tap filtera, dubine bita, faktora skaliranja, itd.
Koder 120 može da određuje filter za interpolaciju na osnovu karakteristika slike. Na primer, koder 120 može da određuje različite filtere za interpolaciju na osnovu komponenata boje piksela. Na primer, filter za interpolaciju za piksele osvetljenja i filter za interpolaciju piksela boje mogu da se odaberu odvojeno tako da vrednosti piksela jedinice subuzoraka mogu individualno da se generišu obavljanjem filtriranja za interpolaciju.
Video zapis može da se kodira obavljanjem inter predikcije na osnovu interpolacije jedinice subuzoraka, intra predikcije, transformacije i kvantizacije.
Jedinica za izlazne podatke 130 može da kodira, da pošalje izlazne informacije kodiranja, a može da daje i izlazne podatke kodirane slike. Kao informacije kodiranja, informacije o odabranom filteru za interpolaciju mogu dodatno da se kodiraju. Drugim rečima, mogu da se kodiraju informacije o filteru za interpolaciju koje se koriste za obavljanje prediktivnog kodiranja jedinice subuzoraka. Na primer, dekoder treba da ima informacije o filteru za interpolaciju koji se koristi za kodiranje slike kako bi se obavilo dekodiranje slike korišćenjem istog filtera za interpolaciju koji se koristi i u postupku kodiranja. Za pomenuto, informacije ukazuju na to da filter za interpolaciju koji se koristi može da se kodira zajedno sa slikom. Međutim, ako s filter bira na osnovu rezultata prethodnog kodiranja, tj. konteksta, informacije o odabranom filteru možda ne mogu dodatno da se kodiraju.
Jedinica za izlazne podatke 130 može da obavlja entropijsko kodiranje na informacijama kodiranja i na podacima kodirane slike, a može da pošalje i izlazni tok bitova.
SL. 13B je blok dijagram aparata za dekodiranje video zapisa 200 koji koristi filter za interpolaciju i uglačavanje , shodno primeru predloženog pronalaska.
Aparat za dekodiranje video zapisa 200 uključuje prijemnik, ekstraktor 220 i dekoder 230. Rad prijemnika, ekstraktora 220 i dekodera 230 aparata za kodiranje video zapisa 200 mogu kooperativno da se kontrolišu procesorom za dekodiranje video zapisa, grafičkim procesorom i CPU-om.
Kako bi se slika rekonstruisala iz toka bitova, aparat za dekodiranje video zapisa 200 može da dekodira podatke kodirane slike toka bitova obavljanjem operacija koje uključuju entropijsko dekodiranje, inverznu kvantizaciju, inverznu transformaciju, inter predikciju/kompenzaciju, i intra predikciju/kompenzaciju.
Prijemnik i ekstraktor 220 primaju i raščlanjuju tok bitova kodiranog video zapisa. Prijemnik i ekstraktor 220 mogu da izdvoje kodirane podatke svake jedinice podataka trenutne slike, informacije kodiranja uključujući informacije o metodi kodiranja koje se koristi za dekodiranje kodiranih podataka, iz raščlanjenog toka bitova.
Ako informacije kodiranja uključuju informacije o filteru za interpolaciju, dekoder 230 može da pročita informacije o filteru za interpolaciju koji se koristi za obavljanje intra predikcije jedinice celobrojnih uzoraka iz informacije o filteru za interpolaciju, a može i da obavlja kompenzaciju pokreta korišćenjem filtera za interpolaciju koji se koristi u procesu kodiranja.
Dekoder 230 može da dekodira kodirane podatke slike obavljanjem različitih operacija dekodiranja kao što su entropijsko dekodiranje, inverzna kvantizacija, inverzna transformacija, inter predikcija/kompenzacija i intra predikcija/kompenzacija na kodiranoj slici shodno različitim metodama dekodiranja koje su određene na osnovu informacije o režimu kodiranja.
Da bi se obavila kompenzacija pokreta, referentna oblast referentne slike koja je privremeno prethodna ili sledeća u odnosu na trenutnu sliku, može biti određena korišćenjem referentnih podataka i vrednosti piksela referentne oblasti i preostalih podataka koji se mogu kombinovati za rekonstrukciju trenutne vrednosti piksela.
Ako su preostali podaci i referentni podaci određeni na osnovu piksela interpolisanih u jedinicu subuzoraka u toku procesa kodiranja, dekoder 230 takođe može da obavi kompenzaciju pokreta na osnovu piksela interpolisanih u jedinicu subuzoraka. Da bi se obavila kompenzacija pokreta jedinice subuzoraka, dekoder 230 može da generiše vrednost piksela jedinice subuzoraka interpolacijom susednih piksela jedinica celobrojnih uzoraka referentne slike. Vrednost piksela jedinice subuzoraka može da se generiše obavljanjem filtriranja za interpolaciju na dva ili više referentna piksela jedinica celobrojnih uzoraka uključujući susedne piksele jedinica subuzoraka.
Da bi se interpolacija slike efikasno obavila, aparat za dekodiranje video zapisa 200 može selektivno da odredi koeficijente filtera za interpolaciju. Dekoder 230 može da uključi aparat za interpolaciju slike 10 koji je prikazan na SL. 1. Drugim rečima, da bi se obavila kompenzacija pokreta jedinice subuzoraka, dekoder 230 može da generiše vrednost piksela jedinice subuzoraka korišćenjem filtera za interpolaciju na osnovu transformacije.
Da bi se obavilo efikasno filtriranje za interpolaciju, aparat za dekodiranje video zapisa 200 može prethodno da sačuva u memoriji različite koeficijente filtera za interpolaciju koji se mogu izabrati shodno lokaciji za interpolaciju, uglačanosti, broju tap filtera, dubine bita, faktora skaliranja i osnovne funkcije filtriranja za interpolaciju na osnovu transformacije.
Kao što je već opisano, na primer, bar jedan od (i) koeficijenata 8-tap filtera 1/4 jedinice uzoraka {-1, 4, -10, 57, 19, -7, 3, -1} koji imaju faktor skaliranja 2<6>, (ii) koeficijenata 8-tap filtera 1/2 jedinice uzoraka {-1, 4, -11, 40, 40, -11, 4, -1} koji imaju faktor skaliranja 2<6>, (iii) koeficijenata 4-tap filtera 1/8 jedinice uzoraka {-3, 60, 8, -1} koji imaju faktor skaliranja 2<6>, (iv) koeficijenata 4-tap filtera 1/4 jedinice uzoraka {-4, 54, 16, -2} koji imaju faktor skaliranja 2<6>, (v) koeficijenata 4-tap filtera 3/8 jedinice uzoraka {-5, 46, 27, -4} koji imaju faktor skaliranja 2<6>, i (vi) koeficijenata 4-tap filtera 1/2 jedinice uzoraka {-4, 36, 36, -4} koji imaju faktor skaliranja 2<6>mogu se sačuvati u memoriji i mogu se koristiti za obavljane filtriranja za interpolaciju i uglačavanje. Pored već navedenih koeficijenata filtera, koeficijenti filtera za interpolaciju i uglačavanje mogu da se modifikuju shodno različitim osnovnim funkcijama i prozor funkcijama kako je prikazano na SLIKAMA. 8A do 12C mogu da se koriste za obavljanje filtriranja za interpolaciju i uglačavanje.
Iz reda mnoštva filtera za interpolaciju, dekoder 230 može da odabere i upotrebi filter za interpolaciju prikladan za trenutni piksel da bi obavio kompenzaciju pokreta jedinice subuzoraka shodno lokaciji za interpolaciju jedinice subuzoraka α, broju tap filtera, dubini bita, faktoru skaliranja, itd.
Takođe, dekoder 230 može da odabere filter za interpolaciju i uglačavanje na osnovu karakteristika slike. Na primer, različiti filteri za interpolaciju mogu biti određeni shodno boji komponenata piksela, filtriranju za interpolaciju za piksele osvetljenja i filtriranju za interpolaciju za piksele boje koji mogu biti odvojeno izvedeni, tako da se interpolisane vrednosti piksela jedinice subuzoraka mogu individualno generisati.
Shodno tome, dekoder 230 može da rekonstruiše podatke u prostornom domenu obavljanjem inverzne kvantizacije/inverzne transformacije, i može da rekonstruiše vrednosti piksela i trenutnu sliku obavljanjem intra predikcije i kompenzacije pokreta na osnovu interpolacije jedinice subuzoraka kao i interpolacije jedinice celobrojnih uzoraka. Ako su slike rekonstruisane, video zapis može da se dekodira.
SL. 14A predstavlja dijagram toka metode za kodiranje slike korišćenjem filtera za interpolaciju i uglačavanje, shodno primeru predloženog pronalaska.
U operaciji 1410, da bi se kodirala trenutna slika ulaznog video zapisa, prediktivno kodiranje se obavlja korišćenjem interpolacije jedinice subuzoraka. Filter za interpolaciju je drugačije odabran na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačenosti iz reda filtera za interpolaciju za generisanje vrednosti piksela jedinice subuzoraka. Uglačanost filtera za interpolaciju može da se odredi na osnovu razdaljine između lokacije za interpolaciju i jedinica celobrojnih uzoraka.
Vrednost piksela jedinice subuzoraka može da se generiše obavljanjem filtriranja za interpolaciju na dva ili više referentna piksela jedinica celobrojnih uzoraka referentne slike. Preostali podaci i referentni podaci određeni su korišćenjem generisanih vrednosti piksela jedinice subuzoraka, čime se obavlja prediktivno kodiranje.
Da bi se efikasno obavila interpolacija slike, koeficijenti filtera za interpolaciju mogu se selektivno odrediti. Iz reda koeficijenata filtera za interpolaciju prethodno sačuvanih u memoriji, željeni filter za interpolaciju može se odabrati na osnovu lokacije za interpolaciju jedinice subuzoraka, uglačenosti, broja tap filtera, dubine bita, faktora skaliranja, osnovne funkcije filtriranja za interpolaciju na osnovu transformacije i boje komponente, i interpolacija se može obaviti kako bi se generisala vrednost piksela jedinice subuzoraka.
U operaciji 1420, transformacija i kvantizacija se vrše na inter predikciji rezultata na osnovu interpolacije jedinice subuzoraka i intra predikcije.
U operaciji 1430, tok bitova može da se emituje obavljanjem entropijskog kodiranja na informacijama o kodiranju i na kodiranim podacima slike u obliku koeficijenata za kvantifikaciju transformacije. Informacije o kodiranju mogu da uključe informacije o filteru za interpolaciju koje se koriste za prediktivno kodiranje jedinice subuzoraka.
SL. 14B predstavlja dijagram toka metode za dekodiranje slike korišćenjem filtera za interpolaciju, shodno primeru predloženog pronalaska.
U operaciji 1450, tok bitova kodiranog video zapisa se prima, entropijski dekodira i raščlanjuje da bi se koeficijenti transformacije i informacije o kodiranju trenutne slike izdvojili iz toka bitova.
Ako informacije o kodiranju uključuju informacije o filteru za interpolaciju, tip željenog filtera za interpolaciju može da se pročita iz informacija.
U operaciji 1460, shodno različitim metodama dekodiranja određenih na osnovu režima kodiranja očitanog iz informacija o kodiranju, inverzna kvantizacija i inverzna transformacija obavljaju se na koeficijentima za kvantifikovanu transformaciju, a preostali podaci se dodaju, čime se vrši rekonstruisanje podataka u prostornom domenu.
U operaciji 1470, kodirani podaci slike mogu biti dekodirani obavljanjem različitih operacija dekodiranja kao što su kompenzacija pokreta i intra predikcija na osnovu režima kodiranja.
Konkretno, ako su preostali kodirani podaci i referentni podaci izdvojeni na osnovu interpolisanih piksela u jedinici subuzoraka, kompenzacija pokreta se može obaviti na osnovu piksela koji su interpolisani u jedinici subuzoraka. Iz reda filtera za interpolaciju za generisanje vrednosti piksela jedinice subuzoraka, filter za interpolaciju je drugačije odabran na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačenosti.
Da bi se efikasno obavila interpolacija slike, koeficijenti filtera za interpolaciju mogu se selektivno odrediti. Iz reda prethodno sačuvanih koeficijenata filtera za interpolaciju, željeni filter za interpolaciju može se odabrati shodno lokaciji za interpolaciju jedinice subuzoraka, uglačenosti, broja tap filtera, dubine bita, faktora skaliranja, osnovne funkcije filtriranja za interpolaciju na osnovu transformacije i boje komponente, i interpolacija se može obaviti kako bi se generisala vrednost piksela jedinice subuzoraka. Budući da je kompenzacija pokreta obavljena na pikselima koji su interpolisani korišćenjem koeficijenata filtera za interpolaciju prethodno sačuvanih u memoriji, izračunavanje brzine se može poboljšati.
Referentna slika i referentna oblast su određene korišćenjem referentnih podataka, i vrednost piksela jedinice subuzoraka može biti generisana obavljanjem filtriranja za interpolaciju na dva ili više referentna piksela jedinice celobrojnih uzoraka referentne slike. Kompenzacija pokreta se može obaviti kombinovanjem generisanih vrednosti piksela jedinice subuzoraka i preostalih podataka, i time se može obaviti prediktivno dekodiranje.
U operaciji 1480, trenutna slika je rekonstruisana upotrebom vrednosti piksela koje su dobijene obavljanjem prediktivnog dekodiranja, čime je video zapis dekodiran.
<Kodiranje i dekodiranje video zapisa upotrebom filtera za interpolaciju i uglačavanje na osnovu jedinica za kodiranje koje imaju strukturu stabla>
Aparati za kodiranje i dekodiranje video zapisa koriste filter za uglačavanje na osnovu jedinica za kodiranje koje imaju strukturu stabla, i metode kodiranja i dekodiranja video zapisa koje odgovaraju aparatima za kodiranje i dekodiranje video zapisa, shodno primerima predloženog pronalaska, biće sada detaljno opisani uzimajući u obzir SLIKE 13 do 27.
Aparat za kodiranje video zapisa 100 može da kodira video zapis na osnovu jedinica za kodiranje i jedinica za transformaciju koje imaju strukturu stabla.
Trenutna slika video zapisa može se podeliti na osnovu maksimalne jedinice za kodiranje za trenutnu sliku. Ukoliko je trenutna slika veća od maksimalne jedinice za kodiranje, podaci trenutne slike mogu da se podele na najmanje jednu maksimalnu jedinicu za kodiranje. Maksimalna jedinica za kodiranje može biti jedinica podataka koja ima veličinu od 32×32, 64×64, 128×128, 256×256, itd. u kojoj je oblik jedinice podataka kvadrat sa širinom i dužinom izraženim u stepenima broja 2. Enkoder 120 može da kodira podatke slike iz najmanje jedne od svake maksimalne jedinice za kodiranje.
Jedinica za kodiranje shodno primeru predloženog pronalaska može biti okarakterisana maksimalnom veličinom i dubinom. Dubina označava koliko puta je jedinica za kodiranje prostorno odvojena od maksimalne jedinice za kodiranje, i kako se dubina povećava jedinice za dublje kodiranje shodno dubinama mogu da se podele sa maksimalne jedinice za kodiranje na minimalnu jedinicu za kodiranje. Dubina maksimalne jedinice za kodiranje je najveća dubina, a dubina minimalne jedinice za kodiranje je najmanja dubina. Pošto se veličina jedinice za kodiranje koja odgovara svakoj dubini smanjuje kako se dubina maksimalne jedinice za kodiranje povećava, jedinica za kodiranje koja odgovara većoj dubini može da obuhvati veliki broj jedinica za kodiranje koje odgovaraju manjim dubinama.
Kao što je već opisano, podaci trenutne slike se dele u maksimalne jedinice za kodiranje shodno maksimalnoj veličini jedinice za kodiranje i svaka od maksimalnih jedinica za kodiranje može da uključi jedinice za dublje kodiranje koje se dele shodno njihovim dubinama. Pošto je maksimalna jedinica za kodiranje shodno primeru predloženog pronalaska podeljena shodno dubinama, podaci slike prostornog domena uključeni u maksimalnu jedinicu za kodiranje mogu biti hijerarhijski klasifikovani shodno dubinama.
Maksimalna dubina i maksimalna veličina jedinice za kodiranje, koje ograničavaju ukupan broj puta kada su visina i širina maksimalne jedinice za kodiranje hijerarhijski podeljene, mogu se unapred odrediti.
Koder 120 kodira najmanje jednu deljenu oblast dobijenu deljenjem oblasti maksimalne jedinice za kodiranje shodno dubinama i određuje dubinu izlaznog signala konačnih kodiranih podataka slike shodno najmanje jednoj deljenoj oblasti. Drugim rečima, koder 120 određuje kodiranu dubinu kodiranjem podataka slike u jedinicama za dublje kodiranje shodno dubinama, shodno maksimalnoj jedinici za kodiranje trenutne slike i izborom dubine koja ima najmanje jednu grešku kodiranja.
Koder 120 može da pošalje kodirane podatke slike jedinice za kodiranje koja odgovara određenoj kodiranoj dubini. Takođe, koder 120 može da prenese informacije o određenoj kodiranoj dubini do jedinice za izlazne podatke 130 kao što informacije o kodiranoj dubini mogu biti kodirane kao informacije za kodiranje.
Podaci slike u maksimalnoj jedinici za kodiranje se kodiraju na osnovu jedinica za dublje kodiranje koje odgovaraju najmanje jednoj dubini koja je jednaka ili manja od maksimalne dubine, a rezultati kodiranja podataka slike se porede na osnovu svake jedinice za dublje kodiranje. Dubina koja ima najmanju grešku kodiranja može da se izabere nakon poređenja grešaka kodiranja jedinica za dublje kodiranje. Za svaku maksimalnu jedinicu za kodiranje može da se izabere najmanje jedna kodirana dubina.
Veličina maksimalne jedinice za kodiranje se deli dok se jedinica za kodiranje hijerarhijski deli shodno dubinama, a broj jedinica za kodiranje se povećava. Takođe, čak iako jedinice za kodiranje odgovaraju istoj dubini u jednoj maksimalnoj jedinici za kodiranje, određeno je da li se svaka od jedinica za kodiranje koja odgovara istoj dubini deli na manju dubinu merenjem greške kodiranja podataka slike svake jedinice za kodiranje posebno. Shodno tome, čak i kada su podaci slike uključeni u jednu maksimalnu jedinicu za kodiranje, podaci slike se dele u oblasti shodno dubinama, a greške kodiranja mogu varirati shodno oblastima u jednoj maksimalnoj jedinici za kodiranje, i stoga kodirane dubine mogu varirati shodno oblastima u podacima slike. Stoga, jedna ili više kodiranih dubina mogu da se odrede u jednoj maksimalnoj jedinici za kodiranje, a podaci slike maksimalne jedinice za kodiranje mogu da se podele shodno jedinicama za kodiranje najmanje jedne kodirane dubine.
Shodno tome, koder 120 može da odredi jedinice za kodiranje koje imaju strukturu stabla uključenih u maksimalnu jedinicu za kodiranje. „Jedinice za kodiranje imaju strukturu stabla“ shodno primeru predloženog pronalaska uključuje jedinice za kodiranje koje odgovaraju dubini koja je utvrđena kao kodirana dubina među svim jedinicama za dublje kodiranje uključenim u maksimalnu jedinicu za kodiranje. Jedinica za kodiranje kodirane dubine može se hijerarhijski odrediti shodno dubinama u istoj oblasti maksimalne jedinice za kodiranje i može se nezavisno odrediti u različitim oblastima. Slično, kodirana dubina u trenutnoj oblasti može se nezavisno odrediti iz kodirane dubine druge oblasti.
Maksimalna dubina shodno primeru je indeks povezan sa brojem vremena podele je obavljena iz maksimalne jedinice za kodiranje u minimalnu jedinicu za kodiranje. Prva maksimalna dubina shodno primeru može da označi koliki je ukupan broj deljenja vremena obavljen iz maksimalne jedinice za kodiranje u minimalnu jedinicu za kodiranje. Druga maksimalna dubina shodno primeru može da označi ukupan broj nivoa dubine iz maksimalne jedinice za kodiranje u minimalnu jedinicu za kodiranje. Na primer, kada je dubina maksimalne jedinice za kodiranje 0, dubina jedinice za kodiranje u kojoj je maksimalna jedinica za kodiranje podeljena jednom, može da se postavi na 1, a dubina jedinice za kodiranje u kojoj je maksimalna jedinica za kodiranje podeljena dva puta, može da se postavi na 2. Ovde, ukoliko je minimalna jedinica za kodiranje jedinica za kodiranje u kojoj je maksimalna jedinica za kodiranje podeljena četiri puta, postoji 5 nivoa dubine 0, 1, 2, 3 i 4 i stoga prva maksimalna dubina može da se postavi na 4, a druga maksimalna dubina može da se postavi na 5.
Prediktivno kodiranje i transformacija mogu da se primene shodno maksimalnoj jedinici za kodiranje. Prediktivno kodiranje i transformacija se takođe obavljaju na osnovu jedinica za dublje kodiranje shodno dubini koja je jednaka ili manja od maksimalne dubine, shodno maksimalnoj jedinici za kodiranje.
Pošto se broj jedinica za dublje kodiranje povećava uvek kada se maksimalna jedinica za kodiranje podeli shodno dubinama, kodiranje koje uključuje prediktivno kodiranje i transformacija se obavlja na svim jedinicama za dublje kodiranje koje se generišu dok se dubina povećava. Radi lakšeg opisa, prediktivno kodiranje i transformacija biće sada opisani na osnovu jedinice za kodiranje trenutne dubine u maksimalnoj jedinici za kodiranje.
Aparat za kodiranje video zapisa 100 može na različite načine da izabere veličinu i oblik jedinice podataka za kodiranje podataka slike. Da bi se kodirali podaci slike, obavljaju se operacije, kao što su prediktivno kodiranje, transformacija i entropijsko kodiranje, i za to vreme može da se koristi ista jedinica podataka za sve operacije ili različite jedinice podataka mogu da se koriste za svaku operaciju.
Na primer, aparat za kodiranje video zapisa 100 može da izabere ne samo jedinicu za kodiranje za kodiranje podataka slike, već i jedinicu podataka koja se razlikuje od jedinice za kodiranje da bi obavio prediktivno kodiranje podataka slike u jedinici za kodiranje.
Da bi se obavilo prediktivno kodiranje u maksimalnoj jedinici za kodiranje, prediktivno kodiranje može da se vrši na osnovu jedinice za kodiranje koja odgovara kodiranoj dubini, tj. na osnovu jedinice za kodiranje koja više nije podeljena na jedinice za kodiranje koje odgovaraju manjoj dubini. U daljem tekstu, jedinica za kodiranje koja više nije podeljena i postaje osnovna jedinica za prediktivno kodiranje, biće „jedinica za predikciju“. Particija koja se dobija deljenjem jedinice za predikciju može da uključi jedinicu za predikciju ili jedinicu podataka koja se dobija podelom najmanje jedne visine i širine jedinice za predikciju.
Na primer, kada jedinica za kodiranje 2N×2N (gde je N pozitivan ceo broj) više nije podeljena i postaje jedinica za predikciju 2N×2N, veličina particije može biti 2N×2N, 2N×N, N×2N, ili N×N. Primeri tipa particije uključuju simetrične particije koje su dobijene simetričnim deljenjem visine ili širine jedinice za predikciju, particije dobijene asimetričnim deljenjem visine ili širine jedinice za predikciju, kao što je 1:n ili n:1, particije koje su dobijene geometrijskim deljenjem jedinice za predikciju, i particija koje imaju proizvoljan oblik.
Režim predikcije jedinice za predikciju može biti najmanje jedan intra režim, inter režim i režim preskakanja. Na primer, intra režim ili inter režim mogu se obaviti na particiji 2N×2N, 2N×N, N×2N, ili N×N. Takođe, režim preskakanja se može obaviti samo na particiji 2N×2N. Kodiranje se nezavisno obavlja na jednoj jedinici za predikciju u jedinici za kodiranje, čime se bira režim za predikciju koji ima najmanju grešku kodiranja.
Aparat za kodiranje video zapisa 100 takođe može da obavi transformaciju podataka slike u jedinici za kodiranje ne samo na osnovu jedinice za kodiranje za kodiranje podataka slike, već i na osnovu jedinice podataka koja se razlikuje od jedinice za kodiranje.
Da bi se obavila transformacija u jedinici za kodiranje, transformacija može da se obavi na osnovu jedinice za transformaciju koja je manja ili jednaka jedinici za kodiranje. Na primer, jedinica za transformaciju za obavljanje transformacije može da uključi jedinicu podataka za intra režim i jedinicu podataka za inter režim.
Slično jedinici za kodiranje, jedinica za transformaciju u jedinici za kodiranje može se rekurzivno podeliti u oblasti manje veličine, tako da jedinica za transformaciju može nezavisno da se odredi u jedinicama oblasti. Stoga, preostali podaci u jedinici za kodiranje mogu da se podele shodno jedinicama za transformaciju koje imaju strukturu stabla shodno dubinama transformacije.
U jedinici za transformaciju može da se postavi i dubina transformacije koja ukazuje na broj deljenja koji se obavlja za dostizanje jedinice za transformaciju deljenjem visine i širine jedinice za kodiranje. Na primer, u trenutnoj jedinici za kodiranje od 2Nx2N, dubina transformacije može biti 0 kada je i veličina jedinice za transformaciju takođe 2Nx2N, može biti 1 kada je veličina jedinice za transformaciju NxN, i može biti 2 kada je veličina jedinice za transformaciju N/2xN/2. Drugim rečima, jedinica za transformaciju sa strukturom stabla može da se podesi shodno dubinama transformacije.
Informacije o kodiranju shodno kodiranoj dubini zahtevaju ne samo informacije o kodiranoj dubini, već i informacije o prediktivnom kodiranju i transformaciji. Shodno tome, koder 120 određuje ne samo kodiranu dubinu koja ima najmanju grešku kodiranja, već određuje i tip particije u jedinici za predikciju, režim predikcije shodno jedinicama za predikciju i veličinu jedinice za transformaciju za obavljanje transformacije. Za inter predikciju, informacije koje se kodiraju shodno kodiranoj dubini mogu da uključe informacije koje se odnose na filtriranje za interpolaciju za interpolisanje jedinica subuzoraka.
Takođe, koder 120 može da obavi transformaciju pomoću jedinica za transformaciju koje imaju strukturu stabla za kodiranje jedinica za kodiranje, na osnovu maksimalnog nivoa deljenja jedinica za transformaciju, koje su prethodno restriktivno postavljene u svaku maksimalnu jedinicu za kodiranje ili u trenutnu jedinicu kodiranja.
U svakoj od jedinica za dublje kodiranje shodno dubinama, osnovna jedinica za transformaciju koja ima veličinu koja je manja ili jednaka jedinici za kodiranje, može biti hijerarhijski podeljena na jedinice za transformaciju nižih dubina transformacije. Jedinice za transformaciju sa strukturom stabla mogu da uključe osnovnu jedinicu za transformaciju maksimalne veličine koja je trenutno odobrena, i niži nivo jedinica za transformaciju je vezan za maksimalan nivo deljenja koji je dozvoljen za jedinice za kodiranje.
Nakon obavljanja transformacije na svakom nivou shodno dubini transformacije trenutne jedinice za kodiranje, koder 120 može odrediti jedinice za transformaciju koje imaju strukturu stabla, koje su nezavisne od jedinica za transformaciju susednih oblasti, i da formiraju hijerarhijsku strukturu između jedinica za kodiranje u istoj oblasti shodno dubinama transformacije.
Drugim rečima, jedinice za transformaciju koje imaju strukturu stabla mogu se odrediti obavljanjem transformacije na svakoj jedinici za kodiranje korišćenjem jedinica za transformaciju raznih veličina, a zatim upoređivanjem rezultata transformacije. Dok se određuje jedinica za kodiranje, može da se odredi jedinica za transformaciju za obavljanje transformacije jedinice za kodiranje. Uvek kada su jedinice za kodiranje, shodno svakoj od jedne ili više dubina kodirane, mogu se za obavljanje transformacije upotrebiti jedinice za transformaciju shodno svakoj od jedne ili više dubina transformacije.
Jedinica za transformaciju koja ima bar jednu grešku kodiranja mora biti određena za svaku jedinicu kodiranja. Da bi se odredila dubina transformacije koja ima minimalnu grešku kodiranja u jedinici za transformaciju, greške kodiranja mogu da se izmere i uporede na svim dubljim jedinicama za transformaciju shodno dubinama. Jedinica za transformaciju može da se odredi kao jedinica podataka za minimiziranje greške transformacije jedinice za kodiranje.
Shodno tome, budući da je kombinacija jedinice za dublje kodiranje i dublje jedinice za transformaciju shodno dubinama koja ima najmanju grešku kodiranja, individualno određena u svakoj oblasti maksimalne jedinice za kodiranje, mogu se odrediti jedinice za kodiranje sa strukturom stabla i jedinice za transformaciju koje imaju strukturu stabla.
Metode određivanja jedinica za kodiranje koje imaju strukturu stabla, particije i jedinice za transformaciju koje imaju strukturu stabla, shodno primerima predloženog pronalaska, biće kasnije detaljno opisane uzimajući u obzir SLIKE 15 do 25.
Koder 120 može da izmeri grešku kodiranja jedinica za dublje kodiranje shodno dubinama, korišćenjem optimizacije brzine izobličenja na osnovu Lagranžovih multiplikatora.
Aparat za kodiranje video zapisa 100 može da emituje podatke slike maksimalne jedinice za kodiranje koja je kodirana na osnovu najmanje jedne kodirane dubine koju je odredio koder 120 i na osnovu informacije o režimu kodiranja shodno kodiranoj dubini koja je kodirana jedinicom za izlazne podatke 130 u vidu toka bitova.
Informacije o režimu kodiranja jedinica za dublje kodiranje shodno dubinama, koje su određene kao slika koja je kodirana na osnovu jedinica za kodiranje, jedinica za predikciju i jedinica za transformaciju koje imaju strukturu stabla, mogu biti uključene u zaglavlje, set parametara sekvence (SPS) ili set parametara slike (PPS) toka bitova.
Podaci kodirane slike mogu da se dobiju kodiranjem preostalih podataka slike.
Informacije o režimu kodiranja shodno kodiranoj dubini mogu da uključe informacije o kodiranoj dubini, o tipu particije u jedinici za predikciju, o režimu predikcije i o veličini jedinice za transformaciju.
Informacije o kodiranoj dubini mogu da se definišu korišćenjem informacija o deljenju shodno dubinama koje predstavljaju da li se kodiranje obavlja na jedinicama za kodiranje manje dubine umesto trenutne dubine. Ukoliko je trenutna dubina trenutne jedinice za kodiranje kodirana dubina, podaci slike u trenutnoj jedinici za kodiranje se kodiraju i emituju, čime se može definisati da informacije o deljenju ne dele trenutnu jedinicu za kodiranje na manje dubine. Alternativno, ukoliko trenutna dubina trenutne jedinice za kodiranje nije kodirana dubina, kodiranje se obavlja na jedinici za kodiranje manje dubine, čime se može definisati da informacije o deljenju dele trenutnu jedinicu za kodiranje da bi se dobile jedinice za kodiranje manje dubine.
Ukoliko trenutna dubina nije kodirana dubina, kodiranje se obavlja na jedinici za kodiranje koja je podeljena na jedinici za kodiranje manje dubine. Pošto najmanje jedna jedinica za kodiranje manje dubine postoji u jednoj jedinici za kodiranje trenutne dubine, kodiranje se ponavlja na svakoj jedinici za kodiranje manje dubine, i stoga kodiranje može rekurzivno da se obavi za jedinice za kodiranje koje imaju istu dubinu.
Pošto su jedinice za kodiranje koje imaju strukturu stabla određene za jednu maksimalnu jedinicu za kodiranje, a informacije o najmanje jednom režimu kodiranja određene za jedinicu za kodiranje kodirane dubine, informacije o najmanje jednom režimu kodiranja mogu da se odrede za jednu maksimalnu jedinicu za kodiranje. Takođe, kodirana dubina podataka slike maksimalne jedinice za kodiranje može da se razlikuje shodno lokacijama, pošto su podaci slike hijerarhijski podeljeni shodno dubinama, i stoga informacije o kodiranoj dubini i režimu kodiranja mogu biti postavljene za podatke slike.
Shodno tome, jedinica za izlazne podatke 130 može da dodeli informacije o kodiranju o odgovarajućoj kodiranoj dubini i režimu kodiranja najmanje jednoj jedinici za kodiranje, jedinici za predikciju i minimalnoj jedinici uključenoj u maksimalnu jedinicu za kodiranje.
Minimalna jedinica shodno primeru predloženog pronalaska je pravougaona jedinica podataka je dobijena deljenjem minimalne jedinice za kodiranje koja čini sastavni deo najmanje dubine sa 4. Alternativno, minimalna jedinica može biti maksimalna jedinica podataka pravougaonog oblika koja može biti uključena u sve jedinice za kodiranje, jedinice za predikciju, jedinice za particionisanje i jedinice za transformaciju uključene u maksimalnu jedinicu za kodiranje.
Na primer, izlazne informacije o kodiranju putem jedinice za izlazne podatke 130 mogu da se klasifikuju u informacije o kodiranju shodno jedinicama za kodiranje, i u informacije o kodiranju shodno jedinicama za predikciju. Informacije o kodiranju shodno jedinicama za kodiranje mogu da uključe informacije o režimu predikcije i o veličini particija. Informacije o kodiranju shodno jedinicama za predikciju mogu da uključe informacije o procenjenom smeru inter režima, o indeksu referentne slike inter režima, o vektoru pokreta, o komponenti boje intra režima i o metodi interpolacije intra režima.
Informacije o maksimalnoj veličini jedinice za kodiranje definisane shodno slikama, isečcima, ili GOP-ovima i informacije o maksimalnoj dubini mogu da se umetnu u zaglavlje, SPS ili PPS toka bitova.
U aparatu za kodiranje video zapisa 100, jedinica za dublje kodiranje može biti jedinica za kodiranje dobijena deljenjem sa dva visine ili širine jedinice za kodiranje veće dubine, koja je jedan sloj iznad. Drugim rečima, kada je veličina jedinice za kodiranje trenutne dubine 2N×2N, veličina jedinice za kodiranje niže dubine je N×N. Takođe, jedinica za kodiranje trenutne dubine koja ima veličinu 2N×2N može da uključi maksimalno 4 jedinice za kodiranje niže dubine.
Shodno tome, aparat za kodiranje video zapisa 100 može da formira jedinice za kodiranje sa strukturom stabla određivanjem jedinica za kodiranje koje imaju optimalni oblik i optimalnu veličinu za svaku maksimalnu jedinicu za kodiranje na osnovu veličine maksimalne jedinice za kodiranje i maksimalne dubine određene, uzimajući u obzir karakteristike trenutne slike. Takođe, pošto kodiranje može da se obavi na svakoj maksimalnoj jedinici za kodiranje korišćenjem bilo kog od raznih režima predikcije i transformacije, optimalni režim kodiranja može da se odredi uzimajući u obzir karakteristike jedinice za kodiranje raznih veličina slika.
Stoga, ukoliko slika ima visoku rezoluciju ili se velika količina podataka kodira u konvencionalni makroblok, broj makroblokova po slici izrazito raste. Shodno tome, broj komprimovanih informacija generisanih za svaki makroblok raste, što otežava prenos komprimovanih informacija i efikasnost kompresije podataka se smanjuje. Međutim, korišćenjem aparata za kodiranje video zapisa 100, efikasnost kompresije slika može da se poveća pošto se jedinica za kodiranje podešava uzimajući u obzir karakteristike slike i povećavajući maksimalnu veličinu jedinice za kodiranje s obzirom na veličinu slike.
Jedinica za izlazne podatke 130 može da kodira i emituje informacije o kodiranju, ukazujući na metodu kodiranja koja je korišćena za kodiranje video zapisa na osnovu jedinica za kodiranje koje imaju strukturu stabla i jedinica za transformaciju koje imaju strukturu stabla. Informacije o kodiranju mogu uključiti informacije o raznim režimima kodiranja jedinica za kodiranje koje odgovaraju kodiranoj dubini i informacijama o kodiranoj dubini.
Definicije raznih termina, kao što su jedinica za kodiranje, dubina, jedinica za predikciju, jedinica za transformaciju i informacije o raznim režimima kodiranja za razne operacije aparata za dekodiranje video zapisa 200 su identične kao i one opisane za aparat za kodiranje video zapisa 100.
Prijemnik 210 prima tok bitova kodiranog video zapisa. Prijemnik i ekstraktor 220 raščlanjuju primljeni tok bitova. Prijemnik i ekstraktor 220 izdvajaju kodirane podatke slike za svaku jedinicu za kodiranje sa raščlanjenog toka bitova, gde jedinice za kodiranje imaju strukturu stabla shodno svakoj maksimalnoj jedinici za kodiranje i emituju izdvojene podatke o slici na dekoder 230. Prijemnik i ekstraktor 220 mogu da izdvoje informacije o maksimalnoj veličini jedinice za kodiranje trenutne slike iz zaglavlja o trenutnoj slici, PPS-a ili SPS-a.
Takođe, prijemnik i ekstraktor 220 mogu da izdvoje informacije o kodiranju koje se odnose na jedinice podataka koje imaju strukturu stabla shodno svakoj maksimalnoj jedinici za kodiranje, iz raščlanjenog toka bitova. Informacije o kodiranoj dubini i režim kodiranja izdvojene su iz informacija o kodiranju. Izdvojene informacije o kodiranoj dubini i režimu kodiranja se emituju do dekodera 230. Drugim rečima, podaci slike u toku bitova mogu da se podele na maksimalnu jedinicu za kodiranje tako da dekoder 230 može da dekodira podatke slike za svaku maksimalnu jedinicu za kodiranje.
Informacije o kodiranoj dubini i režimu kodiranja shodno maksimalnoj jedinici za kodiranje mogu da se postave za informacije o najmanje jednoj jedinici za kodiranje koja odgovaraju kodiranoj dubini, a informacije o režimu kodiranja mogu da uključe informacije o tipu particije odgovarajuće jedinice za kodiranje odgovarajuće kodirane dubine, o tipu predikcije i o veličini jedinice za transformaciju. Za inter predikciju, informacije koje se odnose na filtriranje za interpolaciju radi interpolisanja jedinica subuzoraka, mogu biti izdvojene iz informacija o kodiranju shodno kodiranoj dubini. Takođe, informacije o deljenju shodno dubinama mogu da se izdvoje kao informacije o kodiranoj dubini.
Informacije o kodiranoj dubini i režimu kodiranja shodno svakoj maksimalnoj jedinici za kodiranje izdvojenih pomoću prijemnika i ekstraktora 220 su informacije o kodiranoj dubini i režimu kodiranja koje su određene za generisanje minimalne greške kodiranja kada koder, kao što je aparat za kodiranje video zapisa 100, iznova obavlja kodiranje za svaku jedinicu za dublje kodiranje shodno dubinama i svakoj maksimalnoj jedinici za kodiranje. Shodno tome, aparat za dekodiranje video zapisa 200 može da rekonstruiše sliku dekodiranjem podataka slike shodno kodiranoj dubini i režimu kodiranja koji generiše minimalnu grešku kodiranja.
Pošto informacije o kodiranju, koje se odnose na kodiranu dubinu i režim kodiranja, mogu da se dodele jedinici podataka unapred određenoj iz odgovarajuće jedinice za kodiranje, jedinice za predikciju i minimalne jedinice, prijemnik i ekstraktor 220 mogu da izdvoje informacije o kodiranoj dubini i režimu kodiranja shodno unapred određenim jedinicama podataka. Unapred određene jedinice podataka kojima su dodeljene iste informacije o kodiranoj dubini i režimu kodiranja mogu da se izvedu da budu jedinice podataka uključene u istu maksimalnu jedinicu za kodiranje.
Dekoder 230 može da odredi najmanje jednu kodiranu dubinu trenutne maksimalne jedinice za kodiranje korišćenjem informacija o deljenju shodno dubinama. Ukoliko informacije o deljenju predstavljaju da podaci slike više nisu podeljeni na trenutnoj dubini, trenutna dubina je kodirana dubina. Shodno tome, dekoder 230 može da dekodira kodirane podatke slike najmanje jedne jedinice za kodiranje koja odgovara svakoj kodiranoj dubini u trenutnoj maksimalnoj jedinici za kodiranje, korišćenjem informacija o tipu particije jedinice za predikciju, režimu predikcije i veličini jedinice za transformaciju za svaku jedinicu za kodiranje koja odgovara kodiranoj dubini i emituje podatke slike trenutne maksimalne jedinice za kodiranje.
Drugim rečima, jedinice podataka koje sadrže informacije o kodiranju, uključujući iste informacije o deljenju, mogu da se sakupe posmatranjem skupa informacija o kodiranju dodeljenog za jedinicu podataka unapred određenog od jedinice za kodiranje, jedinice za predikciju i minimalne jedinice, a sakupljene jedinice podataka mogu da se smatraju jednom jedinicom podataka koju treba dekodirati dekoderom 230 u istom režimu kodiranja.
Dekoder 230 može da rekonstruiše trenutnu sliku dekodiranjem kodiranih podataka slike na svakoj maksimalnoj jedinici za kodiranje na osnovu informacija o kodiranoj dubini i režimu kodiranja shodno maksimalnim jedinicama za kodiranje. Tip particije, režim predikcije i jedinica za transformaciju mogu da se očitaju kao režim kodiranja za svaku jedinicu za kodiranje iz reda jedinica za kodiranje koje imaju strukturu stabla koje su uključene u svaku maksimalnu jedinicu kodiranja. Proces dekodiranja može da uključi predikciju, uključujući intra predikciju i kompenzaciju kretanja, kao i inverznu transformaciju.
Dekoder 230 može da obavi intra predikciju ili kompenzaciju pokreta shodno particiji i režimu predikcije svake jedinice za kodiranje, na osnovu informacije o tipu particije i režima predikcije jedinice za predikciju jedinica za kodiranje koje imaju strukturu stabla.
Takođe, dekoder 230 može da očita strukturu jedinica za transformaciju koje imaju strukturu stabla i može da obavi inverznu transformaciju na svakoj jedinici za kodiranje na osnovu jedinica za transformaciju.
Aparat za dekodiranje video zapisa 200 može da pribavi informacije o najmanje jednoj jedinici za kodiranje koja generiše minimalnu grešku kodiranja dok se kodiranje rekurzivno obavlja za svaku maksimalnu jedinicu za kodiranje, i može da koristi informacije za dekodiranje trenutne slike. Drugim rečima, jedinice za kodiranje koje imaju strukturu stabla i koje su određene kao optimalne jedinice za kodiranje u svakoj maksimalnoj jedinici za kodiranje mogu da se dekodiraju. Takođe, maksimalna veličina jedinice za kodiranje je određena uzimajući u obzir rezoluciju i količinu podataka slike.
Shodno tome, čak i ako podaci slike imaju visoku rezoluciju i veliku količinu podataka, podaci slike mogu da se efikasno dekodiraju i rekonstruišu korišćenjem veličine jedinice za kodiranje i režima kodiranja, koji su adaptivno određeni shodno karakteristikama podataka slike, korišćenjem informacija o optimalnom režimu kodiranja primljenih sa kodera.
SL. 15 predstavlja dijagram za opisivanje koncepta jedinica za kodiranje shodno primeru predloženog pronalaska.
Veličina jedinice za kodiranje može da se izrazi u obliku širina x visina i može biti 64×64, 32×32, 16×16, i 8×8. Jedinica za kodiranje 64×64 može da se podeli na particije 64×64, 64×32, 32×64, ili 32×32, jedinica za kodiranje 32×32 može da se podeli na particije 32×32, 32×16, 16×32, ili 16×16, jedinica za kodiranje16×16 može da se podeli na 16×16, 16×8, 8×16, ili 8×8, i jedinica za kodiranje 8×8 može da se podeli na particije 8×8, 8×4, 4×8, ili 4×4.
U video podacima 310, rezolucija je 1920x1080, maksimalna veličina jedinice za kodiranje je 64 a maksimalna dubina je 2. U video podacima 320, rezolucija je 1920x1080, maksimalna veličina jedinice za kodiranje je 64 a maksimalna dubina je 3. U video podacima 330, rezolucija je 352×288, maksimalna veličina jedinice za kodiranje je 16 a maksimalna dubina je 1. Maksimalna dubina prikazana na SL. 15 označava ukupan broj podela sa maksimalne jedinice za kodiranje na minimalnu jedinicu za dekodiranje.
Ako je rezolucija visoka ili je količina podataka velika, maksimalna veličina jedinice za kodiranje može biti velika tako da ne samo da povećava efikasnost kodiranja, već i precizno oslikava karakteristike slike. Shodno tome, maksimalna veličina jedinice za kodiranje podataka video zapisa 310 i 320 koji imaju veću rezoluciju od podataka video zapisa 330 može biti 64.
Pošto maksimalna dubina podataka video zapisa 310 iznosi 2, jedinice za kodiranje 315 podataka video zapisa 310 mogu da uključe maksimalnu jedinicu za kodiranje koja ima veličinu duge ose od 64 i jedinice za kodiranje koje imaju veličine dugih osa od 32 i 16 pošto su dubine povećane za dva sloja dvostrukom podelom maksimalne jedinice za kodiranje. U međuvremenu, pošto maksimalna dubina podataka video zapisa 330 iznosi 1, jedinice za kodiranje 335 podataka video zapisa 330 mogu da uključe maksimalnu jedinicu za kodiranje koja ima veličinu duge ose od 16 i jedinice za kodiranje koje imaju veličine dugih osa od 8 pošto su dubine povećane za jedan sloj jednom podelom maksimalne jedinice za kodiranje.
Pošto maksimalna dubina podataka video zapisa 320 iznosi 3, jedinice za kodiranje 325 video podataka 320 mogu da uključe maksimalnu jedinicu za kodiranje koja ima veličinu duge ose od 64 i jedinice za kodiranje koje imaju veličine dugih osa od 32, 16 i 8 pošto su dubine povećane za 3 sloja podelom maksimalne jedinice za kodiranje tri puta. Kako se dubina povećava, detaljne informacije mogu precizno da se izraze.
SL. 16 predstavlja blok dijagram za koder slike 400 na osnovu jedinica za kodiranje, shodno primeru predloženog pronalaska.
Koder slike 400 obavlja operacije kodera 120 aparata za kodiranje video zapisa 100 da bi kodirao podatke slike. Drugim rečima, intra prediktor 410 obavlja intra predikciju na jedinicama za kodiranje u intra režimu, među jedinicama za kodiranje trenutnog okvira 405, estimator pokreta 420 i kompenzator pokreta 425 obavlja inter procenu i kompenzaciju pokreta na jedinicama za kodiranje u inter režimu među jedinicama za kodiranje trenutnog okvira 405 korišćenjem trenutnog okvira 405 i referentnog okvira 495.
Kako bi se obavila precizna procena pokreta korišćenjem referentnih piksela u jedinicama subuzoraka, estimator pokreta 420 i kompenzator pokreta 425 mogu da generišu piksele u jedinicama subuzoraka interpolacijom piksela u jedinicama celobrojnih uzoraka. Filter za interpolaciju za generisanje piksela u jedinicama subuzoraka može biti filter za uglačavanje koji je opisan uzimajući u obzir SLIKE 1 i 13A.
Izlazni podaci sa intra prediktora 410, estimatora pokreta 420 i kompenzatora pokreta 425 se šalju u obliku koeficijenta za kvantifikaciju transformacije preko transformatora 430 i kvantizatora 440. Koeficijent za kvantifikaciju transformacije se rekonstruiše dok se podaci u prostornom domenu šalju putem inverznog kvantizatora 460 i inverznog transformatora 470, a rekonstruisani podaci u prostornom domenu šalju u obliku referentnog okvira 495 nakon što se naknadno obrade u filteru za deblokiranje 480 i filteru petlje 490. Koeficijent za kvantifikovanu transformaciju može biti emitovan u obliku toka bitova 455 kroz entropijski koder 450.
Da bi se koder slike 400 primenio u aparatu za kodiranje video zapisa 100, svi elementi kodera slike 400, tj. intra prediktor 410, estimator pokreta 420, kompenzator pokreta 425, transformator 430, kvantizator 440, entropijski koder 450, inverzni kvantizator 460, inverzni transformator 470, filter za deblokiranje 480 i filter petlje 490 obavljaju operacije na osnovu svake jedinice za kodiranje koja ima strukturu stabla dok razmatraju maksimalnu dubinu svake maksimalne jedinice za kodiranje.
Konkretno, intra prediktor 410, estimator pokreta 420 i kompenzator pokreta 425 treba da odrede particije i režim predikcije svake jedinice za kodiranje među jedinicama za kodiranje koje imaju strukturu stabla dok razmatraju maksimalnu veličinu i maksimalnu dubinu trenutne maksimalne jedinice za kodiranje, a transformator 430 treba da odredi veličinu jedinice za transformaciju u svakoj jedinici za kodiranje među jedinicama za kodiranje koje imaju strukturu stabla.
SL. 17 predstavlja blok dijagram dekodera slike 500 zasnovan na jedinicama za kodiranje, shodno primeru predloženog pronalaska.
Analizator 510 raščlanjuje kodirane podatke slike da bi se dekodirali i informacije o kodiranju potrebne za dekodiranje toka bitova 505. Kodirani podaci slike se šalju kao inverzni kvantifikovani podaci kroz entropijski dekoder 520 i inverzni kvantizator 530, a inverzni kvantifikovani podaci se rekonstruišu u podatke slike u prostornom domenu kroz inverzni transformator 540.
Intra prediktor 550 obavlja intra predikciju na jedinicama za kodiranje intra režima u odnosu na podatke slike u prostornom domenu, a kompenzator pokreta 560 obavlja kompenzaciju pokreta na jedinicama za kodiranje u inter režimu korišćenjem referentnog okvira 585.
Kako bi bila obavljena precizna procena pokreta korišćenjem referentnih piksela u jedinicama subuzoraka, kompenzator pokreta 560 može da generiše piksele u jedinicama subuzoraka interpolacijom piksela u jedinicama celobrojnih uzoraka. Filter za interpolaciju za generisanje piksela u jedinicama subuzoraka može biti filter za uglačavanje koji je opisan uzimajući u obzir SLIKE 2 i 13B.
Podaci slike u prostornom domenu, koji prolaze kroz intra prediktor 550 i kompenzator pokreta 560 mogu se emitovati kao rekonstruisani okvir 595 nakon što se naknadno obrade u filteru za deblokiranje 570 i filteru petlje 580. Takođe, podaci slike koji se naknadno obrađuju u filteru za deblokiranje 570 i filteru petlje 580 mogu biti emitovani kao referentni okvir 585.
Da bi se dekodirali podaci slike u dekoderu 230 aparata za dekodiranje video zapisa 200, dekoder slike 500 može da obavlja operacije koje su obavljene nakon analizatora 510.
Da bi se dekoder slike 500 primenio u aparatu za dekodiranje video zapisa 200, svi elementi kodera slike 500, tj. analizator 510, entropijski dekoder 520, inverzni kvantizator 530, inverzni transformator 540, intra prediktor 550, kompenzator pokreta 560, filter za deblokiranje 570 i filter petlje 580 treba da obave operacije na osnovu jedinica za kodiranje sa strukturom stabla za svaku maksimalnu jedinicu za kodiranje.
Konkretno, intra prediktor 550 i kompenzator pokreta 560 treba da odrede particije i režim predikcije za svaku od jedinica za kodiranje koja imaju strukturu stabla, a inverzni transformator 540 treba da odredi veličinu jedinice za transformaciju za svaku jedinicu za kodiranje.
SL. 18 predstavlja dijagram koji ilustruje jedinice za dublje kodiranje shodno dubinama, i particije shodno primeru predloženog pronalaska.
Aparat za kodiranje video zapisa 100 i aparat za dekodiranje video zapisa 200 koriste hijerarhijske jedinice za kodiranje da bi razmotrili karakteristike slike. Maksimalna visina, maksimalna širina i maksimalna dubina jedinica za kodiranje mogu da se prilagodljivo odrede shodno karakteristikama slike, ili korisnik može da ih postavi na različiti način. Veličine jedinica za dublje kodiranje shodno dubinama mogu da se odrede shodno unapred određenoj maksimalnoj veličini jedinice za kodiranje.
U hijerarhijskoj strukturi 600 jedinica za kodiranje, shodno primeru predloženog pronalaska, maksimalna visina i maksimalna širina jedinica za kodiranje iznose 64, a maksimalna dubina je 3. U ovom slučaju, maksimalna dubina označava ukupan broj deljenja vremena koji je obavljen iz maksimalne jedinice za kodiranje u minimalnu jedinicu za kodiranje. Pošto se dubina povećava duž vertikalne ose hijerarhijske strukture 600, visina i širina svake jedinice za dublje kodiranje se deli. Takođe, jedinica za predikciju i particije koje predstavljaju osnovu za prediktivno kodiranje svake jedinice za dublje kodiranje, prikazane su duž horizontalne ose hijerarhijske strukture 600.
Drugim rečima, jedinica za kodiranje 610 je maksimalna jedinica za kodiranje u hijerarhijskoj strukturi 600 u kojoj dubina iznosi 0, a veličina, tj. visina puta širina iznosi 64×64. Dubina se povećava duž vertikalne ose, a postoje i jedinica za kodiranje 620 veličine 32×32 i dubine 1, jedinica za kodiranje 630 veličine 16×16 i dubine 2 i jedinica za kodiranje 640 veličine 8×8 i dubine 3. Jedinica za kodiranje 640 veličine 8×8 i dubine 3 je minimalna jedinica za kodiranje.
Jedinica za predikciju i particije jedinice za kodiranje su raspoređene duž horizontalne ose shodno svakoj dubini. Drugim rečima, ukoliko je jedinica za kodiranje 610 veličine 64×64 i dubine 0 jedinica za predikciju, jedinica za predikciju može da se podeli u particije uključenih u jedinicu za kodiranje 610, tj. particiju 610 veličine 64×64, particije 612 veličine 64×32, particije 614 veličine 32×64 ili particije 616 veličine 32×32.
Slično, jedinica za predikciju jedinice za kodiranje 620 veličine 32×32 i dubine 1 može da se podeli u particije uključene u jedinicu za kodiranje 620, tj. particiju 620 veličine 32×32, particije 622 veličine 32×16, particije 624 veličine 16×32 ili particije 626 veličine 16×16.
Slično, jedinica za predikciju jedinice za kodiranje 630 veličine 16×16 i dubine 2 može da se podeli u particije uključene u jedinicu za kodiranje 630, tj. particiju veličine 16×16, particije 632 veličine 16×8, particije 634 veličine 8×16 ili particije 636 veličine 8×8.
Slično, jedinica za predikciju jedinice za kodiranje 640 veličine 8×8 i dubine 3 može da se podeli u particije uključene u jedinicu za kodiranje 640, tj. particiju veličine 8×8, particije 642 veličine 8×4, particije 644 veličine 4×8 ili particije 646 veličine 4×4.
Da bi se odredila najmanje jedna kodirana dubina jedinica za kodiranje koje su sastavni deo maksimalne jedinice za kodiranje 610, koder 120 aparata za kodiranje video zapisa 100 obavlja kodiranje za jedinice za kodiranje koje odgovaraju svakoj dubini uključenoj u maksimalnu jedinicu za kodiranje 610.
Broj jedinica za dublje kodiranje, shodno dubinama koje uključuju podatke u istom opsegu i istoj veličini, se povećava kako dubina raste. Na primer, četiri jedinice za kodiranje koje odgovaraju dubini od 2 su potrebne da pokriju podatke koji su uključeni u jednu jedinicu za kodiranje koja odgovara dubini od 1. Shodno tome, da bi se uporedili rezultati kodiranja istih podataka shodno dubinama, kodiraju se jedinica za kodiranje koja odgovara dubini od 1 i četiri jedinice za kodiranje koje odgovaraju dubini od 2.
Da bi se obavilo kodiranje za trenutnu dubinu iz opsega dubina, najmanja greška kodiranja može da se izabere za trenutnu dubinu obavljanjem kodiranja za svaku jedinicu za predikciju u jedinicama za kodiranje koje odgovaraju trenutnoj dubini, duž horizontalne ose hijerarhijske strukture 600. Alternativno, minimalna greška kodiranja može da se potraži za poređenje najmanjih grešaka kodiranja shodno dubinama, obavljanjem kodiranja za svaku dubinu pošto se dubina povećava duž vertikalne ose hijerarhijske strukture 600. Dubina i particija koje imaju minimalnu grešku kodiranja u jedinici za kodiranje 610 mogu da se izaberu kao kodirana dubina i tip particije jedinice za kodiranje 610.
SL. 19 predstavlja dijagram za opisivanje veze između jedinice za kodiranje 710 i jedinica za transformaciju 720, shodno primeru predloženog pronalaska.
Aparat za kodiranje video zapisa 100 ili aparat za dekodiranje video zapisa 200 kodira ili dekodira sliku shodno jedinicama za kodiranje čije su veličine manje ili jednake veličini svih maksimalnih jedinica za kodiranje. Veličine jedinica za transformaciju za obavljanje transformacije tokom kodiranja mogu da se izaberu na osnovu jedinica podataka koje nisu veće od odgovarajuće jedinice za kodiranje.
Na primer, u aparatu za kodiranje video zapisa 100 ili aparatu za dekodiranje video zapisa 200, ukoliko veličina jedinice za kodiranje 710 iznosi 64×64, transformacija može da se obavi korišćenjem jedinica za transformaciju 720 veličine 32×32.
Takođe, podaci jedinice za kodiranje 710 veličine 64×64 mogu da se kodiraju obavljanjem transformacije na svakoj od jedinica za transformaciju veličina 32×32, 16×16, 8×8, i 4×4, koje su manje od 64×64, a zatim može da se izabere jedinica za transformaciju koja ima najmanju grešku kodiranja.
SL. 20 predstavlja dijagram za opisivanje informacija o kodiranju jedinica za kodiranje koje odgovaraju kodiranoj dubini, shodno primeru predloženog pronalaska.
Izlazna jedinica 130 aparata za kodiranje video zapisa 100 može da kodira i prenese informacije 800 o tipu particije, informacije 810 o režimu predikcije i informacije 820 o veličini jedinice za transformaciju za svaku jedinicu za kodiranje koja odgovara kodiranoj dubini, kao i informacije o režimu kodiranja.
Informacije 800 označavaju informacije o obliku particije dobijenih deljenjem jedinice za predikciju trenutne jedinice za kodiranje, gde je particija jedinica podataka za prediktivno kodiranje trenutne jedinice za kodiranje. Na primer, trenutna jedinica za kodiranje CU_0 koja je veličine 2N×2N može biti podeljena na bilo koju od particija 802 veličine 2N×2N, particija 804 veličine 2N×N, particija 806 veličine N×2N i particija 808 veličine N×N. Ovde su informacije 800 o tipu particije postavljene da označe jednu od particija 804 veličine 2N×N, particiju 806 veličine N×2N, i particiju 808 veličine N×N
Informacije 810 označavaju režim predikcije svake particije. Na primer, informacije 810 mogu da označe režim prediktivnog kodiranja koji se obavlja na particiji označenim informacijama 800, tj. intra režim 812, inter režim 814 ili režim preskakanja 816.
Informacije 820 označavaju jedinicu za transformaciju koju treba uzeti za osnovu kada se transformacija obavlja na trenutnoj jedinici za kodiranje. Na primer, jedinica za transformaciju može biti prva jedinica za intra transformaciju 822, druga jedinica za intra transformaciju 824, prva jedinica za inter transformaciju 826 ili druga jedinica za inter transformaciju 828.
Prijemnik i ekstraktor 220 aparata za dekodiranje video zapisa 200 mogu da izdvoje i koriste informacije 800, 810 i 820 za dekodiranje, shodno svakoj od jedinica za dublje kodiranje
SL. 21 predstavlja dijagram jedinica za dublje kodiranje shodno dubinama, shodno primeru predloženog pronalaska.
Informacije o deljenju mogu da se koriste da označe promenu dubine. Informacije o deljenju predstavljaju da li je jedinica za kodiranje trenutne dubine podeljena na jedinice za kodiranje manje dubine.
Jedinica za predikciju 910 za prediktivno kodiranje jedinice za kodiranje 900 dubine 0 i veličine 2N_0×2N_0 može da uključi particije tipa particije 912 veličine 2N_0×2N_0, tipa particije 914 veličine 2N_0×N_0, tipa particije 916 veličine N_0×2N_0 i tipa particije 918 veličine N_0×N_0. SL. 9 ilustruje samo tipove particije od 912 do 918 koji se dobijaju simetričnim deljenjem jedinice za predikciju 910, ali tip particije nije ograničen na njih, a particije jedinice za predikciju 910 mogu da uključe asimetrične particije, particije koje imaju unapred određeni oblik i particije koje imaju geometrijski oblik.
Prediktivno kodiranje se ponavlja na jednoj particiji veličine2N_0×2N_0, dve particije veličine 2N_0×N_0, dve particije veličine N_0×2N_0 i četiri particije veličine N_0×N_0, shodno svakom tipu particije. Prediktivno kodiranje u intra režimu i inter režimu može da se obavi na particijama veličina 2N_0×2N_0, N_0×2N_0, 2N_0×N_0, i N_0×N_0. Prediktivno kodiranje u režimu preskakanja se obavlja samo na particiji veličine 2N_0×2N_0.
Upoređene su greške kodiranja koje uključuju prediktivno kodiranje na tipovima particija 912 do 918 i određena je najmanje jedna greška kodiranja iz tipova particija. Ukoliko je greška kodiranja najmanja na jednom od tipova particija 912 do 916, jedinica za predikciju 910 možda neće biti podeljena na manju dubinu.
Ukoliko je greška kodiranja najmanja u tipu particije 918, dubina se menja iz 0 u 1 za deljenje tipa particije 918 u operaciji 920, a kodiranje se ponavlja na jedinicama za kodiranje 930 dubine 2 i veličine N_0×N_0 za pretragu minimalne greške kodiranja.
Jedinica za predikciju 940 za prediktivno kodiranje jedinice za kodiranje 930 dubine 1 i veličine 2N_1×2N_1 (=N_0×N_0) može da uključi particije tipa particije 942 veličine 2N_1×2N_1, tipa particije 944 veličine 2N_1×N_1, tipa particije 946 veličine N_1×2N_1 i tipa particije 948 veličine N_1×N_1.
Ukoliko je greška kodiranja najmanja u tipu particije 948, dubina se menja iz 1 u 2 za deljenje tipa particije 948 u operaciji 950, a kodiranje se ponavlja na jedinicama za kodiranje 960 dubine 2 i veličine N_2×N_2 za pretragu minimalne greške kodiranja.
Kada je maksimalna dubina d, jedinice za dublje kodiranje shodno dubinama može da se dodeli kada dubina postane d-1, a informacije o deljenju mogu da se kodiraju kada je dubina između 0 i d-2. Drugim rečima, kada se obavlja kodiranje u kome je dubina d-1 nakon što je jedinica za kodiranje koja odgovara dubini d-2 podeljena u operaciji 970, jedinica za predikciju 990 za prediktivno kodiranje jedinice za kodiranje 980 koja ima dubinu d-1 i veličinu 2N_(d-1)×2N_(d-1) može da uključi particije tipa particije 992 veličine 2N_(d-1)×2N_(d-1), tip particije 994 veličine 2N_(d-1)×N_(d-1), tip particije 996 veličine N_(d-1)×2N_(d-1) i tip particije 998 veličine N_(d-1)×N_(d-1).
Prediktivno kodiranje može da se obavi nekoliko puta na jednoj particiji veličine 2N_(d-1)×2N_(d-1), dve particije veličine 2N_(d-1)×N_(d-1), dve particije veličine N_(d-1)×2N_(d-1), četiri particije veličine N_(d-1)×N_(d-1) među tipovima particija od 992 do 998 da bi se potražio tip particije koji ima minimalnu grešku kodiranja.
Čak i kada tip particije 998 ima minimalnu grešku kodiranja, pošto je maksimalna dubina d, jedinica za kodiranje CU_(d-1) dubine d-1 se više ne deli na manje dubine, određeno je da kodirana dubina za jedinice za kodiranje koje su sastavni deo trenutne maksimalne jedinice za kodiranje 900 iznosi d-1, a može se odrediti da tip particije trenutne maksimalne jedinice za kodiranje 900 iznosi N_(d-1)×N_(d-1). Takođe, pošto je maksimalna dubina d, a minimalna jedinica za kodiranje 980 koja ima najmanju dubinu od d-1 se više ne deli na manje dubine, deljene informacije za minimalnu jedinicu za kodiranje 980 nisu postavljene.
Jedinica podataka 999 može biti „minimalna jedinica“ za trenutnu maksimalnu jedinicu za kodiranje. Minimalna jedinica shodno primeru predloženog pronalaska je pravougaona jedinica podataka dobijena deljenjem minimalne jedinice za kodiranje 980 sa 4. Uzastopnim obavljanjem kodiranja, aparat za kodiranje video zapisa 100 može da izabere dubinu koja ima najmanju grešku kodiranja poređenjem grešaka kodiranja shodno dubinama jedinice za kodiranje 900 da bi se odredila kodirana dubina i postavio odgovarajući tip particije i režim predikcije kao režim kodiranja kodirane dubine.
Kao takve, minimalne greške kodiranja shodno dubinama se porede na svim dubinama od 1 do d, a dubina sa najmanjom greškom kodiranja može da se odredi kao kodirana dubina. Kodirana dubina, tip particije jedinice za predikciju i režim predikcije mogu da se kodiraju i prenesu u obliku informacija o režimu kodiranja. Takođe, pošto se jedinica za kodiranje deli od dubine 0 do kodirane dubine, samo informacije o deljenju kodirane dubine se postavljaju na 0, a informacije o deljenju dubina izuzev kodirane dubine se postavljaju na 1.
Prijemnik i ekstraktor 220 aparata za kodiranje video zapisa 200 može da izdvoji i koristi informacije o kodiranoj dubini i jedinici za predikciju jedinice za kodiranje 900 za dekodiranje particije 912. Aparat za kodiranje video zapisa 200 može da odredi dubinu u kojoj informacije o deljenju dubina su 0, kao kodirana dubina korišćenjem informacija o deljenju shodno dubinama i korišćenjem informacija o režimu kodiranja odgovarajuće dubine za dekodiranje.
SL. 22 do 24 predstavljaju dijagrame za opisivanje veze između jedinica za kodiranje 1010, jedinica za predikciju 1060 i jedinica za transformaciju 1070 shodno primeru predloženog pronalaska.
Jedinice za kodiranje 1010 su jedinice za kodiranje sa strukturom stabla koje odgovaraju kodiranim dubinama koje je odredio aparat za kodiranje video zapisa 100 u maksimalnoj jedinici za kodiranje. Jedinice za predikciju 1060 su particije jedinica za predikciju svake od jedinica za kodiranje 1010, i jedinice za transformaciju 1070 su jedinice za transformaciju svake od jedinica za kodiranje 1010.
Kada je dubina maksimalne jedinice za kodiranje 0 u jedinicama za kodiranje 1010, dubine jedinica za kodiranje 1012 i 1054 su 1, dubine jedinica za kodiranje 1014, 1016, 1018, 1028, 1050 i 1052 su 2, dubine jedinica za kodiranje 1020, 1022, 1024, 1026, 1030, 1032 i 1048 su 3, a dubine jedinica za kodiranje 1040, 1042, 1044 i 1046 su 4.
U jedinicama za predikciju 1060, neke jedinice za kodiranje 1014, 1016, 1022, 1032, 1048, 1050, 1052 i 1054 se dobijaju deljenjem jedinica za kodiranje na jedinice za kodiranje 1010. Drugim rečima, tipovi particija u jedinicama za kodiranje 1014, 1022, 1050 i 1054 su veličine 2N×N, tipovi particija u jedinicama za kodiranje 1016, 1048 i 1052 su veličine N×2N, a tip particije jedinice za kodiranje 1032 je veličine N×N. Jedinice za predikciju i particije jedinica za kodiranje 1010 su manje ili jednake svakoj jedinici za kodiranje.
Transformacija ili inverzna transformacija se obavljaju na podacima slike jedinice za kodiranje 1052 u jedinicama za transformaciju 1070 u jedinici podataka koja je manja od jedinice za kodiranje 1052. Takođe, jedinice za kodiranje 1014, 1016, 1022, 1032, 1048, 1050 i 1052 u jedinicama za transformaciju 1070 se razlikuju od onih u jedinicama za predikciju 1060 u pogledu veličina i oblika. Drugim rečima, aparati za kodiranje i dekodiranje video zapisa 100 i 200 mogu da obavljaju intra predikciju, procenu pokreta, kompenzaciju pokreta, transformaciju i inverznu transformaciju pojedinačno na jedinici podataka u istoj jedinici za kodiranje.
Shodno tome, da bi se odredila optimalna jedinica za kodiranje, kodiranje se rekurzivno obavlja na svakoj od jedinica za kodiranje koje imaju hijerarhijsku strukturu u svakoj oblasti maksimalne jedinice za kodiranje, i na taj način mogu da se dobiju jedinice za kodiranje koje imaju rekurzivnu strukturu stabla. Informacije o kodiranju mogu da uključe informacije o deljenju koje se odnose na jedinicu za kodiranje, informacije o tipu particije, informacije o režimu predikcije i informacije o veličini jedinice za transformaciju. Tabela 1 prikazuje informacije o kodiranju koje mogu da postave aparati za kodiranje i dekodiranje video zapisa 100 i 200.
Tabela 1
Jedinica za izlazne podatke 130 aparata za kodiranje video zapisa 100 može da emituje informacije o kodiranju koje se odnose na jedinice za kodiranje koje imaju strukturu stabla, a prijemnik i ekstraktor 220 aparata za dekodiranje video zapisa 200 može da izdvoji informacije o kodiranju koje se odnose na jedinice za kodiranje koje imaju strukturu stabla iz primljenog toka bitova.
Informacije o deljenju predstavljaju da li je trenutna jedinica za kodiranje podeljena na jedinice za kodiranje manje dubine. Ako informacije o deljenju trenutne dubine d iznosi 0, dubina na kojoj se trenutna jedinica za kodiranje više ne deli na manje dubine predstavlja kodiranu dubinu i stoga informacije o tipu particije, režimu predikcije i veličini jedinice za transformaciju treba da se definišu za kodiranu dubinu. Ukoliko se trenutna jedinica za kodiranje dalje deli shodno informacijama o deljenju, kodiranje se nezavisno obavlja na četiri podeljene jedinice za kodiranje manje dubine.
Režim predikcije može biti jedan intra režim, inter režim i režim preskakanja. Intra režim i inter režim mogu da se definišu kod svih tipova particija, a režim preskakanja se definiše samo kod tipa particije veličine 2N×2N.
Informacije o tipu particije mogu da označe simetrične tipove particije veličina 2N×2N, 2N×N, N×2N, i N×N, koje se dobijaju simetričnim deljenjem visine ili širine jedinice za predikciju i asimetričnim tipovima particija veličina 2N×nU, 2N×nD, nL×2N, i nR×2N, koji se dobijaju asimetričnim deljenjem visine ili širine jedinice za predikciju. Asimetrični tipovi particija veličina 2N×nU i 2N×nD mogu da se ravnopravno dobiju deljenjem visine jedinice za predikciju na 1:3 i 3:1, a asimetrični tipovi particija veličina nL×2N i nR×2N mogu da se ravnopravno dobiju deljenjem širine jedinice za predikciju na 1:3 i 3:1.
Veličina jedinice za transformaciju može da se podesi tako da ima dva tipa u intra režimu i dva tipa u inter režimu. Drugim rečima, ako su informacije o deljenju jedinice za transformaciju 0, veličina jedinice za transformaciju može da bude 2N×2N, što je veličina trenutne jedinice za kodiranje. Ako su informacije o deljenju jedinice za transformaciju 1, jedinice za transformaciju mogu da se dobiju deljenjem trenutne jedinice za kodiranje. Takođe, ako je tip particije trenutne jedinice za kodiranje veličine 2N×2N simetrični tip particije, veličina jedinice za transformaciju može biti N×N, a ako je tip particije trenutne jedinice za kodiranje asimetrični tip particije, veličina jedinice za transformaciju može biti N/2×N/2.
Informacije o kodiranju koje se odnose na jedinice za kodiranje koje imaju strukturu stabla, mogu da uključe najmanje jednu jedinicu za kodiranje koja odgovara kodiranoj dubini, jedinicu za predikciju i minimalnu jedinicu. Jedinica za kodiranje koja odgovara kodiranoj dubini može da uključi najmanje jednu jedinicu za predikciju i minimalnu jedinicu koja sadrži iste informacije o kodiranju.
Shodno tome, određeno je da li su susedne jedinice podataka uključene u istu jedinicu za kodiranje koja odgovara kodiranoj dubini poređenjem informacija o kodiranju susednih jedinica podataka. Takođe, odgovarajuća jedinica za kodiranje koja odgovara kodiranoj dubini se određuje korišćenjem informacija o kodiranju jedinice podataka i na taj način može da se odredi distribucija kodiranih dubina na maksimalnoj jedinici za kodiranje.
Shodno tome, ako se trenutna jedinica za kodiranje predvidi na osnovu informacija o kodiranju susednih jedinica podataka, informacije o kodiranju jedinica podataka u jedinicama za dublje kodiranje koje su susedne trenutnoj jedinici za kodiranje mogu da se direktno označe i koriste.
Alternativno, ako je trenutna jedinica za kodiranje predviđena na osnovu informacija o kodiranju susednih jedinica podataka, jedinice podataka koje su susedne trenutnoj jedinici za kodiranje se pretražuju pomoću informacija o kodiranju jedinica podataka i pretražene susedne jedinice za kodiranje mogu da se označe za predviđanje trenutne jedinice za kodiranje.
SL. 25 predstavlja dijagram za opisivanje veze između jedinice za kodiranje, jedinice za predikciju ili particije i jedinice za transformaciju, shodno informacijama režima kodiranja iz tabele 1.
Maksimalna jedinica za kodiranje 1300 uključuje jedinice za kodiranje 1302, 1304, 1306, 1312, 1314, 1316 i 1318 kodiranih dubina. Ovde, pošto je jedinica za kodiranje 1318 jedinica za kodiranje kodirane dubine, informacije o deljenju mogu da se postave na 0. Informacije o tipu particije jedinice za kodiranje 1318 veličine 2N×2N mogu da se postave da budu jedan od tipova particije 1322 veličine 2N×2N, tip particije 1324 veličine 2N×N, tip particije 1326 veličine N×2N, tip particije 1328 veličine N×N, tip particije 1332 veličine 2N×nU, tip particije 1334 veličine 2N×nD, tip particije 1336 veličine nLx2N i tip particije 1338 veličine nR×2N.
Informacije o deljenju (indikator TU veličine) jedinice za transformaciju je vrsta indeksa transformacije, i veličina jedinice za transformaciju koja odgovara indeksu transformacije može da varira shodno tipu jedinice za predikciju tipa particije jedinice za kodiranje.
Na primer, kada se tip particije postavi da bude simetričan, tj. tip particije 1322, 1324, 1326 ili 1328, jedinica za transformaciju 1342 veličine 2N×2N je postavljena ako je indikator TU veličine 0, a jedinica za transformaciju 1344 veličine N×N je postavljena ako je indikator TU veličine 1.
Kada se tip particije podesi da bude asimetričan, tj. tip particije 1332, 1334, 1336 ili 1338, jedinica za transformaciju 1352 veličine 2N×2N je podešena ako je indikator TU veličine 0, a jedinica za transformaciju 1354 veličine N/2×N/2 je podešena ako je indikator TU veličine 1.
Shodno SL.21, indikator TU veličine je indikator koji ima vrednost 0 ili 1, ali indikator TU veličine nije ograničen na 1 bit, a jedinica za transformaciju može da se hijerarhijski podeli da bi imala strukturu stabla dok se indikator TU veličine povećava sa 0. Indikator TU veličine može da se koristi kao primer indeksa transformacije.
U ovom slučaju, veličina jedinice za transformaciju koja je stvarno korišćena može da se izrazi korišćenjem indikatora TU veličine jedinice za transformaciju, shodno primeru predloženog pronalaska, zajedno sa maksimalnom veličinom i minimalnom veličinom jedinice za transformaciju. Shodno primeru predloženog pronalaska, aparat za kodiranje video zapisa 100 ima mogućnost da kodira informacije o veličini maksimalne jedinice za transformaciju, informacije o veličini minimalne jedinice za transformaciju i indikator maksimalne TU veličine. Rezultat kodiranja informacija o veličini maksimalne jedinice za transformaciju, informacije o veličini minimalne jedinice za transformaciju i indikatora maksimalne TU veličine može da se umetne u SPS. Shodno primeru predloženog pronalaska, aparat za dekodiranje video zapisa 200 može da dekodira video zapis koristeći informacije o veličini maksimalne jedinice za transformaciju, informacije o veličini minimalne jedinice za transformaciju i indikator maksimalne TU veličine.
Na primer, (a) ako je veličina trenutne jedinice za kodiranje 64×64 a veličina maksimalne jedinice za transformaciju je 32×32, tada (a-1) veličina jedinice za transformaciju može biti 32×32 kada je indikator TU veličine 0, (a-2) može biti 16×16 kada je indikator TU veličine 1 i može biti 8×8 kada je indikator TU veličine 1, i (a-3) može biti 8×8 kada je indikator TU veličine 2.
Još jedan primer, (b) ako je veličina trenutne jedinice za kodiranje 32×32 a veličina maksimalne jedinice za transformaciju je 32×32, tada (b-1) veličina jedinice za transformaciju može biti 32×32 kada je indikator TU veličine 0. Ovde, indikator TU veličine ne može da se postavi na vrednost koja nije 0, pošto veličina jedinice za transformaciju ne može biti manja od 32×32.
Još jedan primer, (c) ako je veličina trenutne jedinice za kodiranje 64×64, a indikator maksimalne TU veličine je 1, tada indikator TU veličine može biti 0 ili 1. Ovde, indikator TU veličine ne može da se postavi na vrednost koja nije 0 ili 1.
Stoga, ako je definisano da je indikator maksimalne TU veličine „MaxTransformSizeIndex“, minimalna veličina jedinice za transformaciju „MinTransformSize“, a glavna veličina jedinice za transformaciju „RootTuSize“ kada je indikator maksimalne TU veličine 0, tada se trenutna minimalna veličina jedinice za transformaciju „CurrMinTuSize“ može odrediti u trenutnoj jedinici za kodiranje i može da se definiše jednačinom (1):
CurrMinTuSize=max(MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex))
….... (1)
U poređenju sa trenutnom minimalnom veličinom jedinice za transformaciju „CurrMinTuSize“ koja može da se odredi u trenutnoj jedinici za kodiranje, glavna veličina jedinice za transformaciju „RootTuSize“ može da označi maksimalnu veličinu jedinice za transformaciju koja može da se izabere u sistemu. U jednačini (1), „RootTuSize/(2^MaxTransformSizeIndex)“ označava veličinu jedinice za transformaciju kada je glavna veličina jedinice za transformaciju „RootTuSize“ podeljena onoliko puta koji odgovara indikatoru maksimalne TU veličine, a „MinTransformSize“ označava minimalnu veličinu transformacije. Stoga, manja vrednost od „RootTuSize/(2^MaxTransformSizeIndex)“ i „MinTransformSize“ može biti veličina trenutne minimalne jedinice za transformaciju „CurrMinTuSize“ koja može da se odredi u trenutnoj jedinici za kodiranje.
Shodno primeru predloženog pronalaska, glavna veličina jedinice za transformaciju „RootTuSize“ može da varira shodno tipu režima predikcije.
Na primer, ako je trenutni režim predikcije inter režim, tada „RootTuSize“ može da se odredi korišćenjem jednačine (2) u nastavku. U jednačini (2), „MaxTransformSize“ označava veličinu maksimalne jedinice za transformaciju, a „PUSize“ označava veličinu trenutne jedinice za predikciju.
RootTuSize=min(MaxTransformSize, PUSize) ......... (2) To jest, ako je trenutni režim predikcije inter režim, glavna veličina jedinice za transformaciju „RootTuSize“ kada je indikator TU veličine 0 može biti manja vrednost od maksimalne veličine jedinice za transformaciju i trenutne veličine jedinice za predikciju.
Ako je režim predikcije trenutne jedinice za particionisanje intra režim, tada „RootTuSize“ može da se odredi korišćenjem jednačine (3) u nastavku. U jednačini (3), „PatritionSize“ označava veličinu trenutne jedinice za particionisanje.
RootTuSize=min(MaxTransformSize, PartitionSize) ...........(3)
To jest, ako je trenutni režim predikcije intra režim, glavna veličina jedinice za transformaciju „RootTuSize“ može imati manju vrednost od maksimalne veličine jedinice za transformaciju i od veličine trenutne jedinice za particionisanje.
Međutim, trenutna maksimalna veličina jedinice za transformaciju koja varira shodno tipu režima predikcije u jedinici za particionisanje, glavna transformacija veličine jedinice „RootTuSize“ je samo primer i nije ograničena predloženim pronalaskom.
SL. 26 predstavlja dijagram toka metode kodiranja video zapisa pomoću filtera za interpolaciju i uglačavanje na osnovu jedinica za kodiranje koje imaju strukturu stabla, shodno primeru predloženog pronalaska.
U operaciji 2610, da bi ulazni video trenutne slike bio kodiran, trenutna slika je podeljena na bar jednu maksimalnu jedinicu za kodiranje. Svaka od bar jedne podeljene oblasti, koja je dobijena deljenjem oblasti svake maksimalne jedinice za kodiranje shodno dubinama, može biti kodirana. Da bi svaka podeljena oblast bila kodirana shodno dubinama, obavljene su transformacija i kvantizacija na rezultatu inter predikcije na osnovu interpolacije jedinice subuzoraka i intra predikcije.
Ovde, podeljena dubina za slanje konačnih rezultata kodiranja shodno bar jednoj podeljenoj oblasti može biti određena upoređivanjem rezultata kodiranja podeljenih oblasti shodno dubinama, i jedinice za kodiranje koje su uključene u trenutnu maksimalnu jedinicu za kodiranje koja ima strukturu stabla mogu da se odrede. Kao jedinice za kodiranje koje imaju strukturu stabla, i jedinice za transformaciju koje imaju strukturu stabla mogu biti određene. Drugim rečima, rezultat kodiranja slike, kao određene jedinice za kodiranje koje imaju strukturu stabla, rezultat kodiranja jedinica za transformaciju koje imaju strukturu stabla mogu biti emitovane kao kodirani podaci slike.
Inter predikcija se može obaviti na svakoj jedinici za predikciju ili particiji jedinice za kodiranje. Pokret trenutne jedinice za predikciju ili particije može biti predviđen uzimajući u obzir piksele koji su generisani interpolacijom jedinice subuzoraka. Iz reda filtera za interpolaciju za generisanje vrednosti piksela jedinice subuzoraka, filter za interpolaciju je drugačije odabran na osnovu lokacije za interpolaciju i uglačenosti. Da bi se efikasno izvršila interpolacija slike, koeficijenti filtera za interpolaciju mogu biti selektivno izabrani.
Iz reda koeficijenata filtera za interpolaciju prethodno sačuvanih u memoriji, željeni filter za interpolaciju se može odabrati shodno lokaciji za interpolaciju jedinice subuzoraka, uglačenosti, broja tap filtera, dubine bita, faktora skaliranja, osnovne funkcije filtriranja za interpolaciju na osnovu transformacije i boje komponente, i interpolacija može se obaviti kako bi se generisala vrednost piksela jedinice subuzoraka.
U operaciji 2620, dobijeni podaci slike kao konačan rezultat kodiranja shodno bar jednoj podeljenoj oblasti iz svake maksimalne jedinice za kodiranje, i informacije o kodiranoj dubini i režimu kodiranja se emituju kao tok bitova.
Informacije o režimu kodiranja mogu uključiti informacije o kodiranoj dubini ili informacije o deljenju, informacije o tipu particije jedinice za predikciju, informacije o režimu predikcije i informacije o strukturi stabla jedinice za transformaciju. Informacije o kodiranju mogu uključiti informacije o filteru za interpolaciju koje se koriste za prediktivno kodiranje jedinice subuzoraka. Informacije o kodiranju koje se odnose na režim kodiranja mogu da se prenesu na aparat za dekodiranje zajedno sa kodiranim podacima slike.
SL. 27 predstavlja dijagram toka metode dekodiranja video zapisa pomoću filtera za interpolaciju i uglačavanje na osnovu jedinica za kodiranje koje imaju strukturu stabla, shodno primeru predloženog pronalaska..
Tokom operacije 2710, tok bitova kodiranog video zapisa se prima i raščlanjuje. U operaciji 2720, kodirani podaci slike trenutne slike dodeljene maksimalnoj jedinici za kodiranje i informacije o kodiranoj dubini i režimu kodiranja shodno maksimalnim jedinicama za kodiranje se izdvajaju iz raščlanjenog toka bitova. Informacije o filteru za interpolaciju treba da obave kompenzaciju pokreta jedinice subuzoraka, može biti izdvojena iz informacije o kodiranju.
Informacije o kodiranoj dubini i režimu kodiranja mogu se izdvojiti iz informacije o kodiranju. Shodno informacijama o kodiranoj dubini i režimu kodiranja, maksimalna jedinica za kodiranje može da se podeli na jedinice za kodiranje sa strukturom stabla. Takođe, shodno informacijama o strukturi stabla jedinica za transformaciju koje su uključene u izdvojene informacije, jedinice za transformaciju sa strukturom stabla shodno dubinama transformacije u jedinicama za kodiranje mogu biti određene.
U operaciji 2730, korišćenjem informacije o kodiranoj dubini i režimu kodiranja shodno svakoj maksimalnoj jedinici za kodiranje, podaci slike svake maksimalne jedinice za kodiranje mogu se dekodirati na osnovu jedinica za kodiranje sa strukturom stabla, jedinica za predikciju i jedinica za transformaciju sa strukturom stabla. Budući da je trenutna jedinica za kodiranje dekodirana na osnovu informacije o kodiranoj dubini i režimu kodiranja, trenutna jedinica za kodiranje može biti inverzno transformisana korišćenjem jedinice za transformaciju koja je određena iz reda jedinica za transformaciju sa strukturom stabla.
Kodirani podaci slike mogu se dekodirati obavljanjem raznih operacija dekodiranja kao što su kompenzacija pokreta i intra predikcija na svakoj jedinici za predikciju ili particija jedinice za kodiranje na osnovu režima kodiranja.
Konkretno, ako su kodirani preostali podaci i referentni podaci izdvojeni na osnovu interpolisanih piksela u jedinicu subuzoraka, kompenzacija pokreta na trenutnoj jedinici za predikciju ili trenutnoj particiji može biti obavljena na osnovu piksela koji su interpolisani u jedinice subuzoraka. Iz reda filtera za interpolaciju za generisanje vrednosti piksela jedinice subuzoraka filter za interpolaciju može biti drugačije odabran na osnovu lokacije za interpolaciju i uglačenosti.
Da bi se efikasno izvršila interpolacija slike, koeficijenti filtera za interpolaciju mogu biti selektivno izabrani. Iz reda koeficijenata filtera za interpolaciju prethodno sačuvanih u memoriji, željeni filter za interpolaciju se može odabrati shodno lokaciji za interpolaciju jedinice subuzoraka, uglačenosti, broja tap filtera, dubine bita, faktora skaliranja, osnovne funkcije filtriranja za interpolaciju na osnovu transformacije i boje komponente, i interpolacija može se obaviti kako bi se generisala vrednost piksela jedinice subuzoraka.
Referentna slika i referentna oblasti određene su korišćenjem referentnih podataka, i vrednost piksela jedinice subuzoraka može biti generisana obavljanjem filtriranja za interpolaciju na dva ili više referentna piksela jedinica celobrojnih uzoraka referentne slike. Kompenzacija pokreta može se obaviti na trenutnoj jedinici za predikciju ili trenutnoj particiji kombinovanjem generisane vrednosti piksela jedinice subuzoraka i preostalih podataka, i time može biti obavljeno prediktivno dekodiranje.
Budući da je maksimalna jedinica za kodiranje dekodirana, podaci slike u prostornom domenu mogu se rekonstruisati, i slika i video zapis koji su sekvenca slike mogu biti rekonstruisani. Rekonstruisani video zapis može da se reprodukuje aparatom za reprodukciju, može se sačuvati u medijumu za skladištenje ili može da se prenosi putem mreže.
Primeri predloženog pronalaska mogu da se napišu kao računarski programi i mogu da se implementiraju na digitalnim računarima za opštu upotrebu koji izvršavaju programe koristeći medijum za snimanje koji može čitati računar. Primeri medijuma za snimanje koji može čitati računar obuhvataju medijume za magnetsko skladištenje (npr. ROM, diskete, čvrsti diskovi, itd.) i medijume za optičko snimanje (npr. CD- ROM-ovi, ili DVD-i).
Sledeći numerisani paragrafi definišu još neke aspekte ili primere pronalaska koji su korisni za razumevanje .
1. Metoda interpolacije slike uzimajući u obzir uglačavanje sadrži:
Drugačiji izbor filtera za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačenosti iz reda filtera za interpolaciju za generisanje bar jedne vrednosti piksela jedinice subuzoraka koji se nalaze između piksela jedinice celobrojnih uzoraka; i Generisanje bar jedne vrednost piksela jedinice subuzoraka interpolacijom vrednosti piksela od piksela jedinica celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju..
2. Metod iz paragrafa 1, gde, filter za interpolaciju uključuje koeficijente filtera za transformaciju piksela jedinice celobrojnih uzoraka na osnovu mnoštva osnovnih funkcija i inverznom transformacijom mnoštva koeficijenata generisanih kao rezultat transformacije.
3. Metod iz paragrafa 1, gde, filter za interpolaciju uključuje koeficijente filtera koji imaju uglačanost određenu na osnovu razdaljine između lokacije za interpolaciju i piksela jedinica celobrojnih uzoraka.
4. Metod iz paragrafa 1, gde, filteri za interpolaciju uključuju koeficijente filtera koji imaju određenu uglačanost koja je određena na osnovu razdaljine između lokacije za interpolaciju i piksela jedinice celobrojnih uzoraka koji su susedni lokaciji za interpolaciju.
5. Metod iz paragrafa 2, gde, da bi se pikseli jedinica celobrojnih uzoraka interpolisali u prostorni domen, filter za interpolaciju uključuje koeficijente filtera dobijenih kombinovanjem filtera za obavljanje transformacije i inverzne transformacije korišćenjem mnoštva osnovnih funkcija i prozor funkcije, i
gde je prozor funkcija simetrična u odnosu na lokaciju za interpolaciju.
6. Metod iz paragrafa 2, gde, da bi se pikseli jedinice celobrojnih uzoraka interpolisali u prostorni domen, filter za interpolaciju uključuje koeficijente filtera dobijene kombinovanjem filtera za obavljanje transformacije i inverzne transformacije korišćenjem mnoštva osnovnih funkcija i parametra uglačavanja, i
gde parametar uglačavanja kontroliše bar jednu brzinu uglačavanja i opseg uglačavanja.
7. Metod iz paragrafa 2, gde, filter za interpolaciju uključuje koeficijente filtera za najjaču granicu uglačavanja piksela jedinica celobrojnih uzoraka na osnovu graničnog stanja splajn funkcije kao osnovne funkcije.
8. Metod iz paragrafa 2, gde, filter za interpolaciju uključuje koeficijente filtera za maksimiziranje niskofrekventnog odziva filtera za interpolaciju na osnovu funkcije polinoma kao osnovne funkcije.
9. Metod iz paragrafa 1, gde, izbor filtera za interpolaciju uključuje izbor filtera za interpolaciju uključujući koeficijente filtera koji su skalirani do celih brojeva, iz reda filtera za interpolaciju, i
gde generisanje bar jedne vrednosti piksela jedinice subuzoraka uključuje normalizaciju bar jedne vrednosti piksela jedinice subuzoraka koja je generisana korišćenjem odabranog filtera za interpolaciju na osnovu faktora skaliranja.
10. Metoda paragrafa 1, gde, izbor filtera za interpolaciju uključuje, da bi se piksel boje interpolisao, izbor filtera za interpolaciju koji ima jaču uglačanost od filtera za interpolaciju piksela osvetljenja, iz reda filtera za interpolaciju, i
gde generisanje bar jedne vrednosti piksela jedinice subuzoraka obuhvata generisanje bar jedne vrednosti piksela jedinice subuzoraka korišćenjem drugačije odabranog filtera za interpolaciju shodno pikselu boje i pikselu osvetljenja.
11. Metod iz paragrafa 1, gde, filteri za interpolaciju obuhvataju bar jedan od (i) 8-tap filter za interpolaciju 1/4 jedinice uzoraka koji ima faktor skaliranja 26 i uključuje koeficijente filtera {-1, 4, -10, 57, 19, -7, 3, -1}, (ii) 8-tap filter za interpolaciju 1/2 jedinice uzoraka koji ima faktor skaliranja 26 i uključuje koeficijente filtera {-1, 4, -11, 40, 40, -11, 4, -1}, (iii) 4-tap filter za interpolaciju 1/8 jedinice uzoraka koji ima faktor skaliranja 26 i uključuje koeficijente filtera {-3, 60, 8, -1}, (iv) 4-tap filter za interpolaciju 1/4 jedinice uzoraka koji ima faktor skaliranja 26 i uključuje koeficijente filtera {-4, 54, 16, -2}, (v) 4-tap filter za interpolaciju 3/8 jedinice uzoraka koji ima faktor skaliranja 26 i uključuje koeficijente filtera {-5, 46, 27, -4} i (vi) 4-tap filter za interpolaciju 1/2 jedinice uzoraka koji ima faktor skaliranja 2<6>i uključuje koeficijente filtera {-4, 36, 36, -4}.
12. Metod iz paragrafa 1 obuhvata:
kod kodera video zapisa, drugačije odabran filter za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačenosti iz reda filtera za interpolaciju koji su sačuvani u koder video zapisa, u odnosu na svaki blok ulazne slike, obavljanje prediktivnog kodiranja radi generisanja bar jedne vrednosti piksela jedinice subuzoraka interpolacijom vrednosti piksela za piksele jedinica celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju, i obavljanje transformacije i kvantizacije na rezultatu predikcije prediktivnog kodiranja; i
emitovanje toka bitova generisanih obavljanjem entropijskog kodiranja na kvantifikovanim koeficijentima transformacije i informacije o kodiranju.
13. Metod iz paragrafa 1 obuhvata:
kod video dekodera, prijem kodiranog toka bitova video zapisa i izdvajanje informacije o kodiranju i kodiranih podataka slike video zapisa obavljanjem entropijskog dekodiranja i raščlanjivanja na tok bitova; i
obavljanje inverzne kvantizacije i inverzne transformacije na kvantifikovanim koeficijentima transformacije na kodiranim podacima trenutnog bloka slike, drugačiji izbor filtera za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačenosti iz reda filtera za interpolaciju koji su sačuvani u dekoder video zapisa, obavljanje prediktivnog dekodiranja radi generisanja bar jedne vrednosti piksela jedinice subuzoraka interpolacijom vrednosti piksela za piksele jedinice celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju, i rekonstrukciju slike.
14. Aparat za interpolaciju slike, uzimajući u obzir uglačavanje obuhvata: selektor filtera za drugačiji izbor filtera za interpolaciju na osnovu lokacije za interpolaciju jedinice subuzoraka i uglačenosti iz reda filtera za interpolaciju za generisanje bar jedne vrednosti piksela jedinice subuzoraka koji se nalaze između piksela jedinica celobrojnih uzoraka slike; i
interpolator za generisanje bar jedne vrednosti piksela jedinice subuzoraka interpolacijom vrednosti piksela za piksele jedinica celobrojnih uzoraka korišćenjem odabranog filtera za interpolaciju.
15. Medijum za snimanje koji može čitati računar sa snimljenim računarskim programom za izvršavanje metode iz paragrafa 1.

Claims (1)

PATENTNI ZAHTEV
1. Postupak za kompenzaciju pokreta, pri čemu postupak obuhvata:
određivanje, u luminansi referentne slike, referentnog bloka luminanse za predviđanje trenutnog bloka, korišćenjem vektora kretanja luminanse trenutnog bloka;
generisanje uzorka luminanse za lokaciju 1/2-piksela, lokaciju 1/4-piksela ili lokaciju 3/4-piksela u referentnom bloku luminanse primenom 8-tap interpolacijskog filtera na uzorke luminanse celobrojne lokacije piksela boje referentne slike;
određivanje, u hrominansi referentne slike, referentnog bloka hrominanse za predviđanje trenutnog bloka, korišćenjem vektora boje pokreta trenutnog bloka; i generisanje uzorka boje na lokaciji 1/2-piksela koji su uključeni u referentni blok boje primenom interpolacijskog filtera na uzorke boje celobrojne lokacije piksela boje referentne slike,
naznačen time da 8-tap interpolacijski filter obuhvata osam koeficijenata filtera za generisanje uzorka luminanse za lokaciju 1/2-pixel, koji su { -1, 4, -11, 40, 40, -11, 4, -1},
pri čemu vektor kretanja luminanse označava lokaciju pod-piksela za jedinicu 1/4-pikela u luminansi referentne slike,
pri čemu su koeficijenti filtera 8-tap interpolacijskog filtera za generisanje uzorka luminanse za lokaciju 1/4-piksela isti, ali su postavljeni u suprotnom redosledu, kao koeficijenti filtera od 8-tap interpolacijskog filtera za generisanje uzorka luminanse za lokaciju 3/4-piksela.
RS20171115A 2010-09-30 2011-09-30 Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje RS56473B1 (sr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US38826410P 2010-09-30 2010-09-30
US201061426479P 2010-12-22 2010-12-22
US201161431909P 2011-01-12 2011-01-12
US201161450775P 2011-03-09 2011-03-09

Publications (1)

Publication Number Publication Date
RS56473B1 true RS56473B1 (sr) 2018-01-31

Family

ID=45893683

Family Applications (3)

Application Number Title Priority Date Filing Date
RS20170915A RS56359B1 (sr) 2010-09-30 2011-09-30 Uređaj za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje
RS20170662A RS56176B1 (sr) 2010-09-30 2011-09-30 Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje
RS20171115A RS56473B1 (sr) 2010-09-30 2011-09-30 Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje

Family Applications Before (2)

Application Number Title Priority Date Filing Date
RS20170915A RS56359B1 (sr) 2010-09-30 2011-09-30 Uređaj za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje
RS20170662A RS56176B1 (sr) 2010-09-30 2011-09-30 Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje

Country Status (18)

Country Link
US (5) US9124902B2 (sr)
EP (7) EP4318277A3 (sr)
JP (7) JP5654685B2 (sr)
KR (7) KR101452861B1 (sr)
CN (6) CN105072443B (sr)
BR (2) BR122020014075B1 (sr)
CY (4) CY1119447T1 (sr)
DK (4) DK2996335T3 (sr)
ES (5) ES2646306T3 (sr)
HR (4) HRP20170917T1 (sr)
HU (5) HUE034477T2 (sr)
LT (4) LT2996336T (sr)
MX (5) MX2013003606A (sr)
PL (5) PL2860980T3 (sr)
PT (4) PT2996336T (sr)
RS (3) RS56359B1 (sr)
SI (4) SI2953355T1 (sr)
WO (1) WO2012044105A2 (sr)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011121716A1 (ja) * 2010-03-30 2011-10-06 株式会社 東芝 動画像符号化方法、復号化方法、符号化装置および復号化装置
KR101682147B1 (ko) * 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
KR101686945B1 (ko) * 2010-07-09 2016-12-15 삼성전자주식회사 영상 보간 방법 및 장치
JP5665508B2 (ja) * 2010-11-30 2015-02-04 キヤノン株式会社 画像処理装置及び方法、並びにプログラム及び記憶媒体
WO2012178178A2 (en) 2011-06-24 2012-12-27 General Instrument Corporation Selection of phase offsets for interpolation filters for motion compensation
BR122021004606B1 (pt) * 2011-06-28 2023-04-18 Samsung Electronics Co., Ltd Aparelho de decodificação de vídeo
KR101956284B1 (ko) * 2011-06-30 2019-03-08 엘지전자 주식회사 보간 방법 및 이를 이용한 예측 방법
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
DE102011119177A1 (de) * 2011-11-23 2013-05-23 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Verfahren zum Erstellen eines ersten Parametersatzes
JP5911166B2 (ja) * 2012-01-10 2016-04-27 シャープ株式会社 画像処理装置、画像処理方法、画像処理プログラム、撮像装置、及び画像表示装置
US8675102B2 (en) * 2012-06-08 2014-03-18 Apple Inc. Real time denoising of video
US20140078394A1 (en) * 2012-09-17 2014-03-20 General Instrument Corporation Selective use of chroma interpolation filters in luma interpolation process
EP2942963A4 (en) * 2013-01-04 2016-08-17 Samsung Electronics Co Ltd VIDEO CODING WITH SCALABLE DEVICE THROUGH IMAGE-UPSAMPLING, INCLUDING PHASE SHIFTING AND SCALABLE VIDEO DECODING METHOD AND DEVICE
AU2014227060B2 (en) * 2013-03-07 2017-04-06 Japan Oil, Gas And Metals National Corporation Image processing device, method for image processing, and image processing program
DE102013219737B4 (de) 2013-09-30 2019-05-09 Siemens Healthcare Gmbh Angiographisches Untersuchungsverfahren eines Gefäßsystems
JP2015144423A (ja) * 2013-12-25 2015-08-06 三星電子株式会社Samsung Electronics Co.,Ltd. 画像符号化装置、画像復号化装置、それらの方法、プログラム及び画像処理システム
CN110225360A (zh) * 2014-04-01 2019-09-10 联发科技股份有限公司 视频编码中自适应内插滤波的方法
KR102440941B1 (ko) 2015-03-03 2022-09-05 삼성전자주식회사 이미지 처리 정보에 따라 크기와 방향을 갖는 초기 위상을 계산할 수 있는 이미지 처리 장치들
KR102402671B1 (ko) 2015-09-09 2022-05-26 삼성전자주식회사 보간 필터의 연산 복잡도를 조절할 수 있는 영상 처리 장치, 영상 보간 방법 및 영상 부호화 방법
GB201516670D0 (en) * 2015-09-21 2015-11-04 Taranis Visual Method and system for interpolating data
JP6678735B2 (ja) 2015-09-25 2020-04-08 華為技術有限公司Huawei Technologies Co.,Ltd. 予測符号化のための適応シャープニングフィルタ
BR112018006031A2 (pt) 2015-09-25 2018-10-09 Huawei Tech Co Ltd codificador de vídeo, decodificador de vídeo e métodos para codificação e decodificação preditiva
CA2999826C (en) * 2015-09-25 2020-10-13 Huawei Technologies Co., Ltd. Apparatus and method for video motion compensation with selectable interpolation filter
MY185713A (en) * 2015-09-25 2021-05-31 Huawei Tech Co Ltd Apparatus and method for video motion compensation
JP6673599B2 (ja) 2015-09-25 2020-03-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオ動き補償のための装置及び方法
KR102367708B1 (ko) 2015-11-17 2022-02-24 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩 방법 및 장치
US10009622B1 (en) 2015-12-15 2018-06-26 Google Llc Video coding with degradation of residuals
CN115297330B (zh) * 2016-02-01 2025-03-25 Oppo广东移动通信有限公司 预测图像生成装置、运动图像解码装置、以及运动图像编码装置
KR20180042899A (ko) * 2016-10-19 2018-04-27 디지털인사이트 주식회사 적응적 보간 필터를 사용하는 비디오 코딩 방법 및 장치
WO2018097700A1 (ko) 2016-11-28 2018-05-31 한국전자통신연구원 필터링을 위한 방법 및 장치
CN116320497A (zh) 2016-11-28 2023-06-23 韩国电子通信研究院 用于滤波的方法和装置
CN117061736A (zh) * 2017-01-13 2023-11-14 谷歌有限责任公司 视频代码化的复合预测
CN110583021B (zh) * 2017-01-31 2023-06-02 夏普株式会社 用于执行平面帧内预测视频编码的系统和方法
US10499078B1 (en) * 2017-02-07 2019-12-03 Google Llc Implicit motion compensation filter selection
KR102511546B1 (ko) * 2017-02-24 2023-03-17 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10440396B2 (en) * 2017-03-28 2019-10-08 Qualcomm Incorporated Filter information sharing among color components
JP6981811B2 (ja) 2017-08-25 2021-12-17 株式会社ニューフレアテクノロジー パターン検査装置及びパターン検査方法
US11044490B2 (en) * 2017-09-28 2021-06-22 Sharp Kabushiki Kaisha Motion compensation filter apparatus, image decoding apparatus, and video coding apparatus
JP7005854B2 (ja) * 2017-11-07 2022-01-24 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオ符号化のためのインター予測装置の補間フィルタ及び方法
KR102424189B1 (ko) * 2018-02-14 2022-07-21 후아웨이 테크놀러지 컴퍼니 리미티드 적응형 보간 필터
US20190273946A1 (en) * 2018-03-05 2019-09-05 Markus Helmut Flierl Methods and Arrangements for Sub-Pel Motion-Adaptive Image Processing
CN111903132B (zh) 2018-03-29 2023-02-10 华为技术有限公司 图像处理装置和方法
TWI677233B (zh) * 2018-08-02 2019-11-11 瑞昱半導體股份有限公司 決定濾波器係數的方法
GB2577339A (en) * 2018-09-24 2020-03-25 Sony Corp Image data encoding and decoding
JP7250917B2 (ja) * 2018-10-06 2023-04-03 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 補間フィルタを使用するイントラ予測のための方法および装置
MY209825A (en) * 2018-12-31 2025-08-06 Panasonic Ip Corp America Encoder, decoder, encoding method, and decoding method
EP3912343A4 (en) 2019-03-08 2022-07-20 Beijing Bytedance Network Technology Co., Ltd. Constraints on model-based reshaping in video processing
CN113678437A (zh) * 2019-03-28 2021-11-19 华为技术有限公司 用于帧内平滑的方法和装置
WO2020211869A1 (en) 2019-04-18 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation in cross component mode
BR112021019675A2 (pt) 2019-04-23 2021-12-07 Beijing Bytedance Network Tech Co Ltd Método para processamento de mídia visual, aparelho codificador de vídeo, aparelho decodificador de vídeo, e, mídia legível por computador
CN113796072B (zh) 2019-05-08 2023-10-03 北京字节跳动网络技术有限公司 跨分量编解码的适用性条件
JP7418478B2 (ja) 2019-06-22 2024-01-19 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのためのシンタックス要素
CN110351482A (zh) * 2019-06-25 2019-10-18 杭州汇萃智能科技有限公司 图像预处理装置、方法和一种相机
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
JP6797247B2 (ja) * 2019-07-10 2020-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオ動き補償用の装置および方法
CN120416507A (zh) 2019-09-23 2025-08-01 阿里巴巴集团控股有限公司 通过重采样执行运动补偿插值的滤波器
US20210176486A1 (en) * 2019-12-09 2021-06-10 Alibaba Group Holding Limited Methods and apparatuses for motion compensation
EP4128755A4 (en) 2020-04-29 2023-09-06 Huawei Technologies Co., Ltd. Method and apparatus of subsample interpolation filtering
EP3965009A1 (en) * 2020-09-08 2022-03-09 Robert Bosch GmbH Device and method for training a scale-equivariant convolutional neural network
KR20210023911A (ko) * 2021-02-10 2021-03-04 인텔렉추얼디스커버리 주식회사 인트라 예측 방법 및 장치
WO2022211715A1 (en) * 2021-03-31 2022-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Smooth surface prediction
TR2021011002A1 (tr) * 2021-07-06 2023-01-23 Aselsan Elektronik Sanayi Ve Ticaret As Fpga üzeri̇nde gerçek zamanli x-model/plus-model fi̇ltre i̇le yüksek kali̇teli̇ vi̇deo ölçekleme
US12132895B2 (en) * 2021-12-06 2024-10-29 Tencent America LLC Interpolation filters for adaptive motion vector difference resolution
WO2023200135A1 (ko) * 2022-04-15 2023-10-19 현대자동차주식회사 크로마 성분에 대한 개선된 인루프필터를 이용하는 비디오 코딩을 위한 방법 및 장치
US12470705B2 (en) * 2023-01-12 2025-11-11 Qualcomm Incorporated Fractional-pel block vector for video coding
KR20250128146A (ko) * 2024-02-20 2025-08-27 세종대학교산학협력단 참조 샘플들의 절대값 차이합을 기초로 하는 적응형 보간 필터를 이용한 비디오 부호화/복호화 방법 및 장치

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07266331A (ja) * 1994-03-30 1995-10-17 Hitachi Chem Co Ltd 単結晶の切断方法
JP3637740B2 (ja) * 1997-08-25 2005-04-13 三菱住友シリコン株式会社 ワイヤソーおよびインゴット切断方法
JP3075269B2 (ja) 1998-10-13 2000-08-14 セイコーエプソン株式会社 画像データ補間方法、画像データ補間装置および画像データ補間プログラムを記録した媒体
WO2001018743A1 (en) * 1999-09-03 2001-03-15 Cheng T C Fast and efficient computation of cubic-spline interpolation for data compression
US6768817B1 (en) 1999-09-03 2004-07-27 Truong, T.K./ Chen, T.C. Fast and efficient computation of cubic-spline interpolation for data compression
DE10055286A1 (de) * 2000-11-08 2002-05-23 Freiberger Compound Mat Gmbh Vorrichtung und Verfahren zum Trennen von Werkstoffen
DE10122628B4 (de) * 2001-05-10 2007-10-11 Siltronic Ag Verfahren zum Abtrennen von Scheiben von einem Werkstück
JP4120301B2 (ja) * 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
SG140441A1 (en) * 2003-03-17 2008-03-28 St Microelectronics Asia Decoder and method of decoding using pseudo two pass decoding and one pass encoding
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR101038822B1 (ko) 2003-09-07 2011-06-03 마이크로소프트 코포레이션 인터레이스형 비디오의 코딩 및 디코딩
US7502505B2 (en) 2004-03-15 2009-03-10 Microsoft Corporation High-quality gradient-corrected linear interpolation for demosaicing of color images
US8165389B2 (en) 2004-03-15 2012-04-24 Microsoft Corp. Adaptive interpolation with artifact reduction of images
US7623575B2 (en) * 2005-01-05 2009-11-24 Lsi Corporation Method and apparatus for sub-pixel motion compensation
KR20070055212A (ko) 2005-11-25 2007-05-30 삼성전자주식회사 프레임 보간장치, 프레임 보간방법 및 움직임 신뢰성평가장치
CN100566413C (zh) * 2006-06-05 2009-12-02 华为技术有限公司 一种自适应插值处理方法及编解码模块
US9014280B2 (en) * 2006-10-13 2015-04-21 Qualcomm Incorporated Video coding with adaptive filtering for motion compensated prediction
JP2008118447A (ja) * 2006-11-06 2008-05-22 Canon Inc 画像形成装置及び画像形成方法ならびにそのプログラム
CN101212672B (zh) * 2006-12-30 2011-01-05 安凯(广州)微电子技术有限公司 视频内容自适应的亚像素插值方法和装置
KR101369746B1 (ko) * 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
KR101418116B1 (ko) * 2007-10-24 2014-07-09 고려대학교 산학협력단 프레임 보간 장치 및 그를 포함한 프레임 속도 상향 변환장치
JP4988627B2 (ja) * 2008-03-05 2012-08-01 ルネサスエレクトロニクス株式会社 フィルタ演算器及び動き補償装置
RU2011103915A (ru) * 2008-07-04 2012-08-10 Кабусики Кайся Тосиба (Jp) Способ и устройство кодирования/декодирования движущегося изображения
US8610673B2 (en) * 2008-12-03 2013-12-17 Microsoft Corporation Manipulation of list on a multi-touch display
US8761268B2 (en) * 2009-04-06 2014-06-24 Intel Corporation Selective local adaptive wiener filter for video coding and decoding
WO2011086672A1 (ja) * 2010-01-13 2011-07-21 株式会社 東芝 動画像符号化装置および復号装置
KR101686945B1 (ko) * 2010-07-09 2016-12-15 삼성전자주식회사 영상 보간 방법 및 장치
US20120134425A1 (en) * 2010-11-29 2012-05-31 Faouzi Kossentini Method and System for Adaptive Interpolation in Digital Video Coding
PL2658263T3 (pl) * 2010-12-22 2023-03-13 Lg Electronics Inc. Sposób predykcji wewnątrzramkowej i urządzenie wykorzystujące ten sposób
US20120230423A1 (en) * 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding

Also Published As

Publication number Publication date
SI2860980T1 (sl) 2017-08-31
EP2953355A1 (en) 2015-12-09
DK2996335T3 (da) 2017-11-20
JP2015165726A (ja) 2015-09-17
KR20140096004A (ko) 2014-08-04
US9277247B2 (en) 2016-03-01
CN104994381B (zh) 2019-01-04
PL2996336T3 (pl) 2017-11-30
EP2624558A4 (en) 2015-03-25
JP2015057919A (ja) 2015-03-26
EP3276961A1 (en) 2018-01-31
ES2640666T3 (es) 2017-11-03
KR101452861B1 (ko) 2014-10-27
KR20140122215A (ko) 2014-10-17
JP5654685B2 (ja) 2015-01-14
JP2015165727A (ja) 2015-09-17
JP2015188261A (ja) 2015-10-29
HUE034477T2 (en) 2018-02-28
HRP20171672T1 (hr) 2018-01-12
JP2013542666A (ja) 2013-11-21
HUE068806T2 (hu) 2025-01-28
EP2996335A1 (en) 2016-03-16
PL2953355T3 (pl) 2017-12-29
EP2996335B1 (en) 2017-11-01
EP3276961C0 (en) 2024-08-28
EP2624558A2 (en) 2013-08-07
DK2953355T3 (da) 2017-06-26
HUE036401T2 (hu) 2018-07-30
LT2953355T (lt) 2017-07-10
HRP20171386T1 (hr) 2017-11-03
US20150237358A1 (en) 2015-08-20
CN104994381A (zh) 2015-10-21
CN105049843A (zh) 2015-11-11
SI2953355T1 (sl) 2017-07-31
CN105072443B (zh) 2018-07-27
EP2953355B1 (en) 2017-06-14
KR101707610B1 (ko) 2017-02-16
CY1119203T1 (el) 2018-02-14
RS56359B1 (sr) 2017-12-29
US20150237359A1 (en) 2015-08-20
CN105049844A (zh) 2015-11-11
HUE037725T2 (hu) 2018-09-28
US9179167B2 (en) 2015-11-03
MX339848B (es) 2016-06-15
US9118933B1 (en) 2015-08-25
PT2996336T (pt) 2017-09-22
JP6902937B2 (ja) 2021-07-14
JP2017188943A (ja) 2017-10-12
WO2012044105A2 (ko) 2012-04-05
EP4318277A3 (en) 2024-02-28
EP2860980A1 (en) 2015-04-15
PT2953355T (pt) 2017-06-26
HRP20170981T1 (hr) 2017-09-22
US9253507B2 (en) 2016-02-02
KR101658806B1 (ko) 2016-09-22
PT2860980T (pt) 2017-07-12
US20150237357A1 (en) 2015-08-20
KR20150041762A (ko) 2015-04-17
PL3276961T3 (pl) 2024-11-18
HUE035494T2 (en) 2018-05-02
CN105072443A (zh) 2015-11-18
KR101658807B1 (ko) 2016-09-22
ES2630107T3 (es) 2017-08-18
JP2015188260A (ja) 2015-10-29
RS56176B1 (sr) 2017-11-30
LT2996336T (lt) 2017-09-25
CY1119447T1 (el) 2018-03-07
EP3276961B1 (en) 2024-08-28
KR20150041761A (ko) 2015-04-17
PL2860980T3 (pl) 2017-09-29
WO2012044105A3 (ko) 2012-06-07
US20150245058A1 (en) 2015-08-27
CN105049844B (zh) 2017-07-28
KR20140146560A (ko) 2014-12-26
KR20150041763A (ko) 2015-04-17
ES2646306T3 (es) 2017-12-13
CN104980738A (zh) 2015-10-14
DK2860980T3 (en) 2017-07-17
LT2996335T (lt) 2017-11-27
SI2996336T1 (sl) 2017-10-30
MX336877B (es) 2016-02-04
EP2860980B1 (en) 2017-06-28
KR20120034057A (ko) 2012-04-09
EP4318277A2 (en) 2024-02-07
PL2996335T3 (pl) 2018-02-28
CN103238320A (zh) 2013-08-07
CN103238320B (zh) 2016-06-01
EP2996336B1 (en) 2017-09-13
CY1119450T1 (el) 2018-03-07
CN105049843B (zh) 2018-02-06
BR122020014075B1 (pt) 2023-11-28
US9124902B2 (en) 2015-09-01
ES2985808T3 (es) 2024-11-07
MX339849B (es) 2016-06-15
BR122021005436B1 (pt) 2022-08-23
MX339850B (es) 2016-06-15
LT2860980T (lt) 2017-07-10
MX2013003606A (es) 2013-04-24
KR101539235B1 (ko) 2015-07-27
CN104980738B (zh) 2017-04-12
CY1119672T1 (el) 2018-04-04
SI2996335T1 (sl) 2017-12-29
PT2996335T (pt) 2017-11-14
US20130182780A1 (en) 2013-07-18
HRP20170917T1 (hr) 2017-09-22
KR101657537B1 (ko) 2016-09-19
ES2629870T3 (es) 2017-08-16
EP2996336A1 (en) 2016-03-16
DK2996336T3 (en) 2017-10-02
KR101658808B1 (ko) 2016-09-22

Similar Documents

Publication Publication Date Title
RS56473B1 (sr) Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje
RS58193B1 (sr) Postupak dekodiranja korišćenjem interpolacionih filtera
RS56092B1 (sr) Uređaj za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje