NO325934B1 - Procedure for selecting compression algorithm for data compression - Google Patents

Procedure for selecting compression algorithm for data compression Download PDF

Info

Publication number
NO325934B1
NO325934B1 NO20064962A NO20064962A NO325934B1 NO 325934 B1 NO325934 B1 NO 325934B1 NO 20064962 A NO20064962 A NO 20064962A NO 20064962 A NO20064962 A NO 20064962A NO 325934 B1 NO325934 B1 NO 325934B1
Authority
NO
Norway
Prior art keywords
data
compression
compression algorithm
block
algorithm
Prior art date
Application number
NO20064962A
Other languages
Norwegian (no)
Other versions
NO20064962L (en
Inventor
Endre Kirkhorn
Ola Bard Langlo
Original Assignee
Visitech As
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Visitech As filed Critical Visitech As
Priority to NO20064962A priority Critical patent/NO325934B1/en
Publication of NO20064962L publication Critical patent/NO20064962L/en
Publication of NO325934B1 publication Critical patent/NO325934B1/en

Links

Abstract

Oppfinnelsen angår en fremgangsmåte for å velge komprimeringsalgoritme for komprimering av data som omfatter å analysere dataene og basert på resultatet av analysen av dataene, velge en komprimeringsalgoritme. Oppfinnelsen angår også en fremgangsmåte for å overføre datamateriale fra en enhet til en annen som i tillegg komprimerer dataene med den valgte komprimeringsalgoritmen, overfører de komprimerte dataene, analyserer de overførte dataene for å finne den benyttede komprimeringsalgoritmen, velger dekomprimeringsalgoritme svarende til den benyttede komprimeringsalgoritmen og dekomprimerer dataene. Oppfinnelsen kan benyttes for overføring av data over en transmisjonskanal med begrenset kanalkapasitet, både akutt og fremtidig.The invention relates to a method for selecting the compression algorithm for data compression which comprises analyzing the data and, based on the result of the analysis of the data, selecting a compression algorithm. The invention also relates to a method of transferring data material from one unit to another which additionally compresses the data with the selected compression algorithm, transfers the compressed data, analyzes the transmitted data to find the compression algorithm used, selects decompression algorithm corresponding to the compression algorithm used. data. The invention can be used to transmit data over a transmission channel with limited channel capacity, both acute and future.

Description

Oppfinnelsen angår en fremgangsmåte for å velge komprimeringsalgoritme for komprimering av data og en fremgangsmåte for å overføre datamateriale fra en enhet til en annen. The invention relates to a method for selecting a compression algorithm for compressing data and a method for transferring data material from one unit to another.

Bakgrunn Background

Elektronisk A/V kommunikasjon er i kraftig utvikling, samtidig som kravet til mobilitet hos brukeren er økende. A/V kommunikasjon benyttes for informasjonsflyt mellom mennesker eller mellom maskin og menneske. Graden av verdien på informasjonen er blant annet en funksjon av hvor detaljert den er og av hvor raskt den oppdateres. Electronic A/V communication is rapidly developing, at the same time as the requirement for user mobility is increasing. A/V communication is used for information flow between people or between machine and person. The degree of value of the information is, among other things, a function of how detailed it is and how quickly it is updated.

Elektronisk bilde materiale karakteriseres blant annet av følgende parametere: Electronic image material is characterized, among other things, by the following parameters:

• Bildeoppløsning (antall pixler vertikalt og horisontalt) • Image resolution (number of pixels vertically and horizontally)

• Bilderate (frames pr sekund) • Frame rate (frames per second)

• Farvedybde (antall bit som skal til for å beskrive intensiteten pr farge rød, grønn og blå) • Color depth (number of bits needed to describe the intensity per color red, green and blue)

• Farvehistogram (hyppighet av hver farge pr. frame) • Color histogram (frequency of each color per frame)

Elektronisk lyd materiale karakteriseres blant annet av følgende parametere: Electronic sound material is characterized, among other things, by the following parameters:

• Dynamikkområde (forskjellen mellom det sterkeste og svakeste signal) • Dynamic range (the difference between the strongest and weakest signal)

• Frekvenskarakteristikk • Frequency response

• Antall kanaler (mono, stereo, surround) • Number of channels (mono, stereo, surround)

Generelt kan man si at fremveksten av CPU-kraft og kraftige (raske og høyoppløselige) analog-til-digital konvertere har gjort at datamengdene for digitaliserte analoge signaler som eksempelvis A/V signaler er økende. Andre digitaliserte analoge signaler kan være måleverdier fra sensorer (trykk,temperatur,lys,lyd,fuktighet m.m) benyttet i industri og forskning. In general, it can be said that the rise of CPU power and powerful (fast and high-resolution) analogue-to-digital converters has meant that the amount of data for digitized analogue signals such as A/V signals is increasing. Other digitized analogue signals can be measured values from sensors (pressure, temperature, light, sound, humidity etc.) used in industry and research.

Problemstillingen som ligger til grunn for oppfinnelsen gjelder for alle typer datamateriale og er ikke begrenset til A/V datamateriale slik som er beskrevet over. For illustrasjon av oppfinnelsen er det imidlertid i denne beskrivelsen benyttet elektronisk bildemateriale som eksempel, men dette skal ikke anses begrensende for oppfinnelsen. The problem underlying the invention applies to all types of data material and is not limited to A/V data material as described above. However, to illustrate the invention, electronic image material has been used in this description as an example, but this should not be considered limiting for the invention.

I den følgende beskrivelse er følgende begreper benyttet: In the following description, the following terms are used:

Piksel: Pixel:

Den minste bestanddelen i et bilde. The smallest component in an image.

Sanntid: Real time:

Et system som opererer i sann tid responderer umiddelbart etter at det har fått ny informasjon uten det omgivelsene vil oppleve som forsinkelse. A system that operates in real time responds immediately after it has received new information without what the environment will perceive as a delay.

Redundans: Redundancy:

Dersom et data materiale inneholder mye redundans, er den samme informasjonen gjengitt flere ganger. Når mye informasjon i data materialet er nesten identisk, kan dette oppfattes som redundans. Et eksempel er et høy oppløselig digitalisert bilde av en himmel. Det menneskelige øye vil ikke oppfatte ørsmå forskjeller i fargenyanser, og informasjonen betraktes derfor som redundant. If a data material contains a lot of redundancy, the same information is reproduced several times. When a lot of information in the data material is almost identical, this can be perceived as redundancy. An example is a high resolution digitized image of a sky. The human eye will not perceive tiny differences in color shades, and the information is therefore considered redundant.

Komprimering og komprimeringsgrad: Datakomprimering er en metode for å begrense data mengden i et gitt datamateriale, eksempelvis et digitalisert bilde. Hensikten ved å utføre datakomprimering kan være begrenset tilgang på datalagringsmedium eller begrenset kanalkapasitet i en transmisj onskanal. Compression and degree of compression: Data compression is a method for limiting the amount of data in a given data material, for example a digitized image. The purpose of performing data compression may be limited access to a data storage medium or limited channel capacity in a transmission channel.

Datakomprimering kan deles i 2 hovedkategorier: Data compression can be divided into 2 main categories:

Tapsfri komprimering og kodingsgevinst: Lossless compression and coding gain:

Ved å benytte en tapsfri datakomprimeringsalgoritme vil alle dataene i det originale materialet være tilgjengelig etter at komprimering er foretatt. Graden av reduksjon på datamaterialets størrelse etter kompresjon angir kodingsgvinsten. En måleenhet for kodingsgevinst kan være størrelsen (i antall bytes) på det komprimerte datamaterialet dividert på størrelsen på det originale datamaterialet. By using a lossless data compression algorithm, all the data in the original material will be available after compression has been carried out. The degree of reduction in the size of the data material after compression indicates the coding gain. A unit of measurement for coding gain can be the size (in number of bytes) of the compressed data material divided by the size of the original data material.

Ikke- tapsfri ( lossy) komprimering: Non-lossy (lossy) compression:

En algoritme for lossy datakomprimering fjerner data i det originale materialet etter bestemte kriterier. Alle dataene i det originale materialet er ikke tilgjengelig etter at komprimering er foretatt. Noen algoritmer tillater brukeren å velge hvor høy/hard komprimeringsgrad som skal benyttes. Jo høyere komprimeringsgrad, jo mer av det originale data materialet fjernes. A lossy data compression algorithm removes data in the original material according to certain criteria. All the data in the original material is not available after compression is done. Some algorithms allow the user to choose how high/hard the degree of compression should be used. The higher the compression ratio, the more of the original data material is removed.

Kanalkapasitet: Channel capacity:

Kanalkapasitet for en transmisj onskanal beskriver den maksimale dataraten som kan overføres over den angitte kanalen. Måleenhet for kanalkapasitet er datamengde pr tidsenhet, eksempelvis Megabyte pr sekund (Mbps). For mange transmisjonskanaler vil kanalkapasiteten variere som funksjon av tid. Dette gjelder spesielt for radiolinker Channel capacity for a transmission channel describes the maximum data rate that can be transmitted over the specified channel. The unit of measure for channel capacity is the amount of data per unit of time, for example megabytes per second (Mbps). For many transmission channels, the channel capacity will vary as a function of time. This applies in particular to radio links

Visuell kvalitet: Visual quality:

Visuell kvalitet beskriver verdien på hvordan et bildemateriale oppfattes av det menneskelige øye og hjerne. Visual quality describes the value of how an image material is perceived by the human eye and brain.

Frame: Frame:

En frame eller en ramme er ett bilde i en film sekvens. Vanlig benevnelse er frames pr second, dvs. antall rammer per sekund. A frame is one image in a film sequence. The common term is frames per second, i.e. the number of frames per second.

Transmisj onskanal: Transmission channel:

En transmisj onskanal beskriver en kobling mellom en sender og mottager, eksempelvis en datakabel eller en radiolink. A transmission channel describes a link between a transmitter and receiver, for example a data cable or a radio link.

For å kunne lette prosesseringen av bildemateriale, er det hensiktsmessig å ta utgangspunkt i et digitalt eller digitalisert bilde, det vil si et bilde som kan behandles på en datamaskin. Dermed kan man benytte CPU-ressurser for å gjøre skalering eller andre justeringer på materialet, i tillegg til å kunne overføre informasjonen over digitale transmisj onskanal er. In order to facilitate the processing of image material, it is appropriate to start with a digital or digitized image, i.e. an image that can be processed on a computer. Thus, one can use CPU resources to make scaling or other adjustments to the material, in addition to being able to transfer the information over digital transmission channels.

Bildemateriale inneholder ofte store mengder informasjon, og i mange tilfeller er det snakk om film som består av mange bilder (frames) per sekund. Dersom disse bildene ikke blir overført i riktig hastighet, og med riktig bildekvalitet, vil den visuelle kvaliteten bli sterkt redusert. Image material often contains large amounts of information, and in many cases it is a question of film consisting of many images (frames) per second. If these images are not transferred at the right speed, and with the right image quality, the visual quality will be greatly reduced.

Når denne informasjonen skal overføres over en transmisjonskanal, vil transmisj onskanal en svært ofte ikke ha kapasitet til å kunne overføre den informasjonsmengden som trengs - man har da en begrenset transmisjonskanal. When this information is to be transmitted over a transmission channel, the transmission channel will very often not have the capacity to be able to transmit the amount of information needed - you then have a limited transmission channel.

Dersom informasjonsmengden fra bildematerialet som skal overføres er større enn kapasiteten til transmisjonskanalen (målt i informasjonsmengde pr tidsenhet, bps) når aktuelt bildematerialet skal transmitteres, kan dette løses på flere måter. Eksempler på metoder for å løse dette er: If the amount of information from the image material to be transmitted is greater than the capacity of the transmission channel (measured in amount of information per time unit, bps) when the actual image material is to be transmitted, this can be solved in several ways. Examples of methods to solve this are:

a) Bruk av lengre tid på transmisjonen a) Use of a longer time on the transmission

