SE0802657A1 - Extrahering av digital information - Google Patents

Extrahering av digital information

Info

Publication number
SE0802657A1
SE0802657A1 SE0802657A SE0802657A SE0802657A1 SE 0802657 A1 SE0802657 A1 SE 0802657A1 SE 0802657 A SE0802657 A SE 0802657A SE 0802657 A SE0802657 A SE 0802657A SE 0802657 A1 SE0802657 A1 SE 0802657A1
Authority
SE
Sweden
Prior art keywords
code
bits
sub
blocks
area
Prior art date
Application number
SE0802657A
Other languages
English (en)
Inventor
Sami Niemi
Johan Sten
Original Assignee
Scalado Ab
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 Scalado Ab filed Critical Scalado Ab
Priority to SE0802657A priority Critical patent/SE0802657A1/sv
Priority to EP09799085.7A priority patent/EP2371137B1/en
Priority to PCT/EP2009/066933 priority patent/WO2010072587A1/en
Priority to US12/641,621 priority patent/US8457427B2/en
Publication of SE0802657A1 publication Critical patent/SE0802657A1/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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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
    • 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
    • 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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N7/26106
    • H04N7/26329
    • H04N7/26372
    • H04N7/3016
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Det tillhandahålls ett förfarande för behandling av en bild kodad med en variabellängdskod och innefattande ett flertal läslinjer, varvid varje läslinje innefattar ett antal originalkodblock innefattande en differenskodad parameter. Förfarandet innefattar definiering av ett delområde i bilden, där delområdet innefattar ett antal läslinjer, extrahering av delområdet, alstring av en uppsättning tilläggskodblock innefattande en tillagd differenskodad parameter baserad på den differenskodade parametern i ett första kodblock i en första läslinje i delområdet, och associering mellan tilläggskodblocket och delområdet. Det tillhandahålls även en anordning och en datorprogramprodukt därtill.För publicering: Fig. 2(f)

Description

