Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
RS58193B1 - Postupak dekodiranja korišćenjem interpolacionih filtera - Google Patents
[go: Go Back, main page]

RS58193B1 - Postupak dekodiranja korišćenjem interpolacionih filtera - Google Patents

Postupak dekodiranja korišćenjem interpolacionih filtera

Info

Publication number
RS58193B1
RS58193B1 RS20181490A RSP20181490A RS58193B1 RS 58193 B1 RS58193 B1 RS 58193B1 RS 20181490 A RS20181490 A RS 20181490A RS P20181490 A RSP20181490 A RS P20181490A RS 58193 B1 RS58193 B1 RS 58193B1
Authority
RS
Serbia
Prior art keywords
unit
interpolation
filter
coding
pel
Prior art date
Application number
RS20181490A
Other languages
English (en)
Inventor
Elena Alshina
Alexander Alshin
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 RS58193B1 publication Critical patent/RS58193B1/sr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/537Motion estimation other than block-based
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)

Description

[Tehničko polje]
Predmetni pronalazak se odnosi na kodiranje predviđanja pomoću kompenzacije pokreta.
[Stanje tehnike]
U tipičnim postupcima kodiranja i dekodiranja slike, kako bi se kodirala slika, jedna slika se deli na makro blokove. Nakon toga, kodiranje predviđanja se vrši na svakom makro bloku korišćenjem inter predviđanja ili intra predviđanja.
Inter predviđanje se odnosi na postupak kompresovanja slike uklanjanjem privremene redundancije između slika, i njegov reprezentativni primer je kodiranje procene pokreta. Kod kodiranja procene pokreta, svaki blok trenutne slike se predviđa korišćenjem barem jedne referentne slike. Referentni blok koji je najsličniji trenutnom bloku se nalazi u unapred određenom rasponu pretrage korišćenjem prethodno utvrđene funkcije evaluacije.
Trenutni blok se predviđa na osnovu referentnog bloka, i rezidualni blok dobijen oduzimanjem od trenutnog bloka predviđanja koji generisan kao rezultat predviđanja koji je kodiran. U tom slučaju, kako bi se preciznije izvršilo predviđanje, interpolacija se vrši u rasponu traženja referentne slike, generišu se pikseli sub-pel-jedinice manji od piksela celobrojne-peljedinice, i inter predviđanje se vrši na generisanim pikselima sub-pel-jedinica.
MCCANN KET AL: „HEVC Test Model 3 (HM 3) Encoder Description“, NETWORK WORKING GROUP RFC 1717, interT SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, CH, no. JCTVC-E602, 29. mart 2011 (2011-03-29), opisuje kompenzaciju pokreta korišćenjem interpolacionog filtriranja u odeljku [5.4.3 Interpolation filter]. Interpolacioni filter sa 8 tačaka sa koeficijentima {-1, 4, -10, 57, 19, -7, 3, -1} se koristi za luma interpolaciju na 1/4 položaju piksela. Za luma interpolaciju na 3/4 položaju piksela koristi se interpolacioni filter sa 8 tačaka sa koeficijentima {-1, 3, - 7, 19, 57, -10, 4, -1}.
[Obelodanjenje]
【 Tehnički problem】
Predmetni pronalazak pruža postupak dekodiranja video zapisa za inter-predviđanje slike pomoću kompenzacije pokreta pomoću interpolacionog filtera, tako da generiše piksel sub-peljedinice interpolacijom piksela celobrojne-pel-jedinice.
【 Tehničko rešenje】
Predmetni pronalazak je kako je navedeno u postupku dekodiranja video zapisa prema patentnom zahtevu 1.
Sve pojave reči „otelotvorenje“, osim onih koje se odnose na patentni zahtev 1, odnose se na primere korisne za razumevanje pronalaska koji su prvobitno podneti, ali koji ne predstavljaju otelotvorenja predmetnog pronalaska; ovi primeri su prikazani samo u ilustrativne svrhe.
【 Pogodni efekti】
Kako bi se efikasno izvodila interpolacija slika, iz interpolacionih filtera za generisanje vrednosti piksel sub-pel-jedinice, interpolacioni filter je drugačije odabran na osnovu položaja interpolacije sub-pel-jedinice. Interpolacioni filter može biti interpolacioni filter parnog ili neparnog broja tačaka kako bi interpolirao sub-pel-jedinicu. Interpolacioni filter se može odabrati kao simetrični ili asimetrični interpolacioni filter u skladu sa položajem interpolacije.
【 Opis crteža】
SLIKA 1 je blok dijagram uređaja za interpolaciju slike u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 2 je dijagram za opisivanje veze između celobrojne-pel-jedinice i sub-pel jedinice;
SLIKA 3 je dijagram koji ilustruje susedne piksele celobrojne-pel-jedinice na koje se treba pozvati kako bi se odredila vrednost piksela sub-pel-jedinice u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKE 4A do 4C su dijagrami koji ilustruju primere piksela celobrojne-pel-jedinice na koju se poziva, kako bi se odredila vrednost piksela sub-pel-jedinice u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 5A je dijagram za opisivanje postupka interpolacionog filtriranja koristeći referentne piksele asimetrično locirane u odnosu na položaj interpolacije kako bi se odredila vrednost piksel sub-pel-jedinice, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 5B je dijagram za opisivanje postupka interpolacije pomoću interpolacionog filtera koji uključuje neparan broj koeficijenata filtera kako bi se odredila vrednost piksela sub-peljedinice, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 6 grafik je faktora ublažavanja na osnovu parametra ublažavanja interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 7 je grafik odziva frekvence amplitude interpolacionih filtera, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 8 je dijagram toka postupka interpolacije slike prema otelotvorenju predmetnog pronalaska;
SLIKE 9A do 9D, respektivno, prikazuju koeficijente filtera interpolacionih filtera sa 3 do 6 tačaka, određene na osnovu položaja interpolacije i veličine prozora filtera, prema otelotvorenjima predmetnog pronalaska;
SLIKE 10A do 10C, respektivno, prikazuju koeficijente filtera interpolacionih filtera sa 7 tačaka određenih na osnovu položaja interpolacije i veličine prozora filtera u skladu sa otelotvorenjima predmetnog pronalaska;
SLIKE 11A do 11C, respektivno, prikazuju koeficijente filtera interpolacionih filtera sa 8 tačaka određenih na osnovu položaja interpolacije i veličine prozora filtera, prema otelotvorenjima predmetnog pronalaska;
SLIKE 12A i 12B, respektivno, prikazuju koeficijente filtera regularizovanog luma interpolacionog filtera i regularizovanog hroma interpolacionog filtera, u skladu sa otelotvorenjima predmetnog pronalaska;
SLIKA 13A je blok dijagram uređaja za kodiranje video zapisa pomoću interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 13B je blok dijagram uređaja za dekodiranje video zapisa pomoću interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 14A je dijagram toka postupka kodiranja slike pomoću interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska.
SLIKA 14B je dijagram toka postupka dekodiranja slike pomoću interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska.
SLIKA 15 je dijagram za opisivanje koncepta jedinica kodiranja prema otelotvorenju predmetnog pronalaska;
FIG.16 je blok dijagram enkodera slike na osnovu jedinica kodiranja, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 17 je blok dijagram dekodera slike na osnovu jedinica kodiranja, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 18 je dijagram koji ilustruje dublje jedinice kodiranja prema dubinama i particijama, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 19 je dijagram za opisivanje veze između jedinice kodiranja i jedinice transformacije, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 20 je dijagram za opisivanje informacija o kodiranju jedinica kodiranja koje odgovaraju kodiranoj dubini, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 21 je dijagram dublje jedinica kodiranja prema dubinama, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKE 22 do 24 su dijagrami za opisivanje veze između jedinica kodiranja, jedinica predviđanja i jedinica transformacije, u skladu sa otelotvorenjem predmetnog pronalaska;
SLIKA 25 je dijagram za opisivanje veze između jedinice kodiranja, jedinice predviđanja ili particije i jedinice transformacije, prema informacijama o režimu kodiranja iz tabele 1;
SLIKA 26 je dijagram toka postupka kodiranja video zapisa pomoću interpolacionog filtera na osnovu jedinica kodiranja koje imaju strukturu stabla, u skladu sa otelotvorenjem predmetnog pronalaska; i
SLIKA 27 je dijagram toka postupka dekodiranja video zapisa pomoću interpolacionog filtera na osnovu jedinica kodiranja koje imaju strukturu stabla, u skladu sa otelotvorenjem predmetnog pronalaska.
【 Najbolji režim】
Pronalazak je definisan u patentnom zahtevu 1.
[Režim pronalaska]
U sledećem opisu, 'slika' može sveobuhvatno da se odnosi na pokretnu sliku kao što je video zapis, kao i na nepokretnu slika.
Interpolacija pomoću asimetričnog interpolacionog filtera i simetričnog interpolacionog filtera u smislu ublažavanja, u skladu sa otelotvorenjem predmetnog pronalaska, obelodanjena je u odnosu na SLIKE 1 do 12B. Takođe, kodiranje i dekodiranje video zapisa pomoću asimetričnog interpolacionog filtera i simetričnog interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska, su obelodanjeni u odnosu na SLIKE 13A do 27. Konkretno, kodiranje i dekodiranje video zapisa pomoću asimetričnog interpolacionog filtera i simetričnog interpolacionog filtera na osnovu jedinica kodiranja koje imaju strukturu stabla, u skladu sa otelotvorenjem predmetnog pronalaska, obelodanjeni su u odnosu na SLIKE 15 do 25.
Interpolacija pomoću asimetričnog interpolacionog filtera i simetričnog interpolacionog filtera u smislu ublažavanja, prema otelotvorenju predmetnog pronalaska, sada će biti detaljno opisana u odnosu na SLIKE 1 do 12B.
SLIKA 1 je blok dijagram uređaja za interpolaciju slike 10 prema otelotvorenju predmetnog pronalaska.
Uređaj za interpolaciju slike 10 koji koristi simetrične i asimetrične interpolacione filtere uključuje selektor filtera 12 i interpolator 14. Operacije selektora filtera 12 i interpolatora 14 uređaja za interpolaciju slike 10 mogu se kooperativno kontrolisati procesorom kodiranja video signala, jedinicom centralnog procesora (CPU) i grafičkim procesorom
Uređaj za interpolaciju slike 10 može dobiti ulaznu sliku i može generisati vrednosti piksela sub-pel-jedinice pomoću interpolacije piksela celobrojne-pel-jedinice. Ulazna slika može biti sekvenca slike, slika, kadar ili blokovi video zapisa.
Selektor filtera 12 može drugačije odabrati interpolacioni filter za generisanje najmanje jedne vrednosti piksela sub-pel-jedinice koja se nalazi između celobrojnih-pel-jedinica, na osnovu položaja interpolacije sub-pel-jedinice.
Interpolator 14 može interpolirati piksele celobrojne-pel-jedinice u blizini položaja interpolacije sub-pel-jedinice pomoću interpolacionog filtera izabranog od strane selektora filtera 12, čime se generišu vrednosti piksela sub-pel-jedinice. Interpolaciono filtriranje piksela celobrojnepel-jedinice za generisanje vrednosti piksela sub-pel-jedinice mogu uključivati interpolaciono filtriranje vrednosti referentnih piksela celobrojne-pel-jedinice, uključujući piksele celobrojne-peljedinice u blizini položaja interpolacije sub-pel-jedinice u području koji podržava interpolacioni filter.
Interpolacioni filter može uključivati koeficijente filtera za transformaciju referentnih piksela celobrojne-pel-jedinice na osnovu mnoštva osnovnih funkcija, i za obrnuto transformisanje mnoštva koeficijenata generisanih kao rezultat transformacije.
Interpolacioni filter može biti jednodimenzionalni filter ili dvodimenzionalni filter. Ako je izabrani interpolacioni filter jednodimenzionalni filter, interpolator 14 može kontinuirano vršiti filtriranje pomoću jednodimenzionalnih interpolacionih filtera u dva ili više pravaca, čime se generiše trenutna vrednost piksela sub-pel-jedinice.
Selektor filtera 12 može pojedinačno odabrati interpolacioni filter u skladu sa položajem interpolacije sub-pel-jedinice. Interpolacioni filter može uključivati simetrični interpolacioni filter koji uključuje iste brojeve koeficijenta filtera sa obe strane položaja interpolacije u području koje podržava simetrični interpolacioni filter, i asimetrični interpolacioni filter koji uključuje različite brojeve koeficijenta filtera sa obe strane položaja interpolacije u području koje podržava asimetrični interpolacioni filter. Selektor filtera 12 može individualno odabrati simetrični interpolacioni filter i asimetrični interpolacioni filter u skladu sa položajem interpolacije sub-pel-jedinice.
Na primer, interpolacioni filter sa 7 tačaka može uključivati tri koeficijenta filtera i četiri koeficijenta filtera sa obe strane položaja interpolacije u području podržanom od strane interpolacionog filtera sa 7 tačaka. U ovom slučaju interpolacioni filter sa 7 tačaka može se smatrati asimetričnim interpolacionim filterom.
Na primer, interpolacioni filter sa 8 tačaka može uključivati četiri koeficijenta filtera i četiri koeficijenta filtera sa obe strane položaja interpolacije, u području podržanom od strane interpolacionog filtera sa 8 tačaka. U ovom slučaju interpolacioni filter sa 8 tačaka može se smatrati simetričnim interpolacionim filterom.
Ako selektor filtera 12 bira asimetrični interpolacioni filter, interpolator 14 može izvršiti filtriranje piksela celobrojne-pel-jedinice asimetrično lociranim u odnosu na položaj interpolacije. Inače, ako je izabran simetrični interpolacioni filter, interpolator 14 može vršiti filtriranje na pikselima celobrojne-pel-jedinice, simetrično lociranim u odnosu na položaj interpolacije.
Interpolacioni filter može uključivati asimetrični interpolacioni filter sa neparnim brojem tačaka, uključujući neparnim brojem koeficijenata filtera, i simetrični interpolacioni filter sa parnim brojem tačaka koji uključuje parni broj koeficijenata filtera. Selektor filtera 12 može pojedinačno odabrati asimetrični interpolacioni filter sa neparnim brojem tačaka i simetrični interpolacioni filter sa parnim brojem tačaka u skladu sa položajem interpolacije sub-pel-jedinice. Na primer, interpolacioni filter 1/2-pel-jedinice i interpolacioni filter 1/4-pel-jedinice mogu biti pojedinačno i različito izabrani. Prema tome, interpolacioni filter sa 8 tačaka, tj. simetrični interpolacioni filter sa parnim brojem tačaka, može se izabrati kao interpolacioni filter 1/2-pel-jedinice, i interpolacioni filter sa 7 tačaka, tj. Interpolacioni filter sa neparnim brojem tačaka, može se izabrati kao interpolacioni filter 1/4-pel-jedinice.
Kako bi se interpolirali pikseli celobrojne-pel-jedinice u prostornom domenu, svaki interpolacioni filter može se dobiti kombinovanjem koeficijenta filtera za izvršavanje transformacije i inverzne transformacije koristeći mnoštvo osnovnih funkcija i koeficijente filtera prozora za izvršavanje niško propusnog filtriranja.
Interpolacioni filter se može generisati na osnovu filtera prozora koji je asimetričan u odnosu na položaj interpolacije ili filter prozora koji je simetričan u odnosu na položaj interpolacije.
Asimetrični interpolacioni filter se takođe može generisati kombinovanjem filtera za izvršavanje transformacije i inverzne transformacije na osnovu mnoštva osnovnih funkcija i asimetričnog filtera prozora.
Ako je izabran interpolacioni filter neparnog broja tačaka, interpolator 14 može izvršiti filtriranje na neparnom broju piksela celobrojnih-pel-jedinica koji je lociran u odnosu na položaj interpolacije, koristeći neparan broj koeficijenata filtera interpolacionog filtera sa neparnim brojem tačaka.
Ako je izabran interpolacioni filter sa parnim brojem tačaka, interpolator 14 može izvršiti filtriranje na parnom broju piksela celobrojne-pel-jedinice koji je lociran u odnosu na položaj interpolacije, koristeći parni broj koeficijenata filtera interpolacionog filtera sa parnim brojem tačaka
Interpolacioni filter neparnog broja tačaka može uključivati različite brojeve koeficijenata filtera na obe strane položaja interpolacije u odgovarajućem potpornom području, i stoga može biti asimetrični interpolacioni filter. Interpolacioni filter parnog broja tačaka može biti simetrični interpolacioni filter koji uključuje iste brojeve koeficijenata filtera na obe strane položaja interpolacije u odgovarajućem potpornom području.
Selektor filtera 12 može izabrati interpolacioni filter regularizovan da minimizuje grešku odgovora frekvence generisanu kao rezultat interpolacije pomoću interpolacionog filtera. Na primer, regularizovan interpolacioni filter može uključivati i) interpolacioni filter 1/4-pel-jedinice, koji uključuje koeficijente filtera od 7 tačaka {-1, 4, -10, 58, 17, -5, 1}, i ima veličinu prozora od 8,7, i ii) interpolacioni filter 1/2-pel-jedinice, koji uključuje koeficijente filtera sa osam tačaka {-1, 4, -11, 40, 40, -11, 4, -1}, i ima veličine prozora 9.5.
Takođe, selektor filtera 12 može pojedinačno i drugačije odabrati interpolacioni filter prema komponentama boje. Na primer, regularizovani interpolacioni filter za luma piksele može se odrediti kao interpolacioni filter 1/4-pel-jedinice sa 7 tačaka i interpolacioni filter 1/2-pel-jedinice sa 8 tačaka. Regularizovani interpolacioni filter za hroma piksele može se odrediti kao interpolacioni filter 1/8-pel-jedinice, 1/4-pel-jedinice, i 1/2-pel-jedinice sa 4 tačke.
Određeni regularizovani interpolacioni filter za hroma piksele može uključivati i) interpolacioni filter 1/8-pel-jedinice, koji uključuje koeficijente filtera sa 4 tačke {-2, 58, 10, -2} za 1/8 položaj interpolacije i koji ima ublaženost od 0,012, ii) interpolacioni filter 1/4-pel-jedinice koji uključuje koeficijente filtera sa 4 tačke {-4, 54, 16, -2} za 1/4 položaj interpolacije i koji ima ublaženost 0,016, iii) interpolacioni filter 1/8-pel-jedinice, koji uključuje koeficijente filtera sa 4 tačke {-6, 46, 28, -4} za 3/8 položaj interpolacije, i koji ima ublaženost 0,018, i iv) interpolacioni filter 1/2-pel-jedinice koji uključuje koeficijente filtera sa 4 tačke {-4, 36, 36, -4} za položaj interpolacije 1⁄2, i koji ima ublaženost 0,020.
Interpolacioni filter može biti simetrični filter koji se reflektuje kao ogledalo, u kom koeficijent filtera f(α) položaja interpolacije α i koeficijenta filtera fl(1-α) položaja interpolacije (1-α) mogu biti isti.
Interpolacioni filter 1/4-pel-jedinice za luma piksele može biti simetrični filter koji se reflektuje kao ogledalo. Prema tome, interpolacioni filter za 1/4 položaj interpolacije i interpolacioni filter za 3/4 položaj interpolacije mogu simetrično uključiti iste koeficijente. Ukoliko luma interpolacioni filter 1/4-pel-jedinice od 7 tačaka sadrži koeficijente filtera {-1, 4, -10, 58, 17, -5, 1} na 1/4 položaju interpolacije, može uključiti koeficijente filtera { 1, -5, 17, 58, -10, 4, -1} 3/4 položaja interpolacije.
Interpolacioni filter 1/8-pel-jedinice za hroma piksele može biti simetrični filter koji se reflektuje kao ogledalo. Prema tome, interpolacioni filter za 1/8 položaj interpolacije i interpolacioni filter za 7/8 položaj interpolacije mogu simetrično uključiti iste koeficijente. Slično tome, interpolacioni filter za položaj interpolacije 3/8 i interpolacioni filter za 5/8 položaj interpolacije mogu simetrično uključiti iste koeficijente. Interpolacioni filter se može odrediti na osnovu interpolacionog filtera na osnovu transformacije, uključujući koeficijente filtera određene korišćenjem mnoštva osnovnih funkcija. Takođe, ublaženi interpolacioni filter modifikovan iz interpolacionog filtera na osnovu transformacije može se koristiti za vršenje filtriranja promenom njegove ublaženosti u skladu sa rastojanjem između položaja interpolacije i piksela celobrojne-peljedinice.
Ublaženost ublaženog interpolacionog filtera može se odrediti na osnovu udaljenosti između položaja interpolacije i piksela celobrojnih-pel-jedinica. Interpolacioni filter može uključivati različite koeficijente filtera prema položaju interpolacije sub-pel-jedinice i njegove ublaženosti.
Ublaženost ublaženog interpolacionog filtera takođe se može odrediti na osnovu udaljenosti između položaja interpolacije i piksela celobrojnih-pel-jedinica pored susednog položaju interpolacije.
Takođe, interpolacioni filter može uključivati koeficijente filtera za omogućavanje ublažavanja referentnih piksela celobrojne-pel-jedinice, koji su udaljeni od položaja interpolacije.
Ublažen interpolacioni filter dobijen kombinovanjem koeficijenta filtera za izvršavanje transformacije i inverzne transformacije i koeficijenta filtera prozora za izvršavanje niško propusnog filtriranja može uključiti koeficijente filtera za davanje velikog pondera referentnom pikselu celobrojne-pel-jedinice bližem položaju interpolacije i davanje malog pondera referentnog pikselu celobrojne-pel-jedinice daljem od položaja interpolacije. referentnom
Ublažen interpolacioni filter može uključivati koeficijente filtera za ublažavanje referentnih piksela celobrojne-pel-jedinice, transformišući referentne piksele celobrojne-pel-jedinice koristeći mnoštvo osnovnih funkcija, i inverzno transformišući mnoštvo koeficijenata generisanih kao rezultat transformacije.
Ublažen interpolacioni filter može uključivati različite koeficijente filtera prema svojoj dužini, kao i položaj interpolacije sub-pel-jedinice i njenu ublaženost.
Takođe, ublaženi interpolacioni filter može uključivati različite koeficijente filtera u skladu sa razmere skaliranja kao rezultatom interpolacije, kao i položaj interpolacije sub-pel-jedinice, njenu ublaženost i njenu dužinu. Selektor filtera 12 može izabrati ublaženi interpolacioni filter od kog se koeficijenti filtera povećavaju do celih brojeva. Interpolator 14 reguliše vrednosti piksela generisane pomoću ublaženog interpolacionog filtera odabranog od strane selektora filtera 12.
Takođe, selektor filtera 12 može drugačije odabrati interpolacioni filter prema karakteristikama piksela. Interpolator 14 može generisati vrednosti piksela sub-pel-jedinice korišćenjem interpolacionog filtera koji je drugačije odabran prema karakteristikama piksela.
Interpolacioni filter koji se može odabrati od strane selektora filtera 12 bi mogao uključiti ublaženi interpolacioni filter i opšti interpolacioni filter koji ne razmatra ublažavanje. Prema tome, prema karakteristikama slike, selektor filtera 12 može izabrati opšti interpolacioni filter koji uopšte ne razmatra ublažavanje.
Na primer, prema drugom otelotvorenju, uređaj za interpolaciju slike 10 može izvršiti interpolaciju slike koristeći različite interpolacione filtere prema komponentama boje.
Prema drugom otelotvorenju, selektor filtera 12 može drugačije odabrati interpolacioni filter na osnovu položaja interpolacije sub-pel-jedinice i komponente boje trenutnog piksela. Prema drugom otelotvorenju, interpolator 14 može interpolirati piksele celobrojne-pel-jedinice upotrebom odabranog interpolacionog filtera, čime se generiše bar jedna vrednost piksela sub-pel-jedinice.
Na primer, selektor filtera 12 može drugačije odrediti interpolacioni filter za luma komponentu i interpolacioni filter za hroma komponentu.
U cilju interpolacije hroma piksela, selektor filtera 12 može odabrati ublaženi interpolacioni filter koji ima veću koji ima ublaženost interpolacionog filtera za luma piksel.
Takođe, kako bi se interpolirao hroma piksel, interpolacioni filter sa koeficijentom filtera određen je na osnovu parametra ublažavanja koji ima veću ublaženost od interpolacionog filtera za luma piksel, ili interpolacioni filter koji uključuje koeficijente filtera u kombinaciji sa filterom prozora za uklanjanje više visokofrekventnih komponenti od interpolacionog filtera za luma piksel.
Kako bi se postigao ublaženi rezultat interpolacije hroma komponente, može se izabrati ublaženi interpolacioni filter dobijen kombinovanjem koeficijenta filtera za izvršavanje transformacije i inverzne transformacije na osnovu mnoštva osnovnih funkcija i koeficijenta filtera prozora za otelotvorenje niško propusnog filtriranja.
Uređaj za interpolaciju slike 10 može obuhvatiti CPU (nije prikazan) za sveobuhvatno upravljanje selektorom filtera 12 i interpolator 14. Alternativno, selektor filtera 12 i interpolator 14 mogu biti pokretani od strane pojedinačnih procesora (nisu prikazani), i procesori mogu raditi u saradnji jedni sa drugima, čime se upravlja čitavim uređajem za interpolaciju slike. Alternativno, procesor (koji nije prikazan) izvan uređaja za interpolaciju slike 10 može kontrolisati selektor filtera 12 i interpolator 14.
Uređaj za interpolaciju slike 10 može obuhvatiti jednu ili više jedinica za čuvanje podataka (nije prikazano) za čuvanje ulaznih/izlaznih (I/O) podataka selektora filtera 12 i interpolatora 14. Uređaj za interpolaciju slike 10 može takođe uključiti kontroler memorije (nije prikazan) za upravljanje I/O podacima jedinica skladištenja podataka (nije prikazano).
Uređaj za interpolaciju slike 10 može uključivati dodatni procesor koji uključuje kolo za izvršavanje interpolacije slike. Alternativno, uređaj za interpolaciju slike 10 može sadržati medijum za skladištenje podataka na kom je snimljen modul za interpolaciju slike, i CPU može pozvati i upravljati modulom interpolacije slike kako bi se izvršila interpolacija slike.
Interpolacija slike se koristi za transformaciju slike slabijeg kvaliteta u visokokvalitetnu sliku, pretvaranje prepletene slike u progresivnu sliku, ili za uzorkovanje slike slabije kvalitete u visokokvalitetnu sliku. Takođe, kada uređaj za kodiranje video zapisa kodira sliku, procenjivač i kompenzator pokreta mogu izvršiti inter predviđanje koristeći interpolirani referentni okvir. Tačnost inter predviđanja se može povećati interpoliranjem referentnog okvira za generisanje visokokvalitetne slike i vršenje procene pokreta i kompenzacije na osnovu visokokvalitetne slike. Slično tome, kada uređaj za dekodiranje slike dekodira sliku, kompenzator pokreta može izvršiti kompenzaciju pokreta pomoću interpoliranog referentnog okvira, čime se povećava tačnost inter predviđanja.
Takođe, ublaženi interpolacioni filter koji koristi uređaj za interpolaciju slike 10 može dobiti ublaženi rezultat interpolacije smanjivanjem visokofrekventnih komponenti u rezultatu interpolacije pomoću interpolacionog filtera. Pošto visokofrekventne komponente smanjuju efikasnost kompresije slike, efikasnost kodiranja i dekodiranja slike se takođe mogu poboljšati izvršavanjem interpolacije podesive za ublaženost.
Takođe, simetrični interpolacioni filter u kom su koeficijenti filtera simetrično locirani u odnosu na položaj interpolacije ili asimetrični interpolacioni filter u kom su koeficijenti filtera asimetrično locirani u odnosu na položaj interpolacije, mogu se selektivno koristiti. Takođe, kao interpolacioni filter, interpolacioni filter sa neparnim brojem tačaka ili interpolacioni filter sa parnim brojem tačaka mogu se selektivno koristiti prema položaju interpolacije. Prema tome, uređaj za interpolaciju slike 10 može izvršiti filtriranje slike interpolacije na pikselima celobrojne-peljedinice simetrično lociranim u odnosu na položaj interpolacije, kao i pikselima celobrojne-peljedinice, simetrično lociranim u odnosu na položaj interpolacije.
Interpolacija pomoću interpolacionog filtera dobijenog kombinovanjem koeficijenata filtera za izvršavanje transformacije i inverzne transformacije na osnovu mnoštva osnovnih funkcija i koeficijenta filtera prozora, u skladu sa otelotvorenjima predmetnog pronalaska, sada će biti detaljno opisani u vezi sa SLIKAMA 2 do 7B.
SLIKA 2 je dijagram za opisivanje veze između celobrojne-pel-jedinice i sub-pel jedinice.
Pozivajući se na SLIKU 2, uređaj za interpolaciju slike 10 generiše vrednosti piksela položaja „X“ interpolacijom vrednosti piksela celobrojne-pel-jedinice položaja „O“ unapred određenog bloka 20 u prostranom domenu. Vrednosti piksela položaja „X“ su vrednosti piksela subpel-jedinice u položajima interpolacije koje određuju αx i αy. Iako SLIKA 2 ilustruje da unapred određeni blok 20 jeste 4×4 blok, stručnjak u oblasti će razumeti da veličina bloka nije ograničena na 4×4, i može biti veća ili manja od 4×4.
Kod obrade video zapisa, vektor pokreta se koristi za izvršavanje kompenzacije i predviđanja pokreta na trenutnoj slici. Prema kodiranju predviđanja, na prethodno dekodiranu sliku se poziva tako da predvidi trenutnu sliku, i vektor pokreta označava unapred određenu tačku referentne slike. Prema tome, vektor pokreta označava piksel celobrojne-pel-jedinice referentne slike.
Međutim, piksel na koji se poziva trenutna slika može biti smešten između piksela celobrojne-pel-jedinice referentne slike. Ovakav položaj se naziva položaj sub-pel-jedinice. S obzirom da piksel ne postoji na položaju sub-pel-jedinice, vrednost piksela sub-pel-jedinice je samo predviđena pomoću vrednosti piksela celobrojne-pel-jedinice. Drugim rečima, vrednost piksela subpel-jedinice procenjuje se interpolacijom piksela celobrojne-pel-jedinice.
Postupak interpolacije piksela celobrojne-pel-jedinice sada će biti detaljno opisan u odnosu na SLIKE 3 i 4A do 4C.
SLIKA 3 je dijagram koji ilustruje susedne piksele celobrojne-pel-jedinice na koje se poziva, kako bi se odredila vrednost piksel sub-pel-jedinice, u skladu sa otelotvorenjem predmetnog pronalaska.
Pozivajući se na SLIKE 3, uređaj za interpolaciju slike 10 generiše vrednost piksela subpel-jedinice 35 na položaju interpolacije interpolacijom vrednosti piksela celobrojne-pel-jedinice 31 i 33 u prostornom domenu. Mesto interpolacije određeno je sa α.
SLIKE 4A do 4C su dijagrami koji ilustruju primere piksela celobrojne-pel-jedinice na koje se poziva, kako bi se odredila vrednost piksela sub-pel-jedinice u skladu sa otelotvorenjem predmetnog pronalaska.
Pozivajući se na SLIKU 4A, kako bi se generisala vrednost piksela sub-pel-jedinice 35 pomoću interpolacije dve vrednosti piksela celobrojne-pel-jedinice 31 i 33, koristi se mnoštvo vrednosti piksela susednih celobrojnih-pel-jedinica 37 i 39, uključujući i vrednosti piksela celobrojnih-pel-jedinica 31 i 33. Drugim rečima, 0 i 1 pikseli mogu se interpolirati izvršavanjem jednodimenzionalnog interpolacionog filtriranja na 2M vrednostima piksela od -(M-1)-ti vrednosti piksela do vrednosti M-tog piksela.
Takođe, iako SLIKA 4A ilustruje da su vrednosti piksela u horizontalnom pravcu interpolirane, jednodimenzionalno interpolaciono filtriranje se može izvršiti korišćenjem vrednosti piksela u vertikalnom ili dijagonalnom pravcu.
Pozivajući se na SLIKE 4B, vrednost piksela P(α) položaja interpolacije α može se generisati interpolacijom piksela P041 i P143 koji su susedni jedan drugom u vertikalnom pravcu. Kada se SLIKE 4A i 4B porede, njihovi postupci interpolacije filtriranja su slični, i jedina razlika između njih je da su vrednosti piksela 47 i 49 poravnate u vertikalnom pravcu interpolirane na SLIKE 4B, dok su vrednosti piksela 37 i 39 poravnate u horizontalnom pravcu interpolirane na SLIKE 4A.
Pozivajući se na SLIKE 4C, slično, vrednost piksela 44 položaja interpolacije α generiše se interpolacijom dve susedne vrednosti piksela 40 i 42. Jedina razlika od SLIKE 4A je da su vrednosti piksela 46 i 48 poravnate u dijagonalnom pravcu umesto vrednosti piksela 37 i 39 poravnatih u horizontalnom pravcu.
Pored uputstava prikazanih na SLIKAMA 4A do 4C, jednodimenzionalno interpolaciono filtriranje može se izvoditi u različitim pravcima.
Interpolaciono filtriranje se može izvršiti za interpolaciju piksela celobrojne-pel-jedinice za generisanje vrednosti piksela sub-pel-jedinice. Interpolaciono filtriranje može biti predstavljeno sa sledećom Jednačinom.
Vrednost piksela p(x) generiše se otelotvorenjem interpolacije prema skalarnom proizvodu vektora p od 2M referentnih piksela celobrojne-pel-jedinice {pm}={p-M+1, p-M+2, ..., p0, p1, ..., pM} i vektora f(x) koeficijenta filtera {fm}={f-M+1, f-M+2, ..., f0, f1, ..., fM}. Pošto se koeficijent filtera f(α) razlikuje u zavisnosti od položaja interpolacije α i vrednosti piksela p(α) dobijene izvršavanjem interpolacije određuje se prema koeficijentu filtera f(α), izabranog interpolacionog filtera, tj. određeni koeficijent filtera f(x), u velikoj meri utiče na performanse interpolacionog filtriranja.
Interpolacija slika pomoću transformacije i inverzne transformacije na osnovu osnovnim funkcijama, i postupak određivanja interpolacionog filtera, sada će biti detaljno opisani.
Interpolacioni filter pomoću transformacije i inverzne transformacije inicijalno transformiše vrednosti piksela koristeći mnoštvo osnovnih funkcija koje imaju različite komponente frekvencije. Transformacija može uključivati sve vrste transformacije od vrednosti piksela u prostornom domenu u koeficijente u domenu transformacije, i može biti diskretna kosinusna transformacija (DCT). Vrednosti piksela celobrojne-pel-jedinice se transformišu koristeći mnoštvo osnovnih funkcija. Vrednost piksela može biti vrednost luma piksela ili vrednost hroma piksela. Osnovne funkcije nisu ograničene na određene osnovne funkcije, i mogu uključivati sve osnovne funkcije za transformisanje vrednosti piksela u prostornom domenu u vrednosti piksela u domenu transformacije. Na primer, osnovna funkcija može biti kosinusna ili sinusna funkcija za izvršavanje DCT i inverznih DCT (IDCT). Alternativno, mogu se koristiti različite osnovne funkcije kao što je splajn funkcija i polinomska osnovna funkcija. Takođe, DCT može biti modifikovan DCT (MDCT) ili MDCT sa prozorima.
interpolacioni filter pomoću transformacije i inverzne transformacije pomera faze osnovnih funkcija koje se koriste za izvršavanje transformacije i inverzno transformiše vrednosti mnoštva koeficijenata generisanih korišćenjem fazno pomerenih baznih funkcija, tj. vrednosti u domenu transformacije. Kao rezultat inverzne transformacije, date su izlazne vrednosti piksela u prostornom domenu, i izlazne vrednosti mogu biti vrednosti piksela na položaju interpolacije.
<Koeficijenti filtera koristeći ortogonalnu transformaciju i inverznu transformaciju na osnovu ortogonalnih osnovnih funkcija>
Sada će biti detaljno opisan slučaj kada interpolator 14 izvrši interpolaciono filtriranje koristeći transformaciju i inverznu transformaciju na osnovu ortogonalnih funkcija. Konkretno, DCT je opisan kao primer transformacije.
Na primer, pozivajući se na SLIKU 4A, kako bi se generisala vrednost piksela sub-peljedinice 35 pomoću interpolacije dve vrednosti piksela celobrojne-pel-jedinice 31 i 33, koristeći mnoštvo susednih vrednosti piksela celobrojne-pel-jedinice 37 i 39, uključujući vrednosti piksela celobrojne-pel-jedinice 31 i 33, nulti i prvi piksel mogu se interpolirati izvršavanjem jednodimenzionalnog DCT na 2M vrednosti piksela od vrednosti -(M-1)-tog piksela do vrednosti M-tog piksela, i otelotvorenjem jednodimenzionalnog IDCT na osnovu fazno pomerenih osnovnih funkcija.
Interpolator 14 inicijalno izvršava jednodimenzionalni DCT na vrednostima piksela celobrojne-pel-jedinice. Jednodimenzionalni DCT se može izvesti kao što je prikazano u Jednačini 38.
[Jednačina 38]
p(l) predstavlja vrednosti piksela 37 i 39 od vrednosti -(M-1)-tog piksela piksela do vrednosti M-tog piksela, i C<k>predstavlja mnoštvo koeficijenata u domenu frekvencije, koji se generišu otelotvorenjem jednodimenzionalnog DCT na vrednostima piksela 37 i 39. U ovom slučaju, k je pozitivan ceo broj koji zadovoljava uslov gornje Jednačine 38.
Nakon što se jednodimenzionalni DCT vrši na vrednostima piksela 37 i 39 korišćenjem Jednačine 38, interpolator 14 vrši inverznu transformaciju na koeficijentima kao što je prikazano u Jednačini 39.
[Jednačina 39]
α predstavlja položaj interpolacije između dve vrednosti piksela, kao što je ilustrovano na SLICI 13, i može imati različite razlomačke vrednosti kao što su 1/2, 1/4, 3/4, 1/8, 3/8, 5/8, 7/8, 1/16 itd. Razlomačka vrednost nije ograničena na određenu vrednost, i α može biti stvarna vrednost umesto razlomačke vrednosti. P(α) predstavlja vrednost piksela sub-pel-jedinice 35 od položaja interpolacije α, koja se generiše kao jednodimenzionalni IDCT rezultat.
Kad se Jednačina 39 upoređuje sa Jednačinom 38, faza kosinusne funkcije, koja je osnovna funkcija koja se koristi za izvođenje IDCT, određuje se u skladu sa razlomkom α umesto celog broja l, i stoga se razlikuje od faze osnovne funkcije koja se koristi za izvođenje jednodimenzionalnog DCT. Drugim rečima, faza svake osnovne funkcije koja se koristi za izvršavanje inverzne transformacije, tj. kosinusne funkcije, pomera se u skladu sa 2α. Ako interpolator 14 izvršava IDCT na osnovu fazno pomerenih kosinusnih funkcija, u skladu sa Jednačinom 39, generiše se vrednost piksela 35 jedinice interpolacije α, tj. P(α).
DCT prema Jednačini 38 izražava se determinantom prikazanom u Jednačini 40.
[Jednačina 40]
Ovde C predstavlja 2Mx1 matricu od 2M koeficijenta opisanog iznad u odnosu na Jednačinu 38, i REF je 2Mx1 matrica vrednosti piksela celobrojne-pel-jedinice, tj. P-(M-1), ... PM vrednosti piksela, gore opisane u odnosu na Jednačinu 38. Broj vrednosti piksela celobrojne-peljedinice koje se koriste za izvršavanje interpolacije, tj. 2M, odnosi se na broj tačaka jednodimenzionalnog interpolacionog filtera. D je kvadratna matrica za izvođenje jednodimenzionalnog DCT, i može se definisati kao predstavljena u Jednačini 4.
[Jednačina 4]
k i l su celi brojevi koji zadovoljavaju gore navedene uslove, i D<kl>se odnosi na red k i kolonu l kvadratne matrice D za izvršavanje DCT u Jednačini 40. M je isti kao i kod Jednačine 40.
IDCT koji koristi mnoštvo fazno pomerenih osnovnih funkcija prema Jednačini 39, izražava se determinantom prikazanom u Jednačini 5.
[Jednačina 5]
Ovde P(α) je isti kao u Jednačini 39, i W(α) je 1×2M matrica za izvođenje jednodimenzionalnog IDCT koristeći mnoštvo fazno pomerenih osnovnih funkcija, i može se definisati kao je predstavljeno u Jednačini 6.
[Jednačina 6]
k je ceo broj koji zadovoljava gore navedeno stanje, i Wk(α) odnosi se na kolonu k matrice W(α) koja je opisana iznad u odnosu na Jednačinu 5. Filter F(α) za izvođenje jednodimenzionalnog DCT i jednodimenzionalni IDCT koji koristi mnoštvo fazno pomerenih baznih funkcija na osnovu Jednačina 3 i 5 može se definirati kao prikazano u Jednačini 7.
[Jednačina 7]
k i l su celi brojevi koji zadovoljavaju gore navedene uslove, Fl(α) se odnosi na kolonu l od F(α), i W(α) i D su isti kao kod Jednačine 40.
<Koeficijenti interpolacionog filtera za skalirane interpolacije>
Različiti postupci generisanja interpolacionog filtera prema otelotvorenju predmetnog pronalaska zasnovani su na aritmetičkom izrazu za generisanje broja sa pokretnim zarezom umesto celog broja, i apsolutne vrednosti koeficijenta filtera obično nisu veće od 1. Konkretno, rezultat računanja realnog broja umesto celog broja može biti generisan pomoću položaja interpolacije α sub-pel-jedinice.
Efikasnost računanja na osnovu celih brojeva je veća od računanja na osnovu brojeva sa pokretnim zarezom. Kao takav, uređaj za interpolaciju slike 10 može poboljšati efikasnost računanja interpolacionog filtriranja pomoću skaliranja koeficijenata filtera u celim brojevima pomoću odnosa skaliranja. Takođe, pošto je povećana dubina vrednosti piksela, može se poboljšati i preciznost interpolacionog filtriranja.
Uređaj za interpolaciju slike 10 može množiti koeficijente filtera fm(α) sa unapred određenom vrednošću, i može vršiti interpolaciju slika pomoću velikih koeficijenata filtera Fm(α). Na primer, koeficijenti filtera Fm(α) mogu se skalirati od koeficijenta filtera fm(α) kao što je prikazano u Jednačini 8.
[Jednačina 8]
Zarad efikasnost računanja, odnos skaliranja može biti u obliku od 2<n.>n može biti 0 ili pozitivan ceo broj. Rezultat interpolacionog filtriranja pomoću koeficijenta filtera koji je skaliran za 2<n>može imati bit dubinu koja je skalirana sa n bitova u poređenju sa rezultatom dobijenim korišćenjem originalnih koeficijenata filtera.
Celobrojno računanje interpolacionog filtriranja korišćenjem skaliranih koeficijenata filtera Fm(α) može zadovoljiti Jednačinu 9. Drugim rečima, nakon interpolacije filtriranje se vrši korišćenjem koeficijenta smanjenog filtera Fm(α), skalirana bit dubina mora biti obnovljena na izvornu bit dubinu.
[Jednačina 9]
U ovom slučaju, ofset može biti 2<n-1.>
Drugim rečima, pošto se smanjeni rezultat filtriranja pomoću smanjenog interpolacionog filtera mora smanjiti razmere skaliranja, tj. 2<n>tako da se vraća na originalne bitove, bit dubina skaliranog rezultata filtriranja može se smanjiti za n bitova.
Ako se vrši dvostepeno interpolaciono filtriranje izvršavanjem jednodimenzionalnog interpolacionog filtriranja u horizontalnom pravcu i izvršavanjem jednodimenzionalnog interpolacionog filtriranja u vertikalnom pravcu, može se izvršiti redukcija za ukupno 2n bitova. Prema tome, ako se prvi jednodimenzionalni interpolacioni filter skalira sa n1 bitova, i drugi jednodimenzionalni interpolacioni filter se skalira sa n2 bitova, nakon dvostepenog interpolacionog filtriranja korišćenjem prvog i drugog jednodimenzionalnog interpolacionog filtera, redukcija se može napraviti sabiranjem n1 i n2, tj.2n bitova. Prvi jednodimenzionalni interpolacioni filter može biti interpolacioni filter koji nije skaliran.
Pošto zbir koeficijenta filtera fm(α) iznosi 1,
[Jednačina 10]
uslov za regularizaciju koeficijenta filtera Fm(α) skaliranog interpolacionog filtera mora da zadovolji Jednačinu 11.
[Jednačina 11]
Međutim, uslov regularizacije prema Jednačini 11 može dovesti do greške pri zaokruživanju. Uređaj za interpolaciju slike 10 može zaokružiti skalirane koeficijente filtera Fm(α) na osnovu uslova regularizacije prema Jednačini 11. Za regularizaciju, neki od skaliranih koeficijenata filtera Fm(α) mogu se podesiti u unapred određenom rasponu originalnih vrednosti. Na primer, neki od smanjenih koeficijenata filtera Fm(α) mogu se podesiti unutar raspona od ± 1 kako bi se ispravila greška zaokruživanja.
Za interpolacioni filter koji ima neparan broj referentnih piksela ili asimetrični interpolacioni filter u odnosu na položaj interpolacije, interpolator 14 može promeniti interpolacioni filter koristeći transformaciju i inverznu transformaciju na osnovu mnoštva osnovnih funkcija.
U nastavku će biti opisana interpolacija slike pomoću interpolacionog filtera neparnog broja, uključujući neparan broj koeficijenata filtera, kao interpolacioni filter koji koristi transformaciju i inverznu transformaciju na osnovu mnoštva osnovnih funkcija.
<Asimetrični interpolacioni filter>
SLIKA 5A je dijagram za opisivanje postupka interpolacionog filtriranja koristeći referentne piksele asimetrično locirane u odnosu na položaj interpolacije kako bi se odredila vrednost piksela sub-pel-jedinice, u skladu sa otelotvorenjem predmetnog pronalaska.
Pretpostavlja se da se za računanje piksela p(α) 50 položaja interpolacije α sub-pel-jedinice, levi referentni pikseli 52 i desni referentni pikseli 54 u odnosu na položaj interpolacije α koriste za izvršavanje interpolacionog filtriranja. Broj levih referentnih piksela 52 je tri, i broj desnih referentnih piksela 54 je pet. Pošto neparan broj piksela podržava interpolaciono filtriranje, levi i desni referentni pikseli 52 i 54 su asimetrično locirani u odnosu na položaj interpolacije α.
Kao što je prethodno opisano u odnosu na Jednačine od 38 do 40 i od 4 do 7, interpolaciono filtriranje se vrši korišćenjem 2M referentnih piksela celobrojne-pel-jedinice<p>-M+1<, p>-M+2<, ..., p>0<, p>1<,>
<..., p>M koji su simetrično raspoređeni u odnosu na položaj interpolacije α. To jest, ako su referentni pikseli predstavljeni kao pl, raspon celog broja l je predstavljen kao -M+1 ≤ l ≤ M.
Ako se položaj interpolacije α iz Jednačina 38 do 40, i 4 do 7, pomera u paralelnoj translaciji na α-h, koeficijenti filtera interpolacionog filtera koristeći referentne piksele asimetrično locirane u odnosu na položaj interpolacije α, kao što je ilustrovano na SLICI 5A, mogu se generisati pomoću Jednačina 38 do 40, i 4 do 7.
Drugim rečima, ako su asimetrični levi i desni referentni pikseli 52 i 54 prikazani kao pl, raspon celog broja l je -M+1+h ≤ l ≤ M+h. U ovom slučaju, M je 4, i h je 1. Broj levih referentnih piksela 52 je za jedan manji od onog u slučaju kada su 2M referentni pikseli simetrično raspoređeni u odnosu na položaj interpolacije α.
Interpolacioni filter prema Jednačinama 38 do 40 i od 4 do 7 je jednodimenzionalni filter. Kako bi se izvršilo dvodimenzionalno filtriranje, korišćenjem jednodimenzionalnog filtera, interpolaciono filtriranje se vrši u vertikalnom pravcu i u horizontalnom pravcu. Drugim rečima, jednodimenzionalno interpolaciono filtriranje se vrši dva puta. Između izvršavanja jednodimenzionalnog interpolacionog filtriranja dva puta, za izvršavanje kompenzacije pokreta, druga jednodimenzionalno interpolaciono filtriranje koristi filter od kog se broj tačaka filtera povećava za pola, i prvo jednodimenzionalno interpolaciono filtriranje se izvodi u proširenom bloku.
Kada se interpolaciono filtriranje vrši na levoj granici bloka, blok mora biti proširen levo od leve granice. Ako se, kako bi se izvršilo interpolaciono filtriranje, koristi simetričan interpolacioni filter koristeći 2M referentne piksele simetrično locirane u odnosu na položaj interpolacije α, blok mora biti proširen u levo za M piksela.
Međutim, ako se koristi asimetrični interpolacioni filter pomoću referentnih piksela koji su asimetrično locirani u odnosu na položaj interpolacije α, kako bi se izvršilo interpolaciono filtriranje, područje filtriranja treba proširiti levo od bloka za M-h piksela. Slično tome, ako je h negativni pravac, kada se interpolaciono filtriranje vrši na desnoj granici bloka, područje filtriranja mora biti prošireno desno od bloka za M+h piksela. Drugim rečima, ako se interpolaciono filtriranje vrši na granici bloka, u poređenju sa slučajem kada se koristi simetrični interpolacioni filter, kada se koristi asimetrični interpolacioni filter, područje bloka koji se treba proširiti može se smanjiti. Kao takav, može se smanjiti prostor za skladištenje vrednosti piksela proširenog područja, i količina računskih operacija potrebna za proširenje bloka može se takođe smanjiti.
<Interpolacioni filter neparnog broja tačaka>
SLIKA 5B je dijagram za opisivanje interpolacionog postupka pomoću interpolacionog filtera koji uključuje neparan broj koeficijenata filtera kako bi se odredila vrednost piksela sub-peljedinice u skladu sa otelotvorenjem predmetnog pronalaska.
Pretpostavlja se da za računanje piksela p(α) 55 od položaja interpolacije α sub-peljedinice, interpolacioni filter koristi referentne piksele {p-2, p-1, p0, p1, p2}. Broj referentnih piksela je pet, tj. neparan broj, i tri leva referentna piksela 51 i dva desna referentna piksela 53 u odnosu na položaj interpolacije α se mogu pozvati tako da izvršavaju interpolaciono filtriranje.
Pošto su levi i desni referentni pikseli 51 i 53 asimetrično locirani u odnosu na položaj interpolacije α, i broj parnih referentnih piksela 53 je manji od onog od levih referentnih piksela 51, interpolacioni filter prikazan na SLICI 5B može biti efikasan da izvrši interpolaciono filtriranje na desnoj granici bloka.
Na početku, prema Jednačinama od 12 do 15, određuju se koeficijenti filtera {p(α)} interpolacionog filtera koriste referentne piksele {pl} u kojima raspon celog broja l iznosi -M+1 ≤ l ≤ M-1, i imaju veličinu filtera Size (tj. broj tačaka filtera) od 2M-1.
[Jednačina 12]
[Jednačina 15]
Ako M iznosi 3, koeficijenti interpolacionog filtera na SLICI 5B mogu se odrediti prema Jednačini 15.
Alternativno, prema Jednačinama 16 do 19, mogu se odrediti koeficijenti filtera {p(α)} interpolacionog filtera korišćenjem referentnih piksela{pl} u kojima raspon celog broja l iznosi -M+2 ≤ l ≤ M, i imaju veličinu filtera Size (tj. broj tačaka filtera) od 2M-1.
[Jednačina 16]
[Jednačina 19]
Interpolaciono filtriranje pomoću koeficijenta filtera utvrđenih u skladu sa Jednačinom 19 može se izvršiti na pikselima pomerenim u paralelnoj translaciji za 1 u desno od referentnih piksela na SLICI 5B.
U Jednačinama od 12 do 19, α nije ograničena na vrednost jednaku ili veću od 0 i jednaku ili manju od 1. Drugim rečima, α može imati vrednost manju od 0 ili veću od 1. Prema tome, na osnovu Jednačina 12 do 19, može se dobiti interpolacioni filter neparnog broja tačaka koji ima neparan broj tačaka filtera. Pošto je broj tačaka filtera neparan broj, interpolaciono filtriranje pomoću interpolacionog filtera može se izvesti na neparnom broju referentnih piksela.
Interpolacioni filter se takođe može dobiti kombinovanjem interpolacionog filtera pomoću referentnih piksela koji su asimetrično locirani u odnosu na položaj interpolacije i interpolacioni filter neparnih brojeva. To jest, dostupan je interpolacioni filter za izvršavanje interpolacionog filtriranja na neparnom broju piksela koji su asimetrično locirani u odnosu na položaj interpolacije.
Ako je središte (Center) referentnih piksela u Jednačinama 12 do 15 generalizovano, koeficijenti filtera interpolacionog filtera mogu biti indukovani u skladu sa Jednačinama 20 i 21.
[Jednačina 20]
[Jednačina 21]
Ovde, Mmax i Mmin predstavljaju minimalne i maksimalne vrednosti indeksa od referentnih piksela, i mogu predstavljati raspon referentnih piksela. Prema tome, veličina filtera Size se može odrediti kao Mmax-Mmin+1. Na primer, u interpolacionom filteru od 7 tačaka, ako je Mmax=3 i Mmin=-3, središnji indeks Center referentnih piksela može biti 0. Drugim rečima, Center ima prosečnu vrednost od Mmax i Mmin.
Takođe, ako je osnovna funkcija za interpolacioni filter prema Jednačinama 20 i 21 predstavljena kao osnovna funkcija Wk od funkcije kosinusne transformacije, indukovane su Jednačine 22 i 23.
[Jednačina 22]
Prema tome, interpolacioni filter može biti asimetrični interpolacioni filter koristeći referentne piksele asimetrično locirane u odnosu na položaj interpolacije, i može uključivati interpolacioni filter neparnih brojeva, čiji broj je koeficijent filtera neparan broj. Kao što je gore opisano, u odnosu na Jednačine od 38 do 40, i od 4 do 7, interpolacioni filter može uključivati i simetrični interpolacioni filter i interpolacioni filter sa parnim brojem tačaka.
Uopšteno gledano, interpolacioni filter neparnog broja tačaka može biti asimetrični interpolacioni filter. Međutim, interpolacioni filter sa parnim brojem tačaka može biti simetrični interpolacioni filter ili asimetrični interpolacioni filter. Na primer, interpolacioni filter sa 8 tačaka može biti simetrični interpolacioni filter parnog broja tačaka, ako sadrži četiri koeficijenta filtera i četiri koeficijenta filtera na obe strane položaja interpolacije u području podržanom simetričnim interpolacionim filterom sa parnim brojem tačaka, i može biti asimetrični interpolacioni filter sa parnim brojem tačaka ako sadrži tri koeficijenta filtera i pet koeficijenta filtera na obe strane položaja interpolacije u području podržanom asimetričnim interpolacionim filterom sa parnim brojem tačaka.
Interpolacioni filter može uključivati koeficijente filtera koji se generišu prilagođavanjem ublaženosti odgovora interpolacionog filtera u skladu sa položajem interpolacije.
Sada će se detaljno opisati slučaj kada se filter za prozor koristi za određivanje različitih ublaženih interpolacionih filtera.
<Ublažen interpolacioni filter koristeći filter prozor>
Sada će biti detaljno opisana postupak ublažavanja koeficijenta interpolacionog filtera korišćenjem filtera prozora.
Filter prozora može da koristi Hemingovu funkciju prozora, kosinusnu funkciju prozora, eksponencijalnu funkciju prozora, Hanovu funkciju prozora, Blkemen funkciju prozora i trougaonu funkciju prozora. Iako će slučajevi kada su interpolacioni filteri na osnovu transformacije i inverzne transformacije ublaženi korišćenjem određenih funkcija prozora biti opisani u nastavku zaradlakpeg objašnjenja, stručnjaci će se razumeti da se, pored opisanih funkcija prozora, i druge funkcije prozora sa sličnim frekvencijskim odzivom takođe mogu koristiti.
Koeficijenti prozora u skladu sa Hemingovom funkcijom prozora zadovoljavaju Jednačinu 24.
U različitim funkcijama prozora, uključujući Hemingovu funkciju prozora, ulazni podatak n je simetričan u odnosu na N/2, i frekvencijski odgovor je sličan onom sa niško propusnim filterom. Među ulaznim podacima funkcionalnog prozora, kao izlazni podatak se može dati samo ulazni podatak koji pokriva prozor formiran pomoću funkcije prozora. Veličina prozora N se može postaviti kao pozitivan ceo broj veći od dužine originalnog interpolacionog filtera. Na primer, kako bi se primenila funkcija prozora na interpolacioni filter za generisanje piksela sub-pel-jedinice kao što je 1/2 ili 1/4 piksel, centralna položaj funkcije prozora može se premestiti za 1/2 ili 1/4 piksela. To jest, pošto se centralna položaj funkcije prozora pomera na položaj interpolacije, funkcija prozora može biti simetrična u odnosu na položaj interpolacije.
Na primer, Jednačine 25 i 26 pokazuju koeficijente prozora zadatih funkcija prozora za filtre interpolacije 1/2-pel-jedinice i 1/4-pel-jedinice.
[Jednačina 25]
Jednačina 27 sekvencijalno pokazuje koeficijente prozora Hemingove funkcije prozora, kosinusne funkcije prozora i eksponencijalne funkciju prozora kao funkcije prozora za interpolacione filtere, koje su generalizovane u skladu sa položajem interpolacije α sub-pel-jedinice.
[Jednačina 27]
Kombinovanjem koeficijenata prozora prema Jednačini 27 sa originalnim interpolacionim filterom fk(α), ublaženi koeficijenti interpolacionog filtera mogu se odrediti prema Jednačini 28.
[Jednačina 28]
Pošto je ublaženi interpolacioni filter određen korišćenjem filtera prozora, težina interpolacionog koeficijenta filtera može se podesiti na osnovu udaljenosti između referentnog piksela celobrojne-pel-jedinice i položaja interpolacije. Na primer, ublaženi interpolacioni filter može se odrediti tako da, pomoću funkcije prozora, od koeficijenata filtera interpolacionog filtera, koeficijent filtera za referentni piksel celobrojne-pel-jedinice koji se nalazi daleko od položaja interpolacije bude u velikoj meri ublažen, i koeficijent filtera za referentni piksel celobrojne-peljedinice koji se nalazi blizu položaja interpolacije nije značajno promenjen.
Takođe, ako je ublaženi interpolacioni filter određen korišćenjem filtera prozora, interpolaciono filtriranje može se izvršiti nakon što se referentni pikseli celobrojne-pel-jedinice izjednače. Ulazni referentni pikseli celobrojne-pel-jedinice Ref={p-M+1, p-M+2, ..., p0, p1, ..., pM} mogu uključiti šum ili mogu biti oštećeni usled grešaka kao što je greška kvantifikovanja. Kao takvi, ako su referentni pikseli celobrojne-pel-jedinice ublaženi pre nego što se izvrši interpolaciono filtriranje, uređaj za interpolaciju slike 10 može poboljšati interpolacioni efekat.
<interpolacioni filter pomoću asimetričnog prozora>
Asimetrični prozorski filter je asimetričan u odnosu na centar filtera. Prema tome, asimetrični filter prozora za interpolacioni filter može se koristiti za izvršavanje interpolacionog filtriranja asimetrično u odnosu na položaj interpolacije.
Jednačina 29 prikazuje koeficijente filtera<w>l<od>asimetričnog filtera prozora u najjednostavnijem obliku.
[Jednačina 29]
N predstavlja veličinu prozora, i Mmin i Mmax predstavljaju referentne piksele najbližih položaj od položaja interpolacije.
Karakteristike filtera prozora mogu se podesiti promenljivom veličinom prozora N. Veličina prozora N može biti jednaka ili veća od veličine filtera Size interpolacionog filtera i može biti jednaka ili manja od dvostruke veličine filtera Size ( Size ≤ N ≤ 2×Size)
Na primer, kada su Jednačine 38 do 40, i 4 do 7, kombinovane sa Jednačinom 29, ako su određeni koeficijenti filtera simetričnog interpolacionog filtera u kom M iznosi 4, budući da je broj referentnih piksela (2M) osam, dobijen je interpolacioni filter sa 8 tačaka. Ako se koristi funkcija prozora u kojoj se koristi veličina prozora N = 13, koeficijenti filtriranja interpolacionog filtera 1/4-pel-jedinice i interpolacionog filtera 1/2-pel-jedinice su kao što je prikazano u nastavku. Ovde se koristi faktor skaliranja S koji iznosi 64.
Koeficijenti interpolacionog filtera 1/4-pel-jedinice {pl}={-1, 4, -10, 57, 19, -7, 3, -1}
Koeficijenti interpolacionog filtera 1/2-pel-jedinice {pl}={-1, 4, -11, 40, 40, -11, 4, -1}
Slično tome, kada se Jednačine 38 do 40 i 4 do 7 kombinuju sa Jednačinom 29, ako su Mmin i Mmax različito prilagođeni, koeficijenti filtera asimetričnog interpolacionog filtera mogu se odrediti korišćenjem asimetričnog filtera prozora.
<Ublaženi interpolacioni filter koristeći dva parametra>
Ublaženi interpolacioni filter može utvrditi ublaženost koeficijenata filtera na osnovu dva parametra. Koeficijenti ublaženog interpolacionog filtera sub-pel-jedinice, dobijeni kombinovanjem matrice ublažavanja S i interpolacionih koeficijenata filtera na osnovu transformacije i inverzne transformacije, zadovoljavaju Jednačinu 30.
[Jednačina 30]
Jednačina 31 pokazuje primer matrice ublažavanja S.
[Jednačina 31]
Matrica ublažavanja S prema Jednačini 31 je 3-dijagonalna matrica. Drugim rečima, od međusobnih komponenti matrice ublažavanja S, sve komponente iznose 0, osim komponenti na jednoj centralnoj dijagonalnoj liniji i dve dijagonalne linije koje odgovaraju jedna drugoj i susedne su centralnoj dijagonalnoj liniji,
U matrici za poravnavanje S, ublaženost σi se može odrediti bez obzira na razdaljinu (i-α) od piksela celobrojne-pel-jedinice koji treba da se interpoliraju. U ovom slučaju, ublažavanje prema matrici za poravnavanje S se može nazvati ravnomerno poravnavanje.
Takođe, u matrici ublažavanja S, ublaženost σi može se promeniti prema indeksu I lokacije piksela celobrojne-pel-jedinice. U ovom slučaju, ublažavanje u skladu sa matricom ublažavanja S može se nazvati neuniformnim ublažavanjem. Na primer, ublaženost σi može zadovoljiti Jednačinu 32.
[Jednačina 32]
Pozitivni indeks l može povećati efekat ublažavanja ako je rastojanje između položaja interpolacije i referentnog piksela celobrojne-pel-jedinice veliko. Prema tome, pozitivni indeks l može kontrolisati brzinu ublažavanja u skladu sa rastojanjem između položaja interpolacije i referentnog piksela celobrojne-pel-jedinice. Parametar ublažavanja β može kontrolisati raspon ublažavanja oko položaja interpolacije.
Ako je parametar ublažavanja β manji od 0, matrica ublažavanja S prema Jednačini 13 može se promeniti u filter zaoštravanja. Prema tome, ako je matrica ublažavanja S koja je manja od 0 kombinovana sa interpolacionim filterom koristeći transformaciju i inverznu transformaciju, može se generisati filter za pojačavanje visokofrekventnih komponenti.
Kako bi se izvršilo predviđanje sub-pel-jedinice, uređaj za interpolaciju slike 10 može koristiti izmenjene podatke o koeficijentu interpolacionog filtera koji su prethodno sačuvani u memoriji.
SLIKA 6 je grafik 67 faktora ublažavanja na osnovu paralelnog parametra β ublaženog interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska.
Prva i druga kriva 68 i 69 pokazuju faktor ublažavanja za ublažavanje interpolacionog filtera na osnovu diskretne transformacije. Ako je m veliki, to jest, ako se uvećava rastojanje od piksela celobrojne-pel-jedinice koje treba interpolirati, faktor ublažavanja je blizu 0.
Ovde, u poređenju sa drugom krivom 69, u slučaju kada je parametar ublažavanja β veliki, prva kriva 68 u slučaju kada je parametar ublažavanja β mali, ima relativno veliku širinu faktora ublažavanja. Drugim rečima, ako je parametar ublažavanja β ublaženog interpolacionog filtera veliki, niskofrekventne komponente mogu biti uglavnom filtrirane i stoga se mogu generisati relativno jako ublažene vrednosti piksela sub-pel-jedinice. Ako je parametar ublažavanja β ublaženog interpolacionog filtera relativno mali, relativno visokofrekventne komponente mogu ostati i biti interpolirane, i stoga se mogu generisati vrednosti piksela sub-pel-jedinice.
Različiti interpolacioni filteri i koeficijenti filtera su opisani iznad. Konkretno, kao funkcija za određivanje koeficijenta filtera interpolacionog filtera, može se koristiti funkcija prozora, splajn funkcija, polinomska funkcija itd. Za interpolacioni filter, frekvencijski odziv funkcije može se razlikovati u zavisnosti od frekvence, ali dobitak filtera frekvencijskog odziva funkcije može biti blizu 1. Prema tome, uređaj za interpolaciju slike 10 može odrediti koeficijente filtera koristeći funkciju od koje je dobitak filtera frekvencijskog odziva najbliži 1, čak i kada frekvencija varira, i može izabrati interpolacioni filter uključujući koeficijente filtera.
< Regularizovani interpolacioni filter>
Ako je povećana veličina filtera interpolacionog filtera, tačnost interpolacije može biti poboljšana. Međutim, ako je veličina filtera povećana, visokofrekventne komponente ostaju u rezultatu filtriranja, i stoga je interpolacioni filter osetljiv na šum. Interpolacioni filter može da usmeri vrednosti referentnih piksela {pl} korišćenjem funkcije kosinusnog prozora koja ima centar interpolacije α kao središte, čime se smanjuje šum u rezultatu interpolacionog filtriranja. Operacija ublažavanja referentnih vrednosti piksela {pl} pomoću kosinusne funkcije prozora zadovoljava Jednačinu 33.
[Jednačina 33]
N predstavlja veličinu prozora za ublažavanje, ali ne mora nužno biti ceo broj. Prema tome, ako je filtriranje korišćenjem transformacije i inverzne transformacije prema Jednačini 7 kombinovano sa filtriranjem prozora prema Jednačini 33, omogućeno je ublaženo interpolaciono filtriranje za položaj interpolacije α sub-pel-jedinice. Ublaženo interpolaciono filtriranje može se izvršiti korišćenjem filtera sa konačnim impulsnim odzivom (FIR), i zadovoljava Jednačine 34 i 35.
[Jednačina 34]
U Jednačinama 34 i 35, pα predstavlja vrednost piksela generisanu kao rezultat ublaženog interpolacionog filtriranja, i Filterl(α) predstavlja koeficijente filtriranja ublaženog interpolacionog filtera. Mmin and Mmax predstavljaju raspon referentnih piksela.
U ublaženom interpolacionom filteru za hroma piksele, parametar ublažavanja ublaženog interpolacionog filtera može se prilagoditi kako bi se više uklonio uticaj visokofrekventnih komponenti. Koeficijenti filtera interpolacionog filtera hroma koristeći parametar ublažavanja mogu se odrediti kao što je prikazano u Jednačinama 36 i 37.
[Jednačina 36]
[Jednačina 37]
SLIKA 7 je grafik amplitude frekvencijskog odziva 70 interpolacionih filtera, u skladu sa otelotvorenjem predmetnog pronalaska.
Ako je u interpolacionim filterima unet harmonijski signal veličine 1, grafik amplitude frekvencijskog odziva 70 interpolacionih filtera može pokazati rezultate izvođenja interpolacionog filtriranja.
Grafik amplitude frekvencijskog odziva 70 pokazuje prvi frekvencijski odziv 71 ublaženog interpolacionog filtera sa 8 tačaka korišćenjem DCT i IDCT na osnovu osnovnih funkcija, u skladu sa otelotvorenjem predmetnog pronalaska, drugi frekvencijski odziv 72 regularizovanog ublaženog interpolacionog filtera sa 8 tačaka prema otelotvorenju predmetnog pronalaska i trećeg frekvencijskog odziva 73 interpolacionog filtera sa 6 tačaka u skladu sa standardom H.264 kodiranja video zapisa.
U prvom i trećem frekvencijskom odzivu od 71 do 73, uzvišenja 711, 715, 721 i 731 predstavljaju da su signali amplifikovani na odgovarajućim frekvencijama, i dolina 713 predstavlja da je signal prigušen na odgovarajućoj frekvenciji. Efekat pri kom je ulazni signal pojačan ili prigušen nije prikladan za interpolaciono filtriranje.
U idealnoj amplitudi frekvencijskog odziva 74, dobitak filtera se konstantno održava kao 1 na svim frekvencijama, i stoga brdo ili dolina uopšte ne postoje. To znači da se distorzija zbog interpolacije ne pojavljuje.
Ako je frekvencijski odziv interpolacionog filtera bliži idealnom amplitudi frekvencijskog odziva 74, rezultat interpolacionog filtriranja je tačniji. Distorzija u frekvencijskom odzivu interpolacionog filtera u poređenju sa idealnom amplitudom frekvencijskog odziva 74 može biti predstavljena kao kvadratna razlika između frekvencijskog odziva interpolacionog filtera i idealne amplitude frekvencijskog odziva 74, tj. površina područja razlike.
Na primer, distorzija u frekvencijskom odzivu regularizovanog ublaženog interpolacionog filtera u poređenju sa idealnom amplitudom frekvencijskog odziva 74 može se minimizovati podešavanjem njegove veličine prozora N i njegove ublaženosti σ. Distorzija u frekvencijskom odzivu regularizovanog ublaženog interpolacionog filtera u poređenju sa idealnom amplitudom frekvencijskog odziva 74 odgovara području osenčenog područja između idealne amplitude frekvencijskog odziva 74 i drugog frekvencijskog odziva 72 na grafiku amplitude frekvencijskog odziva 70. To jest, ako je osenčeno područje malo, tačnost interpolacije koja se vrši pomoću regularizovanog ublaženog interpolacionog filtera može biti poboljšana.
Takođe, pošto je frekvencijski odziv FIR filtera blizu 0 kako se frekvencija bliži π, FIR filter ne može generisati visokofrekventne komponente. Takođe, ako je nivo smanjenja interpolacionog filtera nizak, interpolacioni filter možda neće obnoviti detaljne informacije referentne slike. Generalno, ukoliko je dužina filtera velika, može se dodeliti visok nivo rezova. U grafiku amplitude frekvencijskog odziva 70, pošto su nivoi rezova 719 i 729 prvog i drugog frekvencijskog odziva 71 i 72 ublaženog interpolacionog filtera i regularizovanog ublaženog interpolacionog filtera viši od nivoa rezova 739 trećeg frekvencijskog odziva 73 od H.264 interpolacionog filtera, ublaženi interpolacioni filter i regulisan ublaženi interpolacioni filter mogu vratiti detaljne informacije o referentnoj slici preciznije u odnosu na H.264 interpolacioni filter.
Prema tome, u poređenju sa interpolacionim filterom H.264, ublaženi interpolacioni filter može ostaviti visokofrekventne komponente ulaznog signala nakon izvršavanja interpolacionog filtriranja. Takođe, u poređenju sa interpolacionim filterom H.264, oblast distorzije ublaženog interpolacionog filtera je relativno mala, i zbog toga je distorzija u rezultatu interpolacije relativno mala.
Među ublaženim interpolacionim filterima, drugi frekvencijski odziv 72 regularizovanog ublaženog interpolacionog filtera je blizu idealne amplitude frekvencijskog odziva 74, i prvi frekvencijski odziv 71 neregularizovanog ublaženog interpolacionog filtera ima relativno veliko područje distorzije zbog uzvišenja i dolina. Drugim rečima, u poređenju sa regularizovanim ublaženim interpolacionim filterom, rezultat filtriranja neuređenog ublaženog interpolacionog filtera može uključivati i više neželjenih artefakata.
Prema tome, kao koeficijenti filtera interpolacionog filtera u skladu sa otelotvorenjem predmetnog pronalaska, mogu se odabrati koeficijenti filtera regularizovanog ublaženog interpolacionog filtera za minimizovanje područja distorzije u odnosu na idealnu amplitude frekvencijskog odziva 74. Drugim rečima, ako se veličina filtera prozora N i ublaženost σ ublaženog interpolacionog filtera prilagođavaju i koeficijenti njegovog filtera regulišu, mogu se odrediti koeficijenti filtera za minimizovanje područja ublažavanja frekvencijskog odziva ublaženog interpolacionog filtera.
Stoga, interpolacioni filteri uređaja za interpolaciju slike 10 mogu uključivati koeficijente filtera određene uzimajući u obzir ublažavanje.
<Fazno pomeranje & vrednost vektora pokreta>
Preciznost tipične kompenzacije pokreta nalazi se u sub-pel-jedinici od 1/2<p>-pel-jedinice, kao što je 1/2-pel-jedinica ili 1/4-pel-jedinica. Međutim, položaja interpolacije α za određivanje koeficijenta filtera interpolacionog filtera za sub-pel-jedinicu u skladu sa otelotvorenjem predmetnog pronalaska nije ograničena na 1/2<p>-pel-jedinicu.
Radi kompenzacije pokreta na položaju interpolacije α u sub-pel jedinici koja nije 1/2-pel jedinica ili 1/4-pel jedinica, mogu se koristiti parcijalni vektori 1/2-pel-jedinice ili vektor pokreta 1/4-jedinice. Na primer, pretpostavljen je skup komponenti sub-pel-jedinice {α, 1/2, 1-α} vektora pokreta MV 1/2-pel-jedinice. Pošto je dužina komponenti jedinice kodiranja vektora pokreta MV smanjena ako je α manji od 1/4, stabilnost interpolacionog filtriranja za kompenzaciju pokreta može biti poboljšana, i kodirani bitovi za diferencijalni vektor pokreta mogu biti sačuvani.
Najčešće korišćeni format boja u video kodiranju je format 4:2:0. U ovom slučaju, hroma uzorci koji odgovaraju polovini broja luma uzoraka mogu biti kodirani. Ako se isti vektor pokreta deli između luma i hroma uzoraka, veličina hroma vektora pokreta je polovina veličine lume vektora pokreta. Prema tome, fazno pomeranje luma interpolacionog filtera može biti sinhronizovano sa faznim pomeranjem hroma interpolacionog filtera.
Na primer, ako fazno pomeranje luma interpolacionog filtera iznosi {αi}, fazno pomeranje hroma interpolacionog filtera može se sinhronizovati do {αi/2}∪{1-αi/2}∪{1/2}.
Na primer, kada se kompenzacija pokreta vrši korišćenjem sub-pel-jedinica skupa komponenti vektora pokreta MV, ako fazno pomeranje luma interpolacionog filtera iznosi {α, 1/2, 1-α}, fazno pomeranje hroma interpolacionog filtera može biti sinhronizovano sa {α/2, (1-α)/2, 1/2, 1-α/2, 1-(1-α)/2}.
Kao interpolacioni filteri u skladu sa otelotvorenjima predmetnog pronalaska, interpolacioni filter koji koristi transformacije i inverzne transformacije na osnovu mnoštva osnovnih funkcija, interpolacioni filter za izvršavanje interpolacije u sub-pel jedinici, simetrični ili asimetrični interpolacioni filter, interpolacioni filter sa neparnim ili parnim brojem tačaka, interpolacioni filter koji koristi filtera prozora, interpolacioni filter koji razmatra ublažavanje i regularizovani interpolacioni filter su opisani iznad.
Gore navedeni interpolacioni filteri mogu raditi pojedinačno ili se mogu kombinovati. Na primer, interpolacioni filter u skladu sa otelotvorenjem predmetnog pronalaska može izvršiti interpolaciju u sub-pel-jedinici i može vršiti interpolaciono filtriranje bez obzira da li su referentni pikseli simetrično ili asimetrično locirani u odnosu na položaj interpolacije. Takođe, s obzirom na to da broj koeficijenata filtera može biti paran ili neparan broj, interpolacioni filter može izvršiti interpolaciono filtriranje na neparnom broju piksela celobrojne-pel-jedinice, kao i na parnom broju piksela celobrojne-pel-jedinice. Pored toga, pošto se mogu odabrati filteri koeficijenti regularizovanog ublaženog interpolacionog filtera, detaljne informacije o referentnim pikselima mogu ostati i neželjene visokofrekventne komponente, kao što je šum, mogu biti minimizovane, čime se minimizuje distorzija zbog interpolacionog filtriranja.
SLIKA 8 je dijagram toka postupka interpolacije slike prema otelotvorenju predmetnog pronalaska.
U operaciji 81, od interpolacionih filtera za generisanje najmanje jedne vrednosti piksela sub-pel-jedinice koja se nalazi između piksela celobrojne-pel-jedinice, simetrični ili asimetrični interpolacioni filter se pojedinačno bira prema položaju interpolacije sub-pel-jedinice.
Izabrani asimetrični interpolacioni filter može biti interpolacioni filter neparnog broja tačaka. Odabrani simetrični interpolacioni filter može biti interpolacioni filter sa parnim brojem tačaka. Kako bi se interpolirali pikseli celobrojne-pel-jedinice u prostornom domenu, interpolacioni filter može uključivati koeficijente filtera dobijenih kombinovanjem filtera pomoću transformacije i inverzne transformacije na osnovu mnoštva osnovnih funkcija i asimetričnog ili simetričnog filtera prozora.
Odabran je interpolacioni filter koji je regularizovan kako bi se smanjila greška u frekvencijskom odzivu koja se generiše kao rezultat interpolacije prilikom korišćenja izabranog interpolacionog filtera. Takođe, kako bi se sprečile visokofrekventne komponente, kao što je šum od obnavljanja, može se odabrati interpolacioni filter koji uključuje koeficijente filtera za ublažavanje referentnih piksela.
U operaciji 83, vrednosti piksela celobrojne-pel-jedinice se interpoliraju korišćenjem interpolacionog filtera izabranog u operaciji 81, čime se generiše bar jedna vrednost piksela subpel-jedinice.
Ako je u operaciji 81 izabran asimetrični interpolacioni filter u operaciji 81, filtriranje se može izvršiti na pikselima celobrojne-pel-jedinice simetrično lociranim u odnosu na položaj interpolacije. Ako je u operaciji 81 izabran simetrični interpolacioni filter u operaciji 81, filtriranje se može izvršiti na pikselima celobrojne-pel-jedinice simetrično lociranim u odnosu na položaj interpolacije.
Takođe, ako je u operaciji 81 odabran asimetrični interpolacioni filter neparnih broja tačaka, u operaciji 83, filtriranje može biti izvedeno na neparnom broju piksela celobrojnih-peljedinica koje se nalaze u odnosu na položaj interpolacije koristeći neparan broj koeficijenata filtera asimetričnog interpolacionog filtera neparnog broja. Ako je u operaciji 81 izabran simetrični interpolacioni filter sa parnim brojem tačaka, u operaciji 83, filtriranje se može izvesti na parnom broju piksela celobrojnih-pel-jedinica koje se nalaze u odnosu na položaj interpolacije korišćenjem parnog broja koeficijenata filtera simetričnog interpolacionog filtera sa parnim brojem tačaka.
Različiti primeri koeficijenata filtera simetričnog ili asimetričnog interpolacionog filtera koji se selektivno određuje u skladu sa položajem interpolacije sub-pel-jedinice sada će biti opisani u odnosu na SLIKE 9A do 12B.
Prema gore opisanim principima, interpolacioni filter prikazan na SLIKAMA 9A do 12B je filter koji se dobija kombinovanjem filtera za interpolaciju sub-pel-jedinice pomoću transformacije i inverzne transformacije na osnovu mnoštva osnovnih funkcija i filtera prozora za ublažavanje visokofrekventnih komponenti, i uključuje koeficijente filtera od kojih se veličina prozora i ublaženost podešavaju kako bi se minimizovalo ublažavanje u rezultatu interpolacije. Takođe, u nastavku će biti opisani različiti simetrični i asimetrični interpolacioni filteri i interpolacioni filteri sa neparnim i parnim brojem tačaka.
Pošto je interpolacioni filter simetrični filter koji se reflektuje kao ogledalo, koeficijent filtera fm(1-α) položaja interpolacije (1-α) može se odrediti korišćenjem koeficijenta filtera fm(α) položaja interpolacije α. Prema tome, u tabelama prikazanim na SLIKAMA 9A do 12B, iako su prikazani samo koeficijenti interpolacionog filtera {fm(α)} u slučaju kada je sub-pel-jedinica vektora pokreta MV jednaka ili manja od 1⁄2, stručnjaci će razumeti da se mogu odrediti drugi koeficijenti interpolacionog filtera {fm(α)} u slučaju kada je sub-pel jedinica vektora pokreta MV veća od 1/2.
Na početku, u tabelama prikazanim na SLIKAMA 9A do 11C, 'FracMV' u prvoj koloni predstavlja sub-pel jedinicu vektora pokreta MV za kompenzaciju pokreta 1/2<p>-pel-jedinice. Kako bi se izvršilo interpolaciono filtriranje sub-pel-jedinica, vrednost 'FracMV' može se kombinovati sa koeficijentima filtera u drugoj koloni. Položaj interpolacije α u trećoj koloni je parametar za definisanje položaja interpolacije sub-pel-jedinice, i može predstavljati količinu faznog pokreta od celobrojne-pel-jedinice. Veličina filtera prozora N u četvrtoj koloni ne mora nužno biti ceo broj. Skaliranje bitova interpolacionog filtera je 6 bitova.
SLIKE 9A do 9D prikazuju koeficijente filtera interpolacionog filtera sa 3 do 6 tačaka, određene na osnovu položaja interpolacije i veličine prozora filtera, prema otelotvorenjima predmetnog pronalaska.
SLIKA 9A prikazuje asimetrični interpolacioni filter koji je interpolacioni filter sa 3 tačaka i uključuje koeficijente filtera {p-1, p0, p1}. Prema tome, interpolacioni filter prikazan na SLICI 9A može izvršiti interpolaciono filtriranje na pikselima celobrojne-pel-jedinice simetrično lociranim u odnosu na položaj interpolacije. Na primer, ako se vrši horizontalna interpolacija, interpolaciono filtriranje može se obaviti na dva leva referentna piksela celobrojne-pel-jedinice i jednom referentnom pikselu desne celobrojne-pel-jedinice u odnosu na položaj interpolacije.
SLIKA 9B prikazuje simetrični interpolacioni filter koji je interpolacioni filter sa 4 tačaka i uključuje koeficijente filtera {p-1, p0, p1, p2}. Prema tome, interpolacioni filter prikazan na SLICI 9B može izvršiti interpolaciono filtriranje na pikselima celobrojne-pel-jedinice simetrično lociranim u odnosu na položaj interpolacije. Na primer, ako se vrši horizontalna interpolacija, interpolaciono filtriranje može se izvršiti korišćenjem dva leva referentna piksela celobrojne-pel-jedinice i dva desna referentna piksela celobrojne pel-jedinice u odnosu na položaj interpolacije.
SLIKA 9C prikazuje asimetrični interpolacioni filter koji je interpolacioni filter sa 5 tačaka i uključuje koeficijente filtera {p-1, p0, p1, p2, p3}. Prema tome, ukoliko se vrši horizontalna interpolacija, interpolaciono filtriranje se može izvršiti na dva leva referentna piksela celobrojnepel-jedinice i tri desna referentna piskela celobrojne-pel-jedinice koji su asimetrično locirani u odnosu na položaj interpolacije.
SLIKA 9D prikazuje simetrični interpolacioni filter koji je interpolacioni filter sa 6 tačaka i uključuje koeficijente filtera {p-2, p-1, p0, p1, p2, p3}. Prema tome, ukoliko se vrši horizontalna interpolacija, interpolaciono filtriranje može se izvršiti korišćenjem tri leva referentna piksela celobrojne-pel-jedinice i tri desna referentne piksela celobrojne-pel-jedinice koji se simetrično nalaze u odnosu na položaj interpolacije.
SLIKE 10A do 10C prikazuju odgovarajuće koeficijente filtera interpolacionih filtera sa 7 tačaka određene na osnovu položaja interpolacije i veličine prozora filtera, prema otelotvorenjima predmetnog pronalaska.
SLIKA 10A prikazuje asimetrični interpolacioni filter koji uključuje koeficijente filtera {p-
3, p-2, p-1, p0, p1, p2, p3}. Prema tome, ako se horizontalna interpolacija vrši korišćenjem interpolacionog filtera prikazanog na SLICI 10A, interpolaciono filtriranje može biti izvedeno na četiri leve referentne piksele celobrojne-pel-jedinice i tri referentne piksela jedinice celobrojne-peljedinice koji su asimetrično locirani u odnosu na položaj interpolacije.
SLIKA 10B prikazuje asimetrični interpolacioni filter koji uključuje koeficijente filtera {p-
2, p-1, p0, p1, p2, p3, p4}. Prema tome, ako se horizontalna interpolacija vrši korišćenjem interpolacionog filtera prikazanog na SLICI 10B, interpolaciono filtriranje može biti izvedeno na tri leve referentne piksela celije-pel-jedinice i četiri desne referentna pikseleacelobrojne-pel-jedinice koji su asimetrično locirani u odnosu na položaj interpolacije.
SLIKA 10C prikazuje asimetrični interpolacioni filter koji uključuje koeficijente filtera {p-
1, p0, p1, p2, p3, p4, p5}. Prema tome, ako se horizontalna interpolacija vrši korišćenjem interpolacionog filtera prikazanog na SLICI 10C, interpolaciono filtriranje može biti izvedeno na dva leva referentna piksela celobrojne-pel-jedinice i pet desnih referentnih piksela celobrojne-peljedinice koji su asimetrično locirani u odnosu na položaj interpolacije.
SLIKE 11A do 11C prikazuju koeficijenti filtera interpolacionih filtera sa 8 tačaka određene na osnovu položaja interpolacije i veličine prozora filtera, prema otelotvorenjima predmetnog pronalaska.
SLIKA 11A prikazuje simetrični interpolacioni filter uključujući koeficijente filtera {p-3, p-
2, p-1, p0, p1, p2, p3, p4}. Prema tome, ako se horizontalna interpolacija vrši korišćenjem interpolacionog filtera prikazanog na SLICI 11A, interpolaciono filtriranje se može izvršiti na četiri leva referentne piksela celobrojne-pel-jedinice i četiri desna referentne piksela celobrojne-peljedinice, simetrično locirane u odnosu na položaj interpolacije.
SLIKA 11B prikazuje asimetrični interpolacioni filter koji uključuje koeficijente filtera {p-
2, p-1, p0, p1, p2, p3, p4, p5}. Prema tome, ako se horizontalna interpolacija vrši korišćenjem interpolacionog filtera prikazanog na SLICI 11B, interpolaciono filtriranje može biti izvedeno na tri leva referentna piksela celobrojne-pel-jedinice i pet desnih referentnih piksela celobrojne-peljedinice, koje su asimetrično locirani u odnosu na položaj interpolacije.
SLIKA 11C prikazuje asimetrični interpolacioni filter koji uključuje koeficijente filtera {p-
4, p-3, p-2, p-1, p0, p1, p2, p3}. Prema tome, ako se horizontalna interpolacija vrši korišćenjem interpolacionog filtera prikazanog na SLICI 11C, interpolaciono filtriranje može biti izvedeno na pet levih referentnih piksela celobrojne-pel-jedinice i tri desna referentna piksela celobrojne-peljedinice, koje su asimetrično locirani u odnosu na položaj interpolacije.
SLIKE 12A i 12B su prikazani koeficijenti filtera regularizovanog luma interpolacionog filtera i regularizovanog hroma interpolacionog filtera u skladu sa otelotvorenjima predmetnog pronalaska.
SLIKE 12A i 12B prikazuju koeficijente filtera regularizovanih interpolacionih filtera izabranih da minimizuju područje distorzije kako je opisano iznad pod <Regulisan interpolacioni filter>.
Prema SLICI 12A, veličina filtera prozora N prilagođena je za regularizaciju luma interpolacionog filtera. Između različitih interpolacionih filtera prikazanih na SLIKAMA 9A do 11C, interpolacioni filter sa 7 tačaka {-1, 4, -10, 58, 17, -5, -1} koji ima veličinu prozora od 8,7 može biti izabran kao regularizovani luma interpolacioni filter za izvršavanje interpolacionog filtriranja 1/4-pel-jedinice. Takođe, interpolacioni filter sa 8 tačaka {-1, 4, -11, 40, 40, -11, 4, -1} koji ima veličinu prozora od 9,5 može biti izabran kao regularizovani luma interpolacioni filter za izvođenje interpolacionog filtriranja 1/2-pel-jedinice. Drugim rečima, asimetrični interpolacioni filter može se izabrati kao regularizovani luma interpolacioni filter 1/4-pel-jedinice, i simetrični interpolacioni filter može se odabrati kao regularizovani luma interpolacioni filter 1/2-pel-jednice.
Prema SLICI 12B, ublaženost σ je prilagođena kako bi se regulisao hroma interpolacioni filter. Simetrični interpolacioni filter sa 4 tačke 1/8-pel-jedinice može biti izabran kao regularizovani hroma interpolacioni filter.
Kodiranje i dekodiranje video zapisa pomoću interpolacionog filtera, u skladu sa otelotvorenjima predmetnog pronalaska, opisani su u nastavku u smislu SLIKA 13A do 27. Kodiranje i dekodiranje video zapisa na osnovu jedinica kodiranja koje imaju strukturu stabla, prema otelotvorenjima predmetnog pronalaska, opisano je u daljem tekstu u smislu SLIKA 15 do 25. Postupci kodiranja i dekodiranja video zapisa pomoću interpolacionog filtera, prema otelotvorenjima predmetnog pronalaska, opisani su u daljem tekstu u smislu SLIKA 26 i 27.
Kada se na podacima o slici obavljaju različite operacije, podaci o slici mogu biti podeljeni na grupe podataka, i iste operacije se mogu vršiti na podacima iste grupe podataka. U sledećem opisu, grupa podataka formirana prema unapred utvrđenom standardu označava se kao „jedinica podataka“, i operacija se vrši na svakoj „jedinici podataka“ korišćenjem podataka uključenih u jedinicu podataka.
<Kodiranje i dekodiranje video zapisa pomoću interpolacionog filtera>
SLIKA 13A je blok dijagram uređaja za kodiranje video zapisa 100 koristeći interpolacioni filter, u skladu sa otelotvorenjem predmetnog pronalaska.
Operacije kodera 120 i izlazne jedinice 130 uređaja za kodiranje video zapisa 100 mogu se kooperativno kontrolisati procesorom kodiranja video zapisa, CPU-om i grafičkim procesorom.
Kako bi kodirao trenutnu sliku ulaznog video zapisa, uređaj za kodiranje video zapisa 100 deli trenutnu sliku na jedinice podataka sa unapred određenom veličinom i kodira svaku jedinicu podataka.
Na primer, trenutna slika uključuje piksele u prostornom domenu. Kako bi istovremeno mogli da kodiraju prostorno susedne piksele trenutne slike, trenutna slika može biti razdvojena na grupe piksela koje imaju unapred određenu veličinu, na takav način da susedni pikseli unutar unapred određenog raspona formiraju jednu grupu. Izvršavanjem serije operacija kodiranja na pikselima grupa podeljenih piksela, trenutna slika može biti kodirana.
Pošto su početni podaci o slici za kodiranje vrednosti piksela u prostornom domenu, svaka grupa piksela može se koristiti kao jedinica podataka koja se kodira. Takođe, kada se koeficijenti transformacije u domenu transformacije generišu izvršavanjem transformacije za kodiranje video zapisa na vrednosti piksela grupe piksela u prostornom domenu, koeficijenti transformacije uključeni su u grupe koeficijenata koje imaju istu veličinu kao i piksel grupe u prostornom domenu. Prema tome, grupa koeficijenata koeficijenta transformacije u domenu transformacije može se takođe koristiti kao jedinica podataka za kodiranje slike.
Prema tome, u prostornom domenu i domenu transformacije, data grupa koja ima unapred određenu veličinu može se koristiti kao jedinica podataka koja se kodira. U ovom slučaju, veličina jedinice podataka može se definisati kao broj komada podataka uključenih u jedinicu podataka. Na primer, broj piksela u prostornom domenu ili broj koeficijenata transformacije u domenu transformacije može da predstavlja veličinu jedinice podataka.
Postupak kodiranja ili kodiranja karakteristika trenutne jedinice podataka mogu se odrediti u odnosu na svaku grupu podataka bilo kog nivoa podataka od jedinice podataka, reza, slike i sekvence slike video zapisa koji se trenutno kodira.
Uređaj za kodiranje video zapisa 100 može kodirati trenutnu sliku izvršavanjem kodiranja predviđanja uključujući inter predviđanje i intra predviđanje, transformaciju, kvantifikovanje i entropijsko kodiranje na svakoj jedinici podataka.
Prema inter predviđanju, kako bi se procenila trenutna vrednost piksela u odnosu na vrednost piksela privremeno prethodne ili naredne slike, preostali podaci od vrednosti piksela referentnog područja referentne slike i vrednosti piksela trenutne slike, i referentni podaci ukazuju da se može odrediti vrednosti piksela na koju se poziva.
Kako bi se preciznije izvršilo inter-predviđanje, uređaj za kodiranje video zapisa 100 može odrediti preostale podatke i referentne podatke pomoću vrednosti piksela sub-pel-jedinice. Kako bi se izvršilo inter-predviđanje sub-pel-jedinice, uređaj za kodiranje video zapisa 100 može odrediti vrednost piksela sub-pel-jedinice koja se nalazi između susednih piksela celobrojne-pel-jedinice interpoliranjem susednih piksela celobrojne-pel-jedinice.
Takođe, vrednost piksela sub-pel-jedinice može se generisati izvršavanjem interpolacionog filtriranja na dva ili više referentnih piksela celobrojne-pel-jedinice, uključujući i susedne piksele celobrojne-pel-jedinice. Referentni pikseli za izvršavanje interpolacionog filtriranja mogu biti pikseli referentne slike.
U cilju efikasne interpolacije slike, uređaj za kodiranje video zapisa 100 može selektivno odrediti koeficijente interpolacionog filtera. Enkoder 120 može uključiti uređaj za interpolaciju slike 10 prikazan na SLICI 1. Drugim rečima, kako bi se izvršilo inter predviđanje sub-pel-jedinice, enkoder 120 može generisati vrednost piksela sub-pel-jedinice pomoću interpolacionog filtera uključujući koeficijente filtera određene pomoću uređaja za interpolaciju slike 10 na osnovu transformacije i inverzne transformacije.
Kako bi se efikasno izvršilo interpolaciono filtriranje, uređaj za kodiranje video zapisa 100 može prethodno da uskladišti koeficijente interpolacionog filtera u memoriju. Prema položaju interpolacije, ublaženost, broj tačaka filtera, bit dubina, razmera skaliranja, osnovna funkcija interpolacionog filtriranja na osnovu transformacije, funkcija prozora i veličina prozora, različiti koeficijenti interpolacionog filtera mogu se čuvati u memoriji uređaja za kodiranje video zapisa 100.
Na primer, i) interpolacioni filter 1/4-pel-jedinice, koji uključuje koeficijente filtera od 7 tačaka {-1, 4, -10, 58, 17, -5, 1} i veličinu prozora 8,7 i ii) interpolacioni filter 1/2-pel-jednice koji uključuje koeficijente filtera od 8 tačaka {-1, 4, -11, 40, 40, -11, 4, -1} i veličinu prozora 9,5, mogu se čuvati u memoriji, i mogu se koristiti za izvršavanje interpolacionog filtriranja.
Osim gore pomenutih koeficijenata interpolacionog filtera, koeficijenti interpolacionog filtera mogu se modifikovati prema različitim osnovnim funkcijama i funkcijama prozora kao što je prikazano na SLIKU 9A do 12B se mogu koristiti za izvršavanje interpolacionog filtriranja.
Ako se interpolaciono filtriranje vrši korišćenjem koeficijenta filtera koji se čuvaju u memoriji, može se poboljšati brzina računanja inter predviđanja.
Od mnoštva interpolacionih filtera, enkoder 120 može izabrati i koristiti simetrični ili asimetrični interpolacioni filter za izvršavanje inter predviđanja u skladu sa položajem interpolacije α sub-pel-jedinice. Osim toga, interpolacioni filter koji odgovara trenutnom pikselu može se odrediti prema broju filtera, bit dubini, razmeri skaliranja, veličini prozora, ublaženosti itd.
Enkoder 120 može odrediti interpolacioni filter prema karakteristikama slike. Na primer, enkoder 120 može odrediti različite filtere interpolacije prema komponentama boje piksela. Na primer, interpolacioni filter za luma piksele i interpolacioni filter za hroma piksele mogu se zasebno odabrati i tako se vrednosti piksela sub-pel-jedinice mogu pojedinačno generisati izvršavanjem interpolacionog filtriranja.
Video zapis se može kodirati izvršavanjem inter predviđanja na osnovu interpolacije subpel-jedinice, intra predviđanja, transformacije i kvantifikovanja.
Izlazna jedinica 130 može kodirati i kao izlazne podatke dati informacije o kodiranju i može kao izlazne podatke dati kodirane podatke o slici. Kao informacije o kodiranju, informacije o izabranom interpolacionom filteru mogu biti dodatno kodirane. Drugim rečima, mogu se kodirati informacije o interpolacionom filteru koje se koristi za izvršavanje kodiranja sub-pel-jedinice. Na primer, dekoder mora da zna o interpolacionom filteru koji se koristi za kodiranje slike kako bi dekodirao sliku koristeći isti interpolacioni filter koji se koristi u procesu kodiranja. Zbog ovoga, informacije koje ukazuju na korišćeni interpolacioni filter mogu biti kodirane zajedno sa slikom. Međutim, ako je izabran filter na osnovu prethodnog rezultata kodiranja, tj. konteksta, informacije o izabranom filteru ne moraju biti dodatno kodirane.
Izlazna jedinica 130 može izvršiti entropijsko kodiranje na informacijama o kodiranju, i kodirani podaci o slici mogu kao izlazne podatke dati povorku bitova.
SLIKA 13B je blok dijagram uređaja za dekodiranje video zapisa 200 korišćenjem interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska.
Uređaj za dekodiranje video zapisa 200 uključuje prijemnik i ekstraktor 220 i dekoder 230. Operacije prijemnika i ekstraktora 220 i dekodera 230 uređaja za dekodiranje video zapisa 200 mogu se kooperativno kontrolisati procesorom dekodiranja video zapisa, grafičkim procesorom i CPU-om.
Kako bi se obnovila slika iz povorke bitova, uređaj za dekodiranje video zapisa 200 može dekodirati kodirane podatke o slici povorke bitova izvršavanjem operacija uključujući entropijsko dekodiranje, inverzno kvantifikovanje, inverznu transformaciju, inter predviđanje/kompenzaciju i intra predviđanje/kompenzaciju.
Prijemnik i ekstraktor 220 prima i analizira povorku bitova od kodiranog video zapisa.
Prijemnik i ekstraktor 220 može ekstrahovati kodirane podatke za svaku jedinicu podataka trenutne slike, i informacije o kodiranju uključujući informacije o postupku kodiranja koji se koristi za dekodiranje kodiranih podataka iz raščlanjene povorke bitova.
Ako informacije o kodiranju uključuju informacije o interpolacionom filteru, dekoder 230 može pročitati informacije o interpolacionom filteru koje se koristi za izvođenje intra predviđanja sub-pel-jedinice iz informacija o interpolacionom filteru, i može izvršiti kompenzaciju pokreta pomoću interpolacionog filtera koji se koristi u procesu kodiranja.
Dekoder 230 može dekodirati kodirane podatke o slici izvršavanjem različitih operacija dekodiranja kao što su entropijsko dekodiranje, inverzno kvantifikovanje, inverzna transformacija, inter predviđanje/kompenzacija i intra predviđanje/kompenzacija na kodiranoj slici prema različitim postupcima dekodiranja određenim na osnovu informacija o režimu kodiranja.
Kako bi se izvršila kompenzacija pokreta, referentno područje referentne slike koja je privremeno prethodno ili nakon trenutne slike može se odrediti korišćenjem referentnih podataka, i vrednost piksela referentnog područja i rezidualni podaci se mogu kombinovati kako bi se vratila trenutna vrednost piksela.
Ako su rezidualni podaci i referentni podaci određeni na osnovu piksela interpoliranih u sub-pel jedinici u procesu kodiranja, dekoder 230 takođe može izvršiti kompenzaciju pokreta na osnovu piksela interpoliranih u sub-pel jedinici. Kako bi se izvršila kompenzaciju pokreta sub-peljedinice, dekoder 230 može generisati vrednost piksela sub-pel-jedinice interpoliranjem susednih piksela celobrojne-pel-jedinice referentne slike. Vrednost piksela sub-pel-jedinice može se generisati izvršavanjem interpolacionog filtriranja na dva ili više referentnih piksela celobrojne-peljedinice, uključujući i susedne piksele celobrojne-pel-jedinice.
Kako bi se efikasno izvršila interpolacija slike, uređaj za dekodiranje video zapisa 200 može selektivno odrediti koeficijente interpolacionog filtera. Dekoder 230 može obuhvatiti uređaj interpolacije slike 10 prikazan na SLICI 1. Drugim rečima, kako bi se izvršila kompenzacija pokreta sub-pel-jedinice, dekoder 230 može generisati vrednost piksela sub-pel-jedinice korišćenjem interpolacionog filtera na osnovu transformacije.
Kako bi se efikasno izvršilo interpolaciono filtriranje, uređaj za dekodiranje video zapisa 200 je prethodno mogao da skladišti različite koeficijente interpolacionog filtera za izbor u memoriji, u skladu sa položajem interpolacije, ublaženosti, brojem filtera, bit dubinom, razmerom skaliranja i osnovnom funkcijom interpolacionog filtriranja na osnovu transformacije.
Kao što je prethodno opisano, na primer, najmanje jedan od i) interpolacionog filtera 1/4-pel-jedinice, koji uključuje koeficijente filtera od 7 tačaka {-1, 4, -10, 58, 17, -5, 1}, i koji ima veličinu prozora od 8,7 i ii) interpolacionog filtera 1/2-pel-jedinice, koji uključuje koeficijente filtera od 8 tačaka {-1, 4, -11, 40, 40, -11, 4, -1}, i koji ima veličinu prozora od 9,5, mogu biti skladišteni u memoriji, i mogu se koristiti za izvršavanje interpolacionog filtriranja. Osim gore pomenutih koeficijenata interpolacionog filtera, koeficijenti interpolacionog filtera, koji se mogu modifikovati prema različitim osnovnim funkcijama i funkcijama prozora kao što je prikazano na SLIKAMA 9A do 12B, mogu se koristiti za izvršavanje interpolacionog filtriranja.
Od mnoštva interpolacionih filtera, dekoder 230 može odabrati i koristiti interpolacioni filter koji odgovara trenutnom pikselu kako bi se izvršila kompenzacija pokreta sub-pel-jedinica u skladu sa položajem interpolacije α sub-pel-jedinice, brojem filter tačaka, bit dubine, razmere skaliranja itd.
Takođe, dekoder 230 može odrediti interpolacioni filter prema karakteristikama slike. Na primer, različiti interpolacioni filteri mogu se odrediti prema komponentama boje u pikselima, interpolaciono filtriranje za luma piksele i interpolaciono filtriranje za hroma piksele se mogu zasebno izvesti, i samim tim i interpolirane vrednosti piksela sub-pel-jedinice mogu biti pojedinačno generisane.
Prema tome, dekoder 230 može obnoviti podatke u prostornom domenu vršeći inverzno kvantifikovanje/inverznu transformaciju, i može vratiti vrednosti piksela i trenutnu sliku izvršavajući intra predviđanje i kompenzaciju pokreta na osnovu interpolacije sub-pel-jedinice, kao i interpolacije celobrojne-pel-jedinice. Ako se slika obnovi, video zapis se može dekodirati.
SLIKA 14A je dijagram toka postupka kodiranja slike pomoću interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska.
U operaciji 1410, kako bi se kodirala trenutna slika ulaznog video zapisa, vrši se kodiranje pomoću predviđanja koristeći interpolaciju sub-pel-jedinice. Između interpolacionih filtera za generisanje vrednosti piksela sub-pel-jedinice, interpolacioni filter je drugačije odabran na osnovu položaja interpolacije sub-pel-jedinice i ublaženosti. Ublaženost interpolacionog filtera može se odrediti na osnovu udaljenosti između položaja interpolacije i celobrojnih-pel-jedinice.
Vrednost piksela sub-pel-jedinice može se generisati izvršavanjem interpolacionog filtriranja na dva ili više referentnih piksela celobrojne-pel-jedinice referentne slike. Rezidualni podaci i referentni podaci se određuju korišćenjem generisane vrednosti piksela sub-pel-jedinice, čime se vrši kodiranje predviđanja.
Kako bi se efikasno izvršila interpolacija slike, mogu se selektivno odrediti koeficijenti interpolacionog filtera. Memorija može da skladišti koeficijente interpolacionog filtera simetričnih i asimetričnih interpolacionih filtera, interpolacionih filtera sa neparnim i parnim brojem tačaka i regularizovanih interpolacionih filtera. Od interpolacionih koeficijenata filtera koji su prethodno sačuvani u memoriji, poželjno je odabrati željeni interpolacioni filter u skladu sa položajem interpolacije sub-pel-jedinice, ublaženosti, brojem filtera, bit dubinom, razmerom skaliranja, osnovnom funkcijom interpolacionog filtriranja na osnovu transformacije, veličine filtera prozora i komponente boje, i interpolacija se može izvršiti kako bi se generisala vrednost piksela sub-peljedinice.
U operaciji 1420, transformacija i kvantifikovanje se vrše na rezultatu inter predviđanja na osnovu interpolacije sub-pel-jedinice i intra predviđanja.
U operaciji 1430, povorka bitova se može dobiti kao izlazni podatak izvršavanjem entropijskog kodiranja na informacijama o kodiranju i kodiranim podacima slike u obliku kvantifikovanih koeficijenata transformacije. Informacije o kodiranju mogu uključivati informacije o interpolacionom filteru koje se koristi za izvršavanje kodiranja sub-pel-jedinice.
SLIKA 14B je dijagram toka postupka dekodiranja slike pomoću interpolacionog filtera, u skladu sa otelotvorenjem predmetnog pronalaska.
U operaciji 1450, povorka bitova kodiranog video zapisa je primljena, entropijski dekodirana i raščlanjena kako bi se ekstrahovali kvantifikovani koeficijenti transformacije i kodirale informacije trenutne slike iz povorke bitova.
Ako informacije o kodiranju uključuju informacije o interpolacionom filteru, tip traženog interpolacionog filtera može se pročitati iz informacija.
U operaciji 1460, prema različitim postupcima dekodiranja određenim na osnovu režima kodiranja koji se čita iz informacija o kodiranju, vrše se inverzno kvantifikovanje i inverzna transformacija na kvantifikovanim koeficijentima transformacije, i dodaju se rezidualni podaci, čime se obnavljaju podaci u prostornom domenu.
U operaciji 1470, kodirani podaci o slici mogu se dekodirati izvršavanjem različitih operacija dekodiranja, kao što su kompenzacija pokreta i intra predviđanje na osnovu režima kodiranja.
Konkretno, ako se kodirani rezidualni podaci i referentni podaci ekstrakuju na osnovu piksela interpoliranih u sub-pel jedinici, kompenzacija pokreta može biti izvedena na osnovu piksela interpoliranih u sub-pel jedinici. Između interpolacionih filtera za generisanje vrednosti piksela sub-pel-jedinice, interpolacioni filter je drugačije odabran na osnovu položaja interpolacije sub-pel-jedinice i ublaženosti.
Kako bi se efikasno izvršila interpolacija slike, mogu se selektivno odrediti koeficijenti interpolacionog filtera. Memorija može da skladišti koeficijente interpolacionog filtera simetričnih i asimetričnih interpolacionih filtera, interpolacionih filtera sa neparnim i parnim brojem tačaka i regularizovanih interpolacionih filtera. Između interpolacionih koeficijenata filtera koji su prethodno sačuvani u memoriji, poželjno je odabrati željeni interpolacioni filter u skladu sa položajem interpolacije sub-pel-jedinice, ublaženosti, broja filtera, bit dubine, razmere skaliranja, osnovne funkcijom interpolacionog filtriranja na osnovu transformacije, veličine prozora filtera i komponente boje, i interpolacija se može izvršiti kako bi se generisala vrednost piksela sub-peljedinice.
Pošto se kompenzacija pokreta vrši na pikselima interpoliranim korišćenjem koeficijenta interpolacionog filtera koji su prethodno sačuvani u memoriji, može se povećati brzina računanja. Memorija može da skladišti simetrične i asimetrične interpolacione filtere, kao i filtere za interpolaciju neparnih i parnih brojeva.
Referentna slika i referentno područje određuju se korišćenjem referentnih podataka, i vrednost piksela jedinice sub-pel može se generisati izvršavanjem interpolacionog filtriranja na dva ili više referentnih piksela referentne slike celobrojne-pel-jedinice. Kompenzacija pokreta se može izvršiti kombinovanjem generisane vrednosti piksela sub-pel-jedinice i rezidualnih podataka, i time se izvršava dekodiranje predviđanja.
U operaciji 1480, trenutna slika se obnavlja korišćenjem vrednosti piksela dobijenih dekodiranjem predviđanja, i tako se video zapis dekodira.
<Kodiranje i dekodiranje video zapisa pomoću interpolacije na osnovu jedinica kodiranja koje imaju strukturu stabla>
Uređaji za kodiranje i dekodiranje video zapisa pomoću interpolacionog filtera na osnovu jedinica kodiranja koji imaju strukturu stabla, i postupci kodiranja i dekodiranja video zapisa koji odgovaraju uređajima za kodiranje i dekodiranje video zapisa, u skladu sa otelotvorenjima predmetnog pronalaska, sada će biti detaljno opisani u vezi sa SLIKAMA 13 do 27.
Uređaj za kodiranje video zapisa 100 može kodirati video zapis na osnovu jedinica kodiranja i jedinica transformacije koje imaju strukturu stabla.
Trenutna slika video zapisa može biti razdvojena na osnovu maksimalne jedinice kodiranja trenutne slike. Ako je trenutna slika veća od maksimalne jedinice kodiranja, podaci o slici trenutne slike mogu biti podeljeni na najmanje jednu maksimalnu jedinicu kodiranja. Maksimalna jedinica kodiranja može biti jedinica podataka koja ima veličinu 32×32, 64×64, 128×128, 256×256 itd., gde je oblik jedinice podataka kvadrat koji ima širinu i dužinu 2. Enkoder 120 može kodirati podatke o slici svake od najmanje jedne maksimalne jedinice kodiranja.
Jedinica kodiranja prema otelotvorenju predmetnog pronalaska može se karakterisati maksimalnom veličinom i dubinom. Dubina označava broj puta koliko je jedinica kodiranja prostorno razdvojena od maksimalne jedinice kodiranja, i kako se dubina povećava, dublje jedinice kodiranja na osnovu dubine mogu biti podeljene od maksimalne jedinice kodiranja do minimalne jedinice kodiranja. Dubina maksimalne jedinice kodiranja je najveća dubina i dubina minimalne jedinice kodiranja je najmanja dubina. Pošto se veličina jedinice kodiranja koja odgovara svakoj dubini smanjuje kada se dubina maksimalne jedinice kodiranja produbljuje, jedinica kodiranja koja odgovara gornjoj dubini može uključiti mnoštvo jedinica kodiranja koje odgovaraju nižim dubinama.
Kao što je gore opisano, podaci o slici trenutne slike su razdvojeni na maksimalne jedinice kodiranja u skladu sa maksimalnom veličinom jedinice kodiranja, i svaka od maksimalnih jedinica kodiranja može uključivati dublje jedinice kodiranja koje su razdvojene prema dubinama. Kako je maksimalna jedinica kodiranja prema otelotvorenju prema predmetnog pronalaska razdvojena prema dubinama, podaci o slici prostornog domena uključeni u maksimalnu jedinicu kodiranja mogu biti hijerarhijski klasifikovani prema dubinama.
Moguće je unapred odrediti maksimalnu dubinu i veličinu maksimalne jedinice kodiranja, koja ograničava ukupan broj puta kojim se hijerarhijski dele visina i širina maksimalne jedinice kodiranja.
Enkoder 120 kodira barem jedno područje razdvajanja dobijeno razdvajanjem područja maksimalne jedinice kodiranja prema dubinama, i određuje dubinu kako bi kao izlazni podatak dao konačno kodirane podatke o slici prema najmanje jednom području razdvajanja. Drugim rečima, enkoder 120 određuje kodiranu dubinu kodiranjem podataka o slici u dubljim jedinicama kodiranja prema dubinama, u skladu sa maksimalnom jedinicom kodiranja trenutne slike i odabirom dubine koja ima najmanje grešku kodiranja.
Enkoder 120 može kao izlazne podatke dati kodirane podatke o slici jedinice kodiranja koja odgovara utvrđenoj kodiranoj dubini. Takođe, enkoder 120 može preneti informacije o utvrđenoj kodiranoj dubini do izlazne jedinice 130, tako da informacije o kodiranoj dubini mogu biti kodirane kao informacije o kodiranju.
Podaci o slici u maksimalnoj jedinici kodiranja kodirani su na osnovu dubljih jedinica kodiranja koje odgovaraju bar jednoj dubini jednakoj ili ispod maksimalne dubine, i rezultati kodiranja podataka o slici se upoređuju na osnovu svake od dubljih jedinica kodiranja. Dubina koja ima najmanju grešku kodiranja može se odabrati nakon upoređivanja grešaka kodiranja kod dublje jedinice kodiranja. Za svaku maksimalnu jedinicu kodiranja može se odabrati najmanje jedna kodirana dubina.
Veličina maksimalne jedinice kodiranja je razdvojena kao jedinica kodiranja hijerarhijski razdvojena prema dubinama, i kako se broj jedinica kodiranja povećava. Takođe, čak i ako jedinice kodiranja odgovaraju istoj dubini u jednoj maksimalnoj jedinici kodiranja, određuje se da li će svaka od jedinica kodiranja koja odgovara istoj dubini razdvojiti na nižu dubinu merenjem greške kodiranja podataka slike svake jedinice kodiranja. Prema tome, čak i kada su podaci o slici uključeni u jednu maksimalnu jedinicu kodiranja, podaci o slici su podeljeni na regione prema dubinama, i greške kodiranja se mogu razlikovati u zavisnosti od područja u jednoj maksimalnoj jedinici kodiranja, tako da se kodirane dubine mogu razlikovati u zavisnosti od područja u podacima o slici. Prema tome, jedna ili više kodiranih dubina mogu se odrediti u jednoj maksimalnoj jedinici kodiranja, i podaci o slici maksimalne jedinice kodiranja mogu se podeliti prema jedinicama kodiranja najmanje jedne kodirane dubine.
Prema tome, enkoder 120 može odrediti jedinice kodiranja, koje imaju strukturu stabla, uključene u maksimalnu jedinicu kodiranja. „Jedinice kodiranja koje imaju strukturu stabla“, u skladu sa otelotvorenjem predmetnog pronalaska, obuhvataju jedinice kodiranja koje odgovaraju dubini koja je određena kao kodirana dubina, između svih dubljih jedinica kodiranja uključenih u maksimalnu jedinicu kodiranja. Jedinica kodiranja kodirane dubine može biti hijerarhijski određena na osnovu dubina u istom području maksimalne jedinice kodiranja, i može biti nezavisno određena u različitim područjima. Slično tome, kodirana dubina u trenutnom području može se nezavisno odrediti iz kodirane dubine u drugom području..
Maksimalna dubina u skladu sa otelotvorenjem predmetnog pronalaska je indeks koji se odnosi na broj puta koliko se vrši razdvajanja od maksimalne jedinice kodiranja do minimalne jedinice kodiranja. Prva maksimalna dubina u skladu sa otelotvorenjem predmetnog pronalaska može označiti ukupan broj puta koliko se vrši razdvajanje od maksimalne jedinice kodiranja do minimalne jedinice kodiranja. Druga maksimalna dubina prema otelotvorenju predmetnog pronalaska može označiti ukupan broj nivoa dubine maksimalne jedinice kodiranja do minimalne jedinice kodiranja. Na primer, kada je dubina maksimalne jedinice kodiranja 0, dubina jedinice kodiranja, u kojoj je maksimalna jedinica kodiranja jednom razdvojena, može biti podešena na 1, i dubina jedinice kodiranja, u kojoj je maksimalna jedinica kodiranja je razdvojena dva puta, može se podesiti na 2. Ovde, ukoliko je minimalna jedinica kodiranja ona jedinica kodiranja u kojoj je maksimalna jedinica kodiranja razdvojena četiri puta, postoji 5 nivoa dubine od dubina 0, 1, 2, 3 i 4, i stoga prva maksimalna dubina može biti postavljena da bude 4, i druga maksimalna dubina može biti postavljena da bude 5.
Kodiranje i transformacija predviđanja može biti izvršeno na osnovu maksimalne jedinice kodiranja. Kodiranje i transformacija predviđanja takođe su izvršeni na osnovu dubljih jedinica kodiranja na osnovu dubine jednake ili dubina manje od maksimalne dubine, na osnovu maksimalne jedinice kodiranja.
Kako se broj dubljih jedinica kodiranja povećava kada god je maksimalna jedinica kodiranja razdvojena na osnovu dubina, kodiranje koje obuhvata kodiranje i transformaciju predviđanja je izvršeno na svim dubljim jedinicama kodiranja generisanim dok se dubina povećava. Radi pogodnosti opisa, kodiranje i transformacija predviđanja će sada biti opisani na osnovu jedinice kodiranja trenutne dubine, u maksimalnoj jedinici kodiranja.
Uređaj za kodiranje video zapisa 100 može različito da bira veličinu ili oblik jedinice podataka za kodiranje podataka o slici. U cilju kodiranja podataka u slici, operacije kao što su kodiranje, transformacija i entropijsko kodiranje predviđanja se vrše, i u to vreme, ista jedinica podataka može biti korišćena za sve operacije, ili drugačije jedinice podataka mogu biti korišćene za svaku operaciju.
Na primer, uređaj za kodiranje video zapisa 100 može izabrati ne samo jedinicu kodiranja za kodiranje podataka o slici, već takođe jedinicu podataka različitu od jedinice kodiranja tako da vrši kodiranje predviđanja na podacima o slici jedinice kodiranja.
Kako bi se izvršilo kodiranje predviđanja u maksimalnoj jedinici kodiranja, kodiranje predviđanja može biti izvršeno na osnovu jedinice kodiranja koja odgovara kodiranoj dubini, tj., na osnovu jedinice kodiranja koja više nije razdvojena na jedinice kodiranja do niže dubine. U daljem tekstu, jedinica kodiranja koja više nije razdvojena i postaje osnovna jedinica kodiranja predviđanja, sada će biti označena kao „jedinica predviđanja“. Particija dobijena razdvajanjem jedinice predviđanja može uključivati jedinicu predviđanja ili jedinicu podataka dobijenu razdvajanjem najmanje jedne od visine i širine jedinice predviđanja.
Na primer, kada jedinica kodiranja od 2N×2N (gde je N pozitivan ceo broj) više nije razdvojena i postaje jedinica predviđanja od 2N×2N, veličina particije može biti 2N×2N, 2N×N, N×2N ili N×N. Primeri tipa particije obuhvataju simetrične particije koje se dobijaju pomoću simetričnog razdvajanja visine ili širine jedinice predviđanja, particije dobijene pomoću asimetričnog razdvajanja visine ili širine jedinice predviđanja, kao što su 1:n ili n:1, particije koje su dobijene geometrijskom podelom jedinice predviđanja, i particije koje imaju proizvoljne oblike.
Režim predviđanja jedinice predviđanja može biti najmanje jedan od intra režima, inter režima i režima preskakanja. Na primer, intra režim ili inter režim se mogu izvršiti na particiji 2N×2N, 2N×N, N×2N ili N×N. Takođe, režim preskakanja se može izvršiti samo na particiji 2N×2N. Kodiranje se nezavisno vrši na jednoj jedinici predviđanja u jedinici kodiranja, čime se bira režim predviđanja koji ima najmanju grešku kodiranja.
Uređaj za kodiranje video zapisa 100 može vršiti transformaciju na podacima o slici u jedinici kodiranja na osnovu ne samo jedinice kodiranje za kodiranje podataka o slici, već i na osnovu jedinice podataka koja je različita od jedinice kodiranja.
Kako bi se izvršila transformacija u jedinici kodiranja, transformacija može biti izvršena na osnovu jedinice transformacije u jedinici kodiranja, transformacija može biti izvršena na osnovu jedinice transformacije koja ima veličinu manju ili jednaku od jedinice kodiranja. Na primer, jedinica transformacije za transformaciju može uključivati jedinicu podataka za intra režim i jedinicu za podatke za inter režim.
Slično jedinici kodiranja, jedinica transformacije u jedinici kodiranja može se rekurzivno podeliti na manje veličine, tako da se jedinica transformacije može odrediti nezavisno u jedinicama područja. Prema tome, rezidualni podaci u jedinici kodiranja mogu se razdvojiti u skladu sa jedinicama transformacije koje imaju strukturu stabla prema dubinama transformacije.
Dubina transformacije koja ukazuje na broj razdvajanja koja se vrše kako bi se dostigla jedinica transformacije razdvajanjem visine i širine jedinice kodiranja, takođe se može postaviti u jedinicu transformacije. Na primer, u trenutnoj jedinici kodiranja od 2N×2N, dubina transformacije može biti 0 ako je veličina jedinice transformacije takođe 2N×2N, može biti 1 kada je veličina jedinice transformacije N×N i može biti 2 kada je veličina jedinice transformacije N/2×N/2. Drugim rečima, jedinice transformacije koje imaju strukturu stabla mogu se podesiti prema dubinama transformacije.
Kodiranje informacija prema kodiranoj dubini zahteva ne samo informacije o kodiranoj dubini, već i informacije o kodiranju i transformaciji predviđanja. Prema tome, enkoder 120 ne samo da određuje kodiranu dubinu koja ima najmanje grešku kodiranja, već takođe određuje tip particije u jedinici predviđanja, režim predviđanja prema jedinicama predviđanja i veličinu jedinice transformacije za transformaciju. Za inter predviđanje, informacije o kodiranju prema kodiranoj dubini mogu uključivati informacije povezane sa interpolacionim filtriranjem za interpoliranje subpel jedinica.
Takođe, enkoder 120 može izvršiti transformaciju koristeći jedinice transformacije koje imaju strukturu stabla za kodiranje jedinica kodiranja, na osnovu maksimalnog nivou razdvajanja jedinica transformacije, što je unapred i restriktivno podešeno u svakoj maksimalnoj jedinici kodiranja ili trenutnoj jedinici kodiranja.
U svakoj od dubljih jedinica kodiranja prema dubinama, osnovna jedinica transformacije, koja ima veličinu manju od ili jednaku jedinici kodiranja, može biti hijerarhijski razdvojena na jedinice transformacije nižih dubina transformacije. Jedinice transformacije koje imaju strukturu stabla mogu uključiti osnovnu jedinicu transformacije koja ima veličinu maksimalne koja je trenutno dozvoljena, i jedinice transformacije nižeg nivoa u odnosu na maksimalni nivo razdvajanja koji je dozvoljen za jedinice kodiranja.
Posle izvršavanja transformacije na svakom nivou prema dubini transformacije u trenutnoj jedinici kodiranja, enkoder 120 može odrediti jedinice transformacije koje imaju strukturu stabla, koje su nezavisne od jedinica transformacije susednih područja i formiraju hijerarhijsku strukturu između jedinica transformacije u istoj regiji prema dubinama transformacije.
Drugim rečima, jedinice transformacije koje imaju strukturu stabla mogu se odrediti izvršavanjem transformacije na svakoj jedinici kodiranja pomoću različitih jedinica transformacije i zatim upoređivanjem rezultata transformacije. Dok se određuje jedinica kodiranja, može se odrediti jedinica transformacije za transformaciju jedinice kodiranja. Kad god su jedinice kodiranja prema svakoj od jedne ili više dubina kodirane, jedinice transformacije prema svakoj od jedne ili više dubina transformacije mogu se koristiti za izvršavanje transformacije.
Jedinica transformacije koja ima najmanju grešku kodiranja mora biti određena za svaku jedinicu kodiranja. Kako bi se odredila dubina transformacije koja ima minimalnu grešku kodiranja u jedinici transformacije, greške kodiranja mogu se izmeriti i upoređivati u svim dubljim jedinicama transformacije prema dubinama. Jedinica transformacije može se odrediti kao jedinica podataka za minimizovanje greške transformacije jedinice kodiranja.
Prema tome, pošto je kombinacija dublje jedinice kodiranja i dublje jedinice transformacije prema dubinama, koja ima najmanje grešku kodiranja, pojedinačno određena u svakom području maksimalne jedinice kodiranja, mogu biti određene jedinice kodiranja koje imaju strukturu stabla i jedinice transformacije koje imaju strukturu stabla.
Postupci određivanja jedinica kodiranja koje imaju strukturu stabla, particije i jedinice transformacije koje imaju strukturu stabla u maksimalnoj jedinici kodiranja, u skladu sa otelotvorenjima predmetnog pronalaska, biće detaljnije opisani kasnije u vezi sa SLIKAMA 15 do 25.
Enkoder 120 može izmeriti grešku kodiranja dubljih jedinica kodiranja prema dubinama korišćenjem optimizacije stope distorzije na osnovu Lagranžovih multiplikatora.
Uređaj za kodiranje video zapisa 100 može kao izlazne podatke dati podatke o slici maksimalne jedinice kodiranja, koja je kodirana na osnovu najmanje jedne dubine kodiranja koja je određena enkoderom 120, kao i informacija o režimu kodiranja prema kodiranoj dubini, koju kodira izlazna jedinica 130, u obliku povorke bitova.
Informacije o načinu kodiranja dublje jedinice kodiranja prema dubinama, što je određeno kada se slika kodira na jedinicama kodiranja, jedinicama predviđanja i jedinicama transformacije koje imaju strukturu stabla, mogu biti uključene u zaglavlje, skup parametra sekvence ( SPS) ili skup parametara slike (PPS) povorke bitova.
Kodirani podaci o slici mogu se dobiti kodiranjem rezidualnih podataka slike.
Informacije o režimu kodiranja prema kodiranoj dubini mogu uključivati informacije o kodiranoj dubini, o tipu particije u jedinici predviđanja, načinu predviđanja i veličini jedinice transformacije.
Informacije o kodiranoj dubini mogu se definisati korišćenjem informacija o razdvajanju prema dubinama, što predstavlja da li se kodiranje vrši kodirajućim jedinicama na nižoj dubini umesto trenutne dubine. Ako je trenutna dubina trenutne jedinice kodiranja kodirana dubina, podaci o slici u trenutnoj jedinici kodiranja se kodiraju i daju kao izlazni podaci, i samim tim i informacije o razdvajanju mogu biti definisane tako da se trenutna jedinica kodiranja ne podeli na nižu dubinu. Alternativno, ukoliko trenutna dubina trenutne jedinice kodiranja nije kodirana dubina, kodiranje je izvršeno na jedinici kodiranja niže dubine, i stoga informacije o razdvajaju može biti definisana da deli trenutnu jedinicu kodiranja kako bi se dobile jedinice kodiranja niže dubine.
Ukoliko trenutna dubina nije kodirana dubina, kodiranje je izvršeno na jedinici kodiranja koja je razdvojena na jedinicu kodiranja niže dubine. Kako bar jedna jedinica kodiranja niže dubine postoji u jednoj jedinici kodiranja trenutne dubine, kodiranje je ponovljivo vrši na svakoj jedinici kodiranja niže dubine, i stog kodiranje može biti rekurzivno izvršeno za jedinice kodiranja koje imaju istu dubinu.
Pošto su jedinice kodiranja koje imaju strukturu stabla određene za jednu maksimalnu jedinicu kodiranja, i za određenu jedinicu kodiranja kodirane dubine određuju se informacije o najmanje jednom režimu kodiranja, informacije o najmanje jednom režimu kodiranja mogu se odrediti za jednu maksimalnu jedinicu kodiranja. Takođe, kodirana dubina podataka o slici maksimalne jedinice kodiranja može se razlikovati prema položajima, pošto su podaci o slici hijerarhijski podeljeni prema dubinama, i stoga se informacije o kodiranoj dubini i načinu kodiranja mogu podesiti za podatke o slici.
Prema tome, izlazna jedinica 130 može dodeliti informacije o kodiranju odgovarajuće kodirane dubine i režima kodiranja na najmanje jednu od jedinice kodiranja, jedinice predviđanja i minimalne jedinice uključene u maksimalnu jedinicu kodiranja.
Minimalna jedinica prema otelotvorenju predmetnog pronalaska je pravougaona jedinica podataka dobijena deljenjem minimalne jedinice kodiranja koja predstavlja najnižu dubinu sa 4. Alternativno, minimalna jedinica može biti maksimalna pravougaona jedinica podataka koja može biti obuhvaćena u svim jedinicama podataka, jedinicama predviđanja, jedinicama particija i jedinicama transformacije obuhvaćenim u maksimalnoj jedinici kodiranja.
Na primer, izlazni podatak informacija o kodiranju kroz izlaznu jedinicu 130 može biti klasifikovan u informacije o kodiranju na osnovu jedinica kodiranja, i informacije o kodiranju na osnovu jedinica predviđanja. Informacija o kodiranju na osnovu jedinica kodiranja može obuhvatati informaciju o režimu predviđanja i o veličini particija. Informacija o kodiranju na osnovu jedinica predviđanja može obuhvatati informaciju o procenjenom smeru inter režima, o referentnom indeksu slike inter režima, o vektoru pokreta, o hroma komponenti intra režima, i o postupku interpolacije intra režima.
Informacije o maksimalnoj veličini jedinice kodiranja definisane prema slikama, isečcima ili GOP-ovima i informacije o maksimalnoj dubini mogu se ubaciti u zaglavlje, SPS ili PPS povorke bitova.
U uređaju za kodiranje video zapisa 100, dublja jedinica kodiranja može biti jedinica kodiranja koja se dobija deljenjem visine ili širine jedinice kodiranja sa gornjom dubinom, koja je jedan sloj iznad, sa dva. Drugim rečima, kada je veličina jedinice kodiranja trenutne dubine 2N×2N, veličina jedinice kodiranja donje dubine je N×N. Takođe, jedinica kodiranja trenutne dubine koja ima veličinu 2N×2N može uključivati maksimalno 4 jedinice kodiranja donje dubine.
Prema tome, uređaj za kodiranje video zapisa 100 može formirati jedinice kodiranja koje imaju strukturu stabla tako što određuju jedinice kodiranja koje imaju optimalan oblik i optimalnu veličinu za svaku maksimalnu jedinicu kodiranja, na osnovu veličine maksimalne jedinice kodiranja i maksimalne dubine određene s obzirom na karakteristike trenutne slike. Takođe, pošto se kodiranje može izvršiti na svakoj maksimalnoj jedinici kodiranja korišćenjem bilo kog od različitih načina predviđanja i transformacije, optimalan režim kodiranja se može odrediti s obzirom na karakteristike jedinice kodiranja različitih veličina slike.
Dakle, ako je slika koja ima visoku rezoluciju ili veliku količinu podataka kodirana u konvencionalnom makrobloku, broj makroblokova po slici se prekomerno povećava. Prema tome, povećava se broj komada kompresovanih informacija koje se generišu za svaki makroblok, i time je i teško preneti kompresovanu informaciju i smanjiti efikasnost kompresije podataka. Međutim, upotrebom uređaja za kodiranje video zapisa 100, efikasnost kompresovanja slike može se povećati kako je jedinica kodiranja podešena dok se uzimaju u obzir karakteristike slike dok se povećava maksimalna veličina jedinice kodiranja dok se uzima u obzir veličina slike.
Izlazna jedinica 130 može kodirati i kao izlazne podatke dati informacije o kodiranju koje ukazuju na postupak kodiranja koji se koristi za kodiranje video zapisa na osnovu jedinica kodiranja koje imaju strukturu stabla i jedinica transformacije koje imaju strukturu stabla. Informacije o kodiranju mogu sadržati informacije o različitim režimima kodiranja jedinica kodiranja koje odgovaraju kodiranoj dubini, kao i informacije o kodiranoj dubini.
Definicije različitih pojmova, kao što su jedinica kodiranja, dubina, jedinica predviđanja, jedinica transformacije i informacije o različitim režimima kodiranja za različite operacije uređaja za dekodiranje video zapisa 200 identične su onima opisanim u odnosu na uređaj za kodiranje video zapisa 100.
Prijemnik 210 prima povorku bitova od kodiranog video zapisa. Prijemnik i ekstraktor 220 raščlanjuju primljenu povorku bitova. Prijemnik i ekstraktor 220 ekstrakuju kodirane podatke o slici za svaku jedinicu kodiranja iz raščlanjene povorke bitova, gde jedinice kodiranja imaju strukturu stabla prema svakoj maksimalnoj jedinici kodiranja, i kao izlazne podatke dekoderu 230 daju ekstrakovane podatke slike. Prijemnik i ekstraktor 220 mogu ekstrahovati informacije o maksimalnoj veličini jedinice kodiranja trenutne slike, iz zaglavlja, SPS ili PPS u vezi sa trenutnom slikom.
Takođe, prijemnik i ekstraktor 220 mogu ekstrahovati informacije o kodiranju jedinica kodiranja koje imaju strukturu stabla prema svakoj maksimalnoj jedinici kodiranja, iz raščlanjene povorke bitova. Informacije o kodiranoj dubini i načinu kodiranja se izvlače iz informacija o kodiranju. Ekstrakovane informacije o kodiranoj dubini i režimu kodiranja se daju kao izlazni podaci na dekoder 230. Drugim rečima, podaci o slici u povorci bitova mogu se podeliti na maksimalnu jedinicu kodiranja tako da dekoder 230 može dekodirati podatke o slici za svaku maksimalnu jedinicu kodiranja.
Informacije o kodiranoj dubini i režimu kodiranja u skladu sa maksimalnom jedinicom kodiranja mogu se podesiti za informacije o najmanje jednoj jedinici kodiranja koja odgovara kodiranoj dubini, i informacije o režimu kodiranja mogu sadržati informacije o tipu particije odgovarajuće jedinice kodiranja koja odgovara kodiranoj dubini, o režimu predviđanja i veličini jedinice transformacije. Za inter predviđanje, informacije vezane za interpolaciono filtriranje za interpolaciju sub-pel jedinica mogu biti izvučene iz informacija o kodiranju prema kodiranoj dubini. Takođe, informacije o razdvajanju prema dubinama mogu se izvući kao podaci o kodiranoj dubini.
Informacije o kodiranoj dubini i načinu kodiranja u skladu sa svakom maksimalnom jedinicom kodiranja ekstrakovane pomoću prijemnika i ekstraktora 220 su informacije o kodiranoj dubini i režimu kodiranja određene da generišu minimalnu grešku kodiranja kada enkoder, kao što je uređaj za kodiranje video zapisa 100, više puta vrši kodiranje za svaku dublju jedinicu kodiranja prema dubinama prema svakoj maksimalnoj jedinici kodiranja. Prema tome, uređaj za dekodiranje video zapisa 200 može obnoviti sliku dekodiranjem podataka slike prema kodiranoj dubini i režimom kodiranja koji generiše minimalnu grešku kodiranja.
Pošto kodiranje informacija o kodiranoj dubini i načinu kodiranja može biti dodeljeno unapred određenoj jedinici podataka od odgovarajuće jedinice kodiranja, jedinice predviđanja i minimalne jedinice, prijemnik i ekstraktor 220 mogu ekstrahovati informacije o kodiranoj dubini i režimu kodiranja prema unapred određenim jedinicama podataka. Za unapred određene jedinice podataka kojima se dodeljuju iste informacije o kodiranoj dubini i načinu kodiranja može se zaključiti da su jedinice podataka uključene u istu maksimalnu jedinicu kodiranja.
Dekoder 230 može odrediti barem jednu kodiranu dubinu trenutne maksimalne jedinice kodiranja pomoću informacija o razdvajanju prema dubinama. Ako informacije o razdvajanju pokazuju da podaci o slici više nisu podeljeni na trenutnoj dubini, trenutna dubina je kodirana dubina. Prema tome, dekoder 230 može dekodirati kodirane podatke o slici najmanje jedne jedinice kodiranja koja odgovara svakoj kodiranoj dubini u trenutnoj maksimalnoj jedinici kodiranja korišćenjem informacija o tipu particije jedinice predviđanja, načinu predviđanja i veličini jedinice transformacije za svaku jedinicu kodiranja koja odgovara kodiranoj dubini, i kao izlazne podatke daje podatke o slici trenutne maksimalne jedinice kodiranja.
Drugim rečima, jedinice podataka koje sadrže informacije o kodiranju uključujući iste informacije o razdvajanju mogu se prikupiti posmatranjem skupa informacija o kodiranju dodeljenim unapred određenoj jedinici podataka od jedinice kodiranja, jedinice predviđanja i minimalne jedinice, i prikupljene jedinice podataka mogu se smatrati jedinstvenom jedinicom podataka koju dekodira dekoder 230 u istom režimu kodiranja.
Dekoder 230 može obnoviti trenutnu sliku dekodiranjem kodiranih podataka o slici u svakoj maksimalnoj jedinici kodiranja na osnovu informacija o kodiranoj dubini i načinu kodiranja u skladu sa maksimalnim jedinica kodiranja. Tip particije, režim predviđanja i jedinica transformacije mogu se pročitati kao režim kodiranja za svaku jedinicu kodiranja od jedinica kodiranja koje imaju strukturu stabla koja je uključena u svaku maksimalnu jedinicu kodiranja. Proces dekodiranja može uključivati predviđanje uključujući intra predviđanje i kompenzaciju pokreta i inverznu transformaciju.
Dekoder 230 može izvršiti intra predviđanje ili kompenzaciju pokreta u skladu sa particijom i režimom predviđanja svake jedinice kodiranja, na osnovu informacija o tipu particije i načinu predviđanja jedinice predviđanja jedinica kodiranja koje imaju strukturu stabla.
Takođe, dekoder 230 može pročitati strukturu jedinica transformacije koje imaju strukturu stabla, i može izvršiti inverznu transformaciju na svakoj jedinici kodiranja na osnovu jedinica transformacije.
Uređaj za dekodiranje video zapisa 200 može dobiti informacije o najmanje jednoj jedinici kodiranja koja generiše minimalnu grešku kodiranja kada se kodiranje vrši rekurzivno za svaku maksimalnu jedinicu kodiranja, i može koristiti podatke za dekodiranje trenutne slike. Drugim rečima, mogu biti dekodirane jedinice kodiranja koje imaju strukturu stabla koje su određene da budu optimalne jedinice kodiranja u svakoj maksimalnoj jedinici kodiranja. Takođe, maksimalna veličina jedinice kodiranja se određuje uzimajući u obzir rezoluciju i količinu podataka o slici.
Prema tome, čak i ako podaci o slici imaju visoku rezoluciju i veliku količinu podataka, podaci o slici mogu biti efikasno dekodirani i obnovljeni korišćenjem veličine jedinice kodiranja i režima kodiranja, koji se adaptivno određuju prema karakteristikama podataka slike, koristeći informacije o optimalnom režimu kodiranja primljenom od enkodera.
SLIKA 15 je dijagram za opisivanje koncepta jedinica kodiranja prema otelotvorenju predmetnog pronalaska.
Veličina jedinice kodiranja može biti izražena kao širina×visina, i može biti 64×64, 32×32, 16×16 i 8×8. Jedinica kodiranja od 64×64 može biti razdvojena na particije od 64×64, 64×32, 32×64 ili 32×32, jedinica kodiranja od 32×32 može biti razdvojena na particije od 32×32, 32×16, 16×32 ili 16×16, jedinica kodiranja od 16×16 može biti razdvojena na particije od 16×16, 16×8, 8×16 ili 8×8, i jedinica kodiranja od 8×8 može biti razdvojena na particije od 8×8, 8×4, 4×8 ili 4×4.
U podacima o video zapisu 310, rezolucija je 1920×1080, maksimalna veličina jedinice kodiranja je 64, i maksimalna dubina je 2. U podacima o video zapisu 320, rezolucija je 1920×1080, maksimalna veličina jedinice kodiranja je 64, i maksimalna dubina je 3. U podacima o video zapisu 330, rezolucija je 352×288, maksimalna veličina jedinice kodiranja je 16, i maksimalna dubina je 1. Maksimalna dubina prikazana na SLICI 15 označava ukupan broj razdvajanja od maksimalne jedinice kodiranja do minimalne jedinice dekodiranja.
Ako je rezolucija visoka ili je količina podataka velika, maksimalna veličina jedinice kodiranja može biti velika, tako ne samo da povećava efikasnost kodiranja, već i tačno reflektuje karakteristike slike. Prema tome, maksimalna veličina jedinice kodiranja podataka o video zapisu 310 i 320 koja ima višu rezoluciju od podataka o video zapisu 330 može biti 64.
Pošto maksimalna dubina podataka o video zapisu 310 iznosi 2, jedinice kodiranja 315 podataka o video zapisu 310 mogu uključivati maksimalnu jedinicu kodiranja koja ima veličinu dugačke ose 64, i jedinice kodiranja imaju veličine dugačke ose 32 i 16, s obzirom da se dubine produbljuju dva sloja razdvajanjem maksimalne jedinice kodiranja dva puta. U međuvremenu, kako je maksimalna dubina podataka o video zapisu 330 jednaka 1, jedinice kodiranja 335 podataka o video zapisu 330 mogu sadržati maksimalnu jedinicu kodiranja koja ima veličinu dugačke ose 16, i jedinice kodiranja koje imaju veličinu dugačke ose 8 kako su dubine produbljene do jednog sloja deljenjem maksimalne jedinice kodiranja jedanput.
Kako je maksimalna dubina podataka o video zapisu 320 jednaka 3, jedinice kodiranja 325 podataka o video zapisu 320 mogu sadržati maksimalne jedinice kodiranja koje imaju veličinu dugačke ose 64, i jedinice kodiranja koje imaju veličine dugačke ose 32, 16 i 8 kako su dubine povećane do 3 sloja deljenjem maksimalne jedinice kodiranja tri puta. Dok se dubine produbljuju, detaljne informacije mogu biti precizno izražene.
SLIKA 16 je blok dijagram enkodera za slike 400 na osnovu jedinicama kodiranja, u skladu sa otelotvorenjem predmetnog pronalaska.
Enkoder slike 400 vrši operacije enkodera 120 uređaja za kodiranje video zapisa 100 za kodiranje slika podataka. Drugim rečima, intra prediktor 410 vrši intra predviđanje jedinica kodiranja u intra režimu, od trenutnog okvira 405, i procenjivača pokreta 420, i kompenzator pokreta 425 vrši inter procenu i kompenzaciju pokreta jedinica kodiranja u inter režimu od između trenutnog okvira 405 koristeći trenutni okvir 405 i referentni okvir 495.
Kako bi precizno izvršio procenu pokreta pomoću referentnih piksela u sub-pel jedinicama, procenjivač pokreta 420 i kompenzator pokreta 425 mogu generisati piksele u sub-pel jedinicama interpolacijom piksela u celobrojnim-pel jedinicama. Interpolacioni filter za generisanje piksela u sub-pel jedinicama može biti interpolacioni filter opisan gore u odnosu na SLIKE 1 i 13A.
Izlazni podaci iz intra prediktora 410, procenjivača pokreta 420 i kompenzatora pokreta 425 se daju kao kvantifikovani koeficijent transformacije kroz transformator 430 i kvantizator 440. Kvantifikovani koeficijent transformacije se obnavlja kao podaci u prostornom domenu kroz inverzni kvantizator 460 i inverzni transformator 470, i obnovljeni podaci u prostornom domenu se daju kao izlazni podatak kao referentni kadar 495 nakon što se naknadno obrade preko jedinice za deblokadu 480 i jedinice za filtriranje petlji 490. Kvantifikovani koeficijent transformacije može se izvesti kao povorka bitova 455 kroz entropijski enkoder 450.
Kako bi se enkoder slike 400 primenio u uređaju za kodiranje video zapisa 100, svi elementi enkodera slike 400, tj. Intra prediktora 410, procenjivač pokreta 420, kompenzator pokreta 425, transformator 430, kvantizator 440, entropijski enkoder 450, inverzni kvantizator 460, inverzni transformator 470, jedinica deblokiranja 480 i jedinica filtriranje petlje 490, moraju izvršavati operacije na osnovu svake jedinice kodiranja od jedinica kodiranja koje imaju strukturu stabla, uzimajući u obzir maksimalnu dubinu svake maksimalna jedinica kodiranja.
Konkretno, intra prediktor 410, procenjivač pokreta 420 i kompenzator pokreta 425 moraju da odrede particije i režim predviđanja za svaku jedinicu kodiranja od jedinica kodiranja koje imaju strukturu stabla, uzimajući u obzir veličinu maksimalne i maksimalnu dubinu struje maksimalna jedinica kodiranja, i transformator 430 mora da odredi veličinu jedinice transformacije u svakoj jedinici kodiranja od jedinica kodiranja koje imaju strukturu stabla.
SLIKA 17 je blok dijagram dekodera slike 500 na osnovu jedinica kodiranja, u skladu sa otelotvorenjem predmetnog pronalaska.
Raščlanjivač 510 vrši raščlanjivanje kodiranih podataka o slici koji će se dekodirati i potrebnih informacija o kodiranju za dekodiranje iz povorke bitova 505. Kodirani podaci o slici se kao izlazni podaci daju kao inverzno kvantifikovani podaci putem entropijskog dekodera 520 i inverznog kvantifikatora 530, i inverzno kvantifikovani podaci se obnavljaju do podatke o slici u prostornom domenu kroz inverzni transformator 540.
Intra prediktor 550 izvodi intra predviđanje jedinica kodiranja u intra režimu u odnosu na podatke o slici u prostornom domenu, i kompenzator pokreta 560 vrši kompenzaciju pokreta jedinica kodiranja u inter režimu pomoću referentnog okvira 585.
Kako bi precizno izvršio procenu pokreta pomoću referentnih piksela u sub-pel jedinicama, kompenzator pokreta 560 može generisati piksele u sub-pel jedinice interpolacijom piksela u celobrojnim-pel jedinicama. Interpolacioni filter za generisanje piksela u sub-pel jedinicama može biti interpolacioni filter opisan iznad u odnosu na SLIKE 2 i 13B.
Podaci o slici u prostornom domenu koji su prolazili kroz intra prediktor 550 i kompenzator pokreta 560 mogu se kao izlazni podaci dati kao obnovljeni okvir 595 nakon što se post-procesiraju kroz jedinicu deblokiranja 570 i jedinicu filtriranja petlje 580. Takođe, podaci o slici koji su postprocesirani preko jedinice za deblokiranje 570 i jedinice filtriranja petlje 580 mogu biti izlazni podatak kao referentna slika 585.
Kako bi dekodirali podatke o slici u dekoderu 230 uređaja za dekodiranje video zapisa 200, dekoder 500 slike može izvršavati operacije koje se izvode nakon parsera 510.
Kako bi se dekoder 500 slike primenio u uređaju za dekodiranje video zapisa 200, svi elementi dekodera 500 slike, tj. raščlanjivač 510, entropijski dekoder 520, inverzni kvantizator 530, inverzni transformator 540, intra prediktor 550, kompenzator pokreta 560, jedinica deblokiranja 570 i jedinica filtriranja petlje 580, moraju izvršavati operacije na osnovu jedinica kodiranja koje imaju strukturu stabla za svaku maksimalnu jedinicu kodiranja.
Konkretno, intra prediktor 550 i kompenzator pokreta 560 moraju da odrede particije i režim predviđanja za svaku od jedinica kodiranja koje imaju strukturu stabla, i inverzni transformator 540 mora da odredi veličinu jedinice transformacije za svaku jedinicu kodiranja.
SLIKA 18 je dijagram koji ilustruje dublje jedinice kodiranja prema dubinama i particijama, u skladu sa otelotvorenjem predmetnog pronalaska.
Uređaj za kodiranje video zapisa 100 i uređaj za dekodiranje video zapisa 200 koriste hijerarhijske jedinice kodiranja tako da uzimaju u obzir karakteristike slike. Maksimalna visina, maksimalna širina i maksimalna dubina jedinica kodiranja mogu se adaptivno odrediti prema karakteristikama slike, ili ih može drugačije postaviti korisnik. Veličine dubljih jedinica kodiranja na osnovu dubina mogu biti određene na osnovu prethodno određene maksimalne veličine jedinice kodiranja.
U hijerarhijskoj strukturi 600 jedinica kodiranja, prema otelotvorenju predmetnog pronalaska, maksimalna visina i maksimalna širina jedinica kodiranja su 64 i maksimalna dubina je 4. U ovom slučaju maksimalna dubina označava ukupan broj puta koliko se vrši cepanje od maksimalne jedinice kodiranja do minimalne jedinice kodiranja. S obzirom da se dubina produbljuje duž vertikalne ose hijerarhijske strukture 600, razdvajaju se visina i širina dublje jedinice kodiranja. Takođe, jedinica predviđanja i particije, koje su osnove za kodiranje predviđanja svake dublje jedinice kodiranja, prikazane su duž horizontalne ose hijerarhijske strukture 600.
Drugim rečima, jedinica kodiranja 610 je maksimalna jedinica kodiranja u hijerarhijskoj strukturi 600, gde je dubina 0, i veličina, tj. visina po širini, je 64×64. Dubina se produbljuje duž vertikalne ose i jedinica kodiranja 620 ima veličinu 32×32 i dubinu 1, jedinica kodiranja 630 ima veličinu 16×16 i dubinu 2, i jedinica kodiranja 640 ima veličinu 8×8 i dubinu 3. Jedinica kodiranja 640 koja ima veličinu 8×8 i dubinu 3 je minimalna jedinica kodiranja.
Jedinica predviđanja i particije jedinice kodiranja su postavljene duž horizontalne ose prema svakoj dubini. Drugim rečima, ako je jedinica kodiranja 610 koja ima veličinu 64×64 i dubinu 0 jedinica predviđanja, jedinica predviđanja može biti razdvojena na particije uključene u jedinicu kodiranja 610, tj. particiju 610 veličine 64×64, particiju 612 veličine 64×32, particiju 614 veličine 32×64 ili particiju 616 veličine 32×32.
Slično tome, jedinica predviđanja jedinice kodiranja 620 koja ima veličinu 32×32 i dubinu 1 može se razdvojiti na particije uključene u jedinicu kodiranja 620, tj. particiju 620 veličine 32×32, particije 622 imaju veličine 32×16, particiju 624 veličine 16×32 ili particiju 626 veličine 16×16.
Slično tome, jedinica predviđanja jedinice kodiranja 630 koja ima veličinu 16×16 i dubinu 2 može se podeliti na particije uključene u jedinicu kodiranja 630, odnosno particiju veličine 16×16, particiju 632 imaju veličinu od 16×8, particiju 634 veličine 8×16 ili particiju 636 veličine 8×8.
Slično tome, jedinica predviđanja jedinice kodiranja 640 veličine 8×8 i dubine 3 može se podeliti na particije uključene u jedinicu kodiranja 640, tj. particiju veličine 8×8, particiju 642 veličine 8×4, particiju 644 veličine 4×8 ili particiju 646 veličine 4×4.
Kako bi se odredila barem jedna kodirana dubina jedinica kodiranja koja čine maksimalnu jedinicu kodiranja 610, enkoder 120 uređaja za kodiranje video zapisa 100 vrši kodiranje za jedinice kodiranja koje odgovaraju svakoj dubini koja je uključena u maksimalnu jedinicu kodiranja 610.
Jedan broj dubljih jedinica kodiranja prema dubinama, uključujući podatke u istom rasponu i istoj veličini, povećava se dok se dubina produbljuje. Na primer, četiri jedinice kodiranja koje odgovaraju dubini 2 su potrebne za pokrivanje podataka koji su uključeni u jednu jedinicu kodiranja koja odgovara dubini 1. Prema tome, kako bi se uporedili rezultati kodiranja istih podataka prema dubinama, kodirane su jedinica kodiranja koja odgovara dubini 1 i četiri jedinice kodiranja koje odgovaraju dubini 2.
Kako bi se izvršilo kodiranje za trenutnu dubinu od svih dubine, može se izabrati najmanja greška kodiranja za trenutnu dubinu izvršavanjem kodiranja za svaku jedinicu predviđanja u jedinicama kodiranja koje odgovaraju trenutnoj dubini, duž horizontalne ose hijerarhijske strukture 600. Alternativno, minimalna greška kodiranja može se pretraživati upoređivanjem najmanje greške kodiranja prema dubinama, otelotvorenjem kodiranja za svaku dubinu dok se dubina produbljuje duž vertikalne ose hijerarhijske strukture 600. Dubina i particija koje imaju minimalnu grešku kodirana u jedinici kodiranja 610 mogu bit izabrane kao kodirana dubina i tip particije za jedinicu kodiranja 610.
SLIKA 19 je dijagram za opisivanje veze između jedinice kodiranja 710 i jedinice transformacije 720, u skladu sa otelotvorenjem predmetnog pronalaska.
Uređaj za kodiranje video zapisa 100 ili uređaj za dekodiranje video zapisa 200 kodira ili dekodira sliku prema jedinicama kodiranja koje imaju veličine manje od ili jednake maksimalnoj jedinici kodiranja za svaku maksimalnu jedinicu kodiranja. Veličine jedinica transformacije za transformaciju tokom kodiranja mogu se odabrati na osnovu jedinica podataka koje nisu veće od odgovarajuće jedinice kodiranja.
Na primer, u uređaju za kodiranje video zapisa 100 ili uređaju za dekodiranje video zapisa 200, ako veličina jedinice kodiranja 710 iznosi 64×64, transformacija se može izvršiti korišćenjem jedinica transformacije 720 veličine 32×32.
Takođe, podaci o jedinici kodiranja 710 veličine 64×64 mogu biti kodirani izvršavanjem transformacije na svakoj od jedinica transformacije veličine 32×32, 16×16, 8×8 i 4×4, koje su manje od 64×64, i zatim se može odabrati jedinica transformacije koja ima najmanju grešku kodiranja.
SLIKA 20 je dijagram za opisivanje informacija o kodiranju jedinica kodiranja koje odgovaraju kodiranoj dubini, u skladu sa otelotvorenjem predmetnog pronalaska.
Izlazna jedinica 130 uređaja za kodiranje video zapisa 100 može kodirati i preneti informacije 800 o tipu particije, informacije 810 o režimu predviđanja i informacije 820 o veličini jedinice transformacije za svaku jedinicu kodiranja koja odgovara kodiranoj dubini, kao podatak o režimu kodiranja.
Informacije 800 predstavljaju informacije o obliku particije dobijene razdvajanjem jedinice predviđanja trenutne jedinice kodiranja, gde je particija jedinica podataka za kodiranje predviđanja trenutne jedinice kodiranja. Na primer, trenutna jedinica kodiranja CU_0 koja ima veličinu 2N×2N može se razdvojiti na bilo koju od particije 802 veličine 2N×2N, particije 804 veličine 2N×N, particije 806 veličine N×2N, i particije 808 veličine N×N. Ovde, informacija 800 o tipu particije je postavljena tako da označava jednu od particije 804 veličine 2N×N, particije 806 veličine N×2N, i particije 808 veličine N×N.
Informacije 810 predstavljaju režim predviđanja svake particije. Na primer, informacija 810 može ukazivati na režim kodiranja predviđanja koji se izvršava na particiji koju predstavljaju informacije 800, tj. Intra režim 812, inter režim 814 ili režim preskakanja 816.
Informacija 820 predstavlja jedinicu transformacije koja se zasniva na tome kada se vrši transformacija na trenutnoj jedinici kodiranja. Na primer, jedinica transformacije može biti prva jedinica intra transformacije 822, druga jedinica intra transformacije 824, prva jedinica inter transformacije 826 ili druga jedinica inter transformacije 828.
Prijemnik i ekstraktor 220 uređaja za dekodiranje video zapisa 200 mogu ekstrahovati i koristiti informacije 800, 810 i 820 za dekodiranje, prema svakoj dubljoj jedinici kodiranja
SLIKA 21 je dijagram dubljih jedinica kodiranja prema dubinama, u skladu sa otelotvorenjem predmetnog pronalaska.
Informacije o razdvajanju mogu se koristiti za označavanje promene dubine. Informacije o razdvajanju prikazuju da li je jedinica kodiranja trenutne dubine razdvojena na jedinice kodiranja sa nižim dubinama.
Jedinica 910 predviđanja za kodiranje predviđanje jedinice kodiranja 900, koja ima dubinu 0 i veličinu 2N_0×2N_0, može uključivati particiju tipa 912 veličine 2N_0×2N_0, particiju tipa 914 veličine 2N_0×N_0, particiju tipa 916 veličine N_0×2N_0, i particiju tipa 918 veličine N_0×N_0. SLIKA 21 ilustruje samo tipove particija 912 do 918 koji se dobijaju simetričnim razdvajanjem jedinice predviđanja 910, ali tip particije nije ograničen na njih, i particije jedinice predviđanja 910 mogu uključivati asimetrične particije, particije sa unapred određenim oblikom, i particije koje imaju geometrijski oblik.
Kodiranje predviđanja se više puta izvršava na jednoj particiji veličine 2N_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, prema svakom tipu particije. Kodiranje predviđanja u intra režimu i inter režimu se može izvršiti na particijama veličine 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 i N_0×N_0. Kodiranje predviđanja u režimu preskakanja se vrši samo na particiji veličine 2N_0×2N_0.
Greške kodiranja, uključujući kodiranje predviđanja u tipovima particija 912 do 918, i najmanja greška kodiranja, određuju se među tipovima particija. Ukoliko je greška u kodiranju najmanja u jednom od tipova particija 912 do 916, jedinica predviđanja 910 ne mora biti razdvojena na nižu dubinu.
Ako je greška kodiranja najmanja u particiji tipa 918, dubina se menja od 0 na 1 kako bi se razdvojio tipa particije 918 u operaciji 920, i kodiranje se više puta izvršava na jedinicama kodiranja 930 koje imaju dubinu 2 i veličinu N_0×N_0 kako bi se pronašla minimalnu grešku kodiranja.
Jedinica predviđanja 940 za kodiranje predviđanja jedinice kodiranja 93,0 koja ima dubinu 1 i veličinu 2N_1×2N_1 (=N_0×N_0) može uključivati particiju tipa 942 veličine 2N_1×2N_1, particiju tipa 944 veličine 2N_1xN_1, particiju tipa 946 veličine N_1×2N_1, i particiju tipa 948 veličine N_1xN_1.
Ako je greška kodiranja najmanja u tipu particije 948, dubina se menja sa 1 na 2, kako bi se razdvojio tip particije 948 u operaciji 950, i kodiranje se više puta izvršava na jedinicama kodiranja 960, koji imaju dubinu 2 i veličinu od N_2×N_2 kako bi se pronašla minimalnu grešku kodiranja.
Kada je maksimalna dubina d, dublje jedinice kodiranja prema dubinama mogu se odrediti kada dubina postane d-1, i informacije o razdvajanju mogu biti kodirane do kada je dubina jedna od 0 do d-2. Drugim rečima, kada se kodiranje vrši do kada je dubina d-1 nakon što je jedinica kodiranja koja odgovara dubini d-2 je razdvojena u operaciji 970, jedinica predviđanja 990 za predviđanje kodira jedinicu kodiranja 980 koja ima dubinu d-1 i veličinu 2N_(d-1)×2N_(d-1) može uključivati particiju tipa 992 veličine 2N_(d-1)×2N_(d-1), particiju tipa 994 veličine 2N_(d-1)×N_(d-1), particiju tipa 996 veličine N_(d-1)×2N_(d-1) i particiju tipa 998 veličine N_(d-1)×N_(d-1).
Kodiranje predviđanja može se više puta izvršavati 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) iz od particija tipova 992 do 998, kako bi se pronašao tip particije ima minimalnu grešku kodiranja.
Čak i kada tip 998 tipa particije ima minimalnu grešku kodiranja, pošto je maksimalna dubina d, jedinica kodiranja CU_(d-1) koja ima dubinu d-1 više nije razdvojena na nižu dubinu, i utvrđeno je da kodirana dubina za jedinice kodiranja koje čine aktuelnu maksimalnu jedinicu kodiranja 900 iznosi d-1, i tip particije trenutne maksimalne jedinice kodiranja 900 može se odrediti kao N_(d-1)×N_(d-1). Takođe, s obzirom da maksimalna dubina iznosi d, i minimalna jedinica kodiranja 980 koja ima nižu dubinu d-1 više nije razdvojena na nižu dubinu, nisu podešene informacije k o razdvajanju za minimalnu jedinicu kodiranja 980.
Jedinica podataka 999 može biti ’minimalna jedinica’ za trenutnu maksimalnu jedinicu kodiranja. Minimalna jedinica prema otelotvorenju predmetnog pronalaska može biti pravougaona jedinica podataka dobijena deljenjem minimalne jedinice kodiranja 980 sa 4. Izvršavanjem kodiranja više puta, uređaj za kodiranje video zapisa 100 može odabrati dubinu koja ima najmanju grešku kodiranja upoređivanjem greške kodiranja prema dubinama jedinice kodiranja 900 za određivanje kodirane dubine, i podešavanjem odgovarajućeg tipa particije i režima predviđanja kao režima kodiranja kodirane dubine.
Kao takve, minimalne greške kodiranja prema dubinama se upoređuju u svim dubinama od 1 do d, i dubina koja ima najmanju grešku kodiranja može se odrediti kao kodirana dubina. Kodirana dubina, vrsta particije jedinice predviđanja i režim predviđanja mogu biti kodirani i preneti kao informacije o režimu kodiranja. Takođe, pošto je jedinica kodiranja razdvojena od dubine 0 do kodirane dubine, samo informacije o razdvajaju kodirane dubine su podešene na 0, i informacije o razdvajaju dubina, isključujući kodiranu dubinu, su podešene na 1.
Prijemnik i ekstraktor 220 uređaja za dekodiranje video zapisa 200 mogu da ekstrakuju i koriste informacije o kodiranoj dubini i jedinici predviđanja jedinice kodiranja 900 za dekodiranje particije 912. Uređaj za dekodiranje video zapisa 200 može odrediti dubinu u kojoj informacije o razdvajanju iznose 0, kao kodiranu dubina pomoću informacija o razdvajanju prema dubinama, i koristiti informacije o režimu kodiranja odgovarajuće dubine za dekodiranje.
SLIKE 22 do 24 su dijagrami za opisivanje veze između jedinica kodiranja 1010, jedinica predviđanja 1060 i jedinica transformacije 1070, u skladu sa otelotvorenjem predmetnog pronalaska.
Jedinice kodiranja 1010 su jedinice kodiranja koje imaju strukturu stabla, koje odgovaraju kodiranim dubinama određenim uređaj za kodiranje video zapisa 100, u maksimalnoj jedinici kodiranja. Jedinice predviđanja 1060 su particije jedinica predviđanja svake od jedinica kodiranja 1010, i jedinice transformacije 1070 su jedinice transformacije za svaku od jedinica kodiranja 1010.
Kada je dubina maksimalne jedinice kodiranja 0 u jedinicama kodiranja 1010, dubine jedinica kodiranja 1012 i 1054 su 1, dubine jedinica kodiranja 1014, 1016, 1018, 1028, 1050, i 1052 su 2, dubine jedinica kodiranja 1020, 1022, 1024, 1026, 1030, 1032, i 1048 su 3, i dubine jedinica kodiranja 1040, 1042, 1044, i 1046 su 4.
U jedinicama predviđanja 1060, neke jedinice kodiranja 1014, 1016, 1022, 1032, 1048, 1050, 1052 i 1054 se dobijaju razdvajanjem jedinica kodiranja pri jedinicama kodiranja 1010. Drugim rečima, tipovi particija u jedinicama kodiranja 1014, 1022, 1050 i 1054 imaju veličinu 2N×N, tipovi particija u jedinicama 1016, 1048 i 1052 kodiranja imaju veličinu N×2N, i tip particije jedinice kodiranja 1032 ima veličinu N×N. Jedinice i particije predviđanja jedinica kodiranja 1010 su manje ili jednake svakoj od jedinica kodiranja.
Transformacija ili inverzna transformacija se vrši na podacima o slici jedinice kodiranja 1052 u jedinicama transformacije 1070 u jedinici podataka koja je manja od jedinice 1052 za kodiranje. Takođe, jedinice kodiranja 1014, 1016, 1022, 1032, 1048, 1050, i 1052 u jedinicama transformacije 1070 su različite od onih u jedinicama predviđanja 1060 u vidu veličina i oblika. Drugim rečima, uređaji za kodiranje i dekodiranje video zapisa 100 i 200 mogu vršiti intra predviđanje, procenu pokreta, kompenzaciju pokreta, transformaciju, i inverznu transformaciju pojedinačno na jedinicama podataka u istoj jedinici kodiranja.
Prema tome, kodiranje je rekurzivno izvršeno na svakoj od jedinica kodiranja koje imaju hijerarhijsku strukturu u svakom području maksimalne jedinice kodiranja kako bi se odredila optimalna jedinica kodiranja, i stoga jedinice kodiranja koje imaju rekurzivnu strukturu stabla mogu biti dobijene. Informacija o kodiranju može sadržati podeljenu informaciju jedinice kodiranja, informaciju o tipu particije, informaciju o režimu predviđanja, i informaciju o veličini jedinice transformacije. Tabela 1 prikazuje informaciju o kodiranju koja može biti podešena uređajima za kodiranje i dekodiranje video zapisa 100 i 200.
Tabela 1
Izlazna jedinica 130 uređaja za kodiranje video zapisa 100 može kao izlazne podatke dati informacije o kodiranju jedinica kodiranja koje imaju strukturu stabla, i prijemnik i ekstraktor 220 uređaja za dekodiranje video zapisa 200 mogu ekstrahovati informacije o kodiranju jedinica kodiranja koje imaju strukturu stabla od primljene povorka bitova.
Podaci o razdvajanju prikazuju da li je trenutna jedinica kodiranja razdvojena na jedinice kodiranja sa nižim dubinama. Ukoliko je informacija o razdvajaju trenutne dubine d jednaka 0, dubina, u kojoj trenutna jedinica kodiranja nije više razdvojena u nižu dubine, je kodirana dubina, i stoga informacije o tipu particije, režimu predviđanja, i veličine jedinice transformacije mogu biti odbijeni za kodiranu dubinu. Ukoliko je trenutna jedinica kodiranja dalje razdvojena na osnovu informacije o razdvajanju, kodiranje se nezavisno vrši na četiri podeljene jedinice kodiranja niže dubine.
Režim predviđanja može biti intra režim, inter režim, i režim sa preskakanjem. Intra režim i inter režim mogu se definisati u svim tipovima particija, i režim preskakanja je definisan samo u tipu particije veličine 2N×2N.
Informacije o tipu particije mogu da ukazuju na simetrične tipove particija veličine 2N×2N, 2N×N, N×2N i N×N, koje se dobijaju simetričnim razdvajanjem visine ili širine jedinice predviđanja, i asimetrične tipovi particija veličine 2N×nU, 2N×nD, nL×2N i nR×2N, koji se dobijaju asimetričnim razdvajanjem visine ili širine jedinice predviđanja. Asimetrični tipovi particija veličine 2N×nU i 2N×nD mogu se dobiti tako što se razdvaja visina jedinice predviđanja na 1:3 i 3:1, i asimetrični tipovi particija veličine nL×2N i nR×2N mogu se dobiti razdvajanjem širine jedinice predviđanja na 1:3 i 3:1
Veličina jedinice transformacije može biti podešena na dva tipa u intra režimu i dva tipa u inter režimu. Drugim rečima, ako informacija o deljenju jedinice transformacije iznosi 0, veličina jedinice transformacije može biti 2N×2N, što je veličina trenutne jedinice kodiranja. Ako su informacije o razdvajanju jedinice transformacije 1, jedinice transformacije mogu se dobiti deljenjem trenutne jedinice kodiranja. Takođe, ako je tip particije trenutne jedinice kodiranja veličine 2N×2N simetričan tip particije, veličina jedinice transformacije može biti N×N i ako je tip particije trenutne jedinice kodiranja asimetrična particija tip, veličina jedinice transformacije može biti N/2×N/2.
Informacije o kodiranju jedinica kodiranja koje imaju strukturu stabla mogu uključivati najmanje jednu od jedinice kodiranja koja odgovara kodiranoj dubini, jedinici predviđanja i minimalnoj jedinici. Jedinica kodiranja koja odgovara kodiranoj dubini može sadržati bar jedno od jedinice predviđanja i minimalne jedinice koja sadrži istu informaciju o kodiranju.
Prema tome, određeno je da li su susedne jedinice podataka uključene u istoj jedinici kodiranja koja odgovara kodiranoj dubini poređenjem informacija o kodiranju susednih jedinica podataka. Takođe, odgovarajuće jedinice podataka koje odgovaraju kodiranoj dubini određene su upotrebom informacije o kodiranju jedinice podataka, i stoga raspodela kodiranih dubina u maksimalnoj jedinici kodiranja može biti određena.
Prema tome, ako se predviđa trenutna jedinica kodiranja na osnovu informacija o kodiranju susednih jedinica podataka, informacije o kodiranju jedinica podataka u dubljim jedinice kodiranja, susednim trenutnoj jedinice kodiranja, mogu se direktno pozivati i koristiti.
Alternativno, ako je trenutna jedinica kodiranja predviđena na osnovu informacija o kodiranju susednih jedinica podataka, jedinice podataka susedne trenutnoj jedinici kodiranja pretražuju se upotrebom informacija o kodiranju jedinica podataka, i na pretražene susedne jedinice kodiranja može se pozivati za predviđanje trenutne jedinice kodiranja.
SLIKA 25 je dijagram za opisivanje veze između jedinice kodiranja, jedinice predviđanja ili particije i jedinice transformacije, prema informacijama o režimu kodiranja iz Tabele 1.
Maksimalna jedinica 1300 kodiranja sadrži jedinice kodiranja 1302, 1304, 1306, 1312, 1314, 1316 i 1318 od kodiranih dubina. Ovde, kako je jedinica kodiranja 1318 jedinica kodiranja kodirane dubine, informacije o razdvajaju može biti postavljena na 0. Informacije o tipu particije jedinice kodiranja 1318 veličine 2N×2N mogu biti podešene kao jedno od tipa particije 1322 veličine 2N×2N, particiju tipa 1324 veličine 2N×N, particiju tipa 1326 veličine N×2N, particiju tipa 1328 veličine N×N, particiju tipa 1332 veličine 2N×nU, particiju tipa 1334 veličine 2N×nD, particiju tipa 1336 veličine nL×2N i tipa particije 1338 veličine nR×2N.
Informacije o razdvajanju (TU oznaka veličine) jedinice transformacije predstavljaju vrstu indeksa transformacije, i veličina jedinice transformacije koja odgovara indeksu transformacije može se razlikovati u zavisnosti od tipa jedinice predviđanja ili tipa particije jedinice kodiranja.
Na primer, kada je tip particije podešen kao simetričan, tj. particija tipa 1322, 1324, 1326 ili 1328, jedinica transformacije 1342 veličine 2N×2N je postavljena ako TU oznaka veličine iznosi 0, i transformacija jedinica 1344 veličine N×N postavljena je ako TU oznaka veličine iznosi 1.
Kada je tip particije podešen da bude asimetričan, tj. particija tipa 1332, 1334, 1336 ili 1338, jedinica transformacije 1352 veličine 2N×2N je postavljena ako TU oznaka veličine iznosi 0, i jedinica transformacije 1354 veličine N/2×N/2 ako TU oznaka veličine iznosi 1.
Pozivajući se na SLIKU 21, TU oznaka veličine je oznaka koja ima vrednost ili 0 ili 1, ali TU oznaka veličine nije ograničena na 1 bit, i jedinica transformacije može biti hijerarhijski razdvojena sa strukturom stabla, dok se TU oznaka veličine povećava od 0. TU oznaka veličine se može koristiti kao primer indeksa transformacije.
U ovom slučaju veličina jedinice transformacije koja je u stvari korišćena može se izraziti korišćenjem TU oznake veličine jedinice transformacije, u skladu sa otelotvorenjem predmetnog pronalaska, zajedno sa maksimalnom veličinom i minimalnom veličinom jedinice transformacije. Prema otelotvorenju predmetnog pronalaska, uređaj za kodiranje video zapisa 100 je sposoban da kodira informacije o veličini maksimalne jedinice transformacije, informacije o veličini minimalne jedinice transformacije i maksimalnu TU oznaku veličine. Rezultat kodiranja informacija o veličini maksimalne jedinice transformacije, informacije o veličini jedinice transformacije i maksimalna TU oznaka veličine mogu se ubaciti u SPS. Prema otelotvorenju predmetnog pronalaska, uređaj za dekodiranje video zapisa 200 može dekodirati video zapis pomoću informacija o veličini maksimalne jedinice transformacije, informacije o veličini minimalne jedinice transformacije i maksimalne TU oznake veličine.
Na primer, (a) ako veličina trenutne jedinice kodiranja iznosi 64×64 i maksimalna veličina jedinice transformacije iznosi 32×32, onda (a-1) veličina jedinice transformacije može biti 32×32 kada TU oznaka veličine iznosi 0, (a-2) može biti 16×16 kada TU oznaka veličine iznosi 1, i (a-3) može biti 8×8 kada TU oznaka veličine iznosi 2.
Kao još jedan primer, (b) ako veličina trenutne jedinice kodiranja iznosi 32×32 i minimalna veličina jedinice transformacije iznosi 32×32, onda (b-1) veličina jedinice transformacije može biti 32×32 kada TU oznaka veličine iznosi 0. Ovde se TU oznaka veličine ne može podesiti na vrednost drugačiju od 0, s obzirom da veličina jedinice transformacije ne može biti manja od 32×32.
Kao još jedan primer, (c) ako veličina trenutne jedinice kodiranja iznosi 64×64, i maksimalna TU oznaka veličine iznosi 1, onda TU oznaka veličine može biti 0 ili 1. Ovde, TU oznaka veličine ne može biti podešena na vrednost drugačiju od 0 ili 1.
Dakle, ako se definiše da maksimalna TU oznaka veličine iznosi 'MaxTransformSizeIndex', minimalna veličina jedinice transformacije iznosi 'MinTransformSize', i koren veličina jedinice transformacije iznosi 'RootTuSize', kada TU oznaka veličine iznosi 0, i kada se minimalna veličina trenutne jedinice transformacije 'CurrMinTuSize', koja se može odrediti u trenutnoj jedinici kodiranja, može se definisati jednačinom (1):
CurrMinTuSize=max(MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex)) .. (1)
U poređenju sa trenutno važećom veličinom jedinice transformacije ‘CurrMinTuSize’ koja se može odrediti u trenutnoj jedinici kodiranja, koren veličine jedinice transformacije ‘RootTuSize’ može označiti veličinu maksimalne jedinice transformacije koja se može izabrati u sistemu. U Jednačini (1), ‘RootTuSize/(2^MaxTransformSizeIndex)’ označava veličinu jedinice transformacije kada je koren veličine jedinice transformacije 'RootTuSize' razdvojen više puta tako da odgovara maksimalnoj TU oznaci veličine, i 'MinTransformSize' označava veličinu minimalne transformacije. Stoga, manja vrednost od ‘RootTuSize/(2^MaxTransformSizeIndex)’ i ‘MinTransformSize’ može biti veličina trenutna jedinice transformacije ‘CurrMinTuSize’ koja se može odrediti u trenutnoj jedinici kodiranja.
Prema otelotvorenju predmetnog pronalaska, koren veličine jedinice transformacije 'RootTuSize' može se razlikovati u zavisnosti od vrste režima predviđanja.
Na primer, ako je trenutni režim predviđanja inter režim, onda se ‘RootTuSize’ može odrediti korišćenjem Jednačine (2) u nastavku. U Jednačini (2), 'MaxTransformSize' označava veličinu maksimalne jedinice transformacije, i 'PUSize' označava veličinu trenutne jedinice predviđanja.
RootTuSize=min(MaxTransformSize, PUSize) ......... (2)
To jest, ako je trenutni režim predviđanja inter režim, koren veličine jedinice transformacije 'RootTuSize' kada TU oznaka veličine iznosi 0 može biti manja vrednost od veličine maksimalne veličine transformacije i veličine trenutne jedinice predviđanja.
Ako je režim predviđanja trenutne jedinice particije intra režim, 'RootTuSize' se može odrediti korišćenjem Jednačine (3) u nastavku. U Jednačini (3), 'PartitionSize' označava veličinu trenutne jedinice particije.
RootTuSize=min(MaxTransformSize, PartitionSize) ...........(3)
To jest, ako je trenutni režim predviđanja intra režim, koren veličine jedinice transformacije 'RootTuSize' može biti manja vrednost od veličine maksimalne jedinice transformacije i veličine trenutne jedinice particije.
Međutim, veličina trenutne maksimalne jedinice transformacije koja se razlikuje u zavisnosti od vrste režima predviđanja u jedinici particije, korena veličine jedinice transformacije 'RootTuSize', samo je primer i predmetni pronalazak nije ograničen na nju.
SLIKA 26 je dijagram toka kodiranja video zapisa pomoću interpolacionog filtera baziranog na jedinicama kodiranja koji imaju strukturu stabla, u skladu sa otelotvorenjem predmetnog pronalaska.
U operaciji 2610, kako bi se kodirala trenutna slika ulaznog video zapisa, trenutna slika se deli na najmanje jednu maksimalnu jedinicu kodiranja. Svako od najmanje jednog područja razdvajanja, koja se dobijaju razdvajanjem područja svake maksimalne jedinice kodiranja prema dubinama, može biti kodirano. Kako bi se svako područje razdvajanja kodiralo prema dubinama, transformacija i kvantifikovanje se vrše na rezultatu inter predviđanja na osnovu interpolaciji subpel-jedinice i intra predviđanja.
Ovde, dubine razdvajanja za davanje kao izlaznog podatka konačnog rezultata kodiranja prema barem jednom području razdvajanja može se odrediti upoređivanjem rezultata kodiranih područja razdvajanja prema dubinama, i mogu biti određene jedinice kodiranja uključene u trenutnu maksimalnu jedinicu kodiranja, koje imaju strukturu stabla. Kao i jedinice kodiranja koje imaju strukturu stabla, mogu se odrediti jedinice transformacije koje imaju strukturu stabla. Drugim rečima, kao rezultat kodiranja slike, kao što su određene jedinice kodiranja koje imaju strukturu stabla, rezultat kodiranja jedinica transformacije koje imaju strukturu stabla mogu se dati kao izlazni podatak kao kodirani podaci o slici.
Inter predviđanje se može izvršiti na svakoj jedinici predviđanja ili particiji jedinice kodiranja. Kretanje trenutne jedinice predviđanja ili particije može se predvideti u odnosu na piksele generisane izvršavanjem interpolacije sub-pel-jedinice. Od interpolacionih filtera za generisanje vrednosti piksela sub-pel-jedinice, interpolacioni filter je drugačije odabran na osnovu položaja interpolacije sub-pel-jedinice. Kako bi se efikasno izvršila interpolacija slike, mogu se selektivno odrediti koeficijenti interpolacionog filtera. Interpolacioni filter se može odabrati kao simetrični ili asimetrični interpolacioni filter, u skladu sa položajem interpolacije. Interpolacioni filter može biti interpolacioni filter neparnih ili parnog brojne tačaka.
Među koeficijentima interpolacionih filtera koji su prethodno sačuvani u memoriji, poželjno je odabrati željeni interpolacioni filter u skladu sa položajem interpolacije sub-pel-jedinice, ublaženosti, brojem filtera, bit dubinom, razmerom skaliranja, osnovnom funkcijom interpolacije filtriranje zasnovano na transformaciji, veličina filtera prozora i komponenta boja, i interpolacija se može izvršiti kako bi se generisala vrednost piksela sub-pel jedinice.
U operaciji 2620, podaci o slici koji se dobijaju kao krajnji rezultat kodiranja u skladu sa najmanje jednim podeljenim regionom svake maksimalne jedinice kodiranja, i informacije o kodiranoj dubini i režimu kodiranja se daju kao izlazni podaci kao povorka bitova.
Informacije o režimu kodiranja mogu sadržati informacije o kodiranoj dubini ili informacije o razdvajanju, informacije o tipu particije jedinice predviđanja, informacije o režimu predviđanja i informacije o strukturi stabla jedinica transformacije. Informacije o kodiranju mogu uključivati informacije o interpolacionom filteru koji se koristi za izvršavanje kodiranja sub-pel-jedinice. Kodirane informacije o režimu kodiranja mogu se prenijeti na uređaj za dekodiranje zajedno sa kodiranim podacima o slici.
SLIKA 27 je dijagram toka postupka dekodiranja video zapisa pomoću interpolacionog filtera na osnovu jedinica kodiranja koje imaju strukturu stabla, u skladu sa jednom otelotvorenjem predmetnog pronalaska.
U operaciji 2710, povorka bitova kodiranog video zapisa je primljena i raščlanjena.
U operaciji 2720, kodirani podaci o slici trenutne slike dodeljeni maksimalnoj jedinici kodiranja, i podaci o kodiranoj dubini i režimu kodiranja prema maksimalnim jedinicama kodiranja se izvlače iz rašlanjene povorke podataka. Informacije o interpolacionom filteru koji je potreban za izvršenje kompenzacije pokreta sub-pel-jedinice može se izvući iz informacija o kodiranju.
Informacije o kodiranoj dubini i načinu kodiranja mogu se izvući iz informacija o kodiranju. Prema informacijama o kodiranoj dubini i načinu kodiranja, maksimalna jedinica kodiranja može se podeliti na jedinice kodiranja sa strukturom stabla. Takođe, prema informacijama o strukturi stabla jedinica transformacije uključenih u ekstrakovane informacije, mogu se odrediti jedinice transformacije koje imaju strukturu stabla prema dubinama transformacije u jedinicama kodiranja.
U operaciji 2730, koristeći informacije o kodiranoj dubini i režimu kodiranja prema svakoj maksimalnoj jedinici kodiranja, podaci o slici svake maksimalne jedinice kodiranja mogu se dekodirati na osnovu jedinica kodiranja koje imaju strukturu stabla, jedinice predviđanja i jedinice transformacije koje imaju strukturu stabla. Pošto se trenutna jedinica kodiranja dekodira na osnovu informacija o kodiranoj dubini i načinu kodiranja, trenutna jedinica kodiranja može se inverzno transformisati pomoću jedinice transformacije određene iz jedne jedinice transformacije sa strukturom stabla.
Kodirani podaci o slici mogu se dekodirati izvršavanjem različitih operacija dekodiranja kao što su kompenzacija pokreta i intra predviđanje na svakoj jedinici predviđanja ili particiji jedinice kodiranja na osnovu režima kodiranja.
Konkretno, ako se kodirani rezidualni podaci i referentni podaci ekstrakuju na osnovu piksela interpoliranih u sub-pel jedinici, kompenzacija pokreta na jedinici trenutnog predviđanja ili trenutnoj particiji može se izvršiti na osnovu piksela interpoliranih u sub-pel jedinicama. Od interpolacionih filtera za generisanje vrednosti piksela sub-pel-jedinice, interpolacioni filter može biti drugačije odabran na osnovu položaja interpolacije sub-pel-jedinice. Interpolacioni filter se može odabrati kao simetrični ili asimetrični interpolacioni filter u skladu sa položajem interpolacije. Interpolacioni filter može biti interpolacioni filter parnog ili neparnog broja tačaka.
Kako bi se efikasno izvršila interpolacija slike, mogu se selektivno odrediti koeficijenti interpolacionog filtera. Među interpolacionim koeficijentima filtera koji su prethodno sačuvani u memoriji, poželjno je odabrati željeni interpolacioni filter u skladu sa položajem interpolacije subpel-jedinice, ublaženosti, brojem filtera, bit dubinom, razmerom skaliranja, osnovnom funkcijom interpolacionog filtriranja na osnovu transformaciji, veličine filtera prozora i komponente boje, i interpolacija se može izvršiti kako bi se generisala vrednost piksela sub-pel jedinice.
Referentna slika i referentno područje određuju se korišćenjem referentnih podataka, i vrednost piksela sub-pel jedinice može se generisati izvršavanjem interpolacionog filtriranja na dva ili više referentnih piksela referentne slike celobrojne-pel-jedinice. Kompenzacija pokreta se može izvršiti na trenutnoj jedinici predviđanja, ili na trenutnoj particiji kombinovanjem generisane vrednosti piksela sub-pel-jedinice i rezidualnih podataka, i stoga se može izvršiti dekodiranje predviđanja.
Pošto je svaka maksimalna jedinica kodiranja dekodirana, podaci o slici u prostornom domenu mogu biti obnovljeni, i slika i video zapis koji je sekvenca slika mogu biti obnovljeni. Obnovljeni video zapis se može reprodukovati pomoću uređaja za reprodukciju, može se skladištiti na medijumu za skladištenje, ili se može emitovati putem mreže.
Otelotvorenja predmetnog pronalaska mogu se zapisati kao računarski programi, i mogu se primeniti u digitalnim računarima opšte upotrebe koji izvršavaju programe pomoću kompjuterskih medijuma za zapisivanje koji se mogu čitati. Primeri kompjuterskih medijuma za zapisivanje koji se mogu čitati obuhvataju magnetne medijume za skladištenje (npr., ROM, flopi diskovi, hard diskovi, itd.) i optički medijumi za zapisivanje (npr., CD-ROM, ili DVD).