b) Prioritering av transmisj onssikkerhet for deler av bildematerialet b) Prioritizing transmission security for parts of the image material

c) Utelatelse av overføring av deler av bildematerialet (enkel ikke-tapsfri komprimering) c) Omission of transmission of parts of the image material (simple non-lossless compression)

d) Komprimering av bildematerialet før transmisjon d) Compression of the image material before transmission

Dersom det foreligger et krav til at bildematerialet skal overføres i sann tid, faller If there is a requirement for the image material to be transferred in real time, it falls

alternativ a) bort, jfr. definisjonen av sann tid alternative a) away, cf. the definition of true time

Ved å prioritere transmisj onssikkerheten for de enkelte komponentene i bildematerialet som skal transmitteres (alternativ b), må man vurdere hvilke komponenter i materialet som oppleves som visuelt viktige og benytte metoder for å sikre at dette materialet blir overført med stor sikkerhet. Overføring av deler av materialet med større sikkerhet vil gå på bekostning av komponenter i materialet som rangeres som mindre viktige, som må få tilsvarende lav overføringssikkerhet, for å ikke overgå kanalkapasiteten. By prioritizing transmission security for the individual components of the image material to be transmitted (alternative b), one must assess which components of the material are perceived as visually important and use methods to ensure that this material is transmitted with great security. Transmission of parts of the material with greater security will come at the expense of components in the material that are rated as less important, which must be given a correspondingly low transmission security, in order not to exceed the channel capacity.

Dette kan således betegnes som en komprimeringsmetode, idet man manipulerer dataene slik at man risikerer at uviktige eller redundante data ikke nødvendigvis blir overført. This can thus be described as a compression method, as the data is manipulated so that there is a risk that unimportant or redundant data is not necessarily transferred.

Ved å utelate å overføre deler av informasjonsmengden (alternativ c), må dette gjøres på en måte som gjør at man begrenser tap av visuell kvalitet. Bildemateriale inneholder ofte mye redundans, og man kan derfor akseptere at informasjon blir utelatt dersom utelatelsen skjer kontrollert. Dette er i og for seg en variant av alternativ b, ettersom mindre viktig informasjon utelates. By omitting to transfer parts of the amount of information (option c), this must be done in a way that limits the loss of visual quality. Image material often contains a lot of redundancy, and one can therefore accept that information is omitted if the omission is controlled. This is in itself a variant of option b, as less important information is omitted.

Den mest avanserte måten å utelate redundant eller tilnærmet redundant informasjon på er å benytte mer avanserte komprimeringsalgoritmer (alternativ d). The most advanced way to omit redundant or nearly redundant information is to use more advanced compression algorithms (option d).

Det finnes flere metoder og algoritmer for bildekomprimering. Disse metodene har forskjellige egenskaper som gjør at de komprimerer visse typer bildemateriale bedre enn andre. Eksempler på parametere som karakteriserer slike komprimeringsalgoritmer er: There are several methods and algorithms for image compression. These methods have different properties that make them compress certain types of image material better than others. Examples of parameters that characterize such compression algorithms are:

• Tapsfri eller ikke-tapsfri komprimering • Lossless or non-lossless compression

• Komprimeringsgrad vs visuell kvalitet • Compression ratio vs visual quality

(gjelder for ikke-tapsfri komprimeringsalgoritmer) (applies to non-lossless compression algorithms)

• -Ressursbehov i utstyr som utfører komprimering/dekomprimering, slik som for eksempel: • -Resource requirements in equipment that performs compression/decompression, such as for example:

- Effektforbruk. - Power consumption.

Stort effektforbruk vil generere mye varme som kan være problematisk i enkelte miljøer, dessuten vil en effektkrevende enhet gjør brukstiden kort dersom batteri benyttes. High power consumption will generate a lot of heat which can be problematic in some environments, moreover, a power-demanding device will make the usage time short if a battery is used.

- Sanntidshåndtering vs. prosesseringskraft. - Real-time management vs. processing power.

Avanserte komprimeringsalgoritmer krever mye ressurser. Dersom tilgjengélig utstyr som utfører komprimeringen er begrenset vil komprimeringen ta tid og kan gå utover sanntidskravet. Advanced compression algorithms require a lot of resources. If the available equipment that performs the compression is limited, the compression will take time and may go beyond the real-time requirement.

Digitalt bildemateriale kan grovkategoriseres slik: Digital image material can be roughly categorized as follows:

• "Naturlige" stillbilder med små variasjoner mellom nabo-piksler når det gjelder farge og intensitet • CPU genererte stillbilder med høyere hyppighet av distinkte forskjeller i intensitet og farge hos nabo-piksler • CPU genererte animasjons filmer med relativt distinkte forskjeller hos nabopiksler og nabo-frames i farge og intensitet • "Naturlig" bevegelig film (motion picture) med små variasjoner mellom nabo-piksler og nabo-frames når det gjelder farge og intensitet • Kombinasjoner av de overnevnte -"twilight zones" • "Natural" still images with small variations between neighboring pixels in terms of color and intensity • CPU generated still images with a higher frequency of distinct differences in intensity and color between neighboring pixels • CPU generated animated movies with relatively distinct differences between neighboring pixels and frames in color and intensity • "Natural" moving film (motion picture) with small variations between neighboring pixels and neighboring frames in terms of color and intensity • Combinations of the above - "twilight zones"

En grafisk fremstilling av hvordan man kan kategorisere bildematerialer er gitt i figur 1. A graphic presentation of how to categorize image materials is given in Figure 1.

Den horisontale aksen angir graden av informasjonsmengde som forandrer seg fra frame til frame, mens den vertikale aksen angir graden av hvor "naturlig" bildematerialet er. En presentasjon av et digitalt fotografi har små variasjoner mellom nabo-piksler når det gjelder farge og intensitet og forandrer seg ikke mellom frarnes. Denne må derfor plasseres nederst til venstre på figuren (a). En presentasjon av en CPU generert tekst inneholdende et fotografi (eksempelvis en side i en bok) vil plasseres høyere opp på den vertikale akse (b) fordi det er en høyere grad av CPU generert materiale med større forandring i intensitet mellom nabo piksler. Et CPU generert bilde har større grad av variasjon, som for eksempel en presentasjon av et regneark. Dette har distinkte linjer og forandrer seg svært lite over tid (lite variasjon fra frame til frame). Den plasseres derfor øverst til venstre i figuren ( c). The horizontal axis indicates the degree of amount of information that changes from frame to frame, while the vertical axis indicates the degree of how "natural" the image material is. A presentation of a digital photograph has small variations between neighboring pixels in terms of color and intensity and does not change between neighboring pixels. This must therefore be placed at the bottom left of figure (a). A presentation of a CPU generated text containing a photograph (for example a page in a book) will be placed higher up on the vertical axis (b) because there is a higher degree of CPU generated material with a greater change in intensity between neighboring pixels. A CPU generated image has a greater degree of variation, such as a presentation of a spreadsheet. This has distinct lines and changes very little over time (little variation from frame to frame). It is therefore placed at the top left of the figure ( c).

En presentasjon laget i eksempelvis Powerpoint har regelmessige forandringer av hele bildeinnhold, noe som tilsier tidvis stor forandring i informasjon fra en frame til den neste. Dessuten benyttes det i stor grad CPU generert materiale. Det betyr at de distinkte overgangene mellom pikslene er tilstede - derfor plassert høyt opp i figuren. Fordi man har regelmessig skift i inter-frame informasjon er riktig plassering øverst til høyre i figuren (d). Dersom det legges inn små animasjoner i presentasjonen, vil deler av bildeinformasjonen oppleve stor inter-frame forandring, mens resten av bildet "står stille". Riktig plassering av figuren vil fortsatt være til høyre, men fordi en animasjon har mindre forandring mellom pikslene (dersom animasjonen skal virke "naturlig"), er riktig plassering lengre ned på vertikal akse (e). Helt nederst til høyre i figuren vil man plassere bevegelig naturlig film - motion picture. Her er det stor forandring fra én frame til den neste, mens forskjell i farve og intensitet mellom nabo pikslene er mindre (f). A presentation made in, for example, Powerpoint has regular changes to the entire image content, which implies that there is occasionally a large change in information from one frame to the next. In addition, CPU generated material is used to a large extent. This means that the distinct transitions between the pixels are present - therefore placed high up in the figure. Because there is a regular shift in inter-frame information, the correct location is at the top right of the figure (d). If small animations are included in the presentation, parts of the image information will experience large inter-frame changes, while the rest of the image "stands still". The correct position of the figure will still be on the right, but because an animation has less change between the pixels (if the animation is to appear "natural"), the correct position is further down the vertical axis (e). At the very bottom right of the figure, you will place moving natural film - motion picture. Here there is a large change from one frame to the next, while the difference in color and intensity between neighboring pixels is smaller (f).