10 15 20 25 30 35 2 Föreliggande uppfinnings uppfinnare har upptäckt att det uppstår ett problem då ett delområde skall extraheras från en behandlad bild. Ett delområde kan definieras av ett urval av block. Föreliggande uppfinnings uppfinnare har upptäckt att det uppstår ett problem då ett delområde skall extraheras från en komprimerad bild. Föreliggande uppfinnings uppfinnare har upptäckt att det uppstår ett problem då ett delområde skall extraheras från en bild kodad med en variabellängdskod (härefter VLC).
Med hänsyn till ovannämnda är ett syfte med uppfinningen att lösa eller åtminstone minska de ovan diskuterade problemen.
Ett syfte med föreliggande uppfinning är således att tillhanda hålla förbättrade organ för behandling av en digital bild. Ett ytterligare syfte med föreliggande uppfinning är att tillhandahålla förbättrade organ för extrahering av ett delområde från en behandlad bild. Ett ytterligare syfte med föreliggande uppfinning är att tillhandahålla förbättrade organ för extrahering av ett delområde från en komprimerad bild. Ett ytterligare syfte med föreliggande uppfinning är att tillhandahålla förbättrade organ för extrahering av ett delområde från en bild komprimerad med en VLC.
Generellt sett åstadkoms de ovannämnda syftena av de bifogade oberoende patentkraven.
Enligt en första aspekt realiseras föreliggande uppfinning av ett förfarande för behandling av en VLC-kodad bild.
Således tillhandahålles ett förfarande för behandling av en bild kodad med en variabellängdskod och innefattande ett flertal läslinjer, varvid varje läslinje innefattar ett antal originalkodblock innefattande en differenskodad parameter, varvid förfarandet innefattar: definiering av ett delområde i bilden, nämnda delområde innefattande ett antal läslinjer; extrahering av delområdet; alstring av en uppsättning tilläggskodblock innefattande en tillagd differenskodad parameter baserad på den differenskodade parametern i ett första kodblock i en första läslinje i delområdet; och associering mellan tilläggskodblocket och delområdet.
Det tillhandahållna förfarandet kan således åstadkomma förbättrad bildbehandling. En fördel är att de beskrivna särdragen åstadkommer ett förbättrat förfarande för extrahering av ett delområde från en bild komprimerad med en VLC.
En fördel är att omkodning av hela delområdet kan undvikas genom användning av det tillhandahållna förfarandet. spa I: fa. m, *ffr-.sffifxtrtøzs .we i :z-fiosoæazoss t, tvcffmza Qfïägff-Xlfišílï 1Û*»Qi=2f~ïiä7@šf»l”š'“ Qëšwíïtjfaílf-:EY-ïaiïCÅlWÉWIa rät* :rgíšktnerzdetwfišxfïšrítåF? Tïitldoc 10 15 20 25 30 35 3 En annan fördel är att avkodning av hela bilden kan undvikas genom användning av det tillhandahållna förfarandet. Avkodning av hela bilden kan undvikas genom användning av tilläggsinformation, såsom information avseende DC-koefficienterna för (varje) minsta kodade enhet i bilden.
Genom att behålla upplinjeringen från källdatan är en ytterligare fördel att delar av källdatan kan kopieras såsom den är. Det vill säga, onödiga bitskift och andra upplinjeringsrelaterade problem kan undvikas.
Placeringen av individuella block kan hittas genom att ha ett index till deras positioner iden VLC-kodade bitströmmen.
Föreliggande uppfinning kan vidare minska den krävda processorkraften. Föreliggande uppfinning kan vidare minska den krävda tidsåtgången för processorn för att utföra extrahering av ett delområde och därmed tillhandahålla bättre användarupplevelse. Vidare kan de tillagda differenskodade parametrarna baseras på differenskodade parametrar för ett andra kodblock för en andra läslinje i delområdet.
Det andra kodblocket kan uppträda före det första kodblocket enligt en läsordning för bilden.
Det första kodblocket kan vara det bästa kodblocket för en nuvarande läslinje i delområdet.
Det andra kodblocket kan vara ett sista kodblock i en tidigare läslinje i delområdet.
För bilder innefattande endast en läslinje kan den andra och den första läslinjen vara en och samma läslinje. Det valda delområdet kan innefatta en kombination av ett flertal områden inom nämnda en och samma läslinje.
Bilden kan lagras som en sekvens av kodord, och extraheringen kan vidare innefatta extrahering av kompletta kodord från sekvensen av kodord.
Kodblocken kan innefatta kodord innefattande exkluderade kodbitar associerade med kodblock exkluderade från delområdet.
Alstringen kan vidare innefatta: alstring av upplinjeringsdata relaterad till ett specifikt kodord, varvid upplinjeringsdatan är baserad på antalet exkluderade bitar inkluderade i det specifika kodordet; och infogning av upplinjeringsdata i ett tilläggskodblock associerat med det specifika kodordet.
Det specifika kodordet kan vara det första kodblocket i den första läslinjen. Det specifika kodordet kan vara det andra kodblocket i den andra läslinjen. Databitar i tilläggskodblocken kan skriva över de exkluderade bitarna. Minst en av första och sista databitar i tilläggskodblocken kan skriva över de exkluderade kodbitarna. i :wïšørré lllëßï. "lå Kiel i? 33 .få av; 10 15 20 25 30 35 4 Databitar som motsvarar upplinjeringsdatan kan baseras på de exkluderade kodbitarna.
Tilläggskodblocken kan vara anordnade såsom första kodblock i läslinjeri delområdet.
Definieringen kan vidare innefatta utvidgning av delområdet till att inkludera hela kodblock.
Varje kodblock kan vara en minsta kodad enhet, MCU.
Varje kodblock kan vara en del av en JPEG-kodad bild.
Den differenskodade parametern kan vara en DC-koefficient.
De exkluderade bitarna kan vara associerade med minst en av en DC- koefficient och en AC-koefficient.
Enligt en andra aspekt realiseras föreliggande uppfinning av en anordning för behandling av en bild kodad med en variabellängdskod.
Det tillhandahålles således en anordning innefattande kretsar anordnade att utföra bildbehandling enligt ovanstående förfarande för behandling av en bild kodad med en variabellängdskod.
Anordningen kan vara den dator. Anordningen kan vara en skrivare.
Anordningen kan vara en personlig digital assistent. Anordningen kan vara en mobiltelefon. Anordningen kan innefatta en hårdvaruaccelerator för JPEG.
Enligt en tredje aspekt realiseras föreliggande uppfinning av ett datorprogram för behandling av en bild kodad med en variabellängdskod.
Det tillhandahålles således ett datorprogram innefattande mjukvaruinstruktioner som då nedladdade till en dator är anordnade att utföra bildbehandling enligt ovanstående förfarande för behandling av en bild kodad med en variabellängdskod.
Datorprogramprodukten kan vara tillhandahållen i ett datorläsbart medium.
Den andra och den tredje aspekten kan generellt sett ha samma särdrag och fördelar som den första aspekten.
Andra syften, särdrag och fördelar för föreliggande uppfinning kommer att vara uppenbara från den följande detaljerande beskrivningen, från de bifogade beroende patentkraven, samt även från ritningarna.
Generellt sett skall alla termer som används i patentkraven tolkas enligt deras vanliga betydelse inom det tekniska området, såvida de inte explicit definieras häri. Alla hänvisningar till ”en/ett/den/det [element, anordning, komponent, organ, steg, etc]" ska tolkas brett såsom hänvisande till minst en förekomst av elementet, anordningen, komponenten, organet, íïüllšíä~ï=3«íššš 'líš “stïëílâšaaåíšíš AtïšïšíÉíI/ïäljïššíff ÅQíFßfiÉMEvÅbÉTRíEÄÅšššâfl? åviífåšïíšëïïï l âïiššïßšïfiåíšíšåïl t (šfè-Ûfafšåëwlšållxíllëwršvïíïtšwfï*fanslêtšlfifsymšiäšïtærëëfišïršïíšššïïllítßïfš ”flåäš 10 15 20 25 30 35 5 steget, etc, såvida inte något annat anges. Stegen för något förfarande som beskrivs häri behöver inte utföras i den exakta ordning som visas, såvida inte något annat anges.
Kort beskrivninq av ritninqarna Utföringsformer av föreliggande uppfinning kommer nu att beskrivas i mer detalj med hänvisning till de bifogade ritningarna, i vilka: Fig. 1 är en schematisk illustration av ett bildbehandlingssystem, Fig. 2(a) en schematisk illustration av en behandlad bild, Fig. 2(b en illustration av en flertal läslinjer, Fig. 2(c) en illustration av en flertal kodblock, Fig. 2(d) en illustration av en VLC-kodad bild, Fig. 2(e) en illustration av ett extraherat delområde, Fig. 2(f) är en illustration av originalkodblock och tilläggskodblock, Fig. 2(g) illustrerar ett delområde och tilläggskodblock, Fig. 3 illustrerar sekvenser av kodord, Fig. 4 illustrerar sekvenser av kodord, Fig. 5 illustrerar sekvenser av kodord, Fig. 6 illustrerar sekvenser av kodord, Fig. 7 illustrerar sekvenser av kodord, Fig. 8 illustrerar en sekvens av kodord, F lg. 9 är ett flödesdiagram för förfarande enligt utföringsforrner, och Fig. 10 en schematisk illustration av en anordning.
Detailierad beskrivninq ab föredragna utförinqsformer Föreliggande uppfinning kommer nu att här nedan beskrivas mer detaljerat med hänvisning till de bifogade ritningarna i vilka särskilda utföringsformer visas. Samma nummer används genomgående till samma element. Men, föreliggande uppfinning kan utföras i många olika skepnader och skall inte tolkas som begränsad av utföringsformerna som visas häri; dessa utföringsformer tillhandahålles som exempel så att denna beskrivning är detaljerad och komplett och förmedlar uppfinningens omfattning för fackmannen inom området. Till exempel visas för illustrativa syften föreliggande i ett JPEG-sammanhang. Men föreliggande uppfinning är också tillämpbar till andra standarder och format, mutatis mufandis.
Följande definitioner och konventioner kommer att användas. Först, termen kodord används för att representera till exempel en byte, ett ord, "word" enligt den konventionella terminologin, eller ett långt ord, "long word” ÉÜÛÉš-fr Û~Qâ få. l á “tfïïšfšrfš/ÄLÅÜG šäíäëâllålhßfíïfš IÄBÉPÉRTÉNTXÉHJ§X§ÉvÉ*å ffifêí,ïå.íëëšfalï;ïl -fsftfšišâššïåüüë l GQLLÉ i íšfåGBQÉâMDlJffißlilíïY-llfíflü» Transiêztirïniwšßiïëendeílßslšïïšítššïi 'ïfšbífšßc 10 15 20 25 30 35 6 enligt den konventionella terminologin (dvs. 8, 16 eller 32 bitar eller en annan storleksbestämd entitet av data). En kodparameter kan representera VLC- kodad data och kan vara så lång som, kortare än, eller längre än ett kodord (dvs. kodparametrar är inte begränsade av kodordsgränser). Exkluderade bitar definieras som bitar som inte är associerade med ett valt delområde (dvs. exkluderade bitar representerar data exkluderad från det valda delområdet).
Fig. 1 är en schematisk illustration av ett bildbehandlingssystem 100.
Bildbehandlingssystemet 100 innefattar en original bild 102 (eller en representation därav), en bildbehandlingsenhet 104, en behandlad bild 106 (eller en representation därav). Det antas att originalbilden 102 är en digital bild, vilken kan ha tagits med organ som en digitalbildstagningsapparat, såsom en digitalkamera eller en skanner.
Originalbilden kan även vara baserad på en datorrendering baserad på matematiska parametrar, eller på en kombination av inmatningar från flera källor med bildinformation. Tagning av digitala bilder är som sådant känt inom teknikområdet och kommer inte att behandlas vidare i denna beskrivning.
Originalbilden innefattar ett flertal bildelement kallade pixel. Pixlarna är i bilden typiskt orienterade i vertikala kolumner och horisontella rader.
Bildbehandlingsenheten 104 utsätter originalbilden 102 för bildbehandling genom att tillämpa en eller flera bildbehandlingsalgoritmer.
Sådana bildbehandlingsalgoritmer kan inkludera filtrering, kvantisering, kompression eller liknande, se till exempel “Digital Image Processing”, av Rafael C. Gonzalez, Richard E. Woods, Prentice Hall, 2008 (3e upplagan).
Bildbehandlingsenheten 104 kan således innefatta en kodare respektive en avkodare. Bildbehandlingsenheten kan vidare innefatta en lagringsenhet (visas ej), vari den behandlade bilden kan lagras.
Bildbehandlingsenheten 104 kan vara implementerad som en datorprogramprodukt innefattande en eller flera mjukvarukomponenter, eller som en dedikerad hårdvaruenhet för bildbehandling. Mjukvarukomponenterna kan innefatta mjukvaruinstruktioner som då nedladdade till en dator är anordnade att utföra instruktionerna associerade med bildbehandlingsenheten.
Datorn kan således innefatta processororgan, såsom en central processorenhet och/eller en dedikerad bildprocessor, lagringsorgan, såsom ett minne eller ett datorläsbart lagringsmedium, och kommunikationsorgan, såsom en mottagare och en sändare och/eller en sändaremottagare, till 201394 'i Û 'i *dflíïCßïïLffeßfš A BiSCZ-*XLADQP fíïš\l"-*íà^l“ENïëDtšï1fï:ërš lëfffišJltišlššï-.Iåï 3~í039§\.2âšt}íš”s i 04339EäwütššsfëäsëY-llfltïtcšflïrsosšatšenwífšrneedeaå-itfšfääiítjiïtš Tšëšfíøf: 10 15 20 25 30 35 7 exempel konfigurerad att mottaga inmatning från och leverera utmatning till, ett människa-maskin-gränssnitt (MMI), en annan dator, eller liknande. Datorn kan vara en stationär dator, en bärbar dator (laptop), en handhållen dator, en mobil kommunikationsanordning, såsom en mobiltelefon, eller liknande.
Enligt JPEG-standarden grupperas pixlarna tillsammans i block (MCU) innefattande n x m pixel, där n, m = 8 eller 16. Varje block innefattar så kallade delblock vilka transformeras till kodblock genom användning av den diskreta cosinustransformen (DCT). Transformkoefficienterna kvantiseras sedan och ordnade enligt ett sicksackmönster. Nollfrekvenskomponenterna vilka motsvarar medelvärdet för varje block kallas DC-koefficienter. Resten av koefficienterna kallas AC-koefficienter. AC-koefficenterna kodas enligt den så kallade ”zero run lenght”-principen, varvid de icke-nollvärda koefficienterna kodas med en VLC, såsom med Huffmankodning eller aritmetisk kodning.
Eftersom DC-koefficienterna för de flesta fotografiska bilder indikerar en närvaro av korrelation från block till block är DC-koefficienterna differens- kodade och/eller -kvantiserade genom användning av exempelvis differentierad pulskodsmodulation (DPCM). De kodade blocken läses rad för rad, kolumn för kolumn, enligt ett sicksack mönster, enligt en Peano-Hilbert- kurva, eller liknande. En sekvens av lästa block kan kallas för en läslinje.
Beroende på läsalgoritmen kan en läslinje till exempel representera en kolumn av block eller en rad av block i bilden. Transformkoefficienterna kvantiseras sedan och kodas enligt ”run length”-principen. Och resultatet kodas sedan med en en VLC, såsom med Huffmankodning eller aritmetisk kodning. Även koefficienten för varje block kan läsas med användning av en av de ovannämnda lästeknikerna. Den resulterande bitströmmen kan sedan överföras eller lagras.
En avkodare kan utföra kodarens inversoperationer för att alstra en avkodad eller behandlad bild 106. Det vill säga, avkodaren kan exempelvis utföras variabellängdsavkodning, ”run lenght”-avkodning, inverskvantisering, och invers cosinustransform.
Fig. 2(a) är en schematisk illustration av en behandlad bild 106 innefattande ett flertal läslinjer 108. Såsom angivits ovan beror orienteringen på läslinjerna av den använda läsalgoritmen. I Fig. 2(a) är läslinjerna horisontella, vilket kan vara resultatet av en läsning rad för rad.
Fig. 2(b) är en illustration av ett flertal läslinjer 106 innefattande originalkodblock 110. Såsom illustreras i Fig. 2(b) innefattar varje läslinje 106 ett antal originalkodblock 110. Termen ”originalkodblock” används här för att fífßífiê 1303 'i Ü llšlïåílšïílfâ 1 lšfå-íššâí íåCffX åß. ífšíl Bïššïflzïï. çzfïíššf? ;>«Éš\i>ß{ï“š l :ßzxagë i: fr: osæswcl.:r.@ari=f«af:a;i.r,rm. w. gßtlwlš P; s: ast; 10 15 20 25 30 35 8 beteckna att kodblocken 110 kan ha alstrats genom användning av en standardmässig bildbehandlingsalgoritm, såsom JPEG-algoritmen.
Fig. 2(c) är en illustration av ett flertal kodblock 110 anordnade i en uppställning med tre rader och tre kolumner. Såsom illustreras i Fig. 2(c) innefattar originalkodblocken 110 en differenskodad parameter, där en av dessa är schematiskt illustrerad vid hänvisningsbeteckning 112. Beroendet från block till block illustreras av pilar 114. Det vill säga, enligt en utföringsform är den differenskodade parametern för det första blocket i rad k beroende på den differenskodade parametern för det sista blocket i rad k-1.
Det första blocket i den lästa sekvensen av block kan sakna en parameter som är beroende på en parameter i ett annat block. Det första blocket definieras vanligtvis att vara beroende av noll DC-koefficienter. Vidare kan det finnas ytterligare beroenden mellan delblock inom blocket, vilka inte illustreras här.
Ett förfarande för behandling av en VLC-kodad bild kommer att, exempelvis med hänvisning till flödesschemat i Fig. (9), beskrivas härnäst.
Förfarandet innefattar i ett steg 902 definiering av ett delområde i bilden, där delområdet innefattar ett antal av nämnda läslinjer. Såsom noterats ovan används termen delområde i generella termer för definiera ett urval av block.
Detta urval av block kan definiera ett icke-rektangulärt delområde, eller ett flertal delområden för en läslinje. Fig. 2(d) är en illustration av en VLC-kodad bild 106, varvid ett delområde 116 definierats, såsom illustretats av det skuggade området.
Förfarandet innefattar i ett steg 904 extrahering av delområdet 116.
Fig. 2(e) är en illustration av ett extraherat delområde 116 innefattande ett antal originalkodblock 110.
Förfarandet innefattar i ett steg 906 alstring av en uppsättning tilläggskodblock. Fig. 2(f) illustrerar ett antal originalkodblock 110 för ett delområde 116 och en uppsättning tilläggskodblock 118. Originalkodblocken 110 innefattar en differenskodad parameter 112. Tilläggskodblocken 118 innefattar en tillagd differenskodad parameter 120. Den tillagda differenskodade parametern 120 är baserad på den differenskodade parametern 112 för ett första kodblock i en första läslinje i delområdet 116, såsom illustreras av pilarna och de streckade linjerna 114. Vidare kan den tillagda differenskodade parametern vara baserad på den differenskodade parametern 112 för ett andra kodblock i en andra läslinje i delområdet 116.
Det andra kodblocket kan förekomma före det första kodblocket längs en Zlfšššïšwïfiålíš få) Effiš* LAàÅÜO šåššií š“~t«'šf§å_}ï$ï\?ê íšfïtšíššïšïfåíšíšššë O? I íšét) .ljiíl;=,faššišïflfï\"fššiš"ïëíïiíßi~ *f ÅítfâY~l~ÅíIš _ z'i__í.f1xf§"=efirje;íš»ëñfëi?ifïiš Vi 'Tíëëi 10 15 20 25 30 35 9 läsriktning i bilden. Det första kodblocket kan vara ett nästa kodblock i en nuvarande läslinje i delområdet. Det andra kodblocket kan vara ett sista kodblock i en tidigare läslinje i delområdet.
Förfarandet innefattar i ett steg 908 associering mellan tilläggskodblocket och delområdet. Fig. 2(g) illustrerar ett delområde 116 associerat med tilläggskodblocket 118. För varje läslinje i delområdet 116 har den differenskodade parametern 122 för originalkodblocket längst till vänster associerats med ett motsvarande tilläggskodblock. Associationen mellan originalkodblock 110 och tilläggskodblock 118 kan vara sådan att den tillagda differenskodade parametern 120 beror på den differenskodade parametern 122.
Enligt detta illustrativa exempel har vart och ett av originalkodblocken längst till vänster associerats med ett motsvarande tilläggskodblock eftersom det antas att originalkodblocken 110 i varje läslinje 108 har lästs från vänster till höger. Således, generellt sett kan den särskilda associationen mellan originalkodblock 110 och tilläggskodblock 118 beror på lästekniken (dvs. i vilken ordning som originalblocken har lästs i varje läslinje 108 och/eller hur läslinjerna 108 har definierats).
Den särskilda associationen mellan originalkodblock 110 och tilläggskodblock 118 kan också vara oberoende av lästekniken.
Tilläggskodblocken kan exempelvis vara associerade med delområdet från höger trots att läsordningen är från vänster till höger. I ett sådant fall kan det finnas upplinjeringsproblem. Men sådana upplinjeringsproblem kan lösas genom införandet av en tilläggsläslinje före (dvs. ”ovanför") den första läslinjen i delområdet.
Således kan tilläggskodblocket associeras med delområdet från vänster eller höger som en kolumn av block, eller från toppen eller botten som en rad av block, mutatis mutandis.
Varje kodblock kan vara en minsta kodad enhet (MCU). MCUn kan innefatta minst en luminanskomponent. MCUn kan vidare innefatta minst två krominanskomponenter. Företrädesvis innefattar MCUn två luminanskomponenter, härefter kallade Y1 och Y2. Företrädesvis innefattar MCUn två krominanskomponenter, härefter kallade U och V. Varje kodblock kan vara en del av en JPEG-kodad bild.
För att alstra en ny JPEG-bild genom beskärning av en original-JPEG- bild kan en alternativ lösning involvera att avkodad de VLC-kodade blocken för varje block i bilden och sedan att för varje block inom det valda beskärda Qíšfiïšfl iäíïåš ÉÛ, Vi *lfflêflfiiffaàwfåífšfš Åšširíšíïškhïïßfš â-Xlêïßštlwïššlüwíïíflåšíkfšëš? lšflâïíílššiïê G403§íäï2Ûíš$l1 ÜGSWQE 04ÛßššfßjštiïlrfïïvtY-NÉCUNTIQnsšašlezëøšârëäëniieïš-šïflßïlššflšä WÉÄJAXW, 10 15 20 25 30 35 10 området återkoda den VLC-avkodade datan till en ny JPEG-bild. Detta kan vara en snabbare ansats än att avkoda hela hela JPEG-bilden till pixlar eftersom endast den VLC-kodade data behöver avkodas, dvs. varken framåt- DCT eller invers-DCT behöver utföras.
Bilden 106 kan lagras som en sekvens av kodord. Kodorden kan vara binära, hexadecimala, eller liknande. Enligt en utföringsform innefattar förfarandet i ett steg 910 extrahering av kompletta kodord från sekvensen av kodord. Fig. 3 illustrerar en sekvens 302 av kodord. En pil 304 illustrerar schematiskt en extraheringsprocess varvid kompletta kodord extraheras från sekvensen 302 av kodord. Hänvisningsbeteckning 306 hänvisartill en extraherad sekvens av kompletta kodord (dvs. ett kodord enbart innefattande bitar från det valda delområdet), varvid kodorden har separerats, såsom illustretats med de vertikala linjerna 308.
Eftersom bilden kodats med en VLC kan varje kodparameter vara associerade med ett eller flera kodord eller, om kodparametern är mindre än storleken på ett kodord, med en del av ett kodord. Med andra ord kan varje kodparameter vara associerad fler än ett kompletta kodord. PÅ motsvarande vis kan varje kodord vara associerad med fler än en kodparameter. Som en konsekvens därav kan alltså de kompletta kodorden innefatta så kallade exkluderade kodbitar associerade med kodblock som inte definierar det extraherade delområdet. Fig. 4 illustrerar en sekvens 306 av kompletta kodord, varvid det kompletta kodordet längst till vänster innefattar kodbitar x x x, refererade till av hänvisningsbeteckning 308, vilka kodbitar inte är associerade med det extraherade delområdet. På motsvarande vis innefattar de kompletta kodorden längst till höger exkluderade kodbitar x x, refererade till av hänvisningsbeteckning 310.
Tilläggskodblocken kan vara kodade med en VLC. En given parameter i ett första tilläggskodblock kan alltså vara kodad med ett första antal bitar medan samma parameter i ett andra tilläggskodblock kan vara kodat med ett andra antal bitar olikt det första antalet bitar. På motsvarande vis kan den tillagda differenskodade parametrarna i tilläggskodblocken kodas med en VLC. De kodade parametrarna i tilläggskodblocken kan alltså inkludera kodord som inkluderar data som är exkluderad från den önskade bilden.
Således kan kodorden associeras med upplinjeringsdata. Enligt en utföringsform innefattar förfarandet i ett steg 912 alstring av upplinjeringsdata som avser en eller flera specifika kodord. Upplinjering kan vara mot 1G 14. Xäïäíštfifidwššßíï§11§3\$ïïâl._!ï\ÛC=fälšlšïšlïåïNTÜUšQÉívÉY' íEfšOSÉšÉêXÉGÜQfGíilšwlå?GfšfllššššwšfšLilïëíëílYåï/lálåßwvïrsrfsiaâšonmífårnerëašeclwïsïåfïåïålp) "ïåšåcšoil 10 15 20 25 30 35 11 föregående och nästa kodord. Det specifika kodordet kan vara ett kodord i ett kodblock i delområdet.
Fig. 5 illustrerar tilläggsdatabitar 312 som exempelvis representerar en tillagd differenskodad parameter. Enligt det illustrativa exemplet som visas i Fig. 5 innefattar tilläggsdatabitarna 312 sju bitar, där det antas att varje komplett kodord innefattar totalt åtta bitar. Såsom illustreras schematisk med pilen 304 associeras tilläggsdatabitarna 312 med upplinjeringsdata vilket resulterar i det utvidgade kodordet 314 innefattande de sju originalbitarna och upplinjeringsbitar z z z z hänvisade till av hänvisningsbeteckning 316.
Upplinjeringsdatan, eller bitarna, kan såsom kommer att beskrivas vidare nedan vara baserade på antalet exkluderade bitar inkluderade i det specifika kodordet.
Enligt en utföringsform innefattar förfarandet i ett steg 914 infogning av upplinjeringsdata i ett tilläggskodblock associerat med det specifika kodordet.
Figur 6 illustrerar ett utvidgat kodord 314 i ett tilläggskodblock, varvid det utvidgade kodordet innefattar upplinjeringsbitar z z z z och ett komplett kodord 318 associerat med ett kodblock i ett delområde.
Databitar i tilläggskodblocken kan användas för att skriva över de exkluderade bitarna. Detta kan åstadkommas genom att utvärdera kraven för upplinjeringsbitarna för kodblock som är intilliggande tilläggskodblocken och att alstra tilläggskodblocket exempelvis baserat på villkoret att tilläggskodblocken har en läng på n*8 + #upplinjeringsbitar, där n är ett heltal och #upplinjeringsbitar är antalet upplinjeringsbitar som behövs för att behålla upplinjeringen av bitari det kompletta kodordet efter inläggning av tilläggskodblocket mellan ett första och ett andra kodblock.
Denna typ av tilläggskodblock kan ha följande format: , där DC diff Y1 representerar den differenskodade DC-koefficienten för den första luminanskomponenten Y1, DC diff Y2 representerar den differenskodade DC-koefficienten för den andra luminanskomponenten Y2, DC diff U representerat den differenskodade DC-koefficienten för den första krominanskomponenten U, DC diff V representerar den differenskodade DC- koefficienten för den andra krominanskomponenten V, EOB representerar il? ïåëSC/âlšjlfšåš få Büšifiråàâlšïš .ABKQÅÉE l“=fT\í}åJ5ï§lfl/! zoo oss zero: i: i 120313: :messageL::am*ßafscasjjrrfaf;g1aa:flwgfafwtanasswfvi/xrtxzj*m rzié rasa (_ 10 15 20 25 30 35 12 slut på blocket, och AC align representerar upplinjeringskoefficienterna som skall alstras. Generellt sett kan upplinjeringskoefficienterna vara vilken koefficient som helst, inte nödvändigtvis den noterade AC-koefficienten.
För att hitta lämpliga AC-koefficienter kan en tabell med åtta önskade upplinjeringar (dvs. 0-7 bitar för fallet med 8-bitars kodord) användas, från vilken tabell de önskade AC-koefficienterna kan väljas. I fallet då originalbilden JPEG-kodats med användning av standard-Huffmantabeller kan följande tabell användas för U- och V-komponenterna: (0: ingen AC-koefficient lags till) : symbol 0x04 med kod 11000000 0 : symbol Ox05 med kod 11001000 00 : symbol 0x01 med kod 010 :symbol 0x52 med kod 11111110 0100 : symbol 0x02 med kod 10000 : symbol 0x26 med kod 11111111 10001100 000000 : symbol 0x03 med kod 1010000 Som ett exempel, antag att formatet < EOB > Y2>< EOB >< EOB >< EOB > skall användas och tar följande värden (varvid den önskade totala upplinjeringen är +4): NODCYI-ÄOOIU-Å <010><1010><00><1010><00><00><011><00>, varvid representerar upplinjeringsbitarna som skall bestämmas. Genom att inte ta hänsyn till upplinjeringsbitarna för AC-koefficienten innefattar således sekvensen 22 bitar. De 22 bitarna upplinjeras med 6 bitar (), vilket kräver att AC-koefficienten upplinjeras med ytterligare n*8+6 bitar för att bli upplinjerad med 4 bitar (t.ex. ), där n är ett heltal. Koefficienten <11111111 10001100 000000> kan alltså väljas från den ovan givna tabellen och därmed alstra exempelvis det följande tilläggskodblocket: <01010100 01010000 00111111 1111100011000000 0000>.
Det tilläggskodblocket har alltså en upplinjering av fyra, och innefattar även det önskade differens-DC-värdena. Tilläggskodblocket kan läggas in mellan den första och den andra MCUn utan att påverka upplinjeringen av bitarna i relation till gränderna på de nästa kodorden.
Fig. 7 illustrerar ett utvidgat kodord 314 för ett tilläggskodblock, varvid det expanderade kodordet innefattar upplinjeríngsbitar z z z z, och kompletta kodord 320 associerade med ett kodblock i ett delområde.
Zïšílïæítïáš? “íšjkl VLÅSÉLCIÄ šïilåfšåïíïššïiå 'z GÅÅÜLBÉÉPEZÛGÉÉ 10 15 20 25 30 35 13 Databitar motsvarande upplinjeringsdatan kan vara baserade på de exkluderade kodbitarna. Detta kan åstadkommas genom eva|uering av kraven för upplinjeringsbitar på kodblock liggande intill tilläggskodblocken och alstring av tilläggskodblocket baserad exempelvis på villkoret att tilläggskodblocken har en läng på n*8 + #upp|injeringsbitar, där n är ett heltal och #upp|injeringsbitar är antalet upplinjeringsbitar som behövs för att behålla upplinjeringen av bitar i det kompletta kodorden efter inläggning av tilläggsdatablocket mellan ett första och ett andra kodblock och varvid upplinjeringsbitarna är förbestämda.
I detta fallet sätts den sista koefficienten i tilläggskodblocket till ett värde skiljt från noll. Detta värde kodas sedan genom användning av en AC- JPEG-kategori, varvid AC-JPEG-kategorin bestämmer det krävda antalet minst signifikanta bitar (LSB). AC-JPEG-kategorin väljs att vara högre eller lika med den behövda upplinjeringen. För att alstra det korrekta antalet bitar ( och det korrekta antalet koefficienter) läggs ytterligare AC-koefficienter coeff> in mellan och den sista AC-koefficienten .
Denna typ av tilläggskodblock kan ha följande format: n* , där n är ett heltal Tilläggskodblocken kan vara anordnade såsom första kodblock i läslinjer i delområdet.
Fig. 8 illustrerar en sekvens av kodord 800 varvid tilläggskodblock 804, 810 har lagts in mellan det sista kodblocket 802 i ett tidigare kodblock 814, 816 och det första kodblocket 806, 812 i ett nästa kodblock 816, 818 (notera alltså att kodblock 816 agerar som både ett tidigare kodblock och ett nästa kodblock).
Enligt en utföringsform innefattarförfarandet i ett steg 916 utvidgning av delområdet till att inkludera kompletta kodblock.
Den differenskodade parametern kan vara en DC-koefficient. De exkluderade bitarna kan vara associerade med vilken koefficient som helst, såsom antingen DC-koefficienter eller AC-koefficienter. efiëífilifš Ålššëfššíllåíßšíšíš ßäXš#>A“í”iÉït»íT“=íɧä,í f , ä 0-fí0399__E>L;?=ßšxêY-šäfltïííMïransš :rim(ffuïtertolewatfl-âíšéššïfítílï; ïlEšwš rio: ïvííšíífiïšïl? 10 15 20 25 30 35 14 Såsom ovan förklarats kan en MCU innefatta luminans- och krominanskomponenter. Några av komponenterna kan vara subsamplade i horisontell eller vertikal riktning. Ett vanligt format kallas YUV422, varvid den andra (U) komponenten och den tredje (V) komponenten har blivit horisontellt subsamplande vilket alltså kräver två första komponenter (Y) eftersom det måste ha dubbelt så mycket horisontell data. Med andra ord kan MCUn för formatet YUV422 symboliskt skrivas såsom [MCU YUV422] = [ [Y1][Y2][U][\/] ]. Varje komponent har en DC-koefficient. Komponentens DC-koefficient kan vara beroende på den tidigare DC-komponenten. l fallet för U- och V- komponenterna kan dessa vara beroende på den tidigare MCUns U- respektive V-komponenter. Y1 kan vara beroende av en tidigare MCUs Y2- komponent. Y2 kan vara beroende på Y1 i den samma komponenten.
Då det i denna särskilda utföringsform hänvisas till beroenden av DC- komponenter på tidigare MCUer skall det förstås att endast Y1-komponenten är beroende på den tidigare MCUns Y1-komponent eftersom Y2- komponenten kan vara beroende på den tidigare Y1-komponenten i samma MCU.
Nedan ges ett exempel av en uppsättning MCUer i en bild som använder formatet YUV422, varvid bilden innefattar 16 gånger 8 MCUer, där varje MCU innefattar fyra dataenheter av 8 pixel gånger 8 pixel. I detta exempel innefattar bilden 160 MCUer per MCU-läslinje: [ivicu 20011|vicu 20111|v|cu 2021 1|v|cu 2031 [Mcu 36011Mcu 36111|v|cu 36211|v|cu 3631 [Mcu 52011|v|cu 5211[|v|cu 52211|v|cu 5231 ._ [Mcu 66011Mcu 66111|v|cu 6621 [ivicu 6631 Antag att MCU 361,MCU 362, MCU 521, och MCU 522 skall extraheras till en ny bild. Eftersom exempelvis Y1-DC-komponenten i MCU 361 är beroende på Y1-DC-komponenten i MCU 360 alstras tilläggsblock, härefter kallade DMCUer, för att lösa DC-beroendet. Vidare kan DMCUerna möjliggöra att samma byte-uppllnjering kan behållas för alla MCUer; en dålig upplinjering kan vara ett problem vid kopiering eftersom inmatníngen då måste bitskiftas, såsom beskrivits ovan. Det kan också vara ett problem vid flykthantering (“escape handling” enligt den gängse terminologin) eftersom JPEG-standarden kräver inläggning av datan 0x00 efter varje data Oxffi bitsekvensen. En ändring av upplinjeringen kan ändra placeringen av Oxff- 2063~1a>~63 u: vrïxsazraidfæøc rxlsxêëcßttyasc: 216113311:retwmißrfëfvrf 1361661912: 6140363126061 6631121 3463samöurrflrvfiv-lafictrjrra6615116511631661166531113Mum 16:11:66 10 15 20 25 30 35 15 data, vilket sålunda kräver ganska långsam hantering av så kallade escapes (dvs. motsvarande datan Oxff). Genom inläggning av DMCUer kan den ursprungliga bitupplinjeringen för den kompletta datan bevaras. Genom inläggning av DMCUerna kan problemet avseende DC-beroende lösas.
För det ovannämnda exemplet kommer alltså den nya bilden att innefatta block enligt nedan där DMCUO och DMCU1 är tillagda tilläggs-MCU- block: [DMCU O] [MCU 361] [MCU 362] [DMCU 1] [MCU 521] [MCU 522] Sålunda kommer den nya (och mindre) bilden att innehålla en första MCU-kolumn innehållande "icke-billdata”. Men denna icke-billdata kan borttagas eller ignoreras efter avkodning.
För att ytterligare exemplifiera upplinjeringsprocessen kommer byte- upplinjeringen för varje MCU-data att illustreras nedan. Sekvensen aaa..aa avser bitar i MCU 360, sekvensen bbb..bb avser bitar i MCU361, och så vidare.
Antag alltså att MCU 361,MCU 362, MCU 363, MCU 521, och MCU 522 har upplinjeringar i termer av hela block såsom illustreras nedan: MCU 361 = [aaaabbbb bbbbbbbb bbbbbccc], vänster upplinjering +4, höger upplinjering -3, MCU 362 = [bbbbbccc cccccccc ccdddddd], vänster upplinjering +5, höger upplinjering -6, MCU 521 = [fggggggg gggggggg gghhhhhh], vänster upplinjering +1, höger upplinjering -6, och MCU 522 = [gghhhhhh hhhhhhhh hhiiiiii], vänster upplinjering +2, höger upplinjering -6.
DMCU 0 bör ha en korrekt byte-upplinjering enligt MCU 361, dvs. +4.
Med andra ord, för block om en byte (dvs. 8 bitar) skall bitlängden för DMCU 0 vara n*8 + 4, där n är ett heltal. Även DC-koefficienten för DMCU 0 bör adderas till noll tillsammans med DC-koefficienten för DMCU 361. En tillräcklig DMCU O kan alltså vara: DMCU 0 = [xxxxxxx xxxyyyyy yyyyyyyy yyyybbbb], där xxx...xx kan beräknas enligt DC-värdet för MCU 361, och där sekvensen yyy...yy är en godtycklig sekvens av tillåtna kodord eller minsta signifikanta bitar (LSB) inkluderande slut-av-block (EOB) -data. Bitarna i sista byten [yyyy ...] kan sammanfogas med bitar i nästa MCU [...bbbb] till lwvybbbbl- ÉÉGÉšÃå» 'i (í-išåï i 1/2. ï,/:\É'»CÅE..AÜÛ Åššëfißffäííäïšfi fäïå\äš~ï'á"ïšINïïífiälïxtšíïz'š“ï' šlšëíï ííïšlëixíš l íšêššlàlåššï2íltíïâ i Üíš .š__?”a ÜëlšïšäftøflmíšUïäflïïfšYåälfšíïUmTrßnslaišøiïwá/fälflafiflíšeçl» ïtfššßaäKšå p? TE h* Fist 10 15 20 25 30 35 16 DMCU 1 bör ha en korrect byte-upplinjering enligt MCU521, och MCU 362, dvs. -3 mot MCU 361, och +1 mot MCU 521. En tillräcklig DMCU 1 kan alltså vara: DMCU 1 = [CCXXXXXX XXXXXXVV vwwvvv vvwwvv vssssgssl. där bitarna i den sista byten [y . . . . ..] kan sammanfogas med bitarna i nästa MCU [_ ggggggg] till [yggggggg]. Bitarna för den först byten [...xxxxxx] kan sammanfogas med bitarna i den förra MCUn [cc . . . . ..] till [ccxxxxxx]. Även alternativa DMCUer utan EOB i den sista DMCUn kan alstras.
Den sista koefficientens sista bitar kan exempelvis innefatta LSBer alstrade för att bevara icke-önskade bitar som är kvar från den förra MCUn i den första byten för MCUn efter DMCUn. I detta fallet behöver det inte vara nödvändigt att sammanfoga bitarna för DMCUn med den därpå följande MCUn; DMCUns sista bitar kan vara LSBer och som sådana vara av godtyckligt värde.
Det tillhandahålls ett förfarande för behandling av en VLC-kodad informationssekvens innefattande ett flertal originalkodblock innefattande en differenskodad parameter, varvid förfarandet innefattar: definiering av åtminstone en delsekvens av den VLC-kodade informationssekvensen, där varje delsekvens innefattar delar av ett antal av de flertalet originalkodblocken, extrahering av nämnda minst en delsekvens, alstring av en uppsättning tilläggskodblock innefattande en tillagd differenskodad parameter baserad på nämnda differenskodade parameter för ett första kodblock för delar av ett antal av de flertalet originalkodblock i delsekvensen, och associering mellan tilläggskodblocken och delsekvensen.
Den tillagda differenskodade parametern kan vara baserad på den differenskodade parametern för i ett andra kodblock för ett andra kodblock för delar av ett antal av de antalet flertalet originalkodblock i delsekvensen.
Alstringssteget kan vidare innefatta alstring av upplinjeringsdata avseende ett specifikt kodord, varvid upplinjeringsdatan är baserad på ett antal exkluderade databitar inkluderade det specifika kodordet, och inläggning av upplinjeringsdatan i ett tilläggskodblock associerat med det specifika kodordet.
Det tillhandahålls ett förfarande för behandling av en bild kodad med en variabellängdskod, nämnda bild innefattande ett flertal läslinjer, där varje läslinje innefattar ett antal originalkodblock innefattande en differenskodad parameter. Förfarandet innefattar definiering av ett delområde i bilden, nämnda delområde innefattande delar av ett antal av nämnda läslinjer, i V åššä-íïšílíßbâtßätfi,ëíš , f ššfšëšišlïiåišíšïš Qšlliišjpfl l Üfltíšfšílšïmwšfïísï å-.fišïfšïï i :frgfijílßtsrianaæffišifëßlêšifiiâßi 'ï%Zš\1,a*oif: 10 15 20 25 30 35 17 extrahering av nämnda delområde, och anpassning av den differenskodade parametern i ett andra kodblock i en andra läslinje i delområdet till den differenskodade parametern i ett första kodblock i en första läslinje i delområdet. Det andra kodbiocket kan uppträda före det första kodbiocket enligt en läsordning i bilden. Det första kodbiocket kan vara ett nästa kodblock i en nuvarande läslinje i delområdet. Det andra kodbiocket kan vara ett sista kodblock i en tidigare läslinje i delområdet.
Förfarandet kan vidare innefatta alstring av en uppsättning tilläggskodbiock innefattande en tillagd parameter.
Den tillagda parametern kan ha ett statiskt värde. Den tillagda parametern kan ha värdet noll. Värdet på den tillagda parametern kan alltså vara förutbestämt och således vara oberoende av data i det första kodbiocket och det andra kodbiocket.
Förfarandet kan vidare innefatta bestämning av upplinjeringsfel mellan det andra kodbiocket och det första kodbiocket. Upplinjeringsfel mellan kodbock har beskrivits ovan. Upplinjeringsfelet kan vara relaterat till kodorden i det andra kodbiocket respektive det första kodbiocket.
Problem avseende upplinjeringsfel kan orsaka att det är svårt, eller till och med omöjligt, att avkoda delar av kodblocken. Förfarandet kan alltså vidare innefatta upplinjeringsbitar baserade på det bestämda upplinjeringsfelet Förfarandet kan vidare innefatta inläggning av de alstrade upplinjeringsbitarna i tilläggskodblocken. Tilläggskodblocken kan alltså innefatta den tillagda parametern och upplinjeringsbitarna.
Tilläggskodblocken kan därför vara av samma format som originalkodblocken.
Förfarandet kan vidare innefatta associering mellan tilläggskodblocken och delområdet. Bitarna i kodblocken i det extraherade delområdet och bitarna i tilläggskodblocken kan bilda en enda biström. Eftersom tilläggskodblocken kan vara av samma format som originalkodblocken kan dessutom denna enda bitström vara enkel att behandla, avkoda, eller liknande.
Det tillhandahålls även ett förfarande innefattande utförande av ett urval av block från en VLC-ström av block, alstring av en ny VLC-ström av block genom användning av de valda blocken, och alstring av åtminstone ett tilläggsblock i den nya VLC-strömmen av block. Storleken på VLC- tilläggsblocket kan vara anordnad sådan att den inte ändrar bitupplinjeringen 10 15 20 25 30 35 18 för därpå följande block som kopieras från original-VLC-strömmen.
Tilläggsblocken kan vara anordnade förjustering av beroende av tidigare och/eller nästa block.
Det tillhandahålls även ett förfarande innefattande utförande av ett urval av block från en VLC-kodad ström av block, varvid blocken har ett beroende av tidigare block, alstring av en ny variabellängdskodad ström av block genom användning av de valda blocken, och för varje block som har ett originalberoende på ett icke-tidigare block i den nya strömmen av block, alstring av ett tilläggsblock anordnat att vara mellan det tidigare blocket med ett justerat beroende och ett nästa block, varvid storleken på tilläggsblocket är anordnad så att det behåller bitupplinjeringen för därpå följande block.
Ovan nämnda förfaranden kan vara tillämpbara för att koda digital information, såsom kodad digital bildinformation, kodad digital musikinformation, kodad digital textinformation, och kodad korrelerad datainformation. Den kodade digitala informationen kan vara kodad komprimerad information.
Ovan nämnda dator kan innefatta kretsar som är anordnade att utföra ett förfarande såsom ovan beskrivits. Alternativt kan kretsar anordnade att utföra ett förfarande såsom ovan beskrivits vara anordnade i en separat dator vilken kan vara anslutningsbar till en av de ovan nämnda datorerna. Fig. 10 illustrera schematiskt en anordning 1000 enligt en utföringsform. Anordningen 1000 kan vara en dator. Anordningen 1000 kan vara en personlig digital assistent (PDA). Anordningen 1000 kan vara en mobiltelefon. Anordningen 1000 innefattar processororgan 1004 såsom en central processorenhet och/eller en särskild bildprocessor, såsom en hårdvaruaccelerator för JPEG, lagringsorgan 1006, såsom ett minne eller ett datorläsbart lagringsmedium, och kommunikationsorgan 1008, såsom en mottagare och en sändare eller en sändaremottagare, exempelvis anordnade att mottaga inmatning från och leverera utmatning till ett människa-maskin-gränssnitt (MMl) 1010, en annan dator, eller liknande. Anordningen 1000 körs under ledning av ett operativsystem 1002.
Den ovannämnda datorprogramprodukten kan innefatta mjukvaruinstruktioner som då nedladdade till en dator, såsom anordningen 1000, är anordnade att utföra ett förfarande såsom beskrivits ovan. Alternativt kan mjukvaruinstruktionerna vara separat distribuerbara att distribueras i ett datornätverk. Datorprogramprodukten kan vara tillhandahållen i ett seçïuwßtfmt: aß:f;::;;ea:.,.aar>,ßcrië'æ:rfzzïlts:utav oss r 01.13,2: sflosszewoi;rv:MY-mQumjæanstatšffilw:aïnenaffrf-æftrflxtäkti a; *ram furst, 19 datorläsbart lagringsmedium, såsom ett RAM-minne, ett ROM-minne, en USB-produkt, såsom en minnessticka, eller liknande.
Uppfinningen har ovan i huvudsak beskrivits med hänvisning till särskilda exempel. Men såsom fackmannen inom området förstår är andra exempel än de ovan beskrivna möjliga inom uppfinningens omfång som definieras av de bifogade patentkraven. íërneafifleíšwšïilšxéïšKííFi "ïëêéfèoo

Claims (18)

    10 15 20 25 30 Éfßíëšïf: GÅÛ 20
  1. PATENTKRAV
  2. . Förfarande för behandling av en bild kodad med en variabellängdskod och innefattande ett flertal läslinjer, varvid varje läslinje innefattar ett antal originalkodblock innefattande en differenskodad parameter, varvid förfarandet innefattar: - definiering av ett delområde i bilden, nämnda delområde innefattande ett antal av nämnda läslinjer, - extrahering av nämnda delområde, - alstring av en uppsättning tilläggskodblock innefattande en tillagd differenskodad parameter baserad på den differenskodade parametern i ett första kodblock i en första läslinje i delområdet, och - associering mellan tilläggskodblocket och delområdet.
  3. . Förfarande enligt krav 1, varvid nämnda tillagda differenskodade parametrar baseras på nämnda differenskodade parametrar för ett andra kodblock för en andra läslinje i nämnda delområde.
  4. . Förfarande enligt krav 1 eller 2, varvid nämnda bild lagras som en sekvens av kodord, och varvid nämnda extrahering innefattar: - extrahering av kompletta kodord från nämnda sekvens av kodord. _ Förfarande enligt något av krav 1 till 3, varvid nämnda kodblock innefattar kodord innefattande exkluderade kodbitar associerade med kodblock exkluderade från nämnda delområde.
  5. . Förfarande enligt något av krav 1 till 4, varvid nämnda alstring innefattar: - alstring av upplinjeringsdata relaterad till ett specifikt kodord, varvid uppiinjeringsdatan är baserad på antalet exkluderade bitar inkluderade i det specifika kodordet, och - infogníng av upplinjeringsdata i ett tilläggskodblock associerat med nämnda specifika kodord. 'âïiïïvntiotts 10 15 20 25 30 21
  6. 6. Förfarande enligt krav 5, varvid nämnda specifika kodord är nämnda första kodblock i nämnda första läslinje.
  7. 7. Förfarande enligt krav 5 då det är beroende på krav 2, varvid nämnda specifika kodord är nämnda andra kodblock i nämnda andra läslinje.
  8. 8. Förfarande enligt något av krav 5 till 7 då de beror på krav 4, varvid databitar i nämnda tilläggskodblock skriver över nämnda exkluderade kodbitar.
  9. 9. Förfarande enligt krav 8, varvid minst en av första och sista databitar i nämnda tilläggskodblock skriver över nämnda exkluderade kodbitar.
  10. 10.Förfarande enligt något av krav 5 till 7 då de beror på krav 3, varvid databitar motsvarande nämnda upplinjeringsdata baseras på nämnda exkluderade kodbitar.
  11. 11.Förfarande enligt något av krav 1 till 10, varvid nämnda tilläggskodblock är anordnade såsom första kodblock i läslinjer i nämnda delområde.
  12. 12.Förfarande enligt något av krav 1 till 11, varvid nämnda definiering innefattar - utvidgning av nämnda delområde till att inkludera hela kodblock.
  13. 13.Förfarande enligt något av krav 1 till 12, varvid varje kodblock är en minsta kodad enhet, MCU.
  14. 14.Förfarande enligt något av krav 1 till 13, varvid varje kodblock är en del av en JPEG-kodad bild.
  15. 15.Förfarande enligt något av krav 1 till 14, varvid nämnda d ifferenskodade parameter är en DC-koefficient. 22
  16. 16.Förfarande enligt något av krav 1 till 12, varvid nämnda exkluderade bitar är associerade med minst en av en DC-koefficient och en AC- koefficient. 5
  17. 17.Anordning innefattande kretsar anordnade att utföra ett förfarande enligt något av krav 1 till 16.
  18. 18.Datorprogramprodukt innefattande mjukvaruinstruktioner som då nedladdade till en dator är anordnade att utföra ett förfarande enligt 10 något av krav 1 till 16. ëzïšåijfiåltiåš Tïi å!
SE0802657A 2008-12-23 2008-12-23 Extrahering av digital information SE0802657A1 (sv)

Priority Applications (4)

Application Number Priority Date Filing Date Title
SE0802657A SE0802657A1 (sv) 2008-12-23 2008-12-23 Extrahering av digital information
EP09799085.7A EP2371137B1 (en) 2008-12-23 2009-12-11 Method, apparatus and computer program product for subimage extraction from jpeg encoded data
PCT/EP2009/066933 WO2010072587A1 (en) 2008-12-23 2009-12-11 Subimage extraction from jpeg encoded data
US12/641,621 US8457427B2 (en) 2008-12-23 2009-12-18 Digital information extraction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0802657A SE0802657A1 (sv) 2008-12-23 2008-12-23 Extrahering av digital information

Publications (1)

Publication Number Publication Date
SE0802657A1 true SE0802657A1 (sv) 2010-06-24

Family

ID=42061945

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0802657A SE0802657A1 (sv) 2008-12-23 2008-12-23 Extrahering av digital information

Country Status (4)

Country Link
US (1) US8457427B2 (sv)
EP (1) EP2371137B1 (sv)
SE (1) SE0802657A1 (sv)
WO (1) WO2010072587A1 (sv)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2483767B1 (en) 2009-10-01 2019-04-03 Nokia Technologies Oy Method relating to digital images
JP2011244031A (ja) * 2010-05-14 2011-12-01 Fujifilm Corp 画像データ伸張装置および画像データ圧縮装置,ならびにそれらの動作制御方法
EP2603834B1 (en) 2010-09-20 2020-12-09 Nokia Technologies Oy Method for forming images
US8593309B2 (en) 2011-11-30 2013-11-26 Intel Mobile Communications GmbH Method for efficient decoding of variable length codes
CN115201092B (zh) * 2022-09-08 2022-11-29 珠海圣美生物诊断技术有限公司 细胞扫描图像的获取方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327248A (en) * 1992-03-23 1994-07-05 Ricoh Company, Ltd. Compressed image virtual editing system
US6246801B1 (en) * 1998-03-06 2001-06-12 Lucent Technologies Inc. Method and apparatus for generating selected image views from a larger image having dependent macroblocks
US6941019B1 (en) * 2000-05-10 2005-09-06 International Business Machines Corporation Reentry into compressed data
US6934417B2 (en) * 2000-12-22 2005-08-23 Texas Instruments Incorporated Transcoding scheme for assistance in image transformations
KR101089489B1 (ko) * 2003-11-18 2011-12-02 스칼라도 아베 디지털 이미지 처리 방법 및 이미지 표현 포맷
US20080199092A1 (en) * 2004-12-20 2008-08-21 Kazuo Ishida Image Data Generating Method, Apparatus Thereof, Image Distributing System, Image Distributing Apparatus Thereof, and Their Programs
US7830409B2 (en) * 2005-03-25 2010-11-09 Cherng-Daw Hwang Split screen video in a multimedia communication system
FI20065754L (sv) 2006-11-28 2008-05-29 Liquid Air Lab Gmbh Bildbehandlingsförfarande
FR2915037B1 (fr) 2007-04-11 2010-10-22 Sagem Comm Procede et dispositif de traitement d'image jpeg en decompression partielle

Also Published As

Publication number Publication date
WO2010072587A1 (en) 2010-07-01
US20100189370A1 (en) 2010-07-29
EP2371137B1 (en) 2020-10-14
US8457427B2 (en) 2013-06-04
EP2371137A1 (en) 2011-10-05

Similar Documents

Publication Publication Date Title
JP5762615B2 (ja) 高ダイナミックレンジ画像のエンコード、デコードおよび表現のための方法
US8942502B2 (en) Parallelization of variable length decoding
WO2015194187A1 (en) Harmonized palette coding
TW200920141A (en) System and method for context-based adaptive binary arithmetic encoding and decoding
JP6706357B2 (ja) 少なくとも1つの第2の画像成分の参照ブロックに対して第1の画像成分の現在ブロックを符号化するための方法、符号化装置および対応するコンピュータプログラム
WO2014087860A1 (ja) 復号装置、復号方法、およびプログラム
JP2010041624A (ja) 画像符号化装置及びその制御方法
SE0802657A1 (sv) Extrahering av digital information
US20070019870A1 (en) Image processing apparatus, printing apparatus and image processing method
US7643689B2 (en) Encoded data conversion method
US7256719B2 (en) Digital data decompression implemented in a field programmable array device
Zhou et al. Comments on" A Novel Compression and Encryption Scheme Using Variable Model Arithmetic Coding and Coupled Chaotic System
CN114375577A (zh) 联合分量二次变换
JP2008118303A (ja) 復号装置及び復号方法
US9674538B2 (en) Methods for reconstructing an encoded video at a bit-depth lower than at which it was encoded
JP3952116B2 (ja) 画像圧縮装置及び方法
EP2279561A2 (en) Method and device for encoding and decoding of data in unique number values
Kaur et al. Lossless compression of DICOM images using genetic algorithm
JP2019537344A (ja) 画像パラメータをコーディング及びデコーディングする方法、画像パラメータをコーディング及びデコーディングする装置、並びに、これらに対応するコンピュータプログラム
CN109729233B (zh) 基于图像的信息隐藏方法、装置、存储介质和电子设备
JP4241517B2 (ja) 画像符号化装置及び画像復号装置
JP5247793B2 (ja) 画像処理装置、画像処理方法、及びプログラム
Bonomini et al. Implementing an MPEG2 Video Decoder Based on TMS320C80 MVP
TW200937942A (en) Coding system and method for a bit-plane
CN109462763B (zh) 一种视频水印处理方法和系统

Legal Events

Date Code Title Description
NAV Patent application has lapsed