SE526226C2 - Bildbehandling - Google Patents

Bildbehandling

Info

Publication number
SE526226C2
SE526226C2 SE0303497A SE0303497A SE526226C2 SE 526226 C2 SE526226 C2 SE 526226C2 SE 0303497 A SE0303497 A SE 0303497A SE 0303497 A SE0303497 A SE 0303497A SE 526226 C2 SE526226 C2 SE 526226C2
Authority
SE
Sweden
Prior art keywords
intensity
color
representation
modifiers
codeword
Prior art date
Application number
SE0303497A
Other languages
English (en)
Other versions
SE0303497D0 (sv
SE0303497L (sv
Inventor
Jacob Stroem
Tomas Akenine-Moeller
Original Assignee
Ericsson Telefon Ab L M
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 Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Priority to SE0303497A priority Critical patent/SE526226C2/sv
Publication of SE0303497D0 publication Critical patent/SE0303497D0/sv
Priority to RU2006126058/09A priority patent/RU2317587C1/ru
Priority to EP13172504.6A priority patent/EP2688042B1/en
Priority to PCT/SE2004/001120 priority patent/WO2005059836A1/en
Priority to SE0401850A priority patent/SE0401850D0/sv
Priority to AU2004298705A priority patent/AU2004298705B2/en
Priority to CNB2004800380946A priority patent/CN100550057C/zh
Priority to SE0401852A priority patent/SE0401852D0/sv
Priority to EP04749156.8A priority patent/EP1697897B1/en
Priority to ES13172504T priority patent/ES2716560T3/es
Priority to PL13172504T priority patent/PL2688042T3/pl
Priority to TR2019/01009T priority patent/TR201901009T4/tr
Priority to CA2545414A priority patent/CA2545414C/en
Priority to JP2006545270A priority patent/JP4444967B2/ja
Priority to HUE13172504A priority patent/HUE042288T2/hu
Priority to ZA200604184A priority patent/ZA200604184B/en
Priority to BRPI0417576A priority patent/BRPI0417576B1/pt
Priority to US10/582,988 priority patent/US7636471B2/en
Priority to US10/582,689 priority patent/US7657105B2/en
Priority to US10/583,453 priority patent/US7734105B2/en
Priority to PCT/SE2004/001922 priority patent/WO2005059839A1/en
Priority to AT04809094T priority patent/ATE552575T1/de
Priority to CNB2004800380024A priority patent/CN100504926C/zh
Priority to JP2006545294A priority patent/JP4444969B2/ja
Priority to PCT/SE2004/001920 priority patent/WO2005059837A1/en
Priority to PCT/SE2004/001921 priority patent/WO2005059838A1/en
Priority to JP2006545295A priority patent/JP4444970B2/ja
Priority to KR1020067012083A priority patent/KR100819597B1/ko
Priority to EP04809094A priority patent/EP1697899B1/en
Priority to AT04809093T priority patent/ATE552574T1/de
Priority to KR1020067011298A priority patent/KR100821762B1/ko
Priority to US10/583,454 priority patent/US7693337B2/en
Priority to CNB2004800417141A priority patent/CN100498838C/zh
Priority to AT04809095T priority patent/ATE557369T1/de
Priority to DK04809094.8T priority patent/DK1697899T3/da
Priority to JP2006545293A priority patent/JP4444968B2/ja
Priority to EP04809093A priority patent/EP1697898B1/en
Priority to EP04809095A priority patent/EP1697900B1/en
Publication of SE0303497L publication Critical patent/SE0303497L/sv
Publication of SE526226C2 publication Critical patent/SE526226C2/sv

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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]

Description

n/ 10 15 20 25 30 526 226 2 således i lägre effektförbrukning och/ eller snabbare framställning. Denna minskning i bandbredds- och processorkraftskraven är särskilt viktig för tunna klienter, såsom mobilenheter och -telefoner, med en liten mängd minne, liten minnesbandbredd och begränsad effekt (drivs med batterier).
Delp and Mitchell [1] beskriver en enkel metod, benämnd blocktrunkerad kodning (BTC), för bildkodning. Deras metod kodar gråskaliga bilder genom att betrakta ett block på 4 pixlar x 4 pixlar i taget. För varje sådant block genereras två 8-bitars gråskaliga värden och varje pixel i blocket använder därefter en enda bit för att indexera en av dessa gråskalor. Detta resulterar i en komprimeringsgrad på 2 bitar per pixel (bpp). BTC drabbas emellertid av generering av artefakter, särskilt i regioner runt kanter och i lågkontrast- områden som innehåller en avtagande grânivå. Vidare har kanter i en gråskalig bild behandlad enligt BTC en tendens att bli taggiga.
En enkel utvidgning av BTC, benämnd färgcellskomprimering (CCC), presenterades av Campbell et al. [2]. Istället för att använda två S-bitars gråskaliga värden för varje bíldblock används tvâ 8-bitars värden som index till en färgpalett. Denna palett innefattar 256 färger representerade av 8 bitar var för R-, G- och B-komponenten. Ett 8-bitars index pekar då på en (24-bitars) färg i paletten. Detta möjliggör komprimering av bilder vid 2 bpp.
Detta erfordrar emellertid en rninnesuppslagning i paletten. Dessutom är paletten begränsad i storlek. CCC-metoden inför även stora ”färgnaggningar” och kodar dåligt i fallet då fler än två färger finns i ett bíldblock.
I en patentbeskrivning [3] visar Iourcha et al. en texturkornprimeringsmetod benämnd S3TC (S3 Texture Compression) eller DXTC (DirectX Texture Compression) som kan ses som en utvidgning av CCC. En bild delas upp i ett antal bíldblock på 4 pixlar x 4 pixlar. Varje sådant bíldblock kodas till en bitsekvens på 64 bitar, vilket således resulterar i en komprimeringsgrad pä 4 bpp. Den 64-bitars sekvensen innefattar två basfärger eller färgkodord (16 bitar var) och en 32-bitars sekvens med Q-bitars index, ett index för varje pixel i bildblocket. Under avkodning genereras en färgpalett med fyra färger. 10 15 20 25 30 526 226 3 De första två RGB-färgerna (röd, grön och blå) i paletten motsvarar de två basfärgerna (kordorden). De två ytterligare färgerna, som befinner sig mellan basfärgerna i RGB-rymden, interpoleras därefter från dessa. Varje 2-bitars index identifierar då, för varje pixel, en av de fyra färgerna i paletten som ska användas för den pixeln.
Fastän S3TC-metoden fungerar ganska bra för datorterminaler är den inte väl anpassad för mobilenheter och andra tunna klienter. Sådana mobilenheter har typiskt sett minnesbussar på endast 16 till 32 bitar som bäst. Således krävs åtminstone två och möjligen upp till fyra minnesaccesser för att läsa ut den 64-bitars komprimerade versionen av ett bildblock om S3TC implementeras i en mobilenhet. Dessutom utförs, under interpoleringen av de två ytterligare färgerna i färgpaletten, multiplicering med 1/3 och 2/3, vilket inte är idealt i maskinvara. Komprimeringen genom användning av S3TC är även relativt tidsförbrukande, åtminstone på en mobilterrninal.
Akenine-Möller och Ström [4] har utvecklat en variant på S3TC benämnd POOMA som är särskilt riktad mot mobiltelefoner. I POOMA kodas ett bildblock på 3 pixlar >< 2 pixlar till 32 bitar, vilket ger 5,33 bpp. Den kodade 32-bitars representationen av ett bildblock är anpassat för mobiltelefoners minnesbussar, vilka typiskt sett är 32 bitar som bäst. Således kan en pixel framställas genom användning av endast en minnesaccess jämfört med två accesser för S3TC. POOMA använder två basfårger men endast en ytterligare färg interpoleras mellan basfärgema, vilket resulterar i en färgpalett på tre färger.
En stor nackdel med POOMA är blockstorleken på 3 x 2 pixlar. En följd av detta är att beräkning av blockadressen för en särskild pixel eller texel (texturelement) erfordrar division med 3, vilket inte är idealt för maskinvaruimplementeríng. Vidare är bredden och höjden på texturer (bilder) inom grafik typiskt sett alltid en faktor två, vilket betyder att en lO 15 20 25 30 526 226 4 blockbredd på 3 är olämpligt. Såsom för S3TC är kodning med POOMA relativt tidsförbrukande, särskilt vid implementering på en mobilterminal.
Fenny [5] visar en bildkodningsmetod som används i MBX-grafikmaskin- varuplattformen för mobiltelefoner. Denna metod använder två lågupplösta bilder där en bild vanligtvis är en lägpassfiltrerad version av ursprungs- bilden. Under avkodning skapas en bilinjär förstoring (uppskalning) av dessa två bilder. Varje pixel lagrar även en blandningsfaktor mellan dessa två uppskalade bilder. 64 bitar används för kodning av varje bildblock och en komprimeringsgrad på 2 bpp och 4 bpp beskrivs. Information från angränsande bildblock behövs, vilket komplicerar avkodning.
SAMMANFATTNING Den föreliggande uppfinningen övervinner dessa och andra nackdelar hos uppställningarna enligt teknikens ståndpunkt.
Det är ett allmänt syfte med den föreliggande uppfinningen att tillhandahålla en effektiv bildbehandling.
Det är ett annat syfte med uppfinningen att tillhandahålla en effektiv bild- kodning och bildavkodning. Ännu ett syfte med uppfinningen är att tillhandahålla bildkodning och - avkodning anpassade för användning i tunna klienter med låg minnes- och minnesbandbreddskapacitet.
Ett ytterligare syfte med uppfinningen är att tillhandahålla bildkodning och - avkodning anpassade för tredimensionell (3D) grafik och bilder.
Dessa och andra syften löses genom uppfinningen såsom den definieras i de medföljande patentkraven. 10 15 20 25 30 526 226 5 Den föreliggande uppfinningen innefattar kortfattat bildbehandling i form av kodning (komprimering) av en bild och avkodning (dekomprimering) av en kodad (komprimerad) bild.
Enligt uppfinning delas en bild som ska kodas upp i ett antal bildblock som innefattar multipla bildelement (pixlar eller texturelement, texlar). Ett bild- block innefattar företrädesvis åtta bildelement och har en storlek på 2m><2fl bildelement, där m=3-n och n=O, 1, 2, 3. Varje bildelement i ett block karakteriseras av en färg, t.ex. en IZ-bitars RGB-färg (röd, grön, blå). Bild- blocken kodas därefter.
I denna icke-förlustfria kodning bestäms ett färgkodord för bildblocket. Färg- kodordet är en representation av färgerna hos bildblockets bildelement. En föredragen representation är ett medelvärde av färgerna hos bildelementen i blocket, kvantiserat till 12 bitar (4 bitar för vardera av de tre färg- komponenterna för en RGB-färg). Ett och samma färgkodord (dvs. färg- representation) genereras således för ett bildblock, dvs. för bildblockets alla bildelement. Därefter tillhandahålls ett intensitetskodord för bildblocket.
Detta intensitetskodord är en representation av en uppsättning med multipla intensitetsmodifierare som används (under avkodning) för att modifiera eller modulera intensiteten hos bildelementen i bildblocket. Når intensitets- kodordet väl är tillhandahållet väljs intensitetsrepresentationer för bild- elementen i bildblocket. Varje sådan intensitetsrepresentation är associerad med en intensitetsmodifierare från uppsättningen med intensitets- modifierare. Med andra ord medger intensitetsrepresentationen identifiering av vilken intensitetsmodifierare från uppsättningen som ska användas för ett givet bildelement i blocket.
Det resulterande kodade bildblocket innefattar då färgkodordet, företrädesvis 12 bitar, intensitetskodordet, företrädesvis 4 bitar, samt en sekvens med intensitetsrepresentationema, företrädesvis 8><2=l6 bitar. Den resulterande storleken hos ett kodat bildblock är således endast 32 bitar och en komprimeringsgrad på 4 bitar per pixel (bildelement) erhålls. Denna lilla 32- 10 15 20 25 30 526 2266 bitars storlek är väl anpassad för tunna klienter, såsom mobilenheter och - telefoner som typiskt sett har minnesbussar på 16 eller 32 bitar. En följd av detta är att endast en eller som värst två minnesaccesser behövs då för att läsa ut det kodade bildblocket från en minnesplats.
I en föredragen utföringsform av uppfinningen är intensitetskodordet ett intensitetsindex som medger identifiering av en uppsättning med intensitets- modifierare. Detta index skulle då kunna identifiera eller peka på upp- sättningen i en tabell eller kodbok som innefattar flera olika uppsättningar med intensitetsmodiñerare. Varje uppsättning innefattar företrädesvis fyra (matematiskt) komplementära modifierarvärden. I sådana fall behöver de í tabellen lagrade modifieraruppsättningarna endast innefatta två olika intensítetsmodifierarvärden var och de andra två (komplementära) värdena i uppsättningen skulle därefter kunna beräknas från dessa. Dessutom innefattar intensitetstabellen företrädesvis både uppsättningar med små intensitetsmodifierarvärden som är anpassade för att medge representation av jämnt förändrande ytor och uppsättningar som innefattar stora intensitetsmodifierarvärden som är anpassade för att medge representation av skarpa kanter.
Under avkodning identifieras och hämtas det (de) kodade bildblocket (- blocken) som ska avkodas från tex. en minnesplats. När det korrekta kodade bildblocket har identifierats, tillhandahålls en uppsättning med intensitetsmodifierare. Denna modifieranippsättning tillhandahålls baserat på intensitetskodordet i det kodade bildblocket. Detta tillhandahållande av uppsättningen utförs företrädesvis genom identifiering, med hjälp av intensitetskodordet, av en uppsättning med intensitetsmodifierare från en intensitetstabell som innefattar multipla modifieraruppsättningar.
Därefter genereras en färgrepresentation för åtminstone ett bildelement i bildblocket. Denna färggenerering utförs baserat på färgkodordet i den kodade blockrepresentationen. Den intensitetsmodifierare som ska användas för det bildelement som ska avkodas väljs därefter. Modifierarvärdet väljs lO 15 20 25 30 526 226 7 från den tillhandahållna modifieraruppsättningen baserat på den intensitetsrepresentation som är associerad med bildelementet och återfinns i det kodade bildblockets representationssekvens. När det korrekta intensitetsmodiñerarvärdet väl är valt modifieras bildelements intensitet med detta värde.
Valet av intensitetsmodifierare och modiñeringen av intensiteten utförs företrädesvis för alla bildelement som ska avkodas i det nuvarande kodade bildblocket. Blockavkodningen upprepas därefter företrädesvis för alla bild- block som innefattar bildelement som ska avkodas. En avkodad representation av en ursprungsbild, eller en del därav, kan därefter genereras baserat på de avkodade bildelementen och -blocken.
Färgrepresentationen genereras företrädesvis genom att expandera de tre 4- bitar färgkomponenterna i färgkodordet till tre S-bitars komponenter. Den resulterande 24-bitars färgen tilldelas sedan till det/ de bildelement i bild- blocket som ska avkodas. Bildelementens intensitet rnodiñeras företrädesvis genom att addera eller multiplicera intensitetsmodifieraren till/ med varje färgkomponent, eller så moduleras varje färgkomponent på något annat sätt med intensitetsmodiñeraren. Därefter kläms de resulterande intensitets- modifierade färgkomponenterna in mellan ett minimum och maximum tröskelvärde.
Bildkodningen och -avkodningen enligt uppfinningen kan tillämpas på flera olika bildtyper, inklusive 1D, 2D och 3D ”syntetiska” bilder, fotografier, text, spel, 3D-kartor och -scener, 3D-meddelanden, t.ex. animerade med- delanden, skärmsläckare, människa-maskingränssnitt (MMI), etc.
På grund av den lilla (32-bitars) storleken på ett kodat bildblock är uppfinningen väl anpassad för tunna klienter med begränsad minnes- kapacitet och -bandbredd. Dessutom är kodningen mycket snabb så att den kan utföras även i terminaler med låga klockfrekvenser. Vidare kan av- 10 15 20 25 30 526 226 8 kodningen implementeras ytterst enkelt i t.ex. maskinvara genom användning av endast ett fåtal standardkomponenter.
Uppfinningen erbjuder följande fördelar: - Väl anpassad för att matcha det mänskliga synsinnet eftersom luminanskomponenten bevaras bättre än krominanskomponentema; - Ger hög kvalitet (kvot mellan toppsignal och brus) för olika bildtyper; - Maskinvaruirnplementering av avkodning är ytterst enkel; - Kodning är mycket snabb, vilket möjliggör implementering även i terminaler med låga klockfrekvenser; - Uttömmande kodning är möjlig vid genomförbar hastighet på en dator; samt - Kodad bilddata har en storlek som är lämplig för tunna klienter med begränsad minneskapacitet och -bandbredd.
Andra fördelar som erbjuds av den föreliggande uppfinningen kommer att uppfattas under läsning av den nedanstående beskrivningen av uppfinningens utföringsformer.
KORT BESKRIVNING AV RITNINGARNA Uppfinningen, tillsammans med ytterligare syften och fördelar med denna, kan bäst förstås genom hänvisningar till följande beskrivning läst tillsammans med de medföljande ritningarna, ivilka: Fig. 1 är ett flödesdiagram som illustrerar ett bildkodningsförfarande enligt den föreliggande uppfinningen; Fig. 2 illustrerar en utföringsform av ett bildblock enligt den föreliggande uppfinningen; Fig. 3 illustrerar en annan utföringsform av ett bildblock enligt den föreliggande uppfinningen; 10 15 20 25 30 526 226 e9 Fig. 4 illustrerar en utföringsform av en kodad representation av ett bildblock enligt den föreliggande uppfinningen; Fig. 5 är ett flödesdiagram som illustrerar steget att bestämma färgkodord i Fig. 1 imer detalj; Fig. 6 är ett flödesdiagram som illustrerar steget att tillhandahålla intensitets- kodord och steget att vålja intensitetsrepresentation i Fig. 1 i mer detalj.
Fig. 7 är ett ilödesdiagram som illustrerar ett bildavkodningsförfarande enligt den föreliggande uppfinningen; Fig. 8 är ett flödesdiagram som illustrerar stegen att tillhandahålla uppsättning med intensitetsmodifierare och generera färgrepresentation i Fig. 7 i mer detalj; Fig. 9 är ett flödesdiagram som illustrerar intensitetsmodifieringssteget i Fig. 7 i mer detalj; Fig. 10 illustrerar schematiskt ett exempel på en användartermínal med en bildkodare och -avkodare enligt den föreliggande uppfinningen; Fig. 11 är ett blockdiagrarn som schematiskt illustrerar en utföringsform av en bildkodare enligt den föreliggande uppfinningen; Fig. 12 är ett blockdiagram som schematiskt illustrerar en annan utförings- form av en bildkodare enligt den föreliggande uppfinningen; Fig. 13 är ett blockdiagram som schematiskt illustrerar en utföringsfonn av en blockkodare enligt den föreliggande uppfinningen; Fig. 14 är ett blockdiagrazn som schematiskt illustrerar en annan utförings- form av en blockkodare enligt den föreliggande uppfinningen; lO 15 20 25 30 526 226 10 Fig. 15 är ett blockdiagram som schematiskt illustrerar fårgkvantiseraren hos blockkodaren i Fig. 13 och 14 i mer detalj; Fig. 16 är ett blockdiagram som schematiskt illustrerar en utföringsfonn av en bildavkodare enligt den föreliggande uppfinningen; Fig. 17 är ett blockdiagram som schematiskt illustrerar en annan utförings- form av en bildavkodare enligt den föreliggande uppfinningen; Fig. 18 är ett blockdiagram som schematiskt illustrerar en utföringsform av en blockavkodare enligt den föreliggande uppfinningen; Fig. 19 är ett maskinvarublockdiagrarn som schematiskt illustrerar en utföringsforrn av en blockavkodare enligt den föreliggande uppfinningen; Fig. 20 är ett maskinvarublockdiagram som illustrerar en utföringsform av bitexpanderarna i Fig. 19 i mer detalj; Fig. 21 är ett maskínvarublockdiagrarn som illustrerar en utföringsform av tabelluppslagaren i Fig. 19 i mer detalj; samt Fig. 22 är ett maskinvaniblockdiagram som illustrerar en utföringsform av lclärrirnarria i Fig. 19 i mer detalj.
DETALJERAD BESKRIVNING Genomgående i ritningarna kommer samma hänvisningsbeteckningar att användas för motsvarande eller lika element.
Den föreliggande uppfinningen avser bild- och grafikbehandling och särskilt kodning eller komprimering av bilder och avkodning eller dekornprimering av kodade (komprimerade) bilder. lO 15 20 25 30 526 226 11 I allmänhet så bryts en bild ned eller delas upp, under bildkodning, i ett antal bíldblock enligt uppfinningen. Varje sådant bíldblock innefattar då multipla bildelement med, bland annat, en viss färg. Bildblocken kodas därefter för att generera en kodad representation av bilden.
När en kodad bild eller grafikprimitiv ska framställas, t.ex. visas på en skärm, identifieras och avkodas de relevanta bildelementen i de kodade bild- blocken. Dessa avkodade bildelement används därefter för att generera en avkodad representation av ursprungsbilden eller grañkprimitiven.
Den föreliggande uppfinningen är väl anpassad för användning med tredimensionell (3D) grafik, såsom spel, 3D-kartor och -scener, 3D- meddelanden, t.ex. animerade meddelanden, skärmsläckare, människa- maskingrånssnitt (MMI), etc. men är inte begränsad därtill. Således skulle uppfinningen även kunna användas för kodning av andra typer av bilder och grafik, t.ex. endimensionella (1D) eller tvådimensionella (2D) bilder.
Inom BD-grafikbehandling skapas typiskt sett flera trianglar och de motsvarande skärrnkoordinaterna för hörnen hos dessa tríanglar bestäms.
På varje triangel mappas (”limmas”) en bild (eller del av en bild), eller en så kallad textur. Hanteringen av texturer är emellertid kostsam för grafik- systemet, både i termer av använt minne för lagring av texturer och i termer av minnesbandbredd under minnesaccesser då texturer hämtas från minnet.
Detta är ett problem särskilt för tunna klienter, såsom mobilenheter och - telefoner, med begränsad minneskapacitet och -bandbredd En konsekvens av detta är att en textur- eller bildkodningsmetod ofta används. I en sådan metod bryts en bild ned eller delas upp i ett antal bíldblock som innefattar multipla texlar. Bildblocken kodas därefter och lagras i ett minne. Notera att storleken på ett kodat bíldblock (en kodad version av ett bíldblock) är mindre än den motsvarande storleken hos den okodade versionen av bildblocket.
I den föreliggande uppfinningen avser uttrycket ”bildelement” ett element i ett bíldblock eller i en kodad representation av ett bildblock. Detta bíldblock 10 15 20 25 30 526 226 1, motsvar i sin tur en del av en bild eller textur. Ett bildelement skulle således enligt uppñnningen kunna vara en texel (texturelement) i en (1D, 2D eller 3D) textur eller en pixel i en (1D, 2D eller 3D) bild. I allmänhet karakteriseras ett bildelement av vissa bildelementsegenskaper, såsom ett färgvårde. Vidare så används i fortsättningen termen ”bild” för att beteckna vilken 1D, 2D eller 3D bild eller textur som helst som kan kodas och avkodas med hjälp av den föreliggande uppfinningen, innefattande, men inte begränsat till, fotografier, speltypstexturer, text, ritningar, etc.
Fig. 1 illustrerar ett (icke-förlustfritt) förfarande för kodning av en bild enligt den föreliggande uppfinningen. I ett första steg S1 bryts bilden ned eller delas upp i ett antal bildblock. Varje sådant bildblock innefattar då multipla bildelement. I en föredragen utföringsforrn av uppfinningen innefattar ett bildblock åtta bildelement (pixlar eller texlar) och har en storlek på 21” >< 2” bildelement, där m=3-n och n=0, l, 2, 3. Företrädesvis är n 1 eller 2. Fig. 2 och 3 illustrerar schematiskt två exempel på ett bildblock 600 med åtta bildelement 610 enligt den föreliggande uppfinningen. I Fig. 2 är höjden två bildelement 610 och bredden är fyra bildelement 610, dvs. m=1 och n=2, medan för bildblocket 600 i Fig. 3 är m=2 och n=1. Återvänd till Fig. l där hela bilden företrädesvis delas upp i (icke-överlappande) bildblock i steg S1. I vissa tillämpningar kodas emellertid endast en del av en bild och således delas endast denna del upp i bildblock.
De efterföljande steg S2 till S4 utför en kodning eller komprimering av bildblocken. För det första bestäms ett färgkodord för ett bildblock i steg S2.
Detta färgkodord är en representation av färgerna hos bildelementen i bildblocket. I en föredragen utföringsform är färgkodordet en representation av en medelfärg av blockets bildelement. Färgen skulle kunna vara en RGB- färg (röd, grön, blå), en färg i YUV-rymden eller YCrCb-rymden eller någon annan färgrymd som används i bild- och grañkbehandling och -hantering.
Färgkodordet är företrädesvis i samma färgformat (-rymd) som bilden. I vissa fall kan det emellertid vara lämpligt att omvandla bilden till ett annat färgforrnat, dvs. ha fårgkodordet i en första färgrymd och ursprungsbilden i 10 15 20 25 30 526 226 13 en andra annan färgrymd. Färgkodordet är företrädesvis en 12-bitars färgrepresentationssekvens. Till exempel skulle ett RGB-färgkodord kunna innefattar 4 bitar för den röda färgkomponenten, 4 bitar för den gröna komponenten samt 4 bitar för den blå komponenten. På motsvarande sätt skulle ett YUV-färgkodord kunna innefatta 6 bitar, 3 bitar respektive 3 bitar för de tre olika komponenterna.
Notera att ett och samma färgkodord (dvs. färgrepresentation) genereras för ett bildblock, dvs. för bildblockets alla bildelement.
Därefter tillhandahålls ett intensitetskodord i steg S3. Detta intensitets- kodord är en representation av en uppsättning med multipla intensitets- modiñerare som används (under avkodning) för att modifiera intensiteten hos bildelementen i bildblocket.
I en föredragen utföringsform av uppfinningen är intensitetskodordet ett intensitetsindex som medger identifiering av en uppsättning med intensitets- modifierare. Detta index skulle då kunna identifiera eller peka på upp- sättningen i en tabell eller kodbok som innehåller flera olika uppsättningar med intensitetsmodifierare. Varje uppsättning innefattar två eller fler intensitetsmodifierarvärden, företrädesvis åtminstone fyra modifierarvärden.
Dessutom är en uppsättnings modifierarvärden företrädesvis matematiskt komplementära värden, dvs. varje uppsättning är företrädesvis symmetrisk.
Till exempel skulle en möjlig uppsättning med intensitetsmodifierare kunna vara [-a, -b, b, a], där a och b är positiva heltal och a>b. lntensitetstabellen innefattar företrädesvis uppsättningar som innehåller små intensitetsmodifierarvärden som är anpassade för att medge representation av mjukt förändrande ytor. Dessutom innefattar tabellen dessutom uppsättningar som innehåller stora intensitetsmodiñerarvärden som är anpassade för att medge representation av skarpa kanter. 10 15 526 226 14 De faktiska intensitetsmodiflerarvärdena i tabellens uppsättningar kan fås fram genom att starta med slumpmässiga värden och sedan optimera dessa vården genom användning av olika optimeringsmetoder och -algoritrnen såsom versioner av LBG-algoritxnen (Linde, Buzo och Gray) [6], simulerad stelning och koordinatsökning, vilka är välkända för fackmannen. Några olika bildtyper, t.ex. fotografier, speltypstexturer, text, etc. kan användas som träningsdata.
För göra en hårdvaruimplementeríng av intensitetstabellen mindre kostsam kan intensitetsmodifierarna i en uppsättning tvingas vara symmetriska, vilket diskuterades ovan, och/ eller skulle intensitetsmodiñerarna i en given uppsättning kunna vara en kopia av intensitetsmodiñerarna i en annan uppsättning modifierade med en faktor, t.ex. två.
Tabell 1 illustrerar ett för närvarande föredraget exempel på en intensitetstabell som innefattar 16 uppsättningar med intensítetsmodifierare med fyra modifierarvärden i varje uppsättning.
Tabell 1 Uppsättning Kodord Intensitetsmodifierarvärde 1 0000bm -8 -2 2 8 2 ooo 15,1 -12 -4 4 12 3 00 1 Obin -3 1 -6 6 31 4 0011b1n -34 -12 12 34 5 0100bm -50 -8 8 50 6 0101bm -47 -19 19 47 7 01 101m -80 -28 28 80 8 Olllbm -127 -42 42 127 9 1000bin -16 -4 4 16 10 1001bm -24 -8 8 24 11 1010bin -62 -12 12 62 12 101 lbm -68 -24 24 68 13 1100bm -100 -16 16 100 10 15 20 25 30 526 226 15 14 110111111 -94 -38 38 94 15 111011111 -160 -56 56 160 16 llllbin -254 -84 84 254 I Tabell 1 är intensitetsmodifieraruppsättningaina 9-16 en kopia av upp- sättningarna 1-8 multiplicerat med en faktor två. ' Om intensitetstabellen innefattar som mest 16 olika uppsättningar med intensitetsmodifierare är intensitetskodordet företrädesvis ett 4-bitars index (OOOOmn-llllbin) som identifierar en av (de 16) uppsättningarna i tabellen, t.ex. [-8, -2, 2, 8] för kodordet OOOObm (0000 bas 2). På grund av det noggranna valet av modifierarvärden i uppsättningarna (symmetriska upp- sättningar och hälften av uppsättningarna är en faktor två av den återstående hälften) kan hela Tabell 1 rekonstrueras med endast 16 modifierarvärden och de återstående 48 värdena kan beräknas från dessa.
Den föreliggande uppfinningen är emellertid inte begränsad till användningen av Tabell 1 utan skulle kunna använda andra tabeller med andra upp- sättningar med intensitetsmodifierare och andra modifierarvärden. Vidare mäste eventuellt storleken på intensitetskodordet ändras för fler eller färre än 16 uppsättningar i tabellen. Till exempel skulle kodordstorleken kunna begränsas till en bit (två bitar, tre bitar eller fler än fyra bitar) om tabellen innefattar två (3-4, 5-8 eller fler än 16) uppsättningar med intensitetsmodiñerare. Dessutom skulle antalet intensitetsmodifierarvärden per uppsättning kunna skilja sig från fyra, t.ex. fem värden skulle kunna användas per uppsättning, vilket get ett exempel på [-8, -2, O, 2, 8].
Intensitetsvärden för uppsättningarna i tabellen skulle kunna bestämmas genom användning av olika bildtyper som träningsdata, vilket diskuterades ovan. Om emellertid endast en specifik bildtyp ska kodas skulle modifierar- värdena kunna bestämmas genom användning av träningsdata som motsvarar den bildtypen, dvs. vilket ger en intensitetstabell dedikerad för en specifik bildtyp. Det skulle även kunna vara möjligt att ha en intensitetstabell med intensitetsmodifierarvärden anpassade för en specifik bild. I dessa fall, 10 15 20 25 30 526 226 dvs. tabell dedikerad för bild eller bildtyp, skulle det eventuellt vara nödvändigt att inkludera tabellens intensitetsmodifieraivärden i den komprimerade filen med kodade bildblock eller på något annat sätt associerade dem med filen.
Dessutom behöver inte intensitetskodordet vara ett index eller pekare på en uppsättning av intensitetsmodifierare i en tabell utan skulle faktiskt själv kunna vara en uppsättning med intensítetsmodífierare, t.ex. innefatta två modifieraivärden, såsom 2 och 8, och varvid de andra modifierarvärdena, såsom -2 och -8, kan bestämmas från dessa två värden.
Notera att en och samma uppsättning med intensitetsmodífierare används för bildblocket.
När intensitetskodordet väl år tíllhandahållet i steg S3 väljer ett nästa steg S4 intensitetsrepresentationer för bildelementen i bildblocket. Varje sådan intensitetsrepresentation är associerad med ett íntensitetsmodifierarvärde från den uppsättning med intensitetsmodiñerare som tillhandahölls i steg S3. Med andra ord medger íntensitetsrepresentatíonen identifiering av den intensitetsmodifierare i uppsättningen som ska användas för ett specifikt bíldelement i blocket.
I fall där en uppsättning med intensitetsmodifierare innefattar fyra modifierarvärden, såsom -8, -2, 2, 8, skulle intensitetsrepresentationen kunna vara en Z-bítars sekvens som identifierar ett av dessa fyra värden, t.ex. llbin motsvarar -8, 10mm motsvarar -2, 00mm motsvarar 2 samt Olbm motsvarar 8. Om fler än fyra intensitetsmodifierarvärden används per uppsättning erfordras fler än två bitar för varje bildclement för att identifiera korrekt modifierare.
Steg S4 upprepas företrädesvis för alla bildelement i bildblocket (illustreras schematiskt med linje 1). Resultatet av kodningen i steg S2 till S4 är ett kodat bildblock eller mer exakt en kodad (komprimerad) representation av 10 l5 20 25 30 526 226 e 17 bildblocket. En sådan kodad blockrepresentation 700 illustreras i Fig. 4.
Representationen 700 (det kodade bilblocket) innefattar färgkodordet 710, intensitetskodordet 720 och en sekvens eller bitrnap 730 med intensitetsrepresentationer (företrädesvis en intensitetsrepresentaüon för varje bildelement i blocket). Notera att den ömsesidiga ordningen av färgkodordet 710, intensitetskodordet 720 och intensitetsrepresentations- sekvensen 730 i det kodade bildblocket 700 kan skilja sig från vad som visas ifiguren.
Om bildblocket innefattar åtta bildelement (se t.ex. Fig. 2 och 3) och varje intensitetsrepresentation är 2 bitar är sekvensens 730 storlek 16 bitar.
Antag vidare att motsvarande storlekar för färg- och intensitetskodorden är 12 respektive 4 bitar. Den totala storleken på den kodade representationen 700 av bildblocket är då 32 bitar och en komprimeringsgrad pä 4 bitar per pixel (bildelement) (bbp) erhålls. Denna lilla (32-bitars) storlek på representationen 700 är väl anpassad för tunna klienter, såsom mobilenheter, vilka typiskt sätt har minnesbussar på 16 eller 32 bitar. En följd av detta är att endast en eller som värst två minnesaccesser behövs då för att läsa ut den kodade representationen 700. Årervänd :in Fig. 1 där sreg sz :in S4 företrädesvis upprepas för eller bildblock som tillhandahålls under uppdelningen i steg S1 (illustreras schematiskt med linje 2). Resultatet är då en sekvens eller fil med kodade bildblock. De resulterande kodade bildblocken (kodade representationerna av bildblocken) skulle kunna ordnas i en fil från vänster till höger samt uppifrån och ned i samma ordning som de bryts ned i blockuppdelningen i steg S1. Förfarandet slutar därefter.
Den kodade bilden skulle därefter kunna tillhandahållas till ett minne för lagring tills en efterföljande framställning, dvs. visning, av bilden. Vidare skulle den kodade bilden kunna tillhandahållas som en signal av kodade blockrepresentationer till en sändare för (trådlös eller ihopkopplad) sändning till en annan enhet. 10 15 20 526 226 1s Fig. 5 illustrerar en utföringsform av steg S2 i Fig. 1 i mer detalj. I steg S10 bestäms en medelfärg för bildelementen i bildblocket. I fortsättningen antas det att färgen hos en pixel eller texel (bildelement) i en bild representeras av en 24-bitars RGB-färg, dvs. 8 bitar för den röda komponenten, 8 bitar för den gröna komponenten samt 8 bitar för den blå komponenten.
Uppfinningen är emellertid inte begränsad till detta särskilda exempel utan kan tillämpas på vilken färgrepresentation som helst för pixlar och texlar.
Medelfärgen (É ,Ü,É) bestäms då såsom: mlån Na ' tí=låø (1) Ni=l I É=ÅÉB1, Na ' där Ri, G1, Bi är R-, G-, B-komponenten hos bildelement i och N är det totala antalet bildelement i bildblocket.
När medelfärgen (ÉfGÜÉ) väl har bestämts i steg S10 kvantiserar ett nästa steg S11 medelfärgen. Den (24-bitars) medelfärgen kvantiseras företrädesvis till en 12-bitars sekvens (färgkodord). Med andra ord så kvantiseras varje 8- bitars medelkomponent till en 4-bitars medelkomponent. Till exempel om medelfärgen ÉÃÄ-É beräknas till: 17s Bz 10110010 ss = ss = 01011000 , 21 15 m 00010101 bin A n så skulle en 4-bitars kvantiserad version (R, Gfš) kunna genereras från: 170 AA 10101010 ss = ss = 01010101 , 17 11 m 00010001 m 10 15 20 25 30 526 226 19 dvs. [A, 5, l]h.-.x=[l010, 0101, OOOl]bm skulle kunna användas som ett (12- bitars) kodord. Förfarandet fortsätter sedan till steg S3 i Fig. l.
Fig. 6 illustrerar en utföringsform av stegen S3 och S4 i Fig. 1 i mer detalj.
Steg S20 undersöker de olika uppsättningarna med intensitetsmodifierare i tabellen samt de olika modifierarvärdena i uppsättningarna och beräknar ett felvärde för varje sådan modifieraruppsättnings- och modifierarvärdestest.
Baserat på dessa felvärden väljs en modifieraruppsättning och intensitets- modifierarvärden i den uppsättning som resulterar i ett minsta felfärde i steg S21. Detta beskrivs i mer detalj nedan. Förfarandet avslutas därefter.
Här nedan diskuteras kodning av bíldblock i mer detalj i anslutning till tre olika exempel. I dessa exempel används en intensitetstabell motsvarande Tabell 1.
Enkel kodning För att koda ett bíldblock enligt denna utföringsform av uppfinningen väljs huvudsakligen ett färgkodord och en korrekt uppsättning med intensitets- modifierare. När detta väl har orts så utförs kodning av varje bildelement i bildblocket genom att pröva alla fyra intensitetsmodifierare i uppsättningen och beräkna felet. Antag att den ursprungliga (24-bitars) färgen hos ett bildelement är (R, G, B) och att färgkodordet (kvantiserad medelfärg, 12 bit ) är (âêfâ) och att den valda modifieraiuppsättningen är [-a, -b, b, a].
Ett felvärde skulle då kunna bestämmas som: sz=(É+u-Rl2+lÛ+u-GT+É+u~Bï, (2) där a e [-a, -b, b, a]. För varje bildelement i bildblocket väljs det ot som minimerar felet eQ. Detta skulle kunna implementeras genom att beräkna felvärdet för ett första val av modifierarvärden för bildelementen och lagra detta första felvärde (samt de utvalda modifierarvärdena). Därefter beräknas ett felvärde för ett annat val av modifierarvärden. Detta felvärde jämförs sen 10 15 20 25 30 526 226 20 med det lagrade värdet. Om det är mindre än det lagrade värdet ersätts det lagrade värdet med det nya felvärdet och de modiñerarvärden som användes i beräkningen av detta felvärde lagras också. Detta upprepas därefter för alla kombinationer av modifierare och uppsättningar.
Ekvation (2) kommer att ge bästa prestanda i termer av kvot mellan toppsignal och brus (PSNR) eftersom den kommer att minimera medel- kvadratfelet i bilden. Perceptuellt behöver den emellertid inte ge det bästa resultatet. För vissa pixlar (bildelement) pi och pz där pi verkar ljusare än p2 i ursprungsbilden kan p2 verka ljusare än pi i en avkodad version av bilden.
Anledningen till detta är att de röda, gröna och blå komponenterna inte ger samma bidrag till vad det mänskliga synsinnet uppfattar som intensitet.
Eftersom den gröna komponenten ger ett oproportionerligt bidrag till perception av intensitet bör dess approximering representeras med högre precision (mer noggrant) än de för rött och blått. En följd av detta är att ett viktat felvärde skulle kunna användas, såsom: sz=WR(É+u-R)z+wGÉ+o-Gï+WB(É+a-BT, (3) där WR, Wo, WB är olika vikter för färgkomponenterna. Dessutom är WG . .. .. . 9 företrädesvis storre an WR och WB. Till exempel, WR = , WG =íš samt E WB =ï2š, eller WR=O.299, WG=O.587 samt WB=O. 1 14.
I denna enkla kodning används en medelfärg för åtta bildelement i blocket, kvantiserad till 4 bitar per färgkomponent, som färgkodord. Den korrekta uppsättningen med intensitetsmodifierare väljs därefter med uttömmande sökning, dvs. alla 16 uppsättningar i tabellen prövas och den uppsättning som minimerar felvärdet väljs. Detta kräver 16x4=64 utvärderingar per 2 . bildelement. Om vikter är WR = -2- samt WB :E sa kan iš' WG-is heltalsaritmetik användas och kodningen blir snabb. För detta val av vikter 10 15 20 25 30 526 22s ~21 tar kodning av en bild på 128xl28 pixlar (bildelement) ungefär 60 ms på en 1,2 GHz bärbar PC-dator med användning av den enkla kodningen.
Uttömmande kodning I den enkla kodningen beskriven ovan användes den kvantiserade medel- färgen helt enkelt som en representation (färgkodord) av färgerna för bild- elementen i bildblocket. I denna utföringsform av uttömmande kodning enligt uppfinningen väljs både färgerna och uppsättningarna med intensitetsmodiñerare (inklusive modifierarvärdena), dvs. varje möjlig kombination prövas. För ett givet bildelement läggs en ytterligare iteration genom alla 12 bitar färg till förutom den tidigare iterationen av alla 4-bitars uppsättning med intensitetsmodifierare och de 2-bitars intensitets- representation, vilket tillsammans ger 218 steg. Kodning av en bild på 128 x 128 pixlar tar ungefär 5 minuter med användning av samma bärbara PC- dator som för enkel komprimering. Fastän detta skulle kunna vara för länge för on-line-tillämpningar är det dock inte oöverkomligt för off-line-kodning.
Vid jämförelse av resultaten från uttömmande kodning med de från den enkla kodningen ovan erhålls en skillnad i PSNR på ungefär 1,5 dB. Visuellt skiljer sig bilder i att vissa områden i de bilder som kodas med den enkla kodningsmetoden uppvisar färgskiften. Enstaka bildblock i annars gråa områden får plötsligt en svag grönton. Anledningen till detta är att i den enkla metoden kvantíseras färgkodordets R-, G, och B-komponenter individuellt, vilket är suboptimalt.
Kombinerad kvantisering Såsom för den enkla kodningsmetoden börjar denna utföringsform av uppfinningen med en (24-bitars) medelfärg (ÉÛÜ ,É) men denna medelfärgs färgkomponenter kvantiseras tillsammans med intensitetskomponenterna, dvs. valet av uppsättningar med intensitetsmodifierare och intensitets- modifierarvärden.
Om Riåg och Rnag betecknar de 4-bitars kvantiseringsniväerna eller -värclena precis under respektive över K så att Rxåg SKS Rhög. Uppgiften är då att lO 15 20 25 526 226 22 välja lä som antingen Riàg eller Rnag. Det samma gäller för de gröna och blå komponenterna.
För det första beräknas felvärdet med (ÉfCAÃ-Alškæiåg, Giåg B1åg): 82 = (RW Hit-âr +çoug +@-ö)2 +(B,åg +a-iš)2. (4) Detta kan förenklas till: 32 = (SR + (1): + (56 + 002 + (SB +0.)2, (5) där ÖR=R1åg-É, 5G=Gßg-_G_ and öB=Bug-_É. Antag vidare att a (intensitetsmodifieraren) kan väljas fritt, dvs. är lika med den optimala u= -ÉBJ-ö-:šï-ï-ëï. Insättning av denna optimala ot i ekvation (5) ger efter förenkling: 2-252525265-56-55 -3 6 g"š'(n+e+ s"xe RB oß)"3šv där Q är uttrycket inom parenteserna.
Om emellertid det högre värdet väljs istället för den röda komponenten, dvs.
A A A (R,G,B)=(Rhag, Giäg, Biåg), och faktumet att RM; -lï- = 17 + SR används så kan ekvation (5) skrivas om som: sz =((öR +17)+a)2 +(öG +a)2 +(öB +u)2. (7) Detta uttryck kan ytterligare förenklas, genom att sätta in den optimala _öR+17+öG-+ö u = 3 B för detta fall, till: 10 526 226 A23 2 82 =-::(ö§ +öë +8f3 -öRSG -öRöB -ÖGÖB +l72 +l7><28R -ÖG -8B) 2 = š(§+ l7[17+2öR -öG -8B]).
För att bestämma vilken av dessa två kvantiserade färger (färgkodord) (Riàg, Giàg, Biåg) eller (Rnög, Giàg, Bug) som är bäst, dvs. ger det minsta felvärdet undersöks det extra uttrycket i hakparenteserna i ekvation (8). Med andra ord om 17 + ZSR - 5G - ÖB < O bör (Rhag, Gxåg, Biàg) väljas annars väljs (Rag, Giåg, Blåg) (i fallet då 17+2öR-öG -ÖB =0 skulle endera kodord kunna väljas).
Detta förfarande upprepas därefter för alla möjliga kombinationer av låga och höga kvantiseringar för de tre färgkomponenterna. Resultatet presenteras iTabell 2 nedan.
Tabell 2 Färgkodord Felvärde e2 2 Riàg, Giåg, Biàg :å 2 Rhög, Glàg. Blås šÜÉ + 17[17 + 25k _ 5G “ 531) 2 Rlàg, Ghög, Blå; š(ë+17[17+25G -ÖR rößl) 2 Rlàg, Glàg, Bhög šOí +17l17 + 251.-, _ 511 r 561) 2 Rlås, Ghög, Bhös šæ + 17[17 _ 25:; + ös + ößl) 2 Rhßg, Gwg, Bhög š(š + 17[17 - 256 + ÖR + 531) 2 Rhög, Ghög, Bjåg ~ 263 + SR + 5G 2 Rhög, Ghög, Bhög 10 15 20 25 526 226 24 Notera att g inte explicit behöver beräknas utan endast uttrycken i hakparenteserna i Tabell 2 måste beräknas för att välja de kvantiseríngs- nivåer (det färgkodord) som ska användas. Notera vidare att färgkodord (Riäg, Giåg, Biåg) och (Rnög, Ghög, Bhag) ger samma felvärde. Detta gäller under antagandet att vilket a (intensitetsmodifierarvärde) som helst kan erhållas. I verkligheten är emellertid a begränsad till intensitetsmodifierarvärdena i den (de) använda modifieraruppsättningen (-uppsättningarna), Lex. modifierar- värden i Tabell 1. Enligt Tabell 1 kan mindre modifieranrärden (a) specificeras med större noggrannhet än större värden, vilket betyder att det är bättre att välja (Rhög, Ghög, Bhög) snarare än (Riag, Giág, Biåg) om (ÉLÜ fÉ) är närmare (Rhag, Gnög, Bhög) än (Riàg, Glåg, Biåg) samt vice versa. Den kombinerade kvantiseringen enligt denna utföringsform av uppfinningen ökar PSNR med ungefär 1 dB jämfört med den enkla kodningen. PSNR är således endast ungefär 0,5 dB lägre än resultatet från den (optimala) uttömmande kodningsmetoden. Den totala kodningstiden ändrades inte mätbart jämfört med den enkla kodningen, dvs. en bild på 128 x 128 pixlar komprimeras fortfarande pä ungefär 60 ms.
Det är även möjligt att konstruera en tabell som motsvarar Tabell 2 med användning av de perceptuellt viktade felmåtten från ekvation (3). Den 2 2 2 A _,__ L för (E,G,B)=(R1âg, omg, Blåg). om optimala a är då a=- 2 2 wR+wG+wB felvärdena för Rlåg, Gxàg, Biàg samt Rhög, Gnög, Bnög ”normaliseras” till O (vilket huvudsakligen motsvarar subtrahering med šë från felvärdet e? för alla olika varianter av R, G och B i Tabell 2) erhålls den följande tabellen av normaliserade felvärden. Notera att de normaliserade felvärdena för färgkodorden andra än Riàg, Giåg, Biàg samt Rnög, Ghag, Bhög i Tabell 3 motsvar uttrycken inom hakparenteserna i Tabell 2. 10 15 20 526 226 25 Tabell 3 Färgkodord Normaliserat felvärde 52 Rlàg, Giág, Biàg O Rhög» Gee Beg wànnwà +wà> - zwëxßo - än -Izwaßß -ßR >1 Reg» Ghößfl Beg wëmtw: +wä> - 2wà<öi - 6G) -2w,ä<ßß - 8G n Reg» Gläß» Beg wât1v Reg» Ghöß» Bhöß wäunw: +wä>+zwà<ßfi -ßimwäasß -öoi Rhög, Glàg, Bhöe wg [mwå + wg) + zw: (sk - 5G) + zwgaß - 6G )] Rhöß» Ghöß» Beg wänflwà +wä> +2wí<öR ~ 69+ 2wà<öø -ößn Rhög, Ghög, Bhög Û De färg- och intensitetskodord som ska användas kan då bestämmas genom att jämföra de ”normaliserade” felvârdena och välja de kordord som resultera i det minsta felvärdet.
Fig. 7 illustrerar ett flödesdiagram över ett förfarande för avkodníng av en kodad bild eller en kodad version av en ursprungsbild enligt den föreliggande uppfinningen. Den kodade bilden innefattar i huvudsak flera kodade representationer av bildblock, såsom representationer 700 i Fig. 4. Dessa kodade blockrepresentationer genereras företrädesvis av det bildkodnings- förfarande som diskuterades ovan i anslutning till Fig. 1.
Förfarandet startar i allmänhet med att identifiera kodat (kodade) bildblock som ska avkodas. Det skulle kunna vara möjligt att alla kodade bildblock i en kodad bild ska avkodas för att generera en avkodad representation av ursprungsbilden. Alternativt ska endast en del av ursprungsbilden tas fram.
En följd av detta är att endast ett utvalt antal bildblock behöver avkodas (eller mer exakt ett utvalt antal bildelement i vissa bildblock behöver avkodas) .
När det (de) korrekt kodade (representationen (representationerna) av) bildblocket (-blocken) har identifierats tillhandahåller steg S30 en upp- 10 15 20 25 30 526 226 26 sättning med intensitetsmodifierare. Denna modifieraruppsättning till- handahålls baserat på intensitetskodordet i den kodade representationen.
Detta uppsättningstillhandahållandet utförs företrädesvis genom att identifiera, med hjälp av intensitetskodordet, en uppsättning med intensitetsmodiñerare från en tabell, t.ex. Tabell 1 ovan, som innefattar multipla modifieraruppsättningar. I vissa tillämpningar skulle det emellertid kunna vara möjligt att intensitetskodordet själv innefattar modifierar- uppsättningen och att ingen tabelluppslagning behövs.
I ett nästa steg S31 genereras en färgrepresentation för åtminstone ett bildelement i bíldblocket (dvs. för det (de) bildelement som ska avkodas).
Denna färggenereringen utförs baserat på färgkodordet i den kodade block- representationen. I steg S32 väljs den intensitetsmodifierare som ska användas för det bildelement som ska avkodas. Modifierarvärdet väljs från den modifieraruppsättning som tillhandahölls i steg S30 baserat pä den intensitetsrepresentation som är associerad med bildelementet och återfinns i den kodade blockrepresentationens representationssekvens. När det korrekta intensitetsmodifierarvärdet väl har valts i steg S32 modifieras eller moduleras bildelementets intensitet med detta värde i steg S33. lntensitetsmodifieiing enligt uppfinningen avser modiñering, t.ex. addering eller multiplicering., av alla färgrepresentationens alla färgkomponenter med (möjligen viktade) intensitetsmodifierarvärdet.
Steg S32 samt S33 skulle kunna utföras för flera bildelement i bíldblocket (vilket illustreras schematiskt med linje 3). Det förutses av uppfinningen att i vissa tillämpningar avkodas endast ett enda bildelement från ett specifikt bildblock, multipla bildelement i ett specifikt block avkodas och/ eller alla bildelement i ett specifikt block avkodas.
Steg S30 till S33 upprepas därefter företrädesvis för alla bildblock som innefattar bildelement som ska avkodas (vilket illustreras schematiskt med linje 4). Detta betyder att loopen med steg S30 till S33 skulle kunna utföras 10 15 20 25 30 526 226 27 en gång men oftast flera gånger för olika kodade bildblock och/ eller flera gånger för ett specifikt kodat bildblock.
I det valfria steget S34 genereras en avkodad representation av ursprungs- bílden, eller en del därav, baserat på de avkodade bildelementen och - blocken. Notera att i vissa tillämpningar måste flera bildelement avkodas för att framställa en enda pixel i den avkodade representationen. Till exempel under trilinjär interpolering avkodas åtta angränsande bildelement och för bilinjär interpolering är det motsvarande antalet fyra bildelement, vilket är välkänt för fackmannen. Förfarandet avslutas därefter.
Fig. 8 illustrerar en utföringsform av steg S30 och S31 i Fig. 7 i mer detalj. I steg S40 identifieras och väljs en korrekt uppsättning med intensitets- modiñerare från intensitetstabell med hjälp av intensitetskodordet. Om uppsättningen med intensitetsmodifierare lagrad i intensitetstabellen innefattar en första deluppsättning med modiñerarvärden, t.ex. [a, bj, kan en andra deluppsättning med intensitetsmodífierarvärden bestämmas frän den första deluppsättningens värden, t.ex. [-a, -b]. I ett nästa steg S41 expanderas eller utvidgas färgkodordets kvantiserad färg, företrädesvis 12 bitar, till företrädesvis 24 bitar. För fallet med en RGB-färg expanderas varje kvantiserad 4-bitars färgkomponent i färgkodordet då till en S-bitars färgkomponent. Denna färgexpanderingen kan förverkligas genom att multiplicera de kvantiserade 4-bitars färgkomponenterna med 17 för en 56-1 16-1 att kopiera det 4-bitars mönstret till de första (översta) och sista (nedersta) 4 implementering med 256 olika färger ( = 17). Detta är samma sak som bitarna i det expanderade 8-bitars färgordet. Med andra ord expanderas en 4-bitars färgkomponent 101011111 till 1010 101011111. Om färgkodordet istället innefattar 15 bitar (5 bitar för vardera R-, G-, B-kornponent) skulle expanderingen resultera i en SO-bitars färg. Detta kan realiseras genom att i 1024-1 32-1 z det 5-bitars mönstret till de övre och nedre 5 bitarna i det expanderade 10- multiplicera (S-bitars) färgkomponenten med 33 ( 33) eller kopiera bitars färgordet. I steg S42 tilldelas den expanderade färgen därefter till de 10 15 20 25 30 526 226 28 bildelement i bildblocket som ska avkodas. Förfarandet fortsätter därefter till steg S32 i Fig. 7.
Fig. 9 illustrerar en utföringsform av steg S33 i Fig. 7 i mer detalj. I steg S50 adderas det identifierade och utvalda intensitetsmodifierarvärdet till den expanderade färgen. Detta modifierarvärde adderas således till alla färgkomponentema (alla tre för en RGB-färg) för bildelementet. Detta skulle kunna implementeras som en enkel addition av modifierarvärdet till alla färgkomponenterna. I vissa tillämpningar skulle det emellertid kunna vara föredraget att vikta modifierarvärdet innan det adderas till komponenterna. I sådana fall kan olika vikter användas för de olika färgkomponenterna. I en alternativ utföringsform skulle en annan typ av modifiering än en enkel addition kunna användas, t.ex. multiplikation, XOR eller en annan modifiering. I sådana fall utförs samma modifiering på alla komponenter i den expanderade färgen genom användning av ett och samma intensitetsmodifierarvärde, fastän detta värde kan viktas olika för komponenterna. I ett nästa steg S51 kläms de resulterande intensitets- modifierade färgkomponentvärden in mellan en minimal färgtröskel och en maximal färgtröskel. Till exempel om det resulterande värdet är mindre än den minimala tröskeln efter addering av (möjligen viktade) intensitetströskel- värdet till en färgkomponent så kläms värdet till detta tröskelvärde. Om det resulterande värdet är större än den maximala tröskeln ska på motsvarande sätt tröskelvärdet användas istället för komponentvärdet. Ett icke- begränsande exempel på en minimal och maximala tröskel är O respektive 255 för fallet med 256 olika färger. Motsvarande trösklar för 1024 färger skulle kunna vara 0 samt 1023. Förfarandet fortsätter därefter till steg S34 i Fig. 7.
Avkodning av ett kodat bildblock kommer nu ytterligare att belysas med ett exempel här nedan. I detta exempel antas en kodad blockrepresentation såsom illustreras i Fig. 4 samt ett bildblock såsom illustreras i Fig. 2. 10 15 20 25 526 226 29 Den kodade representationen av bildblocket är enligt 1010 0101 0001 01 1 1 11 01 10 00 10 01 00 001m (a517D890nex) där bit 0-3 är färgkodordets röda komponent, bit 4-7 är färgkodordets gröna komponent, bit 8-1 1 är färgkodordets blåa komponent, bit 12-15 är intensitetskodordet och bit 16- 31 är sekvensen med intensitetsrepresentationer för bildelementen i blocket.
Färgkodordet avkodas (expanderas) därefter för att generera färg- representationen för bildblocket. Varje färgkomponent i färgkodordet är på 4 bitar men expanderas till 8 bitar genom multiplicering med 17 (17=1lhex), vilket är samma sak som att kopiera det 4-bitars mönstret till både de över och nedre 4 bitarna i det 8-bitars ordet: Röd: anex><11hex=aahex <=> 1010 1010bm <:> 170 GIÖIII 5hexX11hex=55hex <2? ÛIÛI ÛlÛlbin <=> 85 Blå: 1hexx11hex=l lhex <::> 0001 OOOlbin <2 17 Denna expanderade färg tilldelas därefter bíldblockets bildelement, vilket ger: (17o,s5,17) (17o,ss,17) (17o,ss,17) (17o,s5,17) (17o,ss,17) (17o,ss,17) (17o,s5,17) (17o,s5,17) Den korrekta uppsättningen med intensitetsmodiñerare väljs från Tabell 1 baserat på intensítetskodordet. Såsom kan ses i Tabell 1 motsvarar ett intensitetskodord på 011 lbmintensítetsmodifierare [127, -42, 42, 127].
Sekvensen med intensitetsrepresentationer möjliggör identifiering av vilket av dessa fyra modiñerarvärden som ska användas för de olika bildelementen enligt: 1gfi -127 10% _ -42 oom _ 42 orm 127 10 15 20 25 526 226 530 Den första intensitetsrepresentationen är 111m, vilket betyder att det första intensitetsmodifierarvärdet -127 ska adderas till alla tre komponenter i det första bildelementet: 170 -127 43 85 + -127 = -42 17 -127 -110 De resulterande komponenterna kläms därefter in mellan O och 255, vilket ger (43, O, O). Det delvis avkodade bildblocket är nu enligt: (43, O, O) (170, 85, 17) (170, 85, 17) (170, 85, 17) (17o,ss,17) (17o,ss,17) (17o,ss,17) (17o,ss,17) För det nästa bildelementet är intensitetsrepresentationen 011m, dvs. intensitetsmodifieraren 127 ska adderas till alla tre färgkomponenter.
Resultatet efter inklämning är (255, 212, 144). Om detta förfarande upprepas för alla bildelement i blocket skapas det slutliga avkodade bildblocket som visas nedan: (43, O, 0) (255, 212, 144) (128, 43, O) (212, 127, 59) (12s,43,o) (2ss,212,144) (212,127,59) (212,127,59) Bildkodnings- (bildblockskodnings-l och bildavkodningsmetoden (bildblocksé avkodnings- eller bildbehandlingsmetoden) enligt den föreliggande upp- ñnningen skulle kunna tillhandahållas i ett allmänt databehandlingssystem, t.ex. i en användarterminal eller annan enhet konfigurerad för behandling och/ eller framställning av bilder. En sådan terminal skulle kunna vara en dator. Uppfinningen är emellertid väl anpassad för tunna klienter, såsom personlig digital assistent (PDA), mobilenheter och -telefoner. Sådana terminaler karakteriseras typiskt sett av begränsad rninneskapacitet och minnesbandbredd och drivs av batterier, dvs. även begränsad effekttillförsel.
Eftersom både avkodning och kodning enligt den föreliggande uppfinningen kan implementeras mycket enkelt i maskínvara, programvara eller en kombination av maskínvara och programvara och ett kodat bildblock 10 15 20 25 30 526 226 31 företrädesvis endast har en maximal storlek på 32 bitar skulle uppfinningen med fördel kunna tillämpas på en tunna klient.
Fig. 10 illustrerar en anvåndarterminal 100 representerad av en mobilenhet.
Uppfinningen år emellertid inte begränsad till mobilenheter utan skulle kunna implementeras i andra terminaler och databehandlingsenheter.
Endast organ och element i mobilenheten 100 som är direkt involverade i den föreliggande uppfinningen illustreras i figuren.
Mobilenheten 100 innefattar en (central) processorenhet (CPU) 200 för databehandling, inklusive bilddatabehandling, i mobilenheten 100. Ett grafiksystem 130 är tillhandahållet i mobilenheten 100 för hantering av bild- och grafikdata. Grañksystemet 130 är särskilt anpassat för att framställa eller visa bilder på en ansluten skärm 120 eller annan displayenhet.
Mobilenheten 100 innefattar även en lagringsenhet eller minne 140 för lagring av data. I detta minne 140 kan bilddata lagras, särskilt kodad bilddata (kodade bildblock) enligt den föreliggande uppfinningen. På grund av den lilla totala storleken hos ett bildblock (32 bitar) och den höga kornprimeringsgraden (4 bpp) kan bilddata effektivt lagras i minnet 140 även i fall med en mobilenhet 100 med begränsad minneskapacitet.
En bildkodare 210 enligt den föreliggande uppfinningen år tillhandahållen i mobilenheten 100. Denna kodare 210 är konfigurerad för kodning av en bild eller textur till en kodad representation av bilden (eller texturen). Såsom diskuterades ovan innefattar en sådan kodad representation en sekvens eller fil med multipla kodade bildblock. Denna bildkodare 210 kan tillhandahållas som programvara som körs på CPU 200, vilket illustreras i figuren.
Alternativt sett, eller dessutom, skulle kodaren 210 kunna anordnas i grañksystemet 130 eller någon annanstans i mobilenheten 100.
En kodad representation av en bild från blockkodaren 210 kan till- handahållas till minnet 140 över en (minnes-) buss 150 för lagring däri tills en efterföljande framstållnig av bilden. Alternativt sett, eller dessutom, kan 10 15 20 25 30 526 226 32 det kodade bilddatat vidarebefordras till en inmatnings- och utmatnings- enhet (I/O-enhet) 110 för (trådlös eller icke-trådlös) sändning till andra yttre terminaler eller enheter. Denna I / O-enhet 110 kan även vara anpassad för att motta bilddata från en yttre enhet. Detta bilddata skulle kunna vara en bild som ska kodas av bildkodaren 210 eller kodat bilddata som ska avkodas. Det skulle även vara möjligt att lagra den kodade bild- representationen i ett dedikerat texturminne tillhandahållet, till exempel, i grañksystemet 130. Delar av den kodade bilden skulle vidare även, eller alternativt sett, kunna (temporärt) lagras i ett texturcacheminne, t.ex. i grafiksystemet 130.
Om (minnes-) bussen 150 har en maximal bandbredd på 32 bitar behövs en enda minnesaccess för att hämta eller läsa ut en kodad bildrepresentation enligt uppfinningen från minnet 140. Om bussen 150 emellertid har större bandbreddskapacitet, t.ex. 64 bitar eller till och med 128 bitar, skulle multipla kodade bildrepresentationer kunna hämtas i en enda minnes- access. Antag till exempel en 64-bitars buss 150 och bildblockstorlek enligt Fig. 2. Om bildblocken staplas ”på varandra” kommer ett bildblock till- sammans med det efterföljande bildblocket i minnet 140 att bilda en 4><4 kvadrat med bildelement. Om blocken istället är placerade ”sida vid sida” kommer bildblocket tillsammans med det efterföljande blocket att bilda en 2x8 box. En 4><4 kvadrat är mera föredraget eftersom sannolikheten att återñna ett önskat bildelement i 4x4 kvadraten är större än för 2x8 boxen om någon form av texturcachesystem används, vilket är välkänt för fackmannen.
En bíldavkodare 220 enligt den föreliggande uppfinningen är tillhandahållen i mobilenheten 100 för avkodning av en kodad bild för att generera en avkodad bildrepresentation. Denna avkodade representation skulle kunna motsvara hela den ursprungliga bilden eller en del därav. Bildavkodaren 220 tillhandahåller avkodad bilddata till grafiksystemet 130 som i sin tur typiskt sett behandlar datat innan det framställs eller presenteras på skärmen 120.
Bildavkodaren 220 kan anordnas i grafiksystem 130 såsom illustreras i 10 15 20 25 30 526 226 33 figuren. Alternativt sett, eller dessutom, kan avkodaren 220 tillhandahållas som programvara som körs på CPU 200 eller någon annanstans i mobilenheten 100.
Mobilenheten 100 skulle kunna vara utrustad med både en bildkodare 210 och en bíldavkodare 220 såsom illustreras i figuren. För vissa terminaler 100 skulle det även kunna vara möjligt att endast inkludera en bildkodare 210. I sådana fall skulle kodad bilddata kunna skickas till en annan terminal som utför avkodningen och möjligen framställningen av bilden. På motsvarande sätt skulle en terminal 100 endast kunna inkludera en bíldavkodare 200, dvs. ingen kodare. En sådan terminal 100 mottar då en signal som innefattar kodad bilddata från en annan terminal och avkodare den för att generera en avkodad bildrepresentation. Den kodade bildsignalen skulle kunna skickas trådlöst mellan terminaler genom användning av en radio- sändare och -mottagare Alternativt sett kan andra tekniker för distribuering av bilder och kodade bildrepresentationer mellan terminaler enligt uppfinningen användas, såsom IR-tekniker genom användning av IR-portar och icke-trådlös överföring av bilddata mellan terminaler. Även minneskort och -chips som kan kopplas och utbytas mellan terminaler skulle kunna användas för denna bilddatadistribution mellan terminaler.
Enheterna 110, 130, 200, 210 och 220 i mobilenheten 100 kan tillhandahållas som programvara, maskinvara eller en kombination därav.
Fig. 11 illustrerar ett blockdiagram över en utföringsform av en bildkodare 210 enligt den föreliggande uppfinningen. Kodaren 210 innefattar typiskt sett en bilduppdelare 215 för nedbrytning eller uppdelning av en inmatad bild till flera bildblock. Uppdelaren 215 är företrädesvis konfigurerad för att dela upp bilden i bildblock som innefattar åtta bildelement (pixlar eller texlar), dvs. har en allmän storlek på 8x1 eller 1x8 bildelement, ännu hellre 4><2 eller 2><4 bildelement. Denna uppdelare 215 skulle kunna vara anpassad för att dela upp olika inmatade bilder i bildblock med olika storlekar. Till exempel för en första bildtyp används en bildblockstorlek på 4><2 bildelement 10 15 20 25 30 526 226 34 medan för en andra typ är blockstorleken 8x1. I sådana fall mottar företrädesvis uppdelaren 215 information som möjliggör identifiering av vilket bildblocksformat som ska användas för en given bild.
Denna utföringsform av bildkodaren 210 innefattar en enda blockkodare 300. Denna blockkodare 300 kodar det (de) bildblock som mottas från bild- uppdelaren för att generera blockrepresentation (-representationer). En sådan bildblockrepresentation innefattar ett färgkodord, ett intensitets- kodord och en sekvens med intensitetsrepresentationer. Den totala storleken på blockrepresentationen är mycket mindre än motsvarande storlek för det okodade bildblocket. Blockkodaren 300 är företrädesvis konfigurerad för Sekventiell behandlar (kodning) av varje bildblock från uppdelaren 2 15.
Blockkodaren 300 företrädesvis innefattar eller har tillgång till en intensitetstabell 500 som innehåller multipla uppsättningar med intensitets- modifierare. Tabellens 500 modifieraruppsättningar används under kodning för generering av intensitets- och möjligen färgkodordet. Intensitetstabellen 500 skulle kunna anordnas i blockkodaren 300 eller någon annanstans i bildkodaren 210.
Bildkodaren 210 skulle kunna innehålla en enda intensitetstabell 500.
Alternativt sett skulle flera olika tabeller kunna finnas anordnade i kodaren 210 där intensitetsmodifierarna i tabellerna är anpassade för olika bildtyper eller så skulle en tabell kunna vara anpassad för en specifik bild. Till exempel skulle en första intensitetstabell kunna användas under kodning av en första bildtyp, t.ex. fotografi, medan en andra tabell används för kodning av en andra bildtyp, t.ex. text. För att emellertid spara minne används företrädesvis en enda intensitetstabell 500 genererad med träningsdata från flera olika bildtyper i kodaren 2 10.
Enheterna 215 och 300 i bildkodaren 210 kan tillhandahållas som programvara, maskinvara eller en kombination därav. Enheterna 215, 300 och 500 kan implementeras tillsammans i bildkodaren 210. Alternativt sett 10 15 20 25 30 526 226 »35 är en distribuerad implementering också möjligt med vissa av enheterna tillhandahållna på andra ställen i mobilenheten.
Fig. 12 illustrerar ett blockdiagram över en annan utföringsform av bild- kodaren 210 enligt den föreliggande uppfinningen. Denna bildkodare 210 innefattar en bilduppdelare 215 såsom utföringsformen i Fig. 11, vilken inte diskuteras vidare. Kodaren 210 innefattar emellertid multipla (M, där M år ett positivt heltal större än ett) blockkodare 300-l till 300-M. Varje sådan blockkodare 300-1 till 300-M motsvarar huvudsakligen blockkodaren i bildkodaren i Fig. 1 1. Genom att tillhandahålla flera blockkodare 300-1 till 300-M i bildkodaren 210 kan flera bildblock från uppdelaren 215 behandlas (kodas) parallellt, vilket reducerar den totala bildkodningstiden.
Varje blockkodare 300-l till 300-M skulle kunna innehålla en intensitets- tabell 500. Intensitetstabellerna 500 i de olika kodarna 300-l till 300-M skulle alla kunna innehålla identiska intensitetsmodifierarvården.
Alternativt sett skulle olika blockkodare kunna innehålla olika tabeller. I sådana fall skulle en eller flera blockkodare kunna anpassas för en viss bildtyp medan andra blockkodare är anpassade för annan (andra) bildtyp (- typer). I en alternativ implementering år en enda intensitetstabell 500 anordnad i bildkodaren 210 och kopplad till alla blockkodare 300-1 till 300- M.
Enheterna 215 och 300-1 till 300-M i bildkodaren 210 kan tillhandahållas som programvara, maskinvara eller en kombination därav. Enheterna 215, 300-1 till 300-M och 500 kan implementeras tillsammans i bildkodaren 210.
Alternativt sett år en distribuerad implementering också möjligt med vissa av enheterna tillhandahållna på andra ställen i mobilenheten.
Fig. 13 illustrerar ett blockdiagram över en utföringsform av en blockkodare 300 enligt den föreliggande uppfinningen, såsom blockkodaren i bildkodaren i Fig. 11 eller en av blockkodarna i bildkodaren i Fig. 12. Kodaren 300 innefattar en fårgkvantiserare 310 som bestämmer en färgrepresentation av 10 15 20 25 30 526 226 36 färgerna för bildelementen i bildblocket och kvantiserar denna färg- representation. Färgrepresentationen är företrädesvis en 24-bitars medelfärg av bildelementen och kvantiseras sedermera till en 12-bitars färg- representation, dvs. färgkodordet, av kvantiseraren 310.
En intensitetskvantiserare 320 finns tillhandahållen i blockkodaren 300 för att identifiera en uppsättning med intensitetsmodifierare som ska användas för ett nuvarande bildblock. Kvantiseraren 320 är företrädesvis konfigurerad för val av denna modiñeraruppsättning från en associerad intensitetstabell 500. Kvantiseraren 320 genererar därefter ett intensitetskodord som är associerat med den valda modiñeraruppsättningen. Kodaren 300 innefattar vidare en intensitetsväljare 330 som väljer, för bildelementen i bildblocket, en intensitetsmodifierare från den identifierade uppsättningen med intensitetsmodifierare. Färgkvantiseraren 310, intensitetskvantíseraren 320 samt intensitetsväljaren 330 är företrädesvis konfigurerade för kombinerad kvantisering av färg- och intensitetskodord, vilket diskuterades i mer detalj Ovan .
Enheterna 310, 320 och 330 i blockkodaren 300 kan tillhandahållas som programvara, maskinvara eller en kombination därav. Enheterna 310, 320, 330 och 500 kan implementeras tillsammans i blockkodaren 300. Alternativt sett är en distribuerad implementering också möjligt med vissa av enheterna tillhandahållna på andra ställen i bildkodaren.
Fig. 14 illustrerar ett blockdiagram över en annan utföringsform av blockkodaren 300 enligt den föreliggande uppfinningen. Denna blockkodare 300 innefattar en feluppskattare 340 för uppskattning av felvärden i syfte att välja uppsättning med intensitetsmodifierare och intensitetsmodifierar- värden samt eventuellt kvantiserat färgvärde som ska användas för bild- blocket. Denna uppskattare 340 är företrädesvis konfigurerad för beräkning av ett felvärde för ett första val av en uppsättning med intensitetsmodifíerare och modiñerarvärden (samt färg i fallet med uttömmande kodning) för bildelementen i bildblocket. Detta felvärde lagras därefter. Felberäkning 10 15 20 25 30 526 226 37 upprepas därefter för alla möjliga val av modiñeraruppsättning och värden (samt färg) och efter varje beräkning jämförs det uppskattade felvärdet med det lagrade felet. Om det är mindre än det lagrade värdet ersätter felvärdet det tidigare lagrade värdet. Dessutom lagras även den valda modifierarupp- sättningen och -värdena (samt färgen) associerade med felvärdet. När alla kombinationer har testats används det val som resulterade i det minsta felet för generering av intensitetskodord (samt färgkodord) och intensitets- representationer. En väljare 322 av uppsättning med intensitetsmodifierare och intensitetsvåljare 330 väljer därefter den modifieraruppsättning och de modifierarvärden som är associerade med det minsta felet. De återstående enheterna i blockkodaren 300 har motsvarigheter i Fig. 13 och diskuteras inte ytterligare.
Enheterna 310, 320, 322, 330 och 340 i blockkodaren 300 kan till- handahållas som programvara, maskinvara eller en kombination därav.
Enheterna 310, 320, 322, 330, 340 och 500 kan implementeras tillsammans i blockkodaren 300. Alternativt sett är en distribuerad implementering också möjligt med vissa av enheterna tillhandahållna på andra ställen i bild- kodaren.
En fóredragen implementering av färgkvantiseraren 310 enligt den föreliggande uppfinningen visas i blockdíagrammet i Fig. 15. Kvantiseraren 310 innefattar organ 312 konfigurerade för bestämning av ett medelvärde av färgerna hos bildelementen i bildblocket. Denna medelfärg är företrädesvis en RGB-färg men skulle kunna vara i vilket färgformat som helst som används för bildbehandling. Denna bestämda medelfärg tillhandahålls därefter till kvantiseringsorgan 314 som kvantiserar medelfärgen.
Kvantiseraren 314 är företrädesvis konfigurerad för kvantisering av en 24- bitars RGB-medelfärg från färgmedelvärdesbildaren 312 till en 12-bitars RGB-färg.
Enheterna 312 och 314 i färgkodaren 310 kan tillhandahållas som programvara, maskinvara eller en kombination därav. Enheterna 312 och 10 15 20 25 30 526 226 38 314 kan implementeras tillsammans i färgkodaren 310. Alternativt sett är en distribuerad implementering också möjligt med vissa av enheterna till- handahållna på andra ställen i blockkodaren.
Fig. 16 illustrerar ett blockdiagram över en utföringsform av en bildavkodare 220 enligt den föreliggande uppfinningen. Bildavkodaren 220 innefattar företrädesvis en blockväljare 222 som är anpassad för att välja, tex. från ett minne, vilket (vilka) bildblock som ska tillhandahållas till en blockavkodare 400 för avkodning. Blockväljaren 222 mottar företrädesvis information associerad med det kodade bilddatat, t.ex. från ett huvud eller en fram- ställningsanordning. En adress för ett kodat bildblock med det (de) önskade bildelementet (-elernenten) beräknas därefter baserat på informationen.
Denna beräknade adress beror företrädesvis på bildelementskoordinaterna (pixel- eller texelkoordinaterna) i en bild. Genom att använda adressen identifierar blockväljaren 222 det kodade bildblocket från minnet. Det identifierade kodade bildblocket hämtas sedan från minnet och tillhandahålls till blockavkodaren 400.
Accessen (den slumpmässiga accessen) till bildelement i ett bildblock möjliggör företrädesvis selektiv avkodning av endast de delar av en bild som behövs. Vidare kan bilden avkodas i den ordning i vilken data behövs. Till exempel i texturmappning kan eventuellt endast delar av en textur behövas och dessa delar kommer i allmänhet att behövas i en icke-sekventiell ordning. Bildavkodningen enligt den föreliggande uppfinningen kan således med fördel tillämpas för att behandla endast en del eller sektion av en bild.
Det utvalda kodade bildblocket vidarebefordras till blockavkodaren 400.
Förutom bildblocket mottar avkodaren 400 företrädesvis även information som specificerar vilka bildelement i blocket som ska avkodas. Informationen skulle kunna specificera att hela bildblocket, dvs. alla bildelement däri, ska avkodas. Den mottagna informationen skulle emellertid kunna identifiera endas en enda eller ett fåtal av bildelementen som ska avkodas. Block- avkodaren 400 genererar då en avkodad representation av bildelementet (- 10 15 20 25 30 526 226 39 elementen) i blocket. Denna avkodade representation är företrädesvis en P- bitars färg, där P är antalet bitar per bildelement i ursprungsbilden, t.ex. en 24-bitars RGB-färg. Blockavkodaren 400 innefattar företrädesvis en intensitetstabell 500 som används under avkodningsförfarandet. Alternativt sett skulle denna intensitetstabell 500 kunna finnas tillhandahållen någon annanstans i bildavkodaren 220. Användning av olika intensitetstabeller för olika bíldtyper, vilket diskuterades ovan i anslutning till Fig. ll, gäller även bildavkodaren 220.
En valfri bildsammansättare 224 skulle kunna finnas tillhandahållen i avkodaren 220. Denna sammansättare 224 mottar de avkodade bild- elementen från blockavkodaren 400 och sätter ihop dem för att generar en pixel som kan framställas eller visas på en skärm. Sammansättaren 224 skulle kunna behöva flera bildelement för att generera en enda pixel. Denna bildsammansättare 224 skulle alternativt sett kunna finnas tillhandahällen i grafiksystemet.
Enheterna 222, 224 och 400 i bildavkodaren 220 kan tillhandahållas som programvara, maskinvara eller en kombination därav. Enheterna 222, 224, 400 och 500 kan implementeras tillsammans i bildavkodaren 220.
Alternativt sett är en distribuerad implementering också möjligt med vissa av enheterna tillhandahållna på andra ställen i mobilenheten.
Fig. 17 illustrerar ett blockdiagram över en annan utföringsform av en bildavkodare 220 enligt den föreliggande uppfinningen. Blockväljaren 222 och bildsammansättaren 224 är liknande motsvarande enheter i Fig. 16 och diskuteras inte ytterligare.
~, Bildavkodaren 220 innefattar multipla blockavkodare 400-1 till 400-Q (Q är ett positivt heltal större än ett). Genom att ha tillgång till multipla blockavkodare 400-l till 400-Q kan bildavkodaren 220 behandla (avkoda) flera kodade bildblock parallellt. Dessa flera blockavkodare 400-1 till 400-Q medger parallell behandling som ökar bildavkodarens 220 processprestanda 10 15 20 25 30 526 226 40 och effektivitet. Till exempel är ett avkodat bildelement i allmänhet tillräckligt för närmsta granne-interpolering medan fyra (åtta) bildelement krävs för bilinjär (trilinjär) interpolering. Varje blockavkodare 400-1 till 400- Q skulle kunna innefatta en intensitetstabell 500 som används för av- kodningen. Alternativt sett finns en enda tabell 500 anordnad i bild- avkodaren 220 och ansluten till alla blockavkodarna 400-1 till 400-Q. Den ytterligare diskussion om användning av olika typer av intensitetstabeller, se ovan i anslutning till Fig. 12, gäller även för bildavkodaren 220.
Enheterna 222, 224 och 400-1 till 400-Q i bildavkodaren 220 kan till- handahållas som programvara, maskinvara eller en kombination därav.
Enheterna 222, 224, 400-l till 400-Q och 500 kan implementeras till- sammans i bildavkodaren 220. Alternativt sett är en distribuerad implementering också möjligt med vissa av enheterna tillhandahållna på andra ställen i mobílenheten.
Fig. 18 är en illustration över en utföringsform av en blockavkodare 400 enligt den föreliggande uppfinningen. Blockavkodaren 400 innefattar organ 410 för tillhandahållande av en uppsättning med intensitetsmodifierare från en associerad intensitetstabell 500 baserat på intensitetskodordet. Denna tillhandahållaren 410 skulle kunna vara konfigiirerad för att hämta en första deluppsättning av modifierarvärden från intensitetstabellen 500 och bestämma en andra deluppsättning av modiflerare baserat på den första del- uppsättningen. En färggenerator 420 genererar en enda färgrepresentation för alla bildelement i bildblocket baserat på färgkodordet. Denna generator 420 expanderar företrädesvis den 12-bitars färgen i kodordet till en 24-bitars (RGB-) färg.
En intensitetsmodifierarväljare 430 är anordnad för val av en av intensitets- modifierarvärdena från modifieraruppsättningen tillhandahällen av organet 410. Modifierarväljaren 430 är konñgurerad för val av korrekt modiñerar- värden för bildelementen i det kodade bildblocket baserat på sekvensen med intensitetsrepresentationer. Den expanderade färgen från färggeneratorn 420 10 15 20 25 30 526 226 P 41 och modifierarvärdet från modifierarväljaren 430 vidarebefordras till en intensitetsmodulator eller -modifierare 440 som modiñerar intensiteten hos den expanderade färgens färgkomponenter med modiñerarvärdet.
Modifieraren 440 skulle kunna använda ett viktat intensitetsmodifierarvärde med olika vikter för de olika färgkomponenterna. Vidare när färg- komponenterna väl har intensitetsmodifierats klämmer modifieraren 440 företrädesvis in komponenterna mellan en maximal och minimal tröskel, t.ex. mellan 0 och 255.
Enheterna 410, 420, 430 och 440 i blockavkodaren 400 kan tillhandahållas som programvara, maskinvara eller en kombination därav. Enheterna 410, 420, 430, 440 och 500 kan implementeras tillsammans i blockavkodaren 400. Alternativt sett är en distribuerad implementering också möjligt med vissa av enheterna tillhandahållna pä andra ställen i bildavkodaren.
Fig. 19 illustrerar schematiskt en möjlig maskinvaruimplementering av en blockavkodare 400 enligt den föreliggande uppfinningen. Indata till block- avkodaren 400 är en kodad blockrepresentation 700 som innefattar ett 12- bitars färgkodord 710 (4 bitar för vardera av den röda, gröna och blåa komponenten), ett 4-bitars intensitetskodord 720 samt en 16-bitars intensitetssekvens 730.
Färgkodordet tillhandahålls till färggeneratorn 420 som realiseras av tre bit- utvidgare 422 till 426. Den första bitutvidgaren 422 mottar den 4-bitars röda komponenten, den andra 424 och tredje 426 utvidgaren mottar den 4-bitars gröna respektive blåa komponenten. Utdatat från respektive utvidgare 422 till 426 är en 8-bitars färgkomponent. Denna 8-bitars komponent erhålls helt enkelt genom att multiplicera inkomponenten med 17, eller multiplicera komponenten med 16 och sedan addera komponenten. Alternativt sett skulle utvidgarna 422 till 426 kunna implementeras som bitskiftare och OR- grindar, t.ex. (1011mn<<4) OR 1011M11 = 1011 0000bm OR 1011bin = 1011 101 lbin, där <<4 motsvarar skiftning av ett ord fyra bitar till vänster. 10 15 20 25 30 526 226 42 En modifierarväljare 430 implementeras som en multiplexor 435. Ett 3- bitars adressindex inmatas till denna multiplexor 435. Baserat på adress- indexet väljer multiplexom 435 vilken av de åtta bildelement som ska avkodas. Den 2-bitars intensitetsrepresentationen som är associerat med det valda bildelementet vidarebefordras därefter till en tabelluppslagare 415.
Denna tabelluppslagare motsvarar tillhandahållaren 410 av modifierarupp- sättning och intensitetstabellen 500 i Fig. 18. Genom att använda det in- matade intensitetskodords- och intensitetsrepresentationsdatat hämtar upp- slagaren 415 det korrekta intensitetsmodifierarvärdet från en av modifierar- uppsättningarna i tabellen. Detta 9-bitars teckenförsedda (positiva eller negativa) modifierarvärde tillhandahålls därefter till en intensitetsmodifierare 400. I denna maskinvaruímplementering innefattar modifieraren 440 tre adderare 441 till 443 samt tre klämmare 444 till 446. Modifierarvärdet in- matas till respektive adderare 441 till 443. En första adderare 441 adderar intensitetsmodifierarvärdet till den S-bitars röda komponenten från bit- utvidgaren 442. På motsvarande sätt adderar adderare 442 och adderare 443 modifierarvärdet till den 8-bitars gröna och blåa komponenten från bit- utvidgare 424 respektive 426. I en alternativ implementering kan adderarna 441 till 443 ersättas med andra modifierarelement, t.ex. rnultiplicerare eller XOR-grindar. Utdatat från adderarna 441 till 443 vidarebefordras till klärnmare 444 till 446, som klämmer in de intensitetsmodiñerade färg- komponenterna mellan 0 och 255. Utdatat från klämmarna 444 till 446 år bildelementets dekomprimerade eller avkodade 24-bitars färg.
Fig. 20 illustrerar schematiskt en möjlig maskinvaruimplementering av bit- utvidgarna 422; 424; 426 i Fig. 19. Dessa utvidgare mottar en 4-bitars (röd, grön eller blå) färgkompcnent och matar ut en utvidgad motsvarande 8- bitars färgkomponent. I den utmatade 8-bitars färgkomponenten utgör de fyra mest signifikanta bitarna (MSB) den inmatade 4-bitars färg- komponenten, den ”femte MSB” motsvarar inkomponentens MSB, den ”sjätte MSB” motsvarar inkomponentens ”andra MSB” och de återstående två minst signifikanta bitarna (LSB) motsvarar inkomponentens två LSB. 10 15 20 25 30 526 226 43 Fig. 21 illustrerar schematiskt en möjlig maskinvaruimplementering av tabelluppslagaren 415 i Fig. 19. De 4-bitars inmatade intensitetskodordens tre LSB matas in till två multiplexorer 411 och 412 för val av ett 7-bitars intensitetsmodiñerarvärde från åtta möjliga modifierar värden för varje multiplexor 411 och 412. Från dessa 16 intensitetsmodifierare skulle de återstående 48 värden kunna beräknas om en intensitetstabell enligt Tabell 1 används. De utvalda intensitetsmodifierarvärdena från multiplexorerna 411 och 412 matas in till en annan multiplexor 413 som väljer en av dessa värden baserat på ett 1-bitars indata (1 bit av den 2-bitars intensitets- representationen) från multiplexorn 435 i Fig. 19. Det utvalda modifierar- värdet vidarebefordras därefter både till en multiplexor 416 och till negeringsorgan 414 som negerar modifierarvärdet. Även detta negerade värde vidarebefordras till multiplexorn 416. Denna multiplexor 416 väljer antingen det positiva 7-bitas intensitetsmodifierarvärdet eller det negerade värdet baserat på den återstående biten i intensitetsrepresentationen från multiplexorn 435 i Fig. 19. Det valda (8-bitars) modiñerarvärdet förs därefter både till en multiplexor 418 och till en bitskiftare 417 som skiftar modifierar- värdet en bit till vänster, vilket resulterar i en 9-bitars intensitetsmodifierare (motsvarar en multiplicering med värdet, i bas tio, med två). Multiplexorn 418 väljer sedan antingen det 8-bitars rnodifierarvärdet eller det 9-bitars modifierarvärdet baserat på den MSB från intensitetskodordet. Resultatet från valet är det 9~bitars intensitetsmodifierarvärde utav de 64 möjliga modifierarvärden som ska användas för ett speciñkt bildelement.
Fig. 22 illustrerar schematiskt en möjlig maskinvaruimplementering av klämmarna 444; 445; 446 i Fig. 19. Indatat till klämmarna 444; 445; 446 är ett 10-bitars intensitetsmodifierat färgkomponentvârde. De åtta LSB i detta invärde förs till en multiplexor 447. Det andra indatat till multiplexorn är det maximala tröskelvärdet (255; 8 bitar). Multiplexorn 447 väljer antingen det 8-bitars inmatade värdet eller det maximala tröskelvärdet baserat på den andra MSB i den intensitetsrnodiñerade färgkomponenten. Med andra ord om denna andra MSB är lika med ett matar multiplexorn 447 ut tröskel- värdet annars (om den andra MSB är lika med noll) matas det S-bítars in- 10 15 20 25 30 526 226 44 värdet ut till en andra multiplexor 448. Denna andra multiplexorn 448 jämför utdatat från den första multiplexorn 447 med det minimala tröskel- värdet (O; 8 bitar) baserat på färgkomponentens MSB. Om denna MSB eller teckenbit är lika med ett är utdatat från den första multiplexorn 447 negativt och det minimala tröskelvärdet bör väljas av den andra multiplexorn 448.
Om emellertid teckenbiten är noll bör utdatat från den första multiplexorn 447 även vara utdata från den andra multiplexorn 448.
Maskinvarulösningen för blockavkodaren 400 i Fig. 19 är mycket enkel, den innefattar huvudsakligen tre adderingar, en negering och 12 multiplexorer om bitutvidgarna 422; 424; 426, tabelluppslagaren 415 och klärnmarna 444; 445; 446 implementeras enligt Fig. 20, Fig. 21 respektive Fig. 22. Detta bör jämföras med dekomprirnering med S3TC-metoden [3] som kräver upp till 42 adderingar och två multiplexorer.
Det kommer att inses av fackmannen att olika modifieringar och ändringar kan göras av den föreliggande uppfinningen utan att avvika från dess omfattning, som definieras av de bifogade patentkraven.
REFERENSER [1] E. J. Delp och O. R. Mitchell, “Image compression using block truncation coding”, IEEE Transactions on Communications, vol. COM-2, nr. 9, sidorna 1335-1342, september 1979 [2] G. Campbell, T. A. DeFanti, J. Frederiksen, S. A. Joyce, L. A. Leske, J.
A. Lindberg och D. J. Sandin, “Two bit/ pixel full color encoding”, SIGGRAPH ”86 Conference Proceedings, vol. 20, nr. 4, sidorna 215-223, augusti 1986 [3] Amerikanskt patent nr. 5,956,431 [4] T. Akenine-Möller och J. Ström, “Graphics for the masses: A hardware architecture for mobile phones", ACM Transactions on Graphics, vol. 10 [51 [ö] 526 226 i 45 22, nr. 3, Proceedings of ACM SIGGRAPH 2003, sidorna 801-808, juli 2003 S. Fenney, “Texture compression using low-frequency signal modulation”, Graphics Hardware 2003, sidorna 84-91, juli 2003 Y. Linde, A. Buzo och R. Gray, “An algorithm for vector quantizer desígn”, IEEE Transactions on Communications, vol. 28, sidorna 84-94, januari 1980

Claims (49)

10 15 20 25 30 526 226 46 PATENTKRAV
1. Förfarande för komprimering av ett bildblock (600) som innefattar multipla bildelement (610), förfarandet innefattar stegen: - bestämning av ett färgkodord (710) som är en representation av färgerna hos bildelementen (610) i bildblocket (600); - tillhandahållande av ett intensitetskodord (720) som är en representation av en uppsättning med multipla intensitetsmodiñerare för modifiering av intensiteten hos bildelementen (610) i bildblocket (600); samt - val, för varje bildelement (610) "i bildblocket (600), av en intensitets- representation (730) associerad med en intensitetsmodifierare från upp- sättningen med intensitetsmodifierare.
2. Förfarande för kodning av en bild, förfarandet innefattar stegen: - uppdelning av bilden i bildblock (600) där varje bildblock (600) innefattar multipla bildelement (610); samt - bestämning, för åtminstone ett bildblock (600), av en kodad representation (700) genom: - bestämning av ett färgkodord (710) som är en representation av färgerna hos bildelementen (610) i bildblocket (600); - tillhandahållande av ett intensitetskodord (720) som är en representation av en uppsättning med multipla intensitetsmodifierare för modifiering av intensiteten hos bildelementen (610) i bildblocket (600); samt - val, för varje bildelement (610) i bildblocket (600), av en intensitetsrepresentation (730) associerad med en intensitetsmodifierare från uppsättningen med intensitetsmodifierare.
3. Förfarande enligt patentkrav 2, vari steget att bestämma den kodade representationen (7 00) utförs för varje bildblock (600).
4. Förfarande enligt något av patentkraven 1 till 3, vari steget att bestämma färgkodordet (710) innefattar stegen: - bestämning av en medelfärg för bildelementen (610) i bildblocket (600); samt 10 15 20 25 30 526 226 47 - kvantisering av medelfärgen.
5. Förfarande enligt något av patentkraven 1 till 4, vari uppsättningen med intensitetsmodifierare innefattar matematiskt komplementära intensitets- modifierarvärden.
6. Förfarande enligt något av patentkraven 1 till 3, vari steget att tillhandahålla intensitetskodordet (7 20) innefattar val av uppsättningen med intensitetsmodifierare från en intensitetstabell (500) som innefattar multipla uppsättningar med intensitetsmodifierare, varvid intensitetskodordet (720) möjliggör identifiering av den valda uppsättningen med intensitetsmodifierare från tabellen (500).
7. Förfarande enligt patentkrav 6, vari stegen att välja uppsättningen med intensitetsmodifierare och välja intensitetsrepresentationen (730) innefattar stegen: - bestämning, för varje bildelement (610) i bildblocket (600), av en skillnad mellan ett ursprungligt färgvärde och en medelfärg intensitets- modifierad med en intensitetsmodifierare från en uppsättning med intensitets- modifierare i intensitetstabellen (500) ; - uppskattning av ett felvärde baserad på de bestämda skillnaderna; samt - val av en uppsättning med intensitetsmodifierare och intensitets- modifierare som minimerar felvärdet.
8. Förfarande enligt patentkrav 7, vari felvärdet är ett viktat felvärde, där en vikt för en given färgkomponent är samma för den ursprungliga färgen och medelfärgen.
9. Förfarande enligt patentkrav 6, vari stegen att bestämma färgkodordet (710), att välja uppsättningen med intensitetsmodifierare och att välja intensitetsrepresentationen (7 30) innefattar stegen: 10 15 20 25 30 526 226 48 - bestämning, för varje bildelement (610) i bildblocket (600), av en skillnad mellan ett ursprungligt färgvärde och en kvantiserad färg intensitets- modiñerad med en intensitetsmodifierare från en uppsättning med intensitets- modifierare i intensitetstabellen (500); - uppskattning av ett felvärde baserat på de bestämda skillnaderna; samt - val av en kvantiserad färg, en uppsättning med intensitets- modiñerare och intensitetsmodifierare som minimerar felvärdet, varvid färg- kodordet (710) innefattar den valda kvantiserade färgen.
10. Förfarande enligt patentkrav 9, vari felvärdet är ett viktat felvärde, där en vikt för en given färgkomponent är samma för den ursprungliga och den kvantiserade färgen.
11. ll. Förfarande enligt något av patentkraven l till 10, vari bildblocket (600) innefattar 2mx2n bildelement (610), där m=3-n och n=0, 1, 2, 3.
12. Förfarande enligt patentkrav 1, vari en komprimerad representation (700) av bildblocket (600) är en 32-bitars sekvens där färgkodordet (710) innefattar 12 bitar, intensitetskodordet (720) innefattar 4 bitar och en sekvens med intensitetsrepresentationerna (730) innefattar 16 bitar.
13. Förfarande enligt patentlaav 2, vari den kodade representationen (700) av bildblocket (600) är en 32-bitars sekvens där färgkodordet (710) innefattar 12 bitar, intensitetskodordet (720) innefattar 4 bitar och en sekvens med intensitetsrepresentationerna (730) innefattar 16 bitar.
14. Förfarande för behandling av en komprimerad representation (700) av ett bildblock (600) som innefattar multipla bildelement (610), där den komprimerade representationen (700) innefattar ett färgkodord (710), ett intensitetskodord (720) samt en intensitetsrepresentationssekvens (730), och förfarandet innefattar stegen: 10 15 20 25 30 526 226 I 49 - tillhandahållande av en uppsättning med multipla íntensitets- modifierare baserat på intensitetskodordet (720); för åtminstone ett bildelement (610) i bildblocket (600): - generering av en färgrepresentation baserat på färgkodordet (7 10); - val av en intensitetsmodífierare från uppsättningen med íntensitets- modifierare baserat på intensitetsrepresentationssekvensen (730); samt - modifiering av det åtminstone ett bildelementets (610) intensitet baserat på den utvalda intensitetsmodifieraren.
15. Förfarande för avkodning av en kodad bild som innefattar kodade representationer (700) av bildblock (600), vilka innefattar multipla bildelement (610), där en kodad representation (700) innefattar ett färgkodord (710), ett intensitetskodord (720) samt en intensitetsrepresentationssekvens (730), och förfarandet innefattar, för åtminstone en kodad representation (700) av ett bildblock (600), stegen: - tillhandahållande av en uppsättning med multipla íntensitets- modiñerare baserat på intensitetskodordet (7 20); för åtminstone ett bildelement (610) i bildblocket (600): - generering av en färgrepresentation baserat på färgkodordet mm; ' - val av en intensitetsrnodifierare från uppsättningen med intensitetsmodifierare baserat på intensitetsrepresentationssekvensen (730) ; samt - modifiering av det åtminstone ett bildelementets (610) intensitet baserat på den utvalda intensitetsmodifieraren; samt - generering av en avkodad representation av den kodade bilden genom sätta samman multipla färgade och intensitetsmodifierade bildelement (610).
16. Förfarande enligt patentlaav 14 eller 15, vari uppsättningen med intensitetsmodiñerare innefattar matematiskt komplementära íntensitets- modifierarvärden. 10 15 20 25 30 526 226 50
17. Förfarande enligt något av patentkraven 14 till 16, vari steget att till- handahålla uppsättningen med intensitetsmodifierare innefattar val, baserat pä intensitetskodordet (720), av uppsättningen med intensitetsmodifierare från en intensitetstabell (500) som innefattar multipla uppsättningar med intensitetsmodifierare.
18. Förfarande enligt patentkrav 17, vari tabellen (500) innefattar en första delrnängd av uppsättningar med intensitetsmodifierare, förfarandet innefattar vidare bestämning av intensitetsmodifierare i uppsättningar med intensitets- modifierare för en andra delmängd baserat på intensitetsmodiñerare i upp- sättningar med intensitetsmodifierare i den första delmängden.
19. Förfarande enligt något av patentkraven 14 till 18, vari intensitets- representatíonssekvensen (730) är en sekvens som innefattar, för varje bild- element (610) i representationen (700) av bildblocket (600), ett intensitetsindex som möjliggör identifiering av vilken av de multipla intensitetsmodifierarna i uppsättningen med intensitetsmodifierare som ska användas för bildelementet (610).
20. Förfarande enligt något av patentkraven 14 till 19, vari steget att innefattar utvalt modifierarvärde till färgrepresentationens alla färgkomponentvärden. intensitetsmodifiera adderíng av ett intensitets-
21. Förfarande enligt något av patentkraven 14 till 19, vari steget att intensitetsmodifiera innefattar adderíng av ett utvalt intensitetsmodifierar- värde multiplicerat med komponentspecifika vikter till färgrepresentationens alla färgkornponentvärden.
22. Förfarande enligt patentkrav 20 eller 21, vidare innefattar inklämning av summorna av intensitetsmodifierarvärdet och färgkomponentvärdena mellan ett minimalt tröskelvärde och ett maximalt tröskelvärde. 10 15 20 25 30 526 226 51
23. Förfarande enligt något av patentkraven 14 till 22, vari bildblocket (600) innefattar 2m><2n bildelement (610), där m=3-n och n=O, l, 2, 3.
24. Förfarande enligt något av patentkraven 14 till 23, vari representationen (700) av bildblocket (600) är en 32-bitars sekvens där färgkodordet (710) innefattar 12 bitar, intensitetskodordet (720) innefattar 4 bitar och intensitets- representationssekvensen (730) innefattar 16 bitar.
25. Signalrepresentation (7 00) av ett bildblock (600) som innefattar multipla bildelement (610), signalrepresentationen (700) innefattar: - ett färgkodord (710) som är en representation av färgerna hos bild- elementen (61 0) i bildblocket (600); - ett intensitetskodord (720) som är en representation av en upp- sättning med multipla intensitetsmodifierare för modifiering av intensiteten hos bildelementen (610) i bildblocket (600); samt - en sekvens (730) med intensitetsrepresentationer där en intensitets- representation är associerad, för varje bildelement (610) i bildblocket (600), med en intensitetsmodifierare från uppsättningen med intensitetsmodífierare.
26. Signalrepresentation enligt patentkrav 25, vari bildblocket (600) innefattar 2mx2n bildelement (610), där m=3-n och n=O, 1, 2, 3.
27. Signalrepresentation enligt patentkrav 25 eller 26, vari signal- representationen (700) är en 32-bitars sekvens där färgkodordet (710) innefattar 12 bitar, intensitetskodordet (720) innefattar 4 bitar och intensitets- representationssekvensen (7 30) innefattar 16 bitar.
28. System (300) för komprimering av ett bildblock (600) som innefattar multipla bildelement (610), system (300) innefattar: - en färgkvantiserare (310) för bestämning av ett färgkodord (710) som är en representation av färgerna hos bildelementen (610) i bildblocket (600); - en intensitetskvantiserare (320) för tillhandahållande av ett intensitetskodord (7 20) som är en representation av en uppsättning med 10 15 20 25 30 526 226 52 intensitetsmodifierare för modifiering av intensiteten hos bildelementen (610) i bíldblocket (600); samt - en intensitetsrepresentationsvåljare (330) för val, för varje bild- element (610) i bíldblocket (600), av en intensitetsrepresentation (730) associerad med en intensitetsmodifierare från uppsättningen med intensitets- modiñerare.
29. Bildkodningssystem (210) innefattande: - en bilduppdelare (215) för uppdelning av en bild i bildblock (600), där varje bildblock (600) innefattar multipla bildelement (610); samt - en blockkodare (300) för kodning av ett bildblock (600) för att generera en kodad representation (700) av bíldblocket (600), blockkodaren (300) innefattar: - en färgkvantiserare (310) för bestämning av ett fârgkodord (710) som är en representation av fårgema hos bildelementen (610) i bíldblocket (600); - en intensitetskvantiserare (320) för tillhandahållande av ett intensitetskodord (720) som är en representation av en uppsättning med íntensitetsmodifierare för modifiering av intensiteten hos bildelementen (610) i bíldblocket (600); samt - en intensítetsrepresentationsväljare (330) för val, för varje bild- element (610) i bíldblocket (600), av en intensitetsrepresentatíon (730) associerad med en intensitetsrnodífierare från uppsättningen med intensitets- modifierare.
30. System enligt patentkrav 28 eller 29, vari färgkvantiseraren (310) innefattar: - organ (312) för bestämning av en medelfärg för bildelementen i bild- blocket; samt - organ (314) för kvantisering av medelfärgen. 10 15 20 25 30 526 226 l 53
31. System enligt något av patentkraven 28 till 30, vari uppsättningen med intensitetsmodiñerare innefattar matematiskt komplementära intensítets- modifierarvärden.
32. System enligt patentkrav 28 eller 29, vidare innefattande en intensítets- tabell (500) som innefattar multipla uppsättningar med intensitetsmodifierare och intensitetskvantiseraren (320) innefattar en väljare (322) för val av upp- sättningen med intensitetsmodifierare från intensítetstabellen (500), varvid intensitetskodordet (720) möjliggör identifiering av den utvalda uppsättningen med intensitetsmodifierare från tabellen (500).
33. System enligt patentkrav 32, vidare innefattande: - organ (340) för bestämning, för varje bildelement (610) i bildblocket (600), av en skillnad mellan ett ursprungligt fårgvårde och en medelfärg intensitetsmodifierad med en intensitetsmodifierare från en uppsättning med intensitetsmodifierare i intensítetstabellen (500); samt - en feluppskattare (340) för uppskattning av ett felvärde baserat på de bestämda skillnaderna, och väljaren (322) av modifierat-uppsättning samt representationsväljaren (330) är konfigurerade för val av en uppsättning med intensitetsmodifierare och intensitetsmodifierare som minimerar felvärdet.
34. System enligt patentkrav 33, vari feluppskattaren (340) är anpassad för uppskattning av ett víktat felvärde, där en vikt för en given färgkomponent är samma för den ursprungliga färgen och medelfärgen.
35. System enligt patentkrav 32, vidare innefattande: - organ (340) för bestämning, för varje bildelement (610) i bildblocket (600), av en skillnad mellan ett ursprungligt färgvärde och en kvantiserad färg intensitetsmodifierad med en intensitetsmodifierare från en uppsättning med intensitetsmodifierare i intensítetstabellen (500); samt - en feluppskattare (340) för uppskattning av ett felvärde baserat på de bestämda skillnaderna, och färgkvantiseraren (310), väljaren (322) av modifieraruppsättning samt representationsväljaren (330) är konfigurerade för 10 15 20 25 30 526 226 54 val av en kvantiserad färg, en uppsättning med intensitetsmodifierare och intensitetsmodiñerare som minimerar felvärdet, varvid färgkodordet (710) innefattar den utvalda kvantiserade färgen.
36. System enligt patentkrav 35, vari feluppskattaren (340) är anpassad för uppskattning av ett viktat felvärde, där en vikt för en given färgkomponent är samma för den ursprungliga och den kvantiserade färgen.
37. System enligt något av patentkraven 28 till 36, vari bíldblocket (600) innefattar 2m><2n bildelement (610), där m=3-n och n=0, l, 2, 3.
38. System enligt patentkrav 28, vari en komprimerad representation (700) av bíldblocket (600) är en 32-bítars sekvens där fårgkodordet (710) innefattar 12 bitar, intensitetskodordet (7 20) innefattar 4 bitar och en sekvens (730) med intensitetsrepresentationerna innefattar 16 bitar.
39. System enligt patentkrav 29, vari den kodade representationen (700) av bíldblocket (600) år en 32-bitars sekvens där färgkodordet (710) innefattar 12 bitar, intensitetskodordet (720) innefattar 4 bitar och en sekvens (730) med intensitetsrepresentationerna innefattar 16 bitar.
40. System (400) för behandling av en komprimerad representation (700) av ett bildblock (600) som innefattar multipla bildelement (610), där den komprimerade representationen (700) innefattar ett färgkodord (710), ett intensitetskodord (720) samt en intensitetsrepresentationssekvens (730), och system innefattar: - organ (410) för tillhandahållande av en uppsättning med multipla intensitetsmodifierare baserat på intensitetskodordet (720); - en fårggenerator (420) för generering av en fårgrepresentation för åtminstone ett bildelement (610) i bíldblocket (600) baserat på färgkodordet (710); 10 15 20 25 30 526 226 ss - en väljare (430) för val, för det åtminstone ett bildelementet (610), av en intensitetsmodífierare från uppsättningen med intensitetsmodífierare baserat på intensitetsrepresentationssekvensen (730); samt - en intensitetsmodífierare (440) för modifiering av det åtminstone ett bildelementets (610) intensitet baserat på den utvalda intensitetsmodiñeraren.
41. System (220) för avkodning av en kodad bild som innefattar kodade representationer (700) av bildblock (600), vilka innefattar multipla bildelement (610), där en kodad representation (700) innefattar ett färgkodord (710), ett intensitetskodord (720) samt en intensitetsrepresentationssekvens (730), systemet (220) innefattar: - organ (410) för tillhandahållande, för ett bildblock (600), av en upp- sättning med multipla intensitetsmodífierare baserat på intensitetskodordet (720); - en färggenerator (420) för generering av en färgrepresentation för åtminstone ett bildelement (610) i bildblocket baserat på färgkodordet (710); - en väljare (430) för val, för det åtminstone ett bildelementet (610), av en intensitetsmodífierare från uppsättningen med intensitetsmodífierare baserat på intensitetsrepresentationssekvensen (7 30); - en intensitetsmodífierare (440) för modifiering av det åtminstone ett bildelementets (610) intensitet baserat på den utvalda intensitetsmodiñeraren; samt - organ (225) för sammansättning av multipla färgade och intensitets- modifierade bildelement (610) för att generera en avkodad representation av den kodade bilden.
42. System enligt något av patentkraven 40 eller 41, vidare innefattande en intensitetstabell (500) som innefattar multipla uppsättningar med intensitets- modífierare, och organet för tillhandahållande av uppsättningen med intensitetsmodífierare är konfigurerat för val av uppsättningen med intensitetsmodífierare från intensitetstabellen (500) baserat på intensitets- kodordet (720). 10 15 20 25 30 526 226 56
43. System enligt något av patentkraven 40 till 42, vari uppsättningen med intensitetsmodifierare innefattar matematiskt komplementära intensitets- modifierarvärden.
44. System enligt något av patentkraven 40 till 43, vari intensitets- representationssekvensen (730) är en sekvens som innefattar, för varje bild- element (610) i representationen (700) av bildblocket (600), ett intensitetsindex som möjliggör identifiering av vilken av de multipla intensitetsmodifierarna i uppsättningen med intensitetsmodifierare som ska användas för bildelementet (610).
45. System enligt något av patentkraven 40 till 44, vari intensitets- modifieraren (440) är konfigurerad för addering av ett utvalt intensitets- modiñerarvärde till färgrepresentationens alla färgkomponentvärden.
46. System enligt något av patentkraven 40 till 44, vari intensitets- modifieraren (440) är konfigurerad för addering av ett utvalt intensitets- modifierarvärde multiplicerat med komponentspecifika vikter till färg- representationens alla färgkomponentvärden.
47. System enligt patentkrav 45 eller 46, vari intensitetsmodifieraren (440) år konfigurerad för inklämning av summorna av intensitetsmodifierarvärdet och färgkomponentvärden mellan ett minimalt tröskelvärde och ett maximalt tröskelvärde.
48. System enligt något av patentkraven 40 till 47, vari bildblocket (600) innefattar 2m><2“ bildelement (610), där m=3-n och n=0, 1, 2, 3.
49. System enligt något av patentkraven 40 till 48, vari representationen (700) av bildblocket (600) är en 32-bitars sekvens där färgkodordet (710) innefattar 12 bitar, intensitetskodordet (720) innefattar 4 bitar och intensitets- representationssekvensen (730) innefattar 16 bitar.
SE0303497A 2003-12-19 2003-12-19 Bildbehandling SE526226C2 (sv)

Priority Applications (38)

Application Number Priority Date Filing Date Title
SE0303497A SE526226C2 (sv) 2003-12-19 2003-12-19 Bildbehandling
US10/582,988 US7636471B2 (en) 2003-12-19 2004-07-08 Image processing
EP04749156.8A EP1697897B1 (en) 2003-12-19 2004-07-08 Image processing
PL13172504T PL2688042T3 (pl) 2003-12-19 2004-07-08 Przetwarzanie obrazu
PCT/SE2004/001120 WO2005059836A1 (en) 2003-12-19 2004-07-08 Image processing
SE0401850A SE0401850D0 (sv) 2003-12-19 2004-07-08 Image processing
AU2004298705A AU2004298705B2 (en) 2003-12-19 2004-07-08 Image processing
CNB2004800380946A CN100550057C (zh) 2003-12-19 2004-07-08 图像处理
SE0401852A SE0401852D0 (sv) 2003-12-19 2004-07-08 Image processing
RU2006126058/09A RU2317587C1 (ru) 2003-12-19 2004-07-08 Обработка изображений
ES13172504T ES2716560T3 (es) 2003-12-19 2004-07-08 Procesamiento de imágenes
EP13172504.6A EP2688042B1 (en) 2003-12-19 2004-07-08 Image processing
TR2019/01009T TR201901009T4 (tr) 2003-12-19 2004-07-08 Görüntü işleme.
CA2545414A CA2545414C (en) 2003-12-19 2004-07-08 Image processing
JP2006545270A JP4444967B2 (ja) 2003-12-19 2004-07-08 画像処理
HUE13172504A HUE042288T2 (hu) 2003-12-19 2004-07-08 Kép feldolgozás
ZA200604184A ZA200604184B (en) 2003-12-19 2004-07-08 Image processing
BRPI0417576A BRPI0417576B1 (pt) 2003-12-19 2004-07-08 "método e sistema para comprimir um bloco de imagem, para codificar uma imagem, para processar uma representação comprimida de um bloco de imagem, e para decodificar uma imagem codificada, e, representação de sinal de um bloco de imagem".
EP04809095A EP1697900B1 (en) 2003-12-19 2004-12-17 Multi-mode image processing
US10/582,689 US7657105B2 (en) 2003-12-19 2004-12-17 Alpha image processing
AT04809093T ATE552574T1 (de) 2003-12-19 2004-12-17 Alpha-bildverarbeitung
PCT/SE2004/001922 WO2005059839A1 (en) 2003-12-19 2004-12-17 Multi-mode image processing
AT04809094T ATE552575T1 (de) 2003-12-19 2004-12-17 Alpha-bildverarbeitung mit mehreren betriebsarten
CNB2004800380024A CN100504926C (zh) 2003-12-19 2004-12-17 阿尔法图像处理
JP2006545294A JP4444969B2 (ja) 2003-12-19 2004-12-17 マルチモードアルファ画像処理
PCT/SE2004/001920 WO2005059837A1 (en) 2003-12-19 2004-12-17 Alpha image processing
PCT/SE2004/001921 WO2005059838A1 (en) 2003-12-19 2004-12-17 Multi-mode alpha imag eprocessing
JP2006545295A JP4444970B2 (ja) 2003-12-19 2004-12-17 マルチモード画像処理
KR1020067012083A KR100819597B1 (ko) 2003-12-19 2004-12-17 멀티모드 알파 이미지 처리 방법 및 장치
EP04809094A EP1697899B1 (en) 2003-12-19 2004-12-17 Multi-mode alpha imag eprocessing
US10/583,453 US7734105B2 (en) 2003-12-19 2004-12-17 Multi-mode image processing
KR1020067011298A KR100821762B1 (ko) 2003-12-19 2004-12-17 알파 이미지 처리 방법 및 장치
US10/583,454 US7693337B2 (en) 2003-12-19 2004-12-17 Multi-mode alpha image processing
CNB2004800417141A CN100498838C (zh) 2003-12-19 2004-12-17 多模α图像处理方法及系统
AT04809095T ATE557369T1 (de) 2003-12-19 2004-12-17 Bildverarbeitung mit mehreren betriebsarten
DK04809094.8T DK1697899T3 (da) 2003-12-19 2004-12-17 Alfa-billedforarbejdning med flere funktioner
JP2006545293A JP4444968B2 (ja) 2003-12-19 2004-12-17 アルファ画像処理
EP04809093A EP1697898B1 (en) 2003-12-19 2004-12-17 Alpha image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0303497A SE526226C2 (sv) 2003-12-19 2003-12-19 Bildbehandling

Publications (3)

Publication Number Publication Date
SE0303497D0 SE0303497D0 (sv) 2003-12-19
SE0303497L SE0303497L (sv) 2005-06-20
SE526226C2 true SE526226C2 (sv) 2005-08-02

Family

ID=30768816

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0303497A SE526226C2 (sv) 2003-12-19 2003-12-19 Bildbehandling

Country Status (15)

Country Link
US (1) US7636471B2 (sv)
EP (2) EP1697897B1 (sv)
JP (1) JP4444967B2 (sv)
CN (3) CN100550057C (sv)
AU (1) AU2004298705B2 (sv)
BR (1) BRPI0417576B1 (sv)
CA (1) CA2545414C (sv)
ES (1) ES2716560T3 (sv)
HU (1) HUE042288T2 (sv)
PL (1) PL2688042T3 (sv)
RU (1) RU2317587C1 (sv)
SE (1) SE526226C2 (sv)
TR (1) TR201901009T4 (sv)
WO (1) WO2005059836A1 (sv)
ZA (1) ZA200604184B (sv)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE526226C2 (sv) 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
SE0401850D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE0401852D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
ES2728097T3 (es) 2005-05-27 2019-10-22 Ericsson Telefon Ab L M Procesamiento de imágenes basado en peso
DE602006005689D1 (de) * 2005-08-19 2009-04-23 Ericsson Telefon Ab L M Texturkomprimierung auf der basis zweier farbtöne mit modifizierter helligkeit
US7873212B2 (en) 2006-01-24 2011-01-18 Nokia Corporation Compression of images for computer graphics
US7787691B2 (en) * 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing
JP5157419B2 (ja) * 2007-03-12 2013-03-06 セイコーエプソン株式会社 画像処理装置、画像処理方法及び電子機器
US8233003B2 (en) 2007-03-12 2012-07-31 Seiko Epson Corporation Image processing device, image processing method, and electronic instrument
WO2008123822A1 (en) * 2007-04-04 2008-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Vector-based image processing
KR101431185B1 (ko) * 2007-06-22 2014-08-27 삼성전자 주식회사 영상 향상 방법 및 장치, 이를 이용한 영상 처리 시스템
TWI366391B (en) * 2007-06-28 2012-06-11 Novatek Microelectronics Corp Method and circuit for correcting signals and image correcting method and circuit using the same
US8013862B2 (en) * 2007-11-16 2011-09-06 Microsoft Corporation Texture codec
US20100226568A1 (en) * 2009-03-09 2010-09-09 Smith Micro Software, Inc. Effective color modeling method for predictive image compression
CN102571270A (zh) * 2009-03-27 2012-07-11 华为技术有限公司 解码方法及装置
KR20100136890A (ko) * 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
JP2011066720A (ja) * 2009-09-17 2011-03-31 Canon Inc 画像処理装置、制御方法、及びプログラム
ES2635540T3 (es) * 2009-11-24 2017-10-04 Telefonaktiebolaget Lm Ericsson (Publ) Sistema y método de descodificación utilizable en bloques de elementos de textura codificada
US8659616B2 (en) * 2010-02-18 2014-02-25 Nvidia Corporation System, method, and computer program product for rendering pixels with at least one semi-transparent surface
CN102244779B (zh) * 2010-05-11 2014-07-30 联想(北京)有限公司 数据的发送和接收方法及设备、数据传输系统
WO2012050489A1 (en) * 2010-06-18 2012-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Texture compression and decompression
CN103098466B (zh) 2010-09-13 2016-08-17 索尼电脑娱乐公司 图像处理装置和图像处理方法
KR101834934B1 (ko) * 2010-12-03 2018-03-08 코닌클리케 필립스 엔.브이. 3d 이미지 데이터의 전송
EP2661882B1 (en) * 2011-01-05 2015-06-24 Koninklijke Philips N.V. Video coding and decoding devices and methods preserving ppg relevant information
JP5940558B2 (ja) * 2011-01-05 2016-06-29 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Ppg関連情報を保存するビデオ符号化及び復号化デバイス及び方法
GB2487717B (en) * 2011-01-25 2017-06-21 Advanced Risc Mach Ltd Image encoding method
WO2012136276A1 (en) 2011-04-04 2012-10-11 Telefonaktiebolaget L M Ericsson (Publ) A method and a processor for texture compression
WO2012146320A1 (en) * 2011-04-29 2012-11-01 Telefonaktiebolaget L M Ericsson (Publ) Encoder, decoder and methods thereof for texture compression
CN102972023B (zh) 2011-07-13 2016-09-28 松下知识产权经营株式会社 图像压缩装置、图像解压缩装置以及图像处理装置
JP6003049B2 (ja) * 2011-11-30 2016-10-05 富士通株式会社 情報処理装置、画像送信方法及び画像送信プログラム
JP5915131B2 (ja) * 2011-12-08 2016-05-11 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US9106936B2 (en) * 2012-01-25 2015-08-11 Altera Corporation Raw format image data processing
KR102091137B1 (ko) * 2012-07-17 2020-03-20 삼성전자주식회사 영상 제공 시스템 및 방법
WO2014014238A1 (en) 2012-07-17 2014-01-23 Samsung Electronics Co., Ltd. System and method for providing image
US10147202B2 (en) * 2013-03-15 2018-12-04 Arm Limited Methods of and apparatus for encoding and decoding data
US9716871B2 (en) * 2014-09-30 2017-07-25 Apple Inc. YUV signal generation for high dynamic range video content
CN104899838B (zh) * 2015-05-29 2017-11-28 小米科技有限责任公司 调整图像的方法及装置
US10645418B2 (en) * 2018-04-13 2020-05-05 Google Llc Morphological anti-ringing filter for lossy image compression
CN113076050B (zh) * 2021-04-25 2022-05-20 深圳创维-Rgb电子有限公司 基于内存拷贝的人机交互方法、装置、电视机及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6451888A (en) * 1987-08-24 1989-02-28 Sharp Kk Picture processor
CA1315392C (en) * 1988-11-18 1993-03-30 Taejeong Kim Side-match and overlap-match vector quantizers for images
US5204665A (en) * 1990-05-02 1993-04-20 Xerox Corporation Color editing with simple encoded images
DE4335143A1 (de) 1993-10-15 1995-04-20 Hell Ag Linotype Verfahren und Einrichtung zur Umsetzung von Farbwerten
RU2105351C1 (ru) * 1995-02-06 1998-02-20 Товарищество с ограниченной ответственностью "Информ Инжиниринг" Способ анализа изображения текстуры объекта
US5742892A (en) * 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5793371A (en) 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US6404923B1 (en) * 1996-03-29 2002-06-11 Microsoft Corporation Table-based low-level image classification and compression system
US5748904A (en) 1996-09-13 1998-05-05 Silicon Integrated Systems Corp. Method and system for segment encoded graphic data compression
US5926647A (en) 1996-10-11 1999-07-20 Divicom Inc. Processing system with dynamic alteration of a color look-up table
US6658146B1 (en) * 1997-10-02 2003-12-02 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
US5956431A (en) 1997-10-02 1999-09-21 S3 Incorporated System and method for fixed-rate block-based image compression with inferred pixel values
JPH11313219A (ja) 1998-01-20 1999-11-09 Fujitsu Ltd カラーデータ変換方法
CN1168322C (zh) 1998-07-03 2004-09-22 株式会社哈德森 图象编码和解码方法
US6636222B1 (en) 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
AU3887600A (en) * 1999-03-19 2000-10-23 Microsoft Corporation Methods and apparatus for generating and representing luminance intensity values
US7251360B2 (en) 2003-02-14 2007-07-31 Canon Kabushiki Kaisha Look-up table generation method, computer program, and imaging apparatus
SE0401852D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE526226C2 (sv) 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
SE0401850D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing

Also Published As

Publication number Publication date
HUE042288T2 (hu) 2019-06-28
BRPI0417576B1 (pt) 2017-04-18
CN1898700A (zh) 2007-01-17
AU2004298705B2 (en) 2009-08-20
SE0303497D0 (sv) 2003-12-19
CN100550057C (zh) 2009-10-14
EP1697897A1 (en) 2006-09-06
BRPI0417576A (pt) 2007-03-20
CN100498838C (zh) 2009-06-10
CA2545414A1 (en) 2005-06-30
ES2716560T3 (es) 2019-06-13
WO2005059836A1 (en) 2005-06-30
US7636471B2 (en) 2009-12-22
CN100504926C (zh) 2009-06-24
SE0303497L (sv) 2005-06-20
CN1898699A (zh) 2007-01-17
US20070140554A1 (en) 2007-06-21
PL2688042T3 (pl) 2019-06-28
CN1918602A (zh) 2007-02-21
TR201901009T4 (tr) 2019-02-21
AU2004298705A1 (en) 2005-06-30
ZA200604184B (en) 2007-11-28
JP2007515124A (ja) 2007-06-07
CA2545414C (en) 2014-08-26
EP2688042B1 (en) 2019-01-09
EP2688042A1 (en) 2014-01-22
EP1697897B1 (en) 2014-05-21
JP4444967B2 (ja) 2010-03-31
RU2317587C1 (ru) 2008-02-20

Similar Documents

Publication Publication Date Title
SE526226C2 (sv) Bildbehandling
RU2407223C2 (ru) Сжатие текстуры на основании двух оттенков с модифицированной яркостью
EP1697899B1 (en) Multi-mode alpha imag eprocessing
JP4444970B2 (ja) マルチモード画像処理
US9466125B2 (en) Weight based image processing
US7787691B2 (en) High quality image processing

Legal Events

Date Code Title Description
NUG Patent has lapsed