I enkelte tilfeller er det vanskelig å vurdere om materialet tilhører et CPU generert materiale eller om det ser "naturlig" ut, ved for eksempel et manipulert fotografi. Likeledes kan det være noe informasjonsforandring fra frame til frame, typisk gitt ved en presentasjon med kun en svært liten animasjon. Denne gråsonen er kalt "twilight zone" (g) og her kan det være utfordrende å finne en optimal komprimeringsalgoritme for aktuelt bildemateriale. In some cases, it is difficult to assess whether the material belongs to CPU-generated material or whether it looks "natural", for example in the case of a manipulated photograph. Likewise, there may be some information change from frame to frame, typically given in a presentation with only a very small animation. This gray zone is called the "twilight zone" (g) and here it can be challenging to find an optimal compression algorithm for the relevant image material.

Kombinasjoner av kategorier kan eksemplifiseres ved en power point presentasjon inneholdende moduler med både regneark, tekst og en film. De ulike modulene har ulike visuelle egenskaper, for eksempel som beskrevet over. Dersom man skal komprimere bildemateriale som inneholder flere typer slike moduler, må det utføres et valg av komprimeringsalgoritme for hver modul for å oppnå optimal visuell kvalitet når materialet skal presenteres etter overføring og dekomprimering av det komprimerte materialet. Combinations of categories can be exemplified by a power point presentation containing modules with both spreadsheets, text and a film. The various modules have different visual properties, for example as described above. If image material containing several types of such modules is to be compressed, a choice of compression algorithm must be made for each module in order to achieve optimal visual quality when the material is to be presented after transfer and decompression of the compressed material.

Dersom det benyttes en komprimeringsalgoritme som ikke er optimal for den aktuelle typen bildemateriale, oppleves dette som utilstrekkelig visuell kvalitet ved at det innføres forvrengning. Dersom materialet komprimeres for mye, (for eksempel ved tilpasning til en begrenset overføringskapasitet i transmisjonskanalen) fjerner man mer informasjon enn det som er redundant, dvs. at viktig informasjon kan bli fjernet. Dette kan også føre til ikke-akseptabel visuell kvalitet i form av forvrengning. Det er særlig ved høy komprimeringsgrad at effekten ved bruk av uegnet komprimeringsalgoritme på aktuelt bildemateriale blir tydelig. If a compression algorithm is used that is not optimal for the type of image material in question, this is perceived as insufficient visual quality as distortion is introduced. If the material is compressed too much (for example when adapting to a limited transmission capacity in the transmission channel) more information is removed than is redundant, i.e. important information may be removed. This can also lead to unacceptable visual quality in the form of distortion. It is particularly with a high degree of compression that the effect of using an unsuitable compression algorithm on the relevant image material becomes apparent.

Eksempler på tapsfrie komprimeringsalgoritmer er RLE og LZW. Disse benytter seg av at når datamaterialet inneholder mye redundans, dvs. at samme informasjon er representert flere ganger, vil man kunne beskrive informasjonen på en annen måte ved å "telle" forekomster av de redundante dataene. Denne måten vil være mindre plasskrevende og kreve mindre kanalkapasitet ved overføring enn det opprinnelige datasettet. Examples of lossless compression algorithms are RLE and LZW. These make use of the fact that when the data material contains a lot of redundancy, i.e. that the same information is represented several times, it will be possible to describe the information in a different way by "counting" instances of the redundant data. This way will be less space-consuming and require less channel capacity for transmission than the original data set.

Ikke-tapsfrie algoritmer kan være JPEG og MPEG. JPEG benytter seg blant annet av at bildemateriale har en del informasjon som oppfattes av den menneskelige hjerne som redundant, selv om informasjonen for de aktuelle pikseldataene faktisk er noe forskjellig. En slik algoritme er ikke egnet for CPU-generert grafikk med distinkte overganger mellom nabopiksler. MPEG er en algoritme som i tillegg benytter redundansen mellom en eller flere frames i en bildesekvens. Non-lossless algorithms can be JPEG and MPEG. JPEG makes use, among other things, of the fact that image material has some information that is perceived by the human brain as redundant, even if the information for the pixel data in question is actually somewhat different. Such an algorithm is not suitable for CPU-generated graphics with distinct transitions between neighboring pixels. MPEG is an algorithm that also uses the redundancy between one or more frames in an image sequence.

Det finnes i dag ingen løsning som kan velge optimal komprimeringsalgoritme for materiale med forskjellig innhold som krever forskjellig type komprimering, når det foreligger et sanntidskrav eller et fremtidig krav til komprimeringsgrad. There is currently no solution that can select the optimal compression algorithm for material with different content that requires different types of compression, when there is a real-time requirement or a future requirement for the degree of compression.

Oppsummert kan vi si at det i dag ikke finnes løsninger som klarer å velge optimal komprimeringsalgoritme for aktuelt bildemateriale når ett eller flere av følgende hensyn skal tas: • Bildematerialet skal komprimeres og transmitteres i sann tid eller at det finnes et fremtidig krav til komprimeringsgrad • Bildematerialet innehar egenskaper som gjør at det er påkrevet å benytte forskjellige komprimeringsalgoritmer for å komprimere en gitt datamengde • Tilgjengelig kanalkapasitet er begrenset og varierer i tid i forhold til akutt eller fremtidig behov In summary, we can say that today there are no solutions that are able to choose the optimal compression algorithm for relevant image material when one or more of the following considerations must be taken into account: • The image material is to be compressed and transmitted in real time or that there is a future requirement for the degree of compression • The image material has properties that make it necessary to use different compression algorithms to compress a given amount of data • Available channel capacity is limited and varies in time in relation to acute or future needs

Hensikten med oppfinnelsen er å tilveiebringe en fremgangsmåte for å velge egnet algoritme for komprimering av data som tar hensyn til dataenes egenskaper slik at komprimeringsgraden er tilstrekkelig stor uten at nødvendig informasjon forringes. Dette er for eksempel viktig ved overføring av data fra en enhet til en annen over en kanal med begrenset kapasitet hvor det må tas hensyn til både overføringshastighet og kvaliteten på de overførte data. The purpose of the invention is to provide a method for selecting a suitable algorithm for compressing data which takes into account the characteristics of the data so that the degree of compression is sufficiently large without the necessary information being degraded. This is important, for example, when transferring data from one device to another over a channel with limited capacity, where both the transfer speed and the quality of the transferred data must be taken into account.

Hensikten med oppfinnelsen oppnås ved patentkravene. The purpose of the invention is achieved by the patent claims.

En fremgangsmåte i henhold til oppfinnelsen for å velge komprimeringsalgoritme for komprimering av daga omfatter trinnene: å analysere dataene og basert på resultatet av analysen av dataene, å velge en komprimeringsalgoritme. A method according to the invention for selecting a compression algorithm for compressing the day comprises the steps: analyzing the data and, based on the result of the analysis of the data, selecting a compression algorithm.

I en annen utførelse av oppfinnelsen baseres valg av komprimeringsalgoritme også på tilgjengelig kanalkapasitet for overføring av dataene over en transmisjonskanal. In another embodiment of the invention, the choice of compression algorithm is also based on the available channel capacity for transferring the data over a transmission channel.

I enda en utførelse av oppfinnelsen analyseres dataene med hensyn til en eller flere parametere. In yet another embodiment of the invention, the data is analyzed with regard to one or more parameters.

Disse parametrene kan være en eller flere av følgende kvalitetsparametre: These parameters can be one or more of the following quality parameters:

- oppløsning, - resolution,

- frame rate, - frame rate,

- farvedybde, - color depth,

- farvehistogram, - color histogram,

- dynamikk område, - dynamic range,

- frekvensrespons, - frequency response,

- frekvenshistogram, - frequency histogram,

- antall transmisjonskanaler. - number of transmission channels.

I en utførelse av oppfinnelsen deles dataene opp i blokker. In one embodiment of the invention, the data is divided into blocks.

I en utførelse av oppfinnelsen deles dataene opp i blokker, og det velges en komprimeringsalgoritme for hver blokk bestemt av minst en av følgende: In one embodiment of the invention, the data is divided into blocks, and a compression algorithm is selected for each block determined by at least one of the following:

- tillatt tap av data, - permitted loss of data,

- tilgjengelig komprimerings algoritmer, - available compression algorithms,

- forhåndskunnskap om hvilke type data som er best egnet for de tilgjengelige komprimerings algoritmene, - tilgjengelig kanal kapasitet på det tidspunktet når dataene skal sendes. - prior knowledge of which type of data is best suited for the available compression algorithms, - available channel capacity at the time when the data is to be sent.

Oppdelingen i blokker kan gjøres basert på en analyse av datamaterialet. The division into blocks can be done based on an analysis of the data material.

Oppdelingen i blokker kan gjøres basert på en analyse av datamaterialet, og størrelsen og formatet på blokken kan avgjøres av minst en av: - grad av redundans i parametrene som blir analysert (Liten redundans gir mindre blokk størrelse), The division into blocks can be made based on an analysis of the data material, and the size and format of the block can be determined by at least one of: - degree of redundancy in the parameters being analyzed (Small redundancy results in a smaller block size),

- grad av tilgjengelig kanalkapasitet. - degree of available channel capacity.

