SE531833C2 - Förfarande vid komprimering av data innefattande transformering via en spiralfunktion - Google Patents

Förfarande vid komprimering av data innefattande transformering via en spiralfunktion

Info

Publication number
SE531833C2
SE531833C2 SE0801660A SE0801660A SE531833C2 SE 531833 C2 SE531833 C2 SE 531833C2 SE 0801660 A SE0801660 A SE 0801660A SE 0801660 A SE0801660 A SE 0801660A SE 531833 C2 SE531833 C2 SE 531833C2
Authority
SE
Sweden
Prior art keywords
data
phase
radius
function
data elements
Prior art date
Application number
SE0801660A
Other languages
English (en)
Other versions
SE0801660L (sv
Inventor
Ali Majeed
Original Assignee
Ali Majeed
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 Ali Majeed filed Critical Ali Majeed
Priority to SE0801660A priority Critical patent/SE531833C2/sv
Priority to PCT/SE2009/000353 priority patent/WO2010005359A1/en
Publication of SE0801660L publication Critical patent/SE0801660L/sv
Publication of SE531833C2 publication Critical patent/SE531833C2/sv

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/548Trigonometric functions; Co-ordinate transformations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

25 30 Ändamålet med föreliggande uppfinning är därför att åstadkom- ma en komprimering av data av allmänt slag, där det inte är nödvändigt att känna till vad datasekvensen innehåller.
Föreliggande uppfinning åstadkommer en sådan komprimering av allmänt slag utan något behov av att känna till den specifika datasekvensen. Dessutom sker komprimeringen enligt uppfin- ningen på relativt kort tid, vilket gör det möjligt att ut- nyttja den för realtidsapplikationer. Enligt uppfinningen sker komprimeringen genom att två variabler representeras med hjälp av en variabel som skapas av en periodisk funktion.
Föreliggande uppfinning hänför sig till typen förstörande komprimeringsmetod, eftersom det tillkommer ett visst fel vid Skillnaden tillkommer här avser delar av elementen, komprimeringsprocessen. är dock att felet, som till skillnad från övriga komprimeringsmetoder av denna typ där felet uppkommer på grund av att hela element tas bort.
Tanken är att använda sig av den periodiska variabeln på två olika sätt och därmed kan en periodisk variabel bära informa- tion om två icke periodiska variabler. Ett exempel på detta tankesätt är: ®1 = 450 siffror, och oz = 45° + 360° = 405°. 45 och 405 är helt olika men i. en periodisk funktion som exempelvis sinus, 1 sin(@1)=sin(45°)=-- och JE sin(@fl=sin(405°%=åÉ. Två olika variabler kan alltså i. en skulle dessa. variabler resultera i periodisk funktion ge olika resultat, men eftersom variabler- na är olika skulle denna olikhet ändå kunna användas som ett extra informationselement, förutom att det är en fas. Om detta tankesätt utvecklas skulle exempelvis två variabler i ett kartesiskt koordinatsystem kunna representeras som en 10 15 20 25 30 radie och en fas. Radien kan anpassas så att den blir repre- senterad ett helt antal perioder för att sedan addera fasen till den och på så sätt ska summan vara fasen, men även radi- en.
Uppfinningen kommer att förklaras närmare här nedan och åskådliggörs även med» hjälp av de bifogade figurerna, där Fig. 1 visar ett exempel på en punkt i ett ortogonalt koordi- natsystem, Fig. 2 visar motsvarande vy som i Fig. l, men med en inritad spiral, som passerar genom punkten p, Fig. 3 visar i ett diagram resultatet av en simulerad komprimering och återskapande av data enligt uppfinningen och Fig. 4 visar ett diagram över komprimerade data x.
Onl man tänker sig två variabler, som representeras i ett kartesiskt koordinatsystem såsom i Fig. 1 kan man se att xl och yl sammanfaller i punkten p, som har en viss radie och fas från origo. Det är uppenbart att det behövs tvâ variabler för att komma åt punkten p, antingen med hjälp av x och y eller med en radie och fas. Frågan om komprimering blir då om det finns något sätt att komma åt punkten p med enbart en variabel. I Fig. 2 visas en spiral, som täcker hela xy- planet. En spiral är en periodisk funktion, som beror av en variabel. Här framgår att med hjälp av denna spiralfunktion skulle man kunna komma åt punkten p, liksom även vilken som helst annan punkt i xy-planet.
Tanken med uppfinningen är således att använda spiralen som en periodisk funktion för att kunna representera två variab- ler i det kartesiska koordinatsystemet. I själva verket sker det en transformation från det kartesiska koordinatsystemet till det spirala koordinatsystemet. Denna transformation kan då även användas som ett slags komprimering på så sätt att två variabler blir en. 10 15 20 25 30 Genom att anpassa radien till ett helt antal perioder, inte tion som har någon påverkan på resultatet på en periodisk funk- kan man sedan addera fasen på den anpassade radien så att summan fungerar både som radie och som en fas i en perio- disk funktion.
Matematiskt sett sker komprimeringen på följande sätt: l.variablerna x och y är reala tal 2. x och y översätts till en radie och en fas som: r=JG3::;Û och ø=æbmnš 3. enligt spiralfunktionen i ovannämnda beskrivning, ser man att x och y blir till en variabel z och denna varia- bel tas fram som: z=1'+ø* , där r*och ø*är den anpassade radien och fasen eftersom bara addering mellan radien och fasen gör att man inte kan veta vad i z, som är radien och vad som är fasen. Men om man anpassar radien så att den motsvarar ett helt antal perioder, kan man addera fasen (w) på den anpassade radien (r*) så att z ses både som en radie och som en fas. Alltså radien anpassas som: f=wvund(á;], d.v.s. närmast antal hela perioder.
Därmed kan man addera fasen på radien utan att de be- blandas med varandra. 4. variabeln 2 är här en radie, men är även en fas. Och det är 2 som är det komprimerade dataelementet av de två in- gående variablerna x och y av z, kan man sedan extrahera x och y som: x=z * cos(z) y= z *sin(z) . 10 15 20 25 30 53% 833 Som ett verkligt exempel på hur komprimeringen sker med hjälp av uppfinningen, användes här en simulering i Matlab. Simule- ringen är endast en tillämpning av uppfinningen. Matlab är ett matematiskt verktyg som används av ingenjörer och matema- tiker. Närmare beskrivning av verktyget finns bl.a. på http://www.thematworks.com/matlab/.
Simuleringen gjordes som de nedanstående raderna: 1. a = round(randn(100,1).*16000); 2. a = intl6(a); 3. period = 180; 4. a = double(a); 5. a = a./1.42; 6. L = length(a); 7. x1 = x(1:L/2); x2 = x(L/2+1:end); 8. sig = xl+i*x27 9. r = abs(sig); 10. f = ang1e(sig); 11. f= round(f.*(p/(2*pi))); 12. rr = r-mod(r,p); 13. yyy = rr+f; 14. yy = round(yyy); 15. x = int16(YY); 16. x = double(x); 17. r = x-mod(x,period); 18. r = r.*1.015; 19. f = mod(x,period); 20. f = f.*(2*pi/period): 21. yl = r.*cos(f)*O.995; 22. y2 = r.*sin(f)*0.995; 23- yyy = [yl:y2]; 24. yy = yyy.*l.42; 25. b = int16(yy); 10 15 20 25 30 26. 27. 28. 29. 53% 833 T= l:length(b); p1ot(T,a), hold, plot(T,b,'r') T2 = l:length(x) figure, plot(T2,x) Med vanliga ord kan simuleringen förklaras rad för rad som följer: 1. en vektor (a) skapas, som består av hundra slumpmässi- ga tal som sedan multipliceras med ett högt tal så att stegen blir lätta att skilja åt. Dessa data har vit- brusegenskaper elementen i vektor a översätts från 64-bit till 16-bit siffror eftersom 16-bit är en standard-storlek man an- Vektorn här alltså 1600 vänder i de flesta tekniska applikationer. har alltså 100 element på 16-bit vardera, bit total datamängd perioden som ska användas anges till 180 grader, peri- oden här är en designvariabel och kan sättas till ett annat värde eller làtas vara dynamisk Matlabs funktioner är begränsade till 16-bits siffror, därför översätts vektorn temporärt från 16-bit till 64-bit siffror vektorn delas med roten ur två (l,4l ) så att man se- nare slipper överskrida 16-bits övre gräns i 16-bit är 1 till 65536, 32768) (gränserna från eller -32768 till längden av vektorn a anges för datorn vektorn a delas till två vektorer xl och x2, som har varsin halv storlek av a (här är a lika med 100 ele- ment, X1 och X2 är 50 element var) vektorerna xl och x2 sätts inom xy-planet så att xl utgör x och X2 utgör y radien av xl och x2 beräknas (d.v.s. 50 radier av var- je par i xl och X2 räknas fram) 10 15 20 25 30 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. kfl M3 ...n Ü? hä BJ fasen för varje par i xl och x2 beräknas fasen anpassas så att den passar till perioden, som är satt från början, d.v.s. fasen anpassas så att 180 grader här utgör en hel period radien anpassas så att den utgör ett helt antal perio- der den anpassade radien och den anpassade fasen summeras, summan här har 50 element summan avrundas så att inga decimaler följer med summan översätts till 16-bit eftersom det komprimerade datat enligt uppfinningen skall vara ndndre i. antal variabler och samtidigt som den komprimerade variabeln skall ha samma datamängd-storlek, som den ursprungliga variabeln. variabeln x är därmed det komprimerade datat och har en datamängd om 50 element på 16-bit var, alltså total datamängd 800 bit. Här är komprimeringsbiten klar, då man kan spara eller skicka x. här börjar dekomprimeringen genom att först översätta x från 16-bit till 64-bit, eftersom Matlab inte klarar av att arbeta med 16-bit siffror radien separeras från fasen i x på det viset att man vet att radien består av ett helt antal perioder, där- med kan man göra separationen genom att ta ett helt antal perioder, som finns i x och sätta dem till radi- en eftersom det finns en del av den ursprungliga radien, som förstördes på grund av anpassningen till perioden, multipliceras radien här med konstanten 1,015, som är en tillrättande/korrektions-konstant fasen tas fram ur x genom att subtrahera bort ett helt antal perioder och det som finns kvar blir då fasen fasen återskapas till sitt grundskede efter att ha blivit anpassad till perioden, som är ansatt här. 10 15 20 25 30 531 833 D.v.s. från början anpassades fasen så att en hel pe- riod skall motsvara l80 grader och här återgår fasen till sitt grundskede, där en hel period motsvarar 360 grader 21. de framtagna värdena på radien och fasen sätts in i formeln yl = r*cos(f) så att man får den del, som mot- svarar xl samt att värdet multipliceras med 0,995, som en del av tillrättande/korrektions-steg 22. som i punkt 20 för att få den del som motsvarar X2 23. yl och y2 sätts ihop till en vektor så att den får samma storlek som a (i motsats till 7) 24. multiplicera med roten ur två så att y får samma stor- lek som i a (i motsats till 5) 25. y översätts från 64-bit till 16-bit så att den får samma datasort, som a och kalla resultatet b, här är processen klar då b nmtsvarar det återskapade datat efter komprimeringen 26. en tidsenhet skapas så att man kan se resultaten gra- fiskt, d.v.s. stegring l till 100 27. ursprungliga datat a samt resulterande datat b ritas, Fig. 3 28. en tidsenhet skapas så att man kan se resultatet för x grafiskt, d.v.s. stegring l till 50 29. det komprimerade datat x ritas i en separat graf, Fig. 4 De resulterande graferna, är de grafer, som skapades av simu- leringen. Den första grafen, Fig. 3, beskriver grunddata a och resultatdata b.
Den andra grafen, Fig. 4, beskriver det komprimerade datat. är den Som man ser från den andra grafen, på storlek 50 element och variation på mindre än -32768 till 32768 (16-bit data), d.v.s. den är verkligen hälften så stor som originaldata. 10 15 20 25 30 åh ...a 3 C451 ÛJ Från den första grafen, Fig. 3, ser man en hackig kurva, som är en vitbrus/slumptals-sekvens som skapades av simuleringen.
I själva verket är det två kurvor pà varandra eftersom resul- tatet är nästan identiskt med originalet. Grunddata visas med en linje a och resultatdata med en linje b, vilka två linjer är nästan identiska och linjerna går därför inte att skilja från varandra i samma figur. Dock finns det små variationer i vissa delar, vilket är det fel, sonl medföljer metoden på grund av att den är en förenkling.
Simuleringen gjordes här på en 100 element lång vektor av slumpmässiga siffror på 16-bit format. D.v.s. en vektor be- stående av 100 normalfördelade slumpmässiga siffror i en 16- bit storlek där variationen sker i 65536 olika steg. Resulta- tet visar att mängden data har halverats under komprimerings- steget då datamängden under komprimeringen är en vektor på 50 element på 16-bit storlek var. Alltså den ursprungliga data- mängden var 1600 bit, som reducerades till 800 bit för att sedan återskapas till resultatdata på storleken 1600 bit.
Av resultatet kan man se prestandan, som finns i uppfinning- en, nämligen det allmänna signalkravet, samt enkelheten då inga komplexa matematiska funktioner används.
När det gäller felet, är den på låg marginal. Enligt felbe- har denna simulering resulterat i SNR på SNR = 37.22 dB. räkningar, (signal to noise rate) SNR står för hur bra signalen är i en jämförelse mellan insignalen och utsignalens fel. som. SNR = SNR beräknas 10*log(ursprungligt data/felet). Vidare kan detta fel förebyggas genom utveckling gällande designva- riablerna i_ metoden såsom i. punkten 3 i. simuleringen, där perioden valdes till ett fast värde på 180 grader. Om nan däremot väljer att ha parametern dynamisk på det sättet att den blir beroende av radien, får man högre SNR. I ett test- 53% S33 10 försök som gjordes kring denna förbättring, blev SNR till 42 dB.
Det finns också möjlighet att utveckla resultaten ytterligare genom t.ex. filtrering för att minimera felmarginalerna.
Ytterligare förbättringar av uppfinningen är möjliga, vilket torde inses av fackmannen.

Claims (3)

1. 0 15 20 25 30 ll Patentkrav l. Förfarande vid komprimering av data, k ä n n e t e c k - n a t av att tvâ dataelement komprimeras till ett dataele- ment genom att det absoluta beloppet av de två dataelementen anpassas till ett helt antal perioder för en periodisk funk- tion, så att addition mellan det anpassade absoluta beloppet och en fas mellan de två elementen hos den periodiska funk- tionen resulterar i att summan kan verka både som en radie och en fas för den periodiska funktionen, den periodiska funktionen är en spiralfunktion och att spiralfunktionen för en punkt (x, y), som representerar de två dataelementen i ett ortogonalt koordinatsystem definieras som x = a*z*cos(b*z) II y a*z*sin(b*z) där z är det element, som motsvarar summan av det anpassade absolutbeloppet och fasen mellan de två dataelementen x och Y, där a och b är designvariabler som kan sättas godtyckligt för att ge spiralfunktionen olika egenskaper och där det komprimerade dataelementet har samma databitstorlek, som de två dataelementen.
2. Förfarande enligt krav l, k ä n n e t e c k n a t av att återskapande av de tvâ dataelementen sker genom att elementet z insättes i spiralfunktionen.
3. Förfarande enligt krav l k ä n n e t e c k - eller 2, n a t av att de två dataelementen är av samma databitstor- lek.
SE0801660A 2008-07-10 2008-07-10 Förfarande vid komprimering av data innefattande transformering via en spiralfunktion SE531833C2 (sv)

Priority Applications (2)

Application Number Priority Date Filing Date Title
SE0801660A SE531833C2 (sv) 2008-07-10 2008-07-10 Förfarande vid komprimering av data innefattande transformering via en spiralfunktion
PCT/SE2009/000353 WO2010005359A1 (en) 2008-07-10 2009-07-06 Data compression involving spiral transformation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0801660A SE531833C2 (sv) 2008-07-10 2008-07-10 Förfarande vid komprimering av data innefattande transformering via en spiralfunktion

Publications (2)

Publication Number Publication Date
SE0801660L SE0801660L (sv) 2009-08-18
SE531833C2 true SE531833C2 (sv) 2009-08-18

Family

ID=40943368

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0801660A SE531833C2 (sv) 2008-07-10 2008-07-10 Förfarande vid komprimering av data innefattande transformering via en spiralfunktion

Country Status (2)

Country Link
SE (1) SE531833C2 (sv)
WO (1) WO2010005359A1 (sv)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051237B (zh) * 2021-03-30 2022-12-09 中国科学院空天信息创新研究院 时间序列遥感数据的压缩存储方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2542875B1 (fr) * 1983-03-18 1985-10-04 Thomson Csf Procede d'adressage de la memoire dans un transformateur numerique d'images
US4967286A (en) * 1988-12-12 1990-10-30 Disctronics Manufacturing, Inc. Method and apparatus for forming a digital image on an optical recording disc
US6064388A (en) * 1997-11-10 2000-05-16 Cognex Corporation Cartesian to polar coordinate transformation
ES2450265T3 (es) * 2006-11-14 2014-03-24 Nippon Telegraph & Telephone Corporation Método de codificación y método de decodificación de señal de imagen, método de codificación y método de decodificación de fuente de información, dispositivos para ellos, sus programas, y medio de memoria con programa registrado

Also Published As

Publication number Publication date
SE0801660L (sv) 2009-08-18
WO2010005359A1 (en) 2010-01-14

Similar Documents

Publication Publication Date Title
Brezzi et al. A priori error analysis of residual-free bubbles for advection-diffusion problems
WO2020047823A1 (en) Convolution over sparse and quantization neural networks
JP6991983B2 (ja) 機械学習システムをトレーニングする方法及びシステム
TW202119293A (zh) 對人工神經網路進行量化的方法及系統以及人工神經網路設備
WO2021044244A1 (en) Machine learning hardware having reduced precision parameter components for efficient parameter update
CN108897716B (zh) 通过存储器读写操作来缩减计算量的数据处理装置及方法
US20130091189A1 (en) Single datapath floating point implementation of RCP, SQRT, EXP and LOG functions and a low latency RCP based on the same techniques
SE531833C2 (sv) Förfarande vid komprimering av data innefattande transformering via en spiralfunktion
TWI234109B (en) Variable-instruction-length processing
US20180341622A1 (en) Data packing techniques for hard-wired multiplier circuits
CN107562608A (zh) 资源指标重要度评估方法及装置
DeMeyer The Brauer group of a ring modulo an ideal
CN105184372A (zh) 知识网络构建方法及装置
Greenlees RATIONAL SO (3)-EQUIVARIANT COHOMOLOGY
CN112100453B (zh) 一种字符串分布统计方法、系统、设备及计算机存储介质
Wright et al. Teaching Real World Dsp Using Matlab
JP7144456B2 (ja) 範囲検査
US10416960B2 (en) Check procedure for floating point operations
Fáry et al. Isoperimetry in variable metric
Oxley et al. Maintaining 3-connectivity relative to a fixed basis
CN207301982U (zh) 一种计算机打字练习键盘
US7075539B1 (en) Apparatus and method for processing dual format floating-point data in a graphics processing system
KR102082253B1 (ko) 좌표 모델을 기초로 메쉬 품질의 향상을 위한 그래픽 처리를 수행하는 전자 장치 및 그 동작 방법
CN108875922B (zh) 存储方法、装置、系统及介质
TWI753668B (zh) 資訊處理裝置、電腦程式、記錄媒體及資訊處理方法