NO326065B1 - Atte pixlers heltallstransform - Google Patents

Atte pixlers heltallstransform Download PDF

Info

Publication number
NO326065B1
NO326065B1 NO20070193A NO20070193A NO326065B1 NO 326065 B1 NO326065 B1 NO 326065B1 NO 20070193 A NO20070193 A NO 20070193A NO 20070193 A NO20070193 A NO 20070193A NO 326065 B1 NO326065 B1 NO 326065B1
Authority
NO
Norway
Prior art keywords
block
transform
pixels
integer
image
Prior art date
Application number
NO20070193A
Other languages
English (en)
Other versions
NO20070193L (no
Inventor
Gisle Bjontegaard
Original Assignee
Tandberg Telecom As
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 Tandberg Telecom As filed Critical Tandberg Telecom As
Priority to NO20070193A priority Critical patent/NO326065B1/no
Priority to PCT/NO2008/000014 priority patent/WO2008085066A2/en
Priority to US11/972,942 priority patent/US8175156B2/en
Publication of NO20070193L publication Critical patent/NO20070193L/no
Publication of NO326065B1 publication Critical patent/NO326065B1/no

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform

Landscapes

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

Abstract

Foreliggende oppfinnelse vedrører videokoding/dekoding og beskriver en fremgangsmåte for å transformere til/fra transform koeffisienter og restpixel data i bevegelige bilder ved ett sett vektorer. To alternative vektorsett er beskrevet som begge tilveiebringer en optimal balanse mellom god ytelse og forenkelt beregning.

Description

Oppfinnelsens område
Oppfinnelsen vedrører systemer for videokompresjon, og nærmere bestemt en fremgangsmåte som utnytter en heltallstransform funksjon.
Bakgrunn for oppfinnelsen
Overføring av bevegelige bilder i sanntid benyttes i flere bruksområder slik som for eksempel videokonferanse, nettmøter, TV-kringkasting og videotelefoni.
Imidlertid krever representasjon av bevegelige bilder nye informasjon ettersom digital video typisk beskrives ved å representere hvert pixel i et bilde ved 8 bits (1 byte). Slike ukomprimert videodata resulterer i store bitvolumer, og kan ikke overføres over konvensjonelle kommunikasjonsnettverk og transmisjonslinjer i sanntid på grunn av begrenset båndbredde.
Overføring av video i sanntid krever derfor datakompresjon i stor utstrekning. Datakompresjon kan imidlertid gå på akkord med bildekvaliteten. Derfor har det blitt gjort store innsatser for å utvikle kompresjonsteknikker som tillater sanntidsoverføring av høykvalitets video over dataforbindelser med begrenset båndbredde.
I systemer for videokompresjon er hovedhensikten å representere videoinformasjon med så liten kapasitet som mulig. Kapasitet defineres med bits, enten som en konstant verdi, eller som bits/tid enhet. I begge tilfeller er hovedhensikten å redusere antall bits.
Den vanligste metoden for videokoding beskrives i MPEG<*> og H.26<*> standarder. Videodataene undergår fire hovedprosesser før overføring, nemlig prediksjon, transformasjon, kvantisering og entropikoding.
Prediksjonsprosessen reduserer betydelig mengden bits som kreves for hvert bilde i en
videosekvens som skal overføres. Den tar fordel av likheten mellom deler av sekvensen med andre deler av sekvensen. Siden prediktordelen er kjent for både koder og dekoder, må bare forskjellen overføres. Denne forskjellen krever typisk mer mindre kapasitet for dens representasjon. Prediksjonen er hovedsakelig basert på bildeinnhold fra tidligere rekonstruerte bilder hvor lokasjonen av innholdet defineres med bevegelsesvektorer. Prediksjonsprosessen utfører typiske på kvadratblokkstørrelser (for eksempel 16x16 pixler). Legg merke til at i noen tilfeller brukes prediksjoner pixler basert på tilliggende
pixler i det samme bilde istedenfor pixler av foregående bilder. Dette kalles som intraprediksjon, i motsetning til interprediksjon.
Residualet representert som en blokk av data (for eksempel 4x4 eller 8x8 pixler) inneholder fremdeles intern korrelasjon. En velkjent fremgangsmåte for å ta fordel av dette er å utføre en to dimensjonal blokktransformasjon. ITU-rekommendasjonen H.264 bruker en 4 x 4 heltallstype transform. Denne transformerer 4x4 pixler til 4 x 4 transform koeffisienter og de kan vanligvis representeres med færre bits enn pixelrepresentasjon. Transformasjon av en 4 x 4 rekke av pixler med intern korrelasjon vil sannsynligvis resultere i en 4 x 4 blokk av transform koeffisienter med mange færre ikke-null verdier enn den originale 4x4 pixelbokken.
Direkte representasjon av transform koeffisientene er fremdeles for kostbar for mange applikasjoner. En kvantiseringsprosess utføres for ytterligere reduksjon av datarepresentasjon. Derfor undergår transform koeffisientene kvantisering. Det mulige verdiområdet av transform koffisientene deles inn i verdi intervaler som hvert er begrenset av en øverste og nederste desisjons verdi og tildelt en fast kvantiseringsverdi. Transform koeffisientene blir deretter kvantifisert til kvantiseringsverdien assosiert med intervalene som de respektive koeffisienter befinner seg i. Koeffisientene som er lavere enn den laveste desisjons verdien blir kvantifisert til null. Det bør nevnes at denne kvantifiseringsprosessen resulterer i at den rekonstruerte videosekvensen er noe forskjellig sammenlignet med den ukomprimerte sekvensen.
Sammenfatning av oppfinnelsen
Egenskapene ved foreliggende oppfinnelsen definert i de vedføyde selvstendige patentkrav karakteriserer denne fremgangsmåte.
Detaljert beskrivelse av foreliggende oppfinnelse
Foreliggende oppfinnelse tilveiebringer en ny 8-pixel digital transform som balanserer mellom ytelse og enkelthet i koding og dekodingsprosessen.
Som nevnt ovenfor, bruker det de fleste av dagens videokodingsmetoder blokkbasert koding. En blokk er typisk en samling pixler bestående av for eksempel 4 x 4, 8 x 8 eller 16x16 pixler. Antar at blokken som skal kodes er O (i, j), som også kan refereres til som de originale pixeldata. Videre er det vanlig å danne en prediksjon P (i, j), basert på allerede dekodede bildedata. Disse pixler kan tilhøre det samme bilde som O (i, j)
(intrakoding), eller ett eller flere andre bilder (interkoding). Det er fordelaktig hvis P (i, j) er som nær til O (i, j) som mulig. Imidlertid er det i de fleste tilfeller et betydelig residual, det vil si en betydelig forskjell mellom prediksjonen og de reelle data:
R(iJ) = 0(iJ)-P(i,j)
Prediksjonen beregnes samme måte, og derfor med det samme resultat, både ved koding på den sendende side, og dekoding på den mottakende side. Derfor er R (i, j) vanligvis hoveddelen av videosignalet som skal kodes og sendes.
Det er derfor også viktig at R (i, j) kodes på en effektiv måte. Som indikert tidligere er det derfor vanlig å utføre en 2 dimensjonalt transform av råpixel differansedata R (i, j) før koding. Den 2 dimensjonale transformen oppnås ofte ved å bruke en dimensjonal transform separat i den horisontale og vertikale retning. Det er derfor bare nødvendig å definere en en dimensjonal transform. En kandidat transform som konvensjonelt har blitt benyttet er den diskre cosinus transformen (DCT). Denne transformen virker godt hvis det er en noenlunde stor korrelasjon mellom pixler i R av (i, j). Imidlertid er DCT en transform basert på flyttall. Dette betyr vanligvis en ytterligere kompleksitet sammenlignet med bruk av heltall. Derfor brukes heltallstransform i nyere standarder slik som H.264.
H.264 kan bruke både 4 x 4 og 8 x 8 transform. De spesifiserte en dimensjonale transform grunnfunksjonen er:
4-pixel transform
8-pixel transform
For 4-pixel transformen er linjene markert 0 til 3. Dette indikerer 4 transform koeffisenter som representerer de 4 pixlene på en annen måte enn spesifisering av de 4 pixlene individuelt. De fire linjene betegnes vanligvis som basisvektorer av transformen. Basisvektorene er ortogonale hvilket betyr at produktet mellom 2 forskjellige vektorer er lik 0. For eksempel blir produktet mellom vektorene 0 og 1 beregnet som: (Ix2 + lxl-lxl-lx2) = 0. Det er typisk et krav til en transform å ha ortogonale basisvektorer.
Normalen til en basisvektor er kvadratsummen av hvert tall. Derfor er normalen til basisvektor 0 lik (l<2>+l<2>+l<2> + l<2>) = 4 og av basisvektor 1 lik (2<2> + l<2> + l<2> + 22) = 10. Det er derfor ses at denne 4-pixel transform har basisvektorer med 2 forskjellige normaler.
For passende rekonstruksjon av data etter transformasjon og invers transformasjon, må størrelsen av normal(ene) tas hensyn til. Dette gjøres typisk i
kvantiserings/dekvantiseringsprosessen. Denne forårsaker lite eller ingen ytterligere beregningsbelastning så lenge normalen er den samme for alle basisvektorer. Mer innsats er nødvendig hvis normalene er veldig forskjellige for de forskjellige basisvektorene.
Likeledes har 8-pixel transformen ortogonale basisvektorer. For dette sett av basisvektorer er det 3 forskjellige normaler.
DCT betraktes å være nær optimal for bruk i videokompresjon. Transformene ovenfor er noenlunde nær DCT og resulterer derfor i god kodingsytelse.
Som tidligere nevnt er ett av kravene for en god digital transform at basisvektorene er ortogonale. Det er også viktig at basisvektorene er nær til DCT, for å gi en så god ytelse av transformasjonsprosessen som mulig, det vil si begrenser mengdens støy introdusert av transform funksjon. Videre vil kvantisering og dekvantiseringsprosessen forenkles hvis normalene til alle basisvektorene er like, hvilket ikke er tilfellet for de eksempelvise basisvektorene beskrevet ovenfor. Endelig bør absoluttverdiene til basisvektorene holdes relativt små for den hensikt av en forenklet beregning.
Det er ganske trivielt å tilfredsstille hver av disse kriterier, men utfordringen er å finne basisvektorer som oppfyller alle kriterier i det samme sett av vektorer. Som det kan ses, vil de eksempelvise basisvektorer beskrevet ovenfor, som brukes i H.264 standarden, ikke oppfyller alle kriterier.
Den foreliggende oppfinnelse legger frem to vektorsett som oppfyller alle kriteriene ovenfor. I tillegg av å være ortogonale og ha like normale verdier, har simuleringer og tester vist at de respektive sett av basisvektorer ifølge foreliggende oppfinnelse tilveiebringer en optimal balanse mellom forenklet beregning og god ytelse. De to vektorsettene for en 8 x 8 transform ifølge foreliggende oppfinnelse er som følger:
Vektorsett 1:
Vektorsett 2:
Foreliggende oppfinnelse dekker også alle sett av basisvektorer som oppnås ved å multiplisere alle poster i en av vektorsettene ovenfor med det samme heltall.
For å oppnå en transform koeffisient blir et sett av 8 dataverdier multiplisert med en rad av basisvektorer og addert. Som et eksempel kan datastrengen (a, b, c, d, e, f, g, h) transformeres til transform koeffisienter (A, B, C, D, E, F, G, H) slik som dette:
osv.
Invers transform
For å utføre en invers transform av et sett med 8 dataverdier, utføres mulitplikasjoner med en kolonne i basisvektorrekken og adderes. Som et eksempel kan datastrengen (A, B, C, D, E, F, G, H) invers transformeres til (a, b, c, d, e, f, g, h) slik som dette:
osv.
Det samme settet av basisvektorer vil derfor spesifisere om handlingen er transform eller invers transform. Det er bruken av settet med spesifiserte tall som er forskjellige for transform og invers transform. Dette klargjøres med eksemplene ovenfor.

Claims (8)

1. Fremgangsmåte for videokoding for å transformere en første blokk av restpixel verdier av bilder med en heltallstransform funksjon som genererer en korresponderende andre blokk av transform koeffisienter, karakterisert ved at heltalls transform funksjonen inkluderer et vektorsett av åtte vektorer, idet nevnte vektorsett er definert som: eller hvor m og n er heltall.
2. Fremgangsmåte ifølge krav 1, karakterisert ved at heltallstransform funksjonen brukes separate de horisontal og vertikal retning av den første blokk av restpixel verdier for å generere den korresponderende andre blokk av heltalls transform koeffisienter.
3. Fremgangsmåte ifølge ett av de foregående krav, karakterisert ved at blokkene representerer et samme første kvadrert område av 8 x 8 pixler i et bilde.
4. Fremgangsmåte ifølge ett av de foregående krav, karakterisert ved at nevnte første kvadrerte område dekker en fjerde del av en makro blokk som representerer et andre kvadrert område av 16 x 16 pixler i nevnte bilde.
5. Fremgangsmåte for dekoding for transformering av en første blokk av heltalls transform koeffisienter av bevegelige bilder av en heltalls invers transform funksjon som genererer en korresponderende andre blokk av restpixel verdier, karakterisert ved at heltalls invers transform funksjonen inkluderer et vektorsett av åtte vektorer, idet nevnte vektorsett er definert som: eller hvor m og n er heltall.
6. Fremgangsmåte ifølge krav 5, karakterisert ved at heltalls invers transform funksjon brukes separate i horisontal og vertikal retning av den første blokk av heltalls transform koeffisienter for å generere den korresponderende andre blokk av restpixel verdier.
7. Fremgangsmåte ifølge krav 5 eller 6, karakterisert ved at blokken representerer et samme første kvadrert område av 8x8 pixler i et bilde.
8. Fremgangsmåte ifølge krav ett av kravene 5-7, karakterisert ved at nevnte første kvadrerte område dekker en fjerde del av en makroblokk som representerer et andre kvadrert område av 16 x 16 pixler i nevnte bilde.
NO20070193A 2007-01-11 2007-01-11 Atte pixlers heltallstransform NO326065B1 (no)

Priority Applications (3)

Application Number Priority Date Filing Date Title
NO20070193A NO326065B1 (no) 2007-01-11 2007-01-11 Atte pixlers heltallstransform
PCT/NO2008/000014 WO2008085066A2 (en) 2007-01-11 2008-01-11 Eight pixels interger transform
US11/972,942 US8175156B2 (en) 2007-01-11 2008-01-11 Eight pixels integer transform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20070193A NO326065B1 (no) 2007-01-11 2007-01-11 Atte pixlers heltallstransform

Publications (2)

Publication Number Publication Date
NO20070193L NO20070193L (no) 2008-07-14
NO326065B1 true NO326065B1 (no) 2008-09-08

Family

ID=39609156

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20070193A NO326065B1 (no) 2007-01-11 2007-01-11 Atte pixlers heltallstransform

Country Status (3)

Country Link
US (1) US8175156B2 (no)
NO (1) NO326065B1 (no)
WO (1) WO2008085066A2 (no)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO326065B1 (no) * 2007-01-11 2008-09-08 Tandberg Telecom As Atte pixlers heltallstransform
US8331454B2 (en) 2007-11-12 2012-12-11 Cisco Technology, Inc. Integer transform function for video compression systems
CN102318203B (zh) * 2008-11-12 2014-10-08 汤姆逊许可证公司 用于编码包含光变的视频帧的方法及设备
JP5579731B2 (ja) * 2008-11-12 2014-08-27 トムソン ライセンシング 映像符号化方法、映像符号化装置及びコンピュータプログラム
US9143788B2 (en) * 2008-11-13 2015-09-22 Thomson Licensing Multiple thread video encoding using HRD information sharing and bit allocation waiting

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO319007B1 (no) * 2003-05-22 2005-06-06 Tandberg Telecom As Fremgangsmate og apparat for videokomprimering
NO318318B1 (no) * 2003-06-27 2005-02-28 Tandberg Telecom As Fremgangsmate for forbedret koding av video
US8069201B2 (en) * 2003-11-25 2011-11-29 Texas Instruments Incorporated 8×8 transform and quantization
NO326065B1 (no) * 2007-01-11 2008-09-08 Tandberg Telecom As Atte pixlers heltallstransform
US8428133B2 (en) * 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
US8848787B2 (en) * 2007-10-15 2014-09-30 Qualcomm Incorporated Enhancement layer coding for scalable video coding
US8483285B2 (en) * 2008-10-03 2013-07-09 Qualcomm Incorporated Video coding using transforms bigger than 4×4 and 8×8
US8860781B2 (en) * 2009-06-30 2014-10-14 Qualcomm Incorporated Texture compression in a video decoder for efficient 2D-3D rendering

Also Published As

Publication number Publication date
NO20070193L (no) 2008-07-14
US20080175323A1 (en) 2008-07-24
WO2008085066A3 (en) 2009-04-30
WO2008085066A2 (en) 2008-07-17
US8175156B2 (en) 2012-05-08

Similar Documents

Publication Publication Date Title
JP2020191647A (ja) ビデオ符号化およびビデオ復号における変換の選択のための方法および装置
CN104838650B (zh) 帧内预测编码方法、帧内预测解码方法、帧内预测编码装置、帧内预测解码装置以及记录程序的记录介质
CN101889405B (zh) 用于执行运动估计的方法和装置
CN100553321C (zh) 编码动态滤波器
KR100773761B1 (ko) 동영상 부호화 장치 및 방법
KR100472476B1 (ko) 움직임 보상을 위한 보간 방법 및 그 장치
EP1983759A1 (en) Estimation of separable adaptive interpolation filters for hybrid video coding
CN109804630A (zh) 对视频数据编码执行运动补偿的***以及方法
US20150049818A1 (en) Image encoding/decoding apparatus and method
US7840096B2 (en) Directional interpolation method and video encoding/decoding apparatus and method using the directional interpolation method
NO319007B1 (no) Fremgangsmate og apparat for videokomprimering
NO20110939A1 (no) Metode for videokomprimering
KR20120043661A (ko) 적응적 화면내 예측 부호화 및 복호화 방법
NO318318B1 (no) Fremgangsmate for forbedret koding av video
TWI468018B (zh) 使用向量量化解區塊過濾器之視訊編碼
NO330107B1 (no) Datamaskinimplementert tidlig dropping
NO326065B1 (no) Atte pixlers heltallstransform
NO320048B1 (no) Fremgangsmate for chroma de-blokking
NO326724B1 (no) Metode for entropikoding av transformasjonskoeffisienter i videokomprimeringssystemer
NO325859B1 (no) Kodek-preprosessering
CN104581173A (zh) 软解码验证模型平台
KR101529903B1 (ko) 블록기반 깊이정보 맵의 코딩 방법과 장치, 및 이를 이용한 3차원 비디오 코딩 방법
JP2022514505A (ja) ビットレート削減のためのビデオストリーム適応フィルタリング
ES2964763T3 (es) Decisión de intra-codificación temprana
Yang et al. Fast coding-unit mode decision for HEVC transrating

Legal Events

Date Code Title Description
CREP Change of representative

Representative=s name: TANDBERGS PATENTKONTOR AS, POSTBOKS 7085 MAJORSTUA

MM1K Lapsed by not paying the annual fees