I en utførelse av oppfinnelsen bestemmes dataformatet til hver blokk og komprimeringsalgoritme velges fira et sett av komprimeringsalgoritmer, idet settet av komprimeringsalgoritmer omfatter informasjon knyttet til hver komprimeringsalgoritme om foretrukket dataformat for komprimeringen. In one embodiment of the invention, the data format of each block is determined and the compression algorithm is selected from a set of compression algorithms, the set of compression algorithms comprising information related to each compression algorithm about the preferred data format for the compression.

I en utførelse av oppfinnelsen omfatter fremgangsmåten de ytterligere trinn: In one embodiment of the invention, the method comprises the further steps:

- å dele datamaterialet opp i blokker, - to divide the data material into blocks,

- å komprimere hver blokk med en tapsfri komprimeringsalgoritme, - to compress each block with a lossless compression algorithm,

- å analysere størrelsen på hver komprimerte blokk og sammenligne størrelsen med tilgjengelig kanalkapasitet på en overføringskanal, - å dersom den komprimerte blokken er for stor for overføringskanalen, bestemme dataformatet til hver blokk og velge komprimeringsalgoritme fra et sett av komprimeringsalgoritmer, idet settet av komprimeringsalgoritmer omfatter informasjon knyttet til hver komprimeringsalgoritme om foretrukket dataformat for komprimeringen. - analyzing the size of each compressed block and comparing the size with the available channel capacity of a transmission channel, - if the compressed block is too large for the transmission channel, determining the data format of each block and selecting a compression algorithm from a set of compression algorithms, the set of compression algorithms comprising information associated with each compression algorithm about the preferred data format for the compression.

En fremgangsmåte i henhold til oppfinnelsen for å overføre datamateriale fra en enhet til en annen, omfatter følgende trinn: A method according to the invention for transferring data material from one unit to another comprises the following steps:

- å analysere dataene, - to analyze the data,

- basert på resultatet av analysen av dataene velge en komprimeringsalgoritme, - based on the result of the analysis of the data choose a compression algorithm,

- å komprimere dataene med den valgte komprimeringsalgoritmen, - to compress the data with the selected compression algorithm,

- å overføre de komprimerte dataene, - to transmit the compressed data,

- å analysere de overførte dataene for å finne den benyttede - to analyze the transmitted data to find the one used

komprimeringsalgoritmen, the compression algorithm,

- å velge dekomprimeringsalgoritme svarende til den benyttede komprimeringsalgoritmen, - to select a decompression algorithm corresponding to the used compression algorithm,

- å dekomprimere dataene. - to decompress the data.

I en utførelse av oppfinnelsen deles bildedataene opp i blokker, det velges en komprimeringsalgoritme for hver blokk og blokkene settes sammen etter overføringen. In one embodiment of the invention, the image data is divided into blocks, a compression algorithm is selected for each block and the blocks are put together after the transfer.

En fremgangsmåte i henhold til oppfinnelsen kan benyttes som en kildekode i en enhet for digital overføring av eksempelvis bildemateriale og kan plasseres hos en sender og/eller tilhørende mottager. Fremgangsmåten egner svært godt for alle typer datamateriale som har behov for komprimering relatert til forskjellig typer egenskaper i dataene når dataene skal sendes over en kanal med begrenset og varierende kanalkapasitet. Slike typer datamateriale omhandler eksempelvis digitaliserte analoge data. A method according to the invention can be used as a source code in a unit for digital transmission of, for example, image material and can be placed at a transmitter and/or associated receiver. The procedure is very suitable for all types of data material that needs compression related to different types of properties in the data when the data is to be sent over a channel with limited and varying channel capacity. Such types of data material deal, for example, with digitized analogue data.

En senderenhet som skal overføre data over en overføringskanal utfører en analyse som omfatter å til enhver tid å velge optimal tilgjengelig komprimeringsalgoritme ut fra tilgjengelige parametere (for eksempel egenskaper ved dataene). Selve komprimeringsalgoritmene er således ikke en del av oppfinnelsen. Men brukeren av oppfinnelsen kan benytte den til enhver tid mest hensiktsmessige tilgjengelige algoritmen. Når riktig algoritme er valgt i analysen, kan komprimeringen utføres. Leveransen av det behandlede datamaterialet til overføringskanalen vil derfor være god i forhold til akutt eller fremtidig kanalkapasitet og egenskaper for databildemateriale. A transmitter unit that is to transmit data over a transmission channel performs an analysis which includes at all times selecting the optimal available compression algorithm on the basis of available parameters (for example characteristics of the data). The compression algorithms themselves are thus not part of the invention. But the user of the invention can use the most suitable algorithm available at any given time. Once the correct algorithm is selected in the analysis, the compression can be performed. The delivery of the processed data material to the transmission channel will therefore be good in relation to acute or future channel capacity and characteristics for data image material.

En mottager får informasjon om hvilken komprimeringsalgoritme som til enhver tid er valgt ut fra data som er generert av senderen, og kan utføre dekomprimering i henhold til dette. Dersom deler av materialet er utelatt, vil oppfinnelsen kunne generere datamateriale ut fra tidligere mottatt informasjon for å tilstrebe best mulig kvalitet på eksempelvis bildematerialet som skal presenteres. A receiver receives information about which compression algorithm has been selected at any given time based on data generated by the sender, and can perform decompression according to this. If parts of the material are omitted, the invention will be able to generate data material based on previously received information in order to strive for the best possible quality of, for example, the image material to be presented.

Oppfinnelsen kan implementeres som en kildekode og kan realiseres i forskjellige teknologier, som CPU, FPGA eller ASIC. The invention can be implemented as a source code and can be realized in different technologies, such as CPU, FPGA or ASIC.

Ved å implementere oppfinnelsen inn i en dedikert chip (ASIC), kan det oppnås følgende fordeler: • Eliminere behov for bruk av ytterligere CPU-ressurser i bildegenerator. Et eksempel kan være en PC, hvor man kan hente datamaterialet fra f.eks den allerede eksisterende displaytilkoblingen og gjøre prosessering av algoritmen i en dedikert chip. På den måten involverer man ikke CPU'en i PCen som ville ha forårsaket ytterligere forsinkelser for andre prosesser i datamaskinen. • Lette kravet til ressursbehov for komprimeringsmaskinvare. Ved å velge riktig komprimerings algoritme brukes ikke ressurser på å komprimere uegnet materiale. En ASIC vil ta vesentlig mindre plass fordi innholdet i den er optimalisert på oppgaven den skal løse. Ved store volum vil dette også være prisoptimalt. By implementing the invention into a dedicated chip (ASIC), the following advantages can be achieved: • Eliminate the need to use additional CPU resources in the image generator. An example could be a PC, where you can retrieve the data from, for example, the already existing display connection and process the algorithm in a dedicated chip. In this way, the CPU is not involved in the PC, which would have caused further delays for other processes in the computer. • Ease the requirement for resource requirements for compression hardware. By choosing the right compression algorithm, resources are not used to compress unsuitable material. An ASIC will take up significantly less space because its contents are optimized for the task it is supposed to solve. In the case of large volumes, this will also be price-optimal.

Lette kravet til kanalkapasitet, fordi en optimal kompresjonsalgoritme for aktuelt data materiale gir best kodingsgevinst. Easing the requirement for channel capacity, because an optimal compression algorithm for relevant data material gives the best coding gain.

Oppfinnelsen er svært egnet for systemer som skal transmittere forskjellig type bilde- og/eller lyd-materiale over en kanal med begrenset akutt eller fremtidig kapasitet. Datamaterialet blir for eksempel generert av en A/V kilde og transmisjonen og prosesseringen må i visse tilfeller ha minimal forsinkelse dersom det er et krav til at systemet skal virke i sann tid av brukeren: Eksempler på systemer som inneholder A/V kilde, transmisjonskanal og mottager med fremvisningsenhet: • PC/DVD spiller/TV tuner/videokamera med trådløs link til TV/monitor/video prosjektor • Mobiltelefon med videokamera eller PC tilkobling med overføring til annen mobiltelefon via telefon-nett (GSM,UMTS,EDGE) eller lokal trådløs link The invention is very suitable for systems that are to transmit different types of image and/or sound material over a channel with limited acute or future capacity. The data material is, for example, generated by an A/V source and the transmission and processing must in certain cases have minimal delay if there is a requirement for the system to work in real time by the user: Examples of systems that contain an A/V source, transmission channel and receiver with display unit: • PC/DVD player/TV tuner/video camera with wireless link to TV/monitor/video projector • Mobile phone with video camera or PC connection with transfer to another mobile phone via telephone network (GSM, UMTS, EDGE) or local wireless link

(eks. Bluetooth) (e.g. Bluetooth)

• Mobile spillkonsoller/underholdningsenheter med trådløs link til andre spillkonsoller /underholdningsenheter • Mobile game consoles/entertainment devices with wireless link to other game consoles/entertainment devices

• PC/DVD spiller med trådløs overføring til Mobil HMD • PC/DVD player with wireless transmission to Mobil HMD

• PC/DVD spiller med trådløs overføring til display systemer i offentlige rom • PC/DVD player with wireless transmission to display systems in public spaces

(flyplasser,sykehus,kjøpesentra) (airports, hospitals, shopping centres)

• Videotelefoner med overføring av flere typer bilde materiale med svært begrenset kanalbåndbredde (telefon nett) til annen videotelefon. • Video telephones with the transmission of several types of image material with very limited channel bandwidth (telephone network) to another video telephone.

Oppfinnelsen vil nå bli beskrevet mer detaljert med henvisning til figurene. The invention will now be described in more detail with reference to the figures.

Figur 1 viser en grafisk representasjon av kategorier av bildemateriale. Figure 1 shows a graphical representation of categories of image material.

Figur 2 viser et blokkdiagram for signalflyt i en sendeenhet for bildemateriale. Figur 3 viser et blokkdiagram for signalflyt i en mottakerenhet for bildemateriale. Figur 4 er en skjematisk fremstilling av parametrene som styrer signalflyt for senderenheten i figur 2. Figur 5 er en skjematisk fremstilling av parametrene som styrer signalflyt for mottakerenheten i figur 3. Figure 2 shows a block diagram for signal flow in a transmission unit for image material. Figure 3 shows a block diagram of signal flow in a receiver unit for image material. Figure 4 is a schematic representation of the parameters that control signal flow for the transmitter unit in Figure 2. Figure 5 is a schematic representation of the parameters that control signal flow for the receiver unit in Figure 3.

