Lav din lektier selv.
--
6700K|Maximus VIII Extreme|32GB RAM
Gainward1080-GS|XL2410T|U28D590D
Samsung960 PRO 512GB|Samsung 850 PRO 512GB
Samsung850 EVO 250GB|Corsair AX860i
#2
Det har intet med undervisning eller arbejde at gøre. Jeg er færdiguddannet, inden for et andet fagområde. Det bunder i nysgerrighed og vidensbegær.
--
Sidst redigeret 07-12-2018 01:31
Ved nærmere undersøgelse, kan jeg konkludere, det drejer sig om, hvorledes metadata er placeret i start eller slutningen af filen
Nogen der kender til meta datas placering i en PNG fil?
--
#3 Æhm, jeg googlede "png file format specification" og fik som første hit den her:
https://www.w3.org[...]
Der er alt i, hvad du nogensinde har lyst til at vide om PNG-filer.
Til dit andet spørgsmål: PNG-filen forberedes i RAM, og skrives som de fleste andre flade filer af Windows med "first byte first" i en strøm ned på disken.
--
#4
Tak for det gode fund
Ja, det med RAM har jeg forstået. Det var bare, hvilken del der bliver skrevet først til disk.
--
Igen Du bliver noed til at definer hvilket meta data du taler om.
Dine spoergsmaall blande rundt paa tingene
Der er NTFS meta data ( rettigheder. compression flag skrivebeksels flag osv osv
og det er PNGfil meta data (dato infromation. billed type. palette information, gamma info osv osv)
#3
et klar goer det saa lidt
og ja jeg goer en hel del
- De foereste 8 bytes in en png fil er en png signature. som kun er til for at identifire filen som varende png
- resten af fileen er delt op i klumer som kaldets chunkg
- den forerste chunk SKAL vare IHDR som indeholder information om billed som .fkes pxiels storre og bit dybde
- derneast kommer typisk en tEXt chunk som indeholder "menneskelig information" som f.eks data stempling. eller hvilket progrem der har lavet filen
- tIME er naeste som indeholder dato for sidste rettelse/gemning af file
- PHYs er naeste og indehollder PPI/DPI information. altsa information om hvor stor billeder skal vaere i den virkelige verden
- gAMA indehodler gamma information som indeholder hvor staert "lys kurven" er I filen ( hvor met lyser billeder bliver for hver foregelse i nummer vaerdien. Det er nemlig ikke linaerts
- PLTE indehodler palletten dvs de 256 farve koder i 24bits format i et palette billed som kun bruger 8 bits per pixel
- IDAT (der kan vare flere) indeholder selve billed information i komprimeret form
- IEND Slutning af filen
Der er mange flere chunks typer derude men det er lige dem som jeg kan huske i hovedet
deruove som sideinformaiton saa kan hvert linie i et png format blive for fitlret med 5 forskellige delta filter
0 = ingen filterein
1= tidligered ( dvs der skriver kun forskellen fra den tidliger pixels til den nye pixels
2 = up ( der skriver kun forskellen fra dne pixels der er paa linine ovenover)
3 = gennemsnits ( her skriver forskellen tild gennmsnit af tiligerpixels og pixlen fra linien ovenover)
4 = path (som bruger gennsits af tidelig pixels + pixels fra ovenstaadne liner + tdilgier pixels paa ovenstaende liner)
hver line bliver saa pre-pended med en filter byte som fortaller hvilket delta filter der skal bruges til lige netop denne linie
der skal do huske paa at der arbedjs bytevis og ikke pixels viss dvs der blvier udragner for hvert 8bits. slevon en pixles bruger 24 32 eller kun 4 bits. saa det er ikke helt korrekt at henvise til det som pixels
Derefter bliver der langt en omgang deflate komprimering paa er staerktere and den lz77 eller lzw der er i gif ( jeg kan ikek huske hvilken gif bruger)
hvis du skal have en illustration i hvordan delta filtrering hjaelper paa komprimering siger du bare til
--
Sven Bent - Dr. Diagnostic
www.TechCenter.[...] - Home of Project Mercury besluttedm ig for at vise delte filterin alligevel
lad as antage du har en raake pixels med foelgende vaerdier
128 129 130 131 132 133 134 135
saa er de her ikke et eneste ens tal saa komprimering er svaert
delta filter goer er vi istedet udregner forskelle (delta fra tidliger vaerdi )
saa istedet bliver det til
128 1 1 1 1 1 1 1
en simple kompriemrng metode er RLE ( findes ogsaa i png men sjaeldet brugt) hvor vi istedet for at skriver alle tal individuel saa skriver vi det som en indkobs lsite hvor vi skriver antal og saa veardiesn
saa de ville see saaledes ud
1 128 7 1
altsa 1 antal af veridne 128 og 7 gange skal vi have vaerdien 1
Som du kan se uden delta filtrering ville vores komprimering slet ikke have virket da vi slet ikke have nogle ens vaerdier
--
Sven Bent - Dr. Diagnostic
www.TechCenter.[...] - Home of Project Mercury #6
#7
Rigtig mange tak for dine gode indlæg Sven Bent
Så konklusionen er, at metadataen vedrørende time stamps, den bliver skrevet før selve "billedet" / filens indhold (IDAT)
Når man arbejder med filen, det der er loaded i memory, hvilke fil-dele er der så tale om? Er det kun IDAT?
--
#6
#7
Med reference til den anden tråd omkring GEM og GEM SOM
Når man trykker GEM, skriver den så alle chunks igen på disken?
Eftersom der er tale om at filen skrives igen et andet fysisk sted.
--
#9 Her er PNG reference biblioteket
http://www.libpng.org[...] (prøv f.eks. at læse png_write / png_write_row i pngwrite.c)
Hvis du tjekker de sidste par linjer i close metoden, i dette C++ PNG bibliotek, kan du se et eksempel på hvordan libpng bruges:
https://github.com[...]
Software er opbygget af lag, så det kan faktisk være ekstremt svært at fortælle dig præcis hvad der sker hele vejen fra du trykker på GEM knappen til der skrives bits på et storage device i din computer.
Der kan muligvis også blive klogere på PNG/libpng, ved at læse manualen:
http://www.libpng.org[...] og se kode eksempler.
--
https://twitter.com[...] - Ned med #lurerSørenPape
--
Sidst redigeret 15-12-2018 17:23
Filernes placering i Windows
Hvor ligger denne data?
Har prøvet at læse og forståyderligere omkring NTFS
http://ntfs.com[...]
Sven Bent skrev i en anden tråd:
https://www.hardwareonline.dk[...]
nej fil tabbel er data omraadde der ligger typiski starten ( atl efter filsystem) og indeholder index over hvor dine filer er
set det som en lille database hvor dne har fogledne information
FileA.png
cluster 12345
cluster 15365 ?
cluster 62345
cluster 22385
cluster 12885
cluster 12460
cluster 15345
cluster 42345
Kan man sige, at dette index er ”genveje” eller ”tråde” ud, og fortæller hvor de forskellige clusters med data tilknyttet filen ligger på disken?
Dette index indgår i filtabelen. Men hvad hedder det på NTFS master file table?
De forskellige chunks for PNG, hvad hedder de på NTFS master file table?
Hvilke chunks indeholder data for billedet?
Mange tak for jeres svar :)
--
Definer din metadata - det er jo data om data. Der er teknisk/strukturelle metadata og vejledende metadata. Det første sker typisk automatisk mens det andet involverer en manuel indblanding.
--
PC1-Ci7 [email protected]|GTX 1080Ti SLi|MSI X99S|32GB 2666MHz]
PC2-Ci7 [email protected]|RTX 2080|MSI X99S|32GB 2666MHz]
PC3-PhII X4 955|GTX 1050Ti|16GB 1333MHz]
--
Sidst redigeret 18-01-2019 13:32
#9
ja. fil gemmnigns operation forstaar ikek png metadata som andet end blot data der skal skrives til disken
Kan man sige, at dette index er ”genveje” eller ”tråde” ud, og fortæller hvor de forskellige clusters med data tilknyttet filen ligger på
disken?
Ja
Det er helt bogstaveligt en liste med clusters der har de data som filen indeholder
De forskellige chunks for PNG, hvad hedder de på NTFS master file table?
de heder ikke noget paa filtablen. de er en del af filen .saa de datte ligger altsaa i de cluster som filen er.
NTFS/FAT er kun intereste omkring handter ad filen som lagerings og ikke den indholder.
den kender ikke forskelle paa om filen er png eller PCM eller BMP eller en DLL.
Det er alle blot filers
Hvilke chunks indeholder data for billedet?
IDAT indeholder vaeridens for hvert pixels i billed.. men i komprimeret form
--
Sven Bent - Dr. Diagnostic
www.TechCenter.[...] - Home of Project Mercury
--
Sidst redigeret 18-01-2019 17:09
#13
Når du skriver filtabel, mener du så master file table i NTFS?
Eller som at filtabel og index det samme?
Der er blevet skrevet rigtig mange ting og brugt mangeforskellige ord
Er denne opsummering korrekt:
Filen er alt der står i MFT (master file table)
I MFT indgår index over clusters
Chunks indgår i clusters
Eller hvordan skal det hele forstås?
--