SE0802657A1 - Extrahering av digital information - Google Patents
Extrahering av digital informationInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H04N7/26106—
-
- H04N7/26329—
-
- H04N7/26372—
-
- H04N7/3016—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image 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)
- PATENTKRAV
- . 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.
- . 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.
- . 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.
- . 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. Förfarande enligt krav 5, varvid nämnda specifika kodord är nämnda första kodblock i nämnda första läslinje.
- 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. 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. 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.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.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.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.Förfarande enligt något av krav 1 till 12, varvid varje kodblock är en minsta kodad enhet, MCU.
- 14.Förfarande enligt något av krav 1 till 13, varvid varje kodblock är en del av en JPEG-kodad bild.
- 15.Förfarande enligt något av krav 1 till 14, varvid nämnda d ifferenskodade parameter är en DC-koefficient. 22
- 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.Anordning innefattande kretsar anordnade att utföra ett förfarande enligt något av krav 1 till 16.
- 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 å!
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)
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)
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 |
-
2008
- 2008-12-23 SE SE0802657A patent/SE0802657A1/sv not_active Application Discontinuation
-
2009
- 2009-12-11 EP EP09799085.7A patent/EP2371137B1/en active Active
- 2009-12-11 WO PCT/EP2009/066933 patent/WO2010072587A1/en active Application Filing
- 2009-12-18 US US12/641,621 patent/US8457427B2/en active Active
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 |