Figur 6 illustrerer et eksempel på signalflyt for en senderenhet. Figure 6 illustrates an example of signal flow for a transmitter unit.

Figur 7 illustrerer et eksempel på signalflyt for en mottaker. Figure 7 illustrates an example of signal flow for a receiver.

En utførelse av oppfinnelsen omfatter en fremgangsmåte for å velge komprimeringsalgoritme for komprimering av data som omfatter å analysere dataene og basert på analysen å velge en komprimeringsalgoritme. An embodiment of the invention comprises a method for selecting a compression algorithm for compressing data which comprises analyzing the data and, based on the analysis, selecting a compression algorithm.

Denne komprimeringsalgoritmen kan så benyttes for å komprimere dataene med den valgte komprimeringsalgoritmen. De komprimerte dataene kan så overføres til en mottaker via en transmisjonskanal. This compression algorithm can then be used to compress the data with the selected compression algorithm. The compressed data can then be transmitted to a receiver via a transmission channel.

De overførte data vil i de fleste tilfeller dekomprimeres for å kunne benytte dataene, for eksempel vise frem bildedata på en skjerm. I dette tilfellet vil de overførte dataene analyseres for å finne den benyttede komprimeringsalgoritmen, en dekomprimeringsalgoritme som svarer til den benyttede kompirimeringsalgoritmen velges og dataene dekomprimeres. Dekomprimeringen gjøres på en anvist måte fra den delen av algoritmen som har utført komprimeringen. The transferred data will in most cases be decompressed in order to be able to use the data, for example to display image data on a screen. In this case, the transmitted data will be analyzed to find the used compression algorithm, a decompression algorithm corresponding to the used compression algorithm is selected and the data is decompressed. The decompression is done in a designated way from the part of the algorithm that has performed the compression.

Datamateriale som er egnet for, men ikke begrensende for oppfinnelsen er digitaliserte analoge signaler. Fremgangsmåten er svært fleksibel med hensyn til tilgjengelige ressurser i aktuell applikasjon, slik som: Data material suitable for, but not limiting for, the invention are digitized analogue signals. The procedure is very flexible with respect to available resources in the application in question, such as:

• Tilgjengelig komprimeringsteknologi • Available compression technology

Antall og type komprimeringsalgoritmer vil være bestemt av applikasjon. Her må man ta hensyn til arealkrav, prosessorkraft, strømforbruk og til slutt prisområde man ønsker for den enkelte applikasjon The number and type of compression algorithms will be determined by the application. Here you have to take into account area requirements, processing power, power consumption and finally the price range you want for the individual application

• Tilgjengelig kanal kapasitet • Available channel capacity

Oppfinnelsen kan for eksempel benyttes for en kommunikasjonslink hvor grensesnittet mot den fysiske enheten vil være gjennom en MAC. Ut fra dette grensesnittet vil det kunne hentes informasjon om tilgjengelig kanalkapasitet for aktuell link og benytte dette når optimal kompresjonsalgoritme skal bestemmes. The invention can, for example, be used for a communication link where the interface to the physical device will be through a MAC. Based on this interface, it will be possible to retrieve information about the available channel capacity for the link in question and use this when the optimal compression algorithm is to be determined.

• Tilgjengelig informasjon om data fra kilde • Available information about data from source

Analyse av kildematerialet kan gjøres på flere måter og med varierende dybde. Det betyr at i en applikasjon hvor man aksepterer stor variasjon i kildematerialet, må det tas hensyn til at analysen kan være ressurskrevende. Dessuten må analysen man foretar være tilpasset de Analysis of the source material can be done in several ways and with varying depth. This means that in an application where a large variation in the source material is accepted, it must be taken into account that the analysis can be resource-intensive. Furthermore, the analysis carried out must be adapted to them

komprimeringsalgoritmene man har tilgjengelig. the compression algorithms available.

Et eksempel på digitalisert analogt materiale er bildedata. Figur 2 og 3 illustrerer hvordan oppfinnelsen vil kunne benyttes i en sender og mottager av bildedata. Fremgangsmåten i henhold til oppfinnelsen er implementert i boksene som er grå-skravert 20. An example of digitized analogue material is image data. Figures 2 and 3 illustrate how the invention can be used in a transmitter and receiver of image data. The method according to the invention is implemented in the gray-shaded boxes 20.

Senderen omfatter en algoritme som utfører en analyse av to parametere: The transmitter includes an algorithm that performs an analysis of two parameters:

- Datamaterialets egenskaper (gitt ved bildematerialegenerator 21) - The properties of the data material (given by image material generator 21)

- Akutt eller fremtidig overføringskanal-kapasitet. - Acute or future transmission channel capacity.

Senderen er illustrert i figur 2. Bildemateriale generator 21 leverer data til Komprimerings algoritme selektor 20. Kommunikasjonskanalen 22 formidler informasjon om kanalkapasiteten til selektoren 20 på det tidspunktet dataene skal sendes over kommunikasjonskanalen. Ut fra denne informasjonen utfører selektoren 20 en analyse, og velger den mest egnede komprimeringsalgoritmen ut fra et sett med tilgjengelige komprimeringsalgoritmer 23 og 24. The transmitter is illustrated in Figure 2. Image material generator 21 supplies data to the Compression Algorithm selector 20. The communication channel 22 conveys information about the channel capacity of the selector 20 at the time the data is to be sent over the communication channel. Based on this information, the selector 20 performs an analysis and selects the most suitable compression algorithm from a set of available compression algorithms 23 and 24.

I mottageren vist i figur 3 er en algoritme som mottar data fra kommunikasjonskanalen 32 og ut fra informasjonen i dette materialet velges riktig dekomprimeringsalgoritme 33 og34, gitt av hvilken komprimeringsalgoritme som senderen har benyttet. Senderen (fig. 2) legger altså til informasjon om hva slags komprimeringsalgoritme som har blitt benyttet på aktuelt bildemateriale. Dette dekomprimeres og settes sammen til en eller flere frames og sendes til en displayenhet 31 for fremvisning. In the receiver shown in Figure 3 is an algorithm that receives data from the communication channel 32 and based on the information in this material, the correct decompression algorithm 33 and 34 is selected, given which compression algorithm the transmitter has used. The transmitter (fig. 2) thus adds information about the type of compression algorithm that has been used on the relevant image material. This is decompressed and assembled into one or more frames and sent to a display unit 31 for display.

Figur 4 beskriver algoritmen for flyten av datamateriale (eksemplifisert ved bildemateriale) i en sender. Det er innlysende at algoritmen også kan benyttes til andre type data som har behov for intelligent valg av komprimeringsalgoritme, eksempelvis digitaliserte analoge signaler. I denne utførelsen deles dataene opp i blokker for overføring, og hver blokk komprimeres for seg. Figure 4 describes the algorithm for the flow of data material (exemplified by image material) in a transmitter. It is obvious that the algorithm can also be used for other types of data that require an intelligent choice of compression algorithm, for example digitized analogue signals. In this embodiment, the data is split into blocks for transmission, and each block is compressed separately.

a. Bildematerialet mottas fra kilden. Materialet kan være i utgangspunktet på analogt format (fra for eksempel en TV tuner) og digitalisert ved hjelp av en analog-til-digital konverter (ADC) a. The image material is received from the source. The material may initially be in analogue format (from, for example, a TV tuner) and digitized using an analogue-to-digital converter (ADC)

b. Formatet på bildematerialet analyseres 40 med hensyn på for eksempel frame rate, oppløsning, farvedybde og farvehistogram, etc. Sammenholdt med informasjon om kanal kapasitet bestemmes størrelsen på blokkene for en frame. b. The format of the image material is analyzed 40 with regard to, for example, frame rate, resolution, color depth and color histogram, etc. Combined with information on channel capacity, the size of the blocks for a frame is determined.

Ved ekstremt lav kanal kapasitet er risikoen for tap av data stor, og blokkstørrelsen bør begrenses. Ved medium kanal kapasitet kan man med fordel øke blokkstørrelsen. Ved høy kanalkapasitet har det ingen hensikt å bruke ressurser på å øke blokk størrelsen. With extremely low channel capacity, the risk of data loss is high, and the block size should be limited. With medium channel capacity, the block size can be advantageously increased. With high channel capacity, there is no point in using resources to increase the block size.

c. Det tas utgangspunkt i en minimum blokk størrelse på a x b, og dersom det er tilstrekkelig redundans med andre blokker innenfor samme frame eller andre frames, økes blokk størrelsen til et hensiktsmessig nivå gitt av kanalkapasitet og applikasjon. Dataene deles opp blokker i trinn 41. d. Hver frame mellomlagres i et frame buffer 42. Et frame buffer tillater at aktuell frame sammenlignes med én eller tidligere frames når prioriteringen av hvilke blokker som skal sendes finner sted. c. The starting point is a minimum block size of a x b, and if there is sufficient redundancy with other blocks within the same frame or other frames, the block size is increased to an appropriate level given by channel capacity and application. The data is divided into blocks in step 41. d. Each frame is intermediately stored in a frame buffer 42. A frame buffer allows the current frame to be compared with one or earlier frames when the prioritization of which blocks are to be sent takes place.

e. Aktuell blokk komprimeres i tapsfri kompresjonsalgoritme nr 1 - m 43. e. Current block is compressed in lossless compression algorithm no. 1 - m 43.

Tapsfri kompresjonsalgoritme vil i de fleste applikasjoner foretrekkes først, idét man ønsker å minimere kvalitetstapet på bildematerialet. Tapsfrie kompresjonsalgoritmer har ikke prediktiv kompresjonsgrad. Aktuell blokk blir derfor prosessert i alle tilgjengelige tapsfrie kompresjonsalgoritmer i parallell og den algoritmen som gir best kompresjonsgrad blir benyttet videre i algoritmen In most applications, lossless compression algorithms will be preferred first, as one wants to minimize the quality loss of the image material. Lossless compression algorithms do not have predictive compression ratio. The current block is therefore processed in all available lossless compression algorithms in parallel and the algorithm that gives the best compression ratio is used further in the algorithm