Claims (1)

Patentni zahtevi
1. Postupak dekodiranja video zapisa za inter predviđanje slike pomoću kompenzacije pokreta pomoću interpolacionog filtera. Postupak interpolacije slike pomoću interpolacionog filtera, gde postupak dekodiranja video zapisa sadrži:
određivanje koeficijenta interpolacionih filtera sa 7 tačaka za generisanje barem jednog uzorka četvrt-sub-pel-jedinice koja se nalazi između piksela celobrojnih-pel-jedinica; i
generisanje uzorka 1/4 položaja piksela, ili 3/4 položaja piksela interpoliranjem piksela celobrojnih-pel-jedinica pomoću interpolacionog filtera sa 7 tačaka; i
inter predviđanje slike pomoću kompenzacije pokreta pomoću uzorka 1/4 položaja piksela, ili 3/4 položaja piksela,
gde interpolacioni filter sa 7 tačaka za generisanje uzorka 1/4 položaja piksela sadrži sedam koeficijenata filtera: {-1, 4, -10, 58, 17, -5, 1}, i
interpolacioni filter sa 7 tačkica za generisanje uzorka 3/4 položaja piksela sadrži sedam koeficijenata filtera: {1, -5, 17, 58, -10, 4, -1}.
RS20181490A 2011-06-28 2012-06-28 Postupak dekodiranja korišćenjem interpolacionih filtera RS58193B1 (sr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161502056P 2011-06-28 2011-06-28
EP17168407.9A EP3232664B1 (en) 2011-06-28 2012-06-28 Method for decoding using an interpolation filter

Publications (1)

Publication Number Publication Date
RS58193B1 true RS58193B1 (sr) 2019-03-29

Family

ID=47424683

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20181490A RS58193B1 (sr) 2011-06-28 2012-06-28 Postupak dekodiranja korišćenjem interpolacionih filtera

Country Status (25)

Country Link
US (5) US9282339B2 (sr)
EP (4) EP3448025B1 (sr)
JP (5) JP5886953B2 (sr)
KR (7) KR20130002294A (sr)
CN (5) CN105791870B (sr)
AU (4) AU2012276477B2 (sr)
BR (4) BR122021004606B1 (sr)
CA (2) CA2976108C (sr)
CY (1) CY1121054T1 (sr)
DK (2) DK3232664T3 (sr)
ES (2) ES2770320T3 (sr)
HR (1) HRP20182054T1 (sr)
HU (2) HUE048724T2 (sr)
LT (1) LT3232664T (sr)
MX (5) MX336301B (sr)
MY (1) MY168224A (sr)
PH (5) PH12014500017B1 (sr)
PL (2) PL3448025T3 (sr)
PT (1) PT3232664T (sr)
RS (1) RS58193B1 (sr)
RU (4) RU2595262C2 (sr)
SI (1) SI3232664T1 (sr)
TW (3) TWI554088B (sr)
WO (1) WO2013002579A2 (sr)
ZA (1) ZA201502811B (sr)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5323252B2 (ja) * 2010-03-30 2013-10-23 株式会社東芝 動画像符号化方法、復号化方法、符号化装置および復号化装置
EP3448025B1 (en) * 2011-06-28 2020-01-08 Samsung Electronics Co., Ltd. Image interpolation using asymmetric interpolation filter
GB2561782B (en) * 2011-11-08 2019-01-16 Kt Corp Method and apparatus for encoding image, and method and apparatus for decoding image
US20150181204A1 (en) * 2012-07-18 2015-06-25 Sony Corporation Image processing apparatus, image processing method, and image display device
WO2014107066A1 (ko) * 2013-01-04 2014-07-10 삼성전자 주식회사 위상차를 고려한 영상 업샘플링을 이용하는 스케일러블 비디오 부호화 방법 및 장치, 스케일러블 비디오 복호화 방법 및 장치
KR102273025B1 (ko) 2013-03-06 2021-07-05 삼성전자주식회사 선택적인 노이즈제거 필터링을 이용한 스케일러블 비디오 부호화 방법 및 그 장치, 선택적인 노이즈제거 필터링을 이용한 스케일러블 비디오 복호화 방법 및 그 장치
KR102286856B1 (ko) * 2013-06-12 2021-08-06 주식회사 케이티 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치
US10659806B2 (en) 2014-11-04 2020-05-19 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus using interpolation filter on which image characteristic is reflected
US10291932B2 (en) * 2015-03-06 2019-05-14 Qualcomm Incorporated Method and apparatus for low complexity quarter pel generation in motion search
CN104883579B (zh) * 2015-06-08 2017-11-14 电子科技大学 一种基于空‑频域的联合视频图像的上采样方法
US10750174B2 (en) * 2015-08-28 2020-08-18 Kt Corporation Method and device for deriving a prediction sample in decoding/encoding video signal using binary and quad trees
WO2017094298A1 (ja) * 2015-12-04 2017-06-08 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
WO2018012933A1 (ko) 2016-07-14 2018-01-18 삼성전자 주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
US10116957B2 (en) * 2016-09-15 2018-10-30 Google Inc. Dual filter type for motion compensated prediction in video coding
KR20180042899A (ko) * 2016-10-19 2018-04-27 디지털인사이트 주식회사 적응적 보간 필터를 사용하는 비디오 코딩 방법 및 장치
WO2018097700A1 (ko) 2016-11-28 2018-05-31 한국전자통신연구원 필터링을 위한 방법 및 장치
CN116320498A (zh) 2016-11-28 2023-06-23 韩国电子通信研究院 用于滤波的方法和装置
CN116193111B (zh) 2017-01-04 2025-12-30 三星电子株式会社 视频解码方法和设备以及视频编码方法和设备
CN110169062A (zh) * 2017-01-10 2019-08-23 瑞典爱立信有限公司 去块滤波控制
EP3471418A1 (en) 2017-10-12 2019-04-17 Thomson Licensing Method and apparatus for adaptive transform in video encoding and decoding
KR102357142B1 (ko) * 2017-11-07 2022-02-08 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩을 위한 인터 예측 장치 및 방법을 위한 보간 필터
CN115695790B (zh) 2018-01-15 2025-10-28 三星电子株式会社 编码方法及其设备以及解码方法及其设备
EP4171030A1 (en) 2018-03-28 2023-04-26 Huawei Technologies Co., Ltd. An image processing device and method for performing efficient deblocking
US10863190B2 (en) * 2018-06-14 2020-12-08 Tencent America LLC Techniques for memory bandwidth optimization in bi-predicted motion vector refinement
CN112868232B (zh) * 2018-10-06 2023-07-11 华为技术有限公司 使用插值滤波器进行帧内预测的方法和装置
HUE066346T2 (hu) 2019-02-22 2024-07-28 Huawei Tech Co Ltd Eljárás és berendezés kroma alblokkok affin alapú inter predikciójához
CN118474354A (zh) 2019-03-04 2024-08-09 阿里巴巴集团控股有限公司 视频解码方法和装置、处理视频内容的方法和装置及介质
CN110276732B (zh) * 2019-06-18 2022-06-07 昆明理工大学 一种顾及地形特征线要素的山区点云空洞修复方法
US20220232206A1 (en) * 2019-06-18 2022-07-21 Electronics And Telecommunications Research Institute Video encoding/decoding method and apparatus, and recording medium storing bitstream
KR102155760B1 (ko) * 2019-06-25 2020-09-14 오스템임플란트 주식회사 Ct 영상의 해상도 강화 장치 및 그 방법
US11303909B2 (en) * 2019-09-18 2022-04-12 Qualcomm Incorporated Scaling ratio and output full resolution picture in video coding
EP4082195A4 (en) * 2019-12-24 2023-06-28 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatuses for reference picture resampling
US11968356B2 (en) * 2022-03-16 2024-04-23 Qualcomm Incorporated Decoder-side motion vector refinement (DMVR) inter prediction using shared interpolation filters and reference pixels
CN119032575A (zh) * 2022-04-15 2024-11-26 现代自动车株式会社 使用用于色度分量的改进环内滤波器的视频编码方法和装置
WO2024200085A1 (en) * 2023-03-28 2024-10-03 Interdigital Ce Patent Holdings, Sas Phase-based motion compensation for predictive video coding of chroma content
CN116389743A (zh) * 2023-04-18 2023-07-04 哲库科技(上海)有限公司 图像编码方法、装置、芯片、终端、存储介质及程序产品
WO2025084770A1 (ko) * 2023-10-16 2025-04-24 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2025183928A1 (en) * 2024-02-26 2025-09-04 Google Llc Asymmetric interpolation of sub-pixels for motion compensation

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AR016812A1 (es) * 1997-08-14 2001-08-01 Samsung Electronics Co Ltd Metodo para transmitir informacion de video comprimida, disposiciones de compresion y de grabacion de video y aparato de reproduccion de video
DE19746214A1 (de) * 1997-10-21 1999-04-22 Bosch Gmbh Robert Verfahren zur bewegungskompensierenden Prädiktion von Bewegtbildfolgen
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
KR100624429B1 (ko) * 2003-07-16 2006-09-19 삼성전자주식회사 칼라 영상을 위한 비디오 부호화/복호화 장치 및 그 방법
US7623575B2 (en) * 2005-01-05 2009-11-24 Lsi Corporation Method and apparatus for sub-pixel motion compensation
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US8320460B2 (en) * 2006-09-18 2012-11-27 Freescale, Semiconductor, Inc. Dyadic spatial re-sampling filters for inter-layer texture predictions in scalable image processing
US20080075165A1 (en) 2006-09-26 2008-03-27 Nokia Corporation Adaptive interpolation filters for video coding
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 画像形成装置及び画像形成方法ならびにそのプログラム
US7944969B2 (en) * 2007-01-05 2011-05-17 Freescale Semiconductor, Inc. Method and system for sampling video data
US9118927B2 (en) * 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US20090022412A1 (en) * 2007-07-20 2009-01-22 Sanyo Electric Co., Ltd. Image processing apparatus and image pickup apparatus using the same
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
KR20090076019A (ko) * 2008-01-07 2009-07-13 엘지전자 주식회사 보간 필터, 그 보간 필터를 이용한 멀티 코덱 디코더 및디코딩 방법
US20090257499A1 (en) 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
US8462842B2 (en) 2008-04-10 2013-06-11 Qualcomm, Incorporated Symmetry for interpolation filtering of sub-pixel positions in video coding
US8705622B2 (en) 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
US8610673B2 (en) * 2008-12-03 2013-12-17 Microsoft Corporation Manipulation of list on a multi-touch display
WO2010063881A1 (en) * 2008-12-03 2010-06-10 Nokia Corporation Flexible interpolation filter structures for video coding
MY182191A (en) * 2010-07-09 2021-01-18 Samsung Electronics Co Ltd Image interpolation method and apparatus
CN104980738B (zh) * 2010-09-30 2017-04-12 三星电子株式会社 通过使用平滑插值滤波器对图像进行插值的方法和装置
WO2012178178A2 (en) * 2011-06-24 2012-12-27 General Instrument Corporation Selection of phase offsets for interpolation filters for motion compensation
CA2997877C (en) * 2011-06-24 2020-08-04 Ntt Docomo, Inc. Method and apparatus for motion compensation prediction with multiple fractional sample interpolations
EP3448025B1 (en) * 2011-06-28 2020-01-08 Samsung Electronics Co., Ltd. Image interpolation using asymmetric interpolation filter
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법

Also Published As

Publication number Publication date
EP3232664A1 (en) 2017-10-18
CN105791870A (zh) 2016-07-20
KR20140146563A (ko) 2014-12-26
CN105744285B (zh) 2017-09-22
US9313522B2 (en) 2016-04-12
MX2014000056A (es) 2014-04-30
PH12017501593A1 (en) 2018-06-11
KR20150041760A (ko) 2015-04-17
TWI554088B (zh) 2016-10-11
AU2016201052A1 (en) 2016-03-10
MX336303B (es) 2016-01-14
JP2016129380A (ja) 2016-07-14
DK3448025T3 (da) 2020-01-27
PL3448025T3 (pl) 2020-04-30
JP5921793B1 (ja) 2016-05-24
KR20140122214A (ko) 2014-10-17
AU2018203838B2 (en) 2019-09-19
HRP20182054T1 (hr) 2019-02-08
US20150189317A1 (en) 2015-07-02
CY1121054T1 (el) 2019-12-11
TWI646827B (zh) 2019-01-01
CN105744285A (zh) 2016-07-06
KR20150041759A (ko) 2015-04-17
CN105791869A (zh) 2016-07-20
AU2018203838A1 (en) 2018-06-21
AU2016201052B2 (en) 2016-12-15
PH12017501595A1 (en) 2018-07-02
EP2728868A2 (en) 2014-05-07
CN105791870B (zh) 2017-10-24
BR122021004604B1 (pt) 2022-07-26
RU2014102579A (ru) 2015-08-10
ES2701978T3 (es) 2019-02-26
CA2976108C (en) 2020-06-30
RU2654525C1 (ru) 2018-05-21
US9313520B2 (en) 2016-04-12
KR101650545B1 (ko) 2016-08-23
HUE048724T2 (hu) 2020-08-28
AU2017201283B2 (en) 2018-03-08
RU2627294C1 (ru) 2017-08-07
US9313521B2 (en) 2016-04-12
EP2728868A4 (en) 2015-02-25
DK3232664T3 (en) 2019-01-07
JP2016129378A (ja) 2016-07-14
PH12014500017A1 (en) 2014-02-17
LT3232664T (lt) 2018-12-27
KR101675537B1 (ko) 2016-11-11
KR101675539B1 (ko) 2016-11-11
JP2016129379A (ja) 2016-07-14
PH12017501592B1 (en) 2018-06-11
CN103765884A (zh) 2014-04-30
CN103765884B (zh) 2017-03-22
US9282339B2 (en) 2016-03-08
CA2840638A1 (en) 2013-01-03
SI3232664T1 (sl) 2019-02-28
MX336371B (es) 2016-01-18
EP3448025A1 (en) 2019-02-27
KR20130002294A (ko) 2013-01-07
AU2017201283A1 (en) 2017-03-16
TW201309035A (zh) 2013-02-16
HUE043939T2 (hu) 2019-09-30
TWI574552B (zh) 2017-03-11
AU2012276477B2 (en) 2016-02-18
JP6114420B2 (ja) 2017-04-12
PH12017501593B1 (en) 2018-06-11
EP3232664B1 (en) 2018-12-05
PH12017501594B1 (en) 2019-04-24
BR112013033703B1 (pt) 2022-05-17
PH12017501592A1 (en) 2018-06-11
ZA201502811B (en) 2017-01-25
BR122021004606B1 (pt) 2023-04-18
JP5921794B1 (ja) 2016-05-24
MY168224A (en) 2018-10-15
WO2013002579A2 (ko) 2013-01-03
CA2976108A1 (en) 2013-01-03
US20150189314A1 (en) 2015-07-02
BR112013033703A2 (pt) 2017-07-04
EP3448025B1 (en) 2020-01-08
PL3232664T3 (pl) 2019-05-31
TW201715889A (zh) 2017-05-01
RU2689129C1 (ru) 2019-05-24
KR101675540B1 (ko) 2016-11-11
PH12014500017B1 (en) 2018-04-06
US20150189315A1 (en) 2015-07-02
WO2013002579A3 (ko) 2013-04-11
KR101675538B1 (ko) 2016-11-11
ES2770320T3 (es) 2020-07-01
RU2595262C2 (ru) 2016-08-27
CN105791869B (zh) 2017-09-22
US20140133551A1 (en) 2014-05-15
BR122021004608B1 (pt) 2023-04-18
CN105847844B (zh) 2017-07-28
PH12017501595B1 (en) 2018-07-02
AU2012276477A1 (en) 2014-01-30
JP2016129377A (ja) 2016-07-14
JP2014523185A (ja) 2014-09-08
JP5886953B2 (ja) 2016-03-16
US20150189316A1 (en) 2015-07-02
MX336301B (es) 2016-01-14
KR20140085385A (ko) 2014-07-07
TW201642660A (zh) 2016-12-01
EP2843950A1 (en) 2015-03-04
CN105847844A (zh) 2016-08-10
US9407928B2 (en) 2016-08-02
MX336302B (es) 2016-01-14
PH12017501594A1 (en) 2018-06-11
KR101895428B1 (ko) 2018-09-05
KR20150041758A (ko) 2015-04-17
PT3232664T (pt) 2018-12-14
JP6114419B2 (ja) 2017-04-12
CA2840638C (en) 2017-10-17

Similar Documents

Publication Publication Date Title
RS58193B1 (sr) Postupak dekodiranja korišćenjem interpolacionih filtera
KR101707610B1 (ko) 평활화 보간 필터를 이용하여 영상을 보간하는 방법 및 그 장치