Selektoren 46 er en prosessor som håndterer informasjon til alle aktivitetene i algoritmen. Oppgavene til selektoren kan være: Å utføre bildematerialanalyse (blant annet oppløsning, frame rate fargedybde The selector 46 is a processor that handles information for all the activities in the algorithm. The tasks of the selector can be: To perform image material analysis (including resolution, frame rate, color depth

og fargehistogram) and color histogram)

Å administrere frame buffer, det vil si å adressere de enkelte pikslene i To manage the frame buffer, i.e. to address the individual pixels in

bildematerialet og håndtere opp- og nedlasting. the image material and handle uploading and downloading.

Å vedlikeholde frame blokk status gitt av Frame blokk status matrisen 48 Å definere nivåer i FIFO buffer 49, og å lese ut aktuelt nivå for bruk i Frame To maintain the frame block status given by the Frame block status matrix 48 To define levels in the FIFO buffer 49, and to read out the current level for use in Frame

blokk transmisjon matrisen 47 block transmission matrix 47

Å motta informasjon om komprimeringsgrad som er oppnådd i de(n) tapsfrie To receive information about the degree of compression achieved in the lossless

komprimeringsalgoritmen(e) the compression algorithm(s)

Å velge om det skal utføres komprimering med lossy kompresjons algoritme To choose whether to perform compression with the lossy compression algorithm

utifrå aktuelt FIFO nivå based on the applicable FIFO level

Å bestemme hvilken (av nr.l-o) lossy komprimeringsalgoritme som skal velges utifrå for eksempel følgende kriterier: To decide which (of no.l-o) lossy compression algorithm to choose based on, for example, the following criteria:

I. Innholdsanalyse av aktuell blokk I. Content analysis of the block in question

II. Aktuelt FIFO nivå II. Current FIFO level

III. Blokkstatus III. Block status

Å bestemme komprimeringsgrad på lossy komprimeringsalgoritme utifrå Determining the compression ratio of the lossy compression algorithm from the outside

eksempelvis: for example:

I. Blokk status I. Block status

II. Aktuelt FIFO nivå II. Current FIFO level

Å generere protokoll-data To generate protocol data

f. Dersom Selektoren 46 har informasjon om kanal kapasitet som tilsier at den kompresjonsgraden som den tapsfrie kompresjonen er akseptabel, foretas det en analyse som er beskrevet i en Frame blokk status matrise 48. f. If the Selector 46 has information about channel capacity that indicates that the degree of compression as the lossless compression is acceptable, an analysis is carried out which is described in a Frame block status matrix 48.

Frame blokk status matrisen kan forklares slik: The frame block status matrix can be explained as follows:

Aktuell blokk kontrolleres mot frame bufferet 42 om hvorvidt den har blitt endret siden forrige gang den ble sendt. Er svaret ja, får den stempelet "endret" og får høy prioritet for transmisjon. Er svaret nei, blir den kontrollert for hvor lenge siden den har vært sendt tidligere og om den har blitt sendt med tapsfri komprimering eller med tap. Prioriteten er da gitt ut fra dette. Man oppnår derved at man kan sende blokker med tap først for å få en rask respons, mens man i senere transmisjoner oppdaterer blokken til å bli tapsfri. The current block is checked against the frame buffer 42 as to whether it has been changed since the last time it was sent. If the answer is yes, it gets the stamp "changed" and gets high priority for transmission. If the answer is no, it is checked for how long ago it was previously sent and whether it was sent with lossless or lossy compression. The priority is then given based on this. You thereby achieve that you can send blocks with loss first to get a quick response, while in later transmissions you update the block to become lossless.

g. Aktuell blokk komprimeres i én av lossy kompresjonsalgoritme nr 1 - o 44 dersom Selektoren 46 anser det for hensiktsmessig. g. The current block is compressed in one of the lossy compression algorithms no. 1 - o 44 if the Selector 46 considers it appropriate.

Komprimeringsgrad angis av selektoren 46 basert på aktuell kanalkapasitet for transmisjonskanalen når materialet skal sendes. The degree of compression is set by the selector 46 based on the current channel capacity for the transmission channel when the material is to be sent.

Frame blokk transmisjons matrisen 47 bestemmer om aktuell blokk skal sendes eller om den må vente. The frame block transmission matrix 47 determines whether the current block must be sent or whether it must wait.

Hver blokk har en status som er eksempelvis 1 av 4 mulige; Endret, sendt m/tap, uendret (gammel) og uendret (fersk). Each block has a status that is, for example, 1 out of 4 possible; Changed, sent w/loss, unchanged (old) and unchanged (fresh).

Kanalkapasiteten kan måles på forskjellige måter. En mulig måte er å benytte et FIFO buffer 49 som kan sammenlignes med et timeglass med påfyllingsmulighet. Dataene som "helles inn" suppleres fra algoritmen, mens dataene som "renner ut" i andre enden transmitteres over transmisjons-linken. Jo høyere nivået er i FIFO bufferet, desto dårligere er kanal kapasiteten. Channel capacity can be measured in different ways. One possible way is to use a FIFO buffer 49 which can be compared to an hourglass with the possibility of refilling. The data that is "poured in" is supplemented from the algorithm, while the data that "flows out" at the other end is transmitted over the transmission link. The higher the level in the FIFO buffer, the worse the channel capacity.

Ved å først kikke på den aktuelle blokkens status, for så å kikke på FIFO nivået kan man bestemme om hvorvidt blokken skal sendes eller ikke. Et eksempel er dersom frame blokk status er "endret" får man tillatelse til å sende så lenge FIFO bufferet er ikke helt fullt. Dersom status er "uendret (fersk)" får blokken ikke sendes så lenge FIFO nivået er tilnærmet tomt. By first looking at the relevant block's status, and then looking at the FIFO level, you can decide whether the block should be sent or not. An example is if the frame block status is "changed", you are allowed to send as long as the FIFO buffer is not completely full. If the status is "unchanged (fresh)", the block may not be sent as long as the FIFO level is almost empty.

h. Protokoll data tillegges komprimert bildemateriale 45, slik at mottageren får informasjon om hvor blokken skal plasseres i frame eller sekvens av frames - tillegg til blokkens størrelse. Dessuten gis det informasjon om hvilken komprimerings metode som er valgt til mottageren slik at den kan dekomprimeres på samme måte. Hvilken frame blokken hører til er også viktig informasjon. h. Protocol data is added to compressed image material 45, so that the recipient receives information about where the block is to be placed in a frame or sequence of frames - in addition to the block's size. In addition, information is provided about which compression method has been chosen for the receiver so that it can be decompressed in the same way. Which frame the block belongs to is also important information.

Feil korrigerende eller detekterende data blir også lagt til. Error correcting or detecting data is also added.

i. Bildemateriale føres til FIFO buffer 49 for transmisjon til MAC/PHY. i. Image material is fed to FIFO buffer 49 for transmission to MAC/PHY.

Figur 5 beskriver algoritmen for flyten av bildemateriale i en mottager. Figure 5 describes the algorithm for the flow of image material in a receiver.

Det komprimerte bildematerialet mottas fra MAC/PHY enheten i mottageren. The compressed image material is received from the MAC/PHY unit in the receiver.

a. Dataene analyseres for transmisjonsfeil (feil som har oppstått i transmisjonen mellom sender og mottager. Avhengig av om det er benyttet feil-detekterende eller feil-korrigerende kode, blir feilen rettet opp eller forkastet 51. a. The data is analyzed for transmission errors (errors that have occurred in the transmission between sender and receiver. Depending on whether an error-detecting or error-correcting code has been used, the error is corrected or discarded 51.

b. Protokolldataene dekodes for å hente informasjon om kilde format 51: b. The protocol data is decoded to retrieve information about source format 51:

I. Frame rate I. Frame rate

IL Oppløsning IL Resolution

III. Farvedybde III. Color depth

IV. Informasjon angående komprimeringsalgoritme benyttet på aktuell blokk. IV. Information regarding the compression algorithm used on the block in question.

Informasjonen i I-III er initielle data som systemet har behov for å vite ved oppstarten av en transmisjon for å sette opp visningsenheten/display riktig. Protokollen vil i de fleste tilfeller ikke inneholde denne informasjonen ved hver blokk. c. Aktuell blokk dekomprimeres med riktig algoritme gitt av informasjon fra senderen (protokoll data) 52. The information in I-III is initial data that the system needs to know at the start of a transmission in order to set up the display unit/display correctly. In most cases, the protocol will not contain this information for each block. c. Current block is decompressed with the correct algorithm given by information from the sender (protocol data) 52.

Deselektoren 55 er en prosessor som har som oppgave å: The deselector 55 is a processor whose task is to:

Å motta protokoll informasjon To receive protocol information

Å angi riktig dekomprimeringsalgoritme for aktuell blokk Å administrere frame buffer To specify the correct decompression algorithm for the current block To manage the frame buffer

Å administrere blokk sammensetning til frames fra frame buffer Å håndtere kommunikasjon med display encoder To manage block composition to frames from frame buffer To manage communication with display encoder

d. Hver blokk mellomlagres i et frame buffer 54. Hensikten med frame buffer er at alle blokkene ikke sendes i sekvens, men er styrt av kanalkapasitet og kompresjonsgrad. På denne måten må Deselektoren 55 administrere de enkelte blokkene i frame bufferet etterhvert som de mottas d. Each block is buffered in a frame buffer 54. The purpose of the frame buffer is that all the blocks are not sent in sequence, but are controlled by channel capacity and compression ratio. In this way, the Deselector 55 must manage the individual blocks in the frame buffer as they are received

e. Blokker hentes ut av frame buffer 54 og settes sammen til en frame f. Frame sendes videre til display encoder (DVI, HDMI eller tilsvarende) e. Blocks are retrieved from frame buffer 54 and assembled into a frame f. Frame is sent on to the display encoder (DVI, HDMI or similar)

I figur 6 og figur 7er det gitt et enkelt eksempel på en realisering av algoritmen benyttet på bilde materiale. In Figure 6 and Figure 7, a simple example of a realization of the algorithm used on image material is given.

Figur 6 viser et eksempel på signalflyten for en sender som kan brukes med en utførelse av oppfinnelsen. Figure 6 shows an example of the signal flow for a transmitter that can be used with an embodiment of the invention.

a. Bildematerialet mottas og frame formatet analyseres (a) a. The image material is received and the frame format is analyzed (a)

b. Frame innhold lagres i buffer (b) b. Frame content is stored in buffer (b)

c. Frame oppdeles i blokker på nxn pixler c. Frame is divided into blocks of nxn pixels

I dette eksempelet er det for enkelhets skyld valgt en fast størrelse på blokkene som er mindre enn én frame. Blokkstørrelsen være variabel - også utover én frame størrelse . d. Blokk status genereres (d) efter kriteria gitt i blokk status matrise (t). In this example, for the sake of simplicity, a fixed size of the blocks smaller than one frame has been chosen. The block size should be variable - also beyond one frame size. d. Block status is generated (d) according to the criteria given in the block status matrix (t).

Dette lagres så i framebufferet (u) sammen med selve bilde materialet This is then stored in the framebuffer (u) together with the image material itself

e. Komprimering ved hjelp av tapsfri komprimeringsalgoritme #1 -#m e. Compression using lossless compression algorithm #1 -#m

utfører (e) perform(s)

f. Den tapsfrie komprimeringsalgoritmen som gir komprimeringsgrad f. The lossless compression algorithm that provides compression ratio

bestemmes (f) to be determined (f)

g. Det foretas en kontroll mot transmisjonsmatrisen (q) om aktuell blokk kan sendes (g) g. A check is made against the transmission matrix (q) whether the block in question can be sent (g)

h. Dersom transmisj onsmatrisen tillater det, sendes dataene videre til protokolldata generering (1) Hvis dette ikke er tilfelle, sendes dataene til (i), (m) eller (n) avhengig av tildelt prioritet i transmisj onsmatrisen i. Ved prioritet 1, bestemmes best mulig lossy komprimerings algoritme utifrå farvehistogramanalyse (i) ut i fra et sett med tilgjengelige lossy komprimeringsalgoritmerer. h. If the transmission matrix allows it, the data is forwarded to protocol data generation (1) If this is not the case, the data is sent to (i), (m) or (n) depending on the assigned priority in the transmission matrix i. At priority 1, the best possible lossy compression algorithm is determined from color histogram analysis (i) from a set of available lossy compression algorithms.

j. Lossy komprimering utføres med den valgte algoritmen med j. Lossy compression is performed with the selected algorithm with

komprimeringsgrad gitt av aktuelt FIFO nivå degree of compression given by the applicable FIFO level

k. De komprimerte dataene blir nå kontrollert mot transmisj onsmatrise om de tillates sendt videre (g). Svaret vil med svært høy sannsynlighet være at transmisjon tillates, idet dataene er komprimert så mye som aktuell kanalkapasitet tilsier k. The compressed data is now checked against the transmission matrix if it is allowed to be sent on (g). The answer will with a very high probability be that transmission is permitted, as the data is compressed as much as the current channel capacity dictates

1. Dersom prioriet 2 bestemmes, sendes dataene til (m). Her sjekkes det om FIFO nivået er bedre enn forrige gang den aktuelle blokken ble sendt. Er svaret ja sendes dataene til (j) for å utføre lossy kompresjon (j). Hvis svaret er nei forkastes transmisjon av aktuell blokk. Ved prioritet 3 har blokken blitt sendt før med tap, og kanalkapasiteten tillater ikke at man kan sende den uten tap 1. If priority 2 is determined, the data is sent to (m). Here it is checked whether the FIFO level is better than the last time the block in question was sent. If the answer is yes, the data is sent to (j) to perform lossy compression (j). If the answer is no, transmission of the block in question is rejected. At priority 3, the block has been sent before with loss, and the channel capacity does not allow it to be sent without loss

m. Dersom prioritet 3 eller 4 bestemmes (blokkene er uendret fra forrige m. If priority 3 or 4 is determined (the blocks are unchanged from the previous

frame), forkastes transmisjon av aktuell blokk (n) frame), transmission of the current block (n) is discarded

n. Protokolldata genereres i (1) hvor informasjon om valgt komprimeringsalgoritme,komprimeringsgrad og adresse på aktuell blokk legges til. Dersom appliaksjonen tillater bruk av sjekksum (feildetekterende og/eller feilkorrigerende kode), genereres også dette o. Blokk status oppdateres for aktuell blokk (r) n. Protocol data is generated in (1) where information about the selected compression algorithm, degree of compression and address of the relevant block is added. If the application allows the use of a checksum (error-detecting and/or error-correcting code), this is also generated. Block status is updated for the block(s) in question

p. Datamateriale med protokoll sendes til FIFO buffer (s) og videre til p. Data material with protocol is sent to FIFO buffer(s) and further to

MAC/PHY MAC/PHY

Figur 7 viser et eksempel på signalflyten for en mottaker som kan brukes med en utførelse av oppfinnelsen. Figure 7 shows an example of the signal flow for a receiver that can be used with an embodiment of the invention.

a. Komprimert bildedata mottas fra MAC/PHY i mottageren og protokolldekoding utføres (a), herunder kontroll av sjekksum for å kontrollere at materialet ikke har blitt korrupt ved transmisjon. Dersom materialet er korrupt forkastes aktuell blokk a. Compressed image data is received from the MAC/PHY in the receiver and protocol decoding is performed (a), including a checksum check to check that the material has not been corrupted during transmission. If the material is corrupt, the relevant block is discarded

b. Dekomprimering utføres med valgt kompimeringsmetode (b) og komprimeringsgrad. Komprimeringsgrad angis kun dersom det er valgt lossy komprimering, idet man ikke kan bestemme komprimeringsgrad for en tapsfri komprimerings algoritme c. Aktuell blokk lagres i frame bufferet på riktig sted angitt av blokk adressen (c) d. Det genereres en oppdatert frame basert på nye blokker som er mottatt siden forrige frame ble generert (d) b. Decompression is carried out with the selected compression method (b) and degree of compression. Degree of compression is only specified if lossy compression has been selected, since one cannot determine the degree of compression for a lossless compression algorithm c. The current block is stored in the frame buffer at the correct place indicated by the block address (c) d. An updated frame is generated based on new blocks that have been received since the previous frame was generated (d)

Aktuell frame sendes til display encoder (DVI,HDMI eller tilsvarende) Current frame is sent to display encoder (DVI, HDMI or equivalent)

CPU Central Processing Unit CPU Central Processing Unit

A/V Audio og Visuell A/V Audio and Visual

FPGA Field Programmable Gate Array FPGA Field Programmable Gate Array

ASIC Application Specific Integrated Circuit ASIC Application Specific Integrated Circuit

DVD Digital Video Dise DVD Digital Video Blur

BPS Bit Per Second BPS Bits Per Second

HMD Head Mounted Display HMD Head Mounted Display

MAC Media Access Control layer (ISO definisjon for det laveste laget i en SW MAC Media Access Control layer (ISO definition for the lowest layer in a SW

applikasjon) application)

PHY PHYsical layer (ISO definisjon for HW frontend i en sender/mottager) FIFO First In First Out buffer håndtering VESA Video Electronics Standards Association PHY PHYsical layer (ISO definition for HW front end in a transmitter/receiver) FIFO First In First Out buffer handling VESA Video Electronics Standards Association

DDC Display Data Channel DDC Display Data Channel

HDCP High-Bandwidth Digital Content Protection HDCP High-Bandwidth Digital Content Protection

RLE Run Length Encoding, tapsfri datakomprimeringsalgoritme RLE Run Length Encoding, lossless data compression algorithm

LZW Lempel-Ziv-Welch, tapsfri datakomprimeringsalgoritme utviklet av LZW Lempel-Ziv-Welch, lossless data compression algorithm developed by

L, Z og W L, Z and W

JPEG Joint Photographic Experts Group JPEG Joint Photographic Experts Group

MPEGMoving Picture Experts Group MPEGMoving Picture Experts Group

DVI Digital Visual Interface DVI Digital Visual Interface

HD MI High Density Multimedia Interface HD MI High Density Multimedia Interface

GSM Global System for Mobile communication GSM Global System for Mobile communication

EDGE Enhanced Data rates for Global Evolution EDGE Enhanced Data rates for Global Evolution

UMTS Universal Mobile Telecommunications System UMTS Universal Mobile Telecommunications System

Claims (14)

1. Fremgangsmåte for å velge komprimeringsalgoritme for komprimering av data omfattende analyse av dataene, karakterisert ved at: basert på resultatet av analysen av dataene og på tilgjengelig kanalkapasitet for en transmisjonskanal for overføring av dataene, velge en komprimeringsalgoritme.1. Procedure for selecting compression algorithm for compression of data including analysis of the data, characterized in that: based on the result of the analysis of the data and on the available channel capacity for a transmission channel for transmitting the data, select a compression algorithm. 2. Fremgangsmåte i henhold til krav 1,karakterisert ved at dataene analyseres med hensyn til en eller flere parametere.2. Method according to claim 1, characterized in that the data is analyzed with regard to one or more parameters. 3. Fremgangsmåte i henhold til krav 1,karakterisert ved at dataene analyseres med hensyn til en eller flere av følgende kvalitetsparametre - oppløsning, - frame rate, - farvedybde, - farvehistogram, - dynamikk område, - frekvensrespons, - frekvenshistogram, - antall transmisj onskanaler.3. Method according to claim 1, characterized in that the data is analyzed with regard to one or more of the following quality parameters - resolution, - frame rate, - color depth, - color histogram, - dynamic range, - frequency response, - frequency histogram, - number of transmission channels . 4. Fremgangsmåte i henhold til krav 1,karakterisert ved at dataene deles opp i blokker.4. Method according to claim 1, characterized in that the data is divided into blocks. 5. Fremgangsmåte i henhold til krav 1,karakterisert ved at dataene deles opp i blokker, og det velges en komprimeringsalgoritme for hver blokk bestemt av minst en av følgende: - tillatt tap av data, - tilgjengelig komprimerings algoritmer, - forhåndskunnskap om hvilke type data som er best egnet for de tilgjengelige komprimerings algoritmene, - tilgjengelig kanal kapasitet på det tidspunktet når dataene skal sendes.5. Method according to claim 1, characterized in that the data is divided into blocks, and a compression algorithm is selected for each block determined by at least one of the following: - permitted loss of data, - available compression algorithms, - prior knowledge of the type of data which is best suited for the available compression algorithms, - available channel capacity at the time when the data is to be sent. 6. Fremgangsmåte i henhold til krav 4, karakterisert ved at oppdelingen i blokker gjøres basert på en analyse av datamaterialet.6. Method according to claim 4, characterized in that the division into blocks is based on an analysis of the data material. 7. Fremgangsmåte i henhold til krav 4, karakterisert ved at oppdelingen i blokker gjøres basert på en analyse av datamaterialet, og at størrelsen og formatet på blokken avgjøres av minst en av: - grad av redundans i parametrene som blir analysert, - grad av tilgjengelig kanalkapasitet.7. Method according to claim 4, characterized in that the division into blocks is based on an analysis of the data material, and that the size and format of the block is determined by at least one of: - degree of redundancy in the parameters being analyzed, - degree of available channel capacity. 8. Fremgangsmåte i henhold til krav 4, karakterisert ved at dataformatet til hver blokk bestemmes og komprimeringsalgoritme velges fra et sett av komprimeringsalgoritmer, idet settet av komprimeringsalgoritmer omfatter informasjon knyttet til hver komprimeringsalgoritme om foretrukket dataformat for komprimeringen.8. Method according to claim 4, characterized in that the data format of each block is determined and the compression algorithm is selected from a set of compression algorithms, the set of compression algorithms comprising information related to each compression algorithm about the preferred data format for the compression. 9. Fremgangsmåte i henhold til krav 1,karakterisert ved at den omfatter de ytterligere trinn: - dele datamaterialet opp i blokker, - komprimere hver blokk med en tapsfri komprimeringsalgoritme, - analysere størrelsen på hver komprimerte blokk og sammenligne størrelsen med tilgjengelig kanalkapasitet på en overføringskanal, - dersom den komprimerte blokken er for stor for overføringskanalen, bestemme dataformatet til hver blokk og velge komprimeringsalgoritme fra et sett av komprimeringsalgoritmer, idet settet av komprimeringsalgoritmer omfatter informasjon knyttet til hver komprimeringsalgoritme om foretrukket dataformat for komprimeringen.9. Method according to claim 1, characterized in that it comprises the further steps: - dividing the data into blocks, - compressing each block with a lossless compression algorithm, - analyzing the size of each compressed block and comparing the size with the available channel capacity of a transmission channel , - if the compressed block is too large for the transmission channel, determine the data format of each block and select a compression algorithm from a set of compression algorithms, the set of compression algorithms comprising information related to each compression algorithm about the preferred data format for the compression. 10. Fremgangsmåte for å overføre datamateriale fra en enhet til en annen, karakterisert ved at den omfatter følgende trinn: - å analysere dataene, - basert på resultatet av analysen av dataene og på tilgjengelig kanalkapasitet for overføring av dataene, å velge en komprimeringsalgoritme, - å komprimere dataene med den valgte komprimeringsalgoritmen, - å overføre de komprimerte dataene, - å analysere de overførte dataene for å finne den benyttede komprimeringsalgoritmen, - å velge dekomprimeringsalgoritme svarende til den benyttede komprimeringsalgoritmen, - å dekomprimere dataene.10. Procedure for transferring data material from one device to another, characterized in that it comprises the following steps: - to analyze the data, - based on the result of the analysis of the data and on the available channel capacity for transferring the data, to select a compression algorithm, - to compress the data with the selected compression algorithm, - to transfer the compressed data, - to analyze the transferred data to find the used compression algorithm, - to select the decompression algorithm corresponding to the used compression algorithm, - to decompress the data. 11. Fremgangsmåte i henhold til krav 10, karakterisert ved at bildedataene deles opp i blokker, det velges en komprimeringsalgoritme for hver blokk og blokkene settes sammen etter overføringen.11. Method according to claim 10, characterized in that the image data is divided into blocks, a compression algorithm is selected for each block and the blocks are put together after the transfer. 12. Fremgangsmåte i henhold til krav 11,karakterisert ved at oppdelingen i blokker gjøres etter at dataene er analysert og størrelsen og formatet på blokken avgjøres av minst en av: - grad av redundans i parametrene som blir analysert, - grad av tilgjengelig kanal kapasitet.12. Method according to claim 11, characterized in that the division into blocks is done after the data has been analyzed and the size and format of the block is determined by at least one of: - degree of redundancy in the parameters being analyzed, - degree of available channel capacity. 13. Fremgangsmåte i henhold til krav 11,karakterisert ved at dataformatet til hver blokk bestemmes og komprimeringsalgoritme velges fra et sett av komprimeringsalgoritmer, idet settet av komprimeringsalgoritmer omfatter informasjon knyttet til hver komprimeringsalgoritme om foretrukket dataformat for komprimeringen.13. Method according to claim 11, characterized in that the data format of each block is determined and the compression algorithm is selected from a set of compression algorithms, the set of compression algorithms comprising information related to each compression algorithm about the preferred data format for the compression. 14. Fremgangsmåte i henhold til krav 10, karakterisert ved at den omfatter de ytterligere trinn: - dele bildedataene opp i blokker, - komprimere hver blokk med en tapsfri komprimeringsalgoritme, - analysere størrelsen på hver komprimerte blokk og sammenligne størrelsen med tilgjengelig kanalkapasitet på en overføringskanal, - dersom den komprimerte blokken er for stor for overføringskanalen, bestemme dataformatet til hver blokk og velge komprimeringsalgoritme fra et sett av komprimeringsalgoritmer, idet settet av komprimeringsalgoritmer omfatter informasjon knyttet til hver komprimeringsalgoritme om foretrukket dataformat for komprimeringen.14. Method according to claim 10, characterized in that it comprises the further steps: - dividing the image data into blocks, - compressing each block with a lossless compression algorithm, - analyzing the size of each compressed block and comparing the size with the available channel capacity of a transmission channel , - if the compressed block is too large for the transmission channel, determine the data format of each block and select a compression algorithm from a set of compression algorithms, the set of compression algorithms comprising information related to each compression algorithm about the preferred data format for the compression.
NO20064962A 2006-10-30 2006-10-30 Procedure for selecting compression algorithm for data compression NO325934B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NO20064962A NO325934B1 (en) 2006-10-30 2006-10-30 Procedure for selecting compression algorithm for data compression

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20064962A NO325934B1 (en) 2006-10-30 2006-10-30 Procedure for selecting compression algorithm for data compression

Publications (2)

Publication Number Publication Date
NO20064962L NO20064962L (en) 2008-05-02
NO325934B1 true NO325934B1 (en) 2008-08-18

Family

ID=39937555

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20064962A NO325934B1 (en) 2006-10-30 2006-10-30 Procedure for selecting compression algorithm for data compression

Country Status (1)

Country Link
NO (1) NO325934B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002093358A1 (en) * 2001-05-17 2002-11-21 Cyber Operations, Llc System and method for encoding and decoding data files
US7149350B2 (en) * 2001-09-19 2006-12-12 Kabushiki Kaisha Toshiba Image compression apparatus, image depression apparatus and method thereof
GB2402766A (en) * 2003-06-05 2004-12-15 Carry Computer Eng Co Ltd Storage Device with Optimal Compression Management Mechanism
US8467447B2 (en) * 2004-05-07 2013-06-18 International Business Machines Corporation Method and apparatus to determine prediction modes to achieve fast video encoding

Also Published As

Publication number Publication date
NO20064962L (en) 2008-05-02

Similar Documents

Publication Publication Date Title
US9699099B2 (en) Method of transmitting data in a communication system
KR101604563B1 (en) Method, apparatus and system for providing display device specific content over a network architecture
US10672148B2 (en) Compressing and uncompressing method for high bit-depth medical gray scale images
KR102617258B1 (en) Image processing method and apparatus
US20150156557A1 (en) Display apparatus, method of displaying image thereof, and computer-readable recording medium
CN114175652A (en) Decoding apparatus and operating method thereof, and Artificial Intelligence (AI) amplifying apparatus and operating method thereof
EP2272237B1 (en) Method of transmitting data in a communication system
JP2007201995A (en) Processing apparatus for image data transfer and monitoring camera system
US20190206360A1 (en) Pixel processing with color component
US20140308017A1 (en) Imaging device, video recording device, video display device, video monitoring device, video monitoring system, and video monitoring method
US20110299605A1 (en) Method and apparatus for video resolution adaptation
EP1850290B1 (en) Image processing apparatus and method for preventing degradation of image quality when bit format of image is converted
US11263730B2 (en) Image processing method and apparatus and terminal device
JP2015191158A (en) Image processing apparatus and image processing method
US10356439B2 (en) Flexible frame referencing for display transport
KR20160082521A (en) Chroma down-conversion and up-conversion processing
NO325934B1 (en) Procedure for selecting compression algorithm for data compression
CN108933945B (en) GIF picture compression method, device and storage medium
US9571844B2 (en) Image processor
JP6355345B2 (en) Image processing apparatus, image processing method, display apparatus, display method, and program
US20230395041A1 (en) Content Display Process
KR102465206B1 (en) Image processing device
US20080068392A1 (en) Display control apparatus, display control method, and program
CN1312930C (en) Method and device for transmitting video
KR20220144241A (en) Server and control method thereof