Annons

Canons CR2 RAW-format

Produkter
(logga in för att koppla)

PerHbg

Aktiv medlem
Hej. Är det någon här som kan förklara hur man gör 10 MBytes filer med 10 Megapixel och 12 bitars djup som borde ge 15 MByte? (1 Byte=8Bit så 12 Bit blir 1,5 Byte och 1,5 Byte * 10 Meg borde bli 15 Megs filer på CF-kortet...

Jag har själv spekulerat i om man kör någon form likt RGB-YUV omvandling typ 12/12/12 bitars till 12/6/6 bitars matrisbildning sen på det kanske LZW eller ZIP, men kan någon som vet berätta hur det verkligen är gjort i Canons CR2-format?

Mvh, Per
 
Hej
Först o främst tar kameran bara fullt antal gröna prickar o bara varannan blå o röd. DVS här har du en besparing. De saknade prickarna interpoleras sen fram i konverteringsprogrammet.

Sen kan du zip:a varje kanal för sig om du vill, detta ger ju en besparing, denna zip:ning är inte förstörande.

Sen för att utöka filen lagras en halvhyfsad JPG bild samt lite info i filen. JPG används bla av kameran för att visa bilden då du bläddrar.

Detta gör att program som enbart tar JPG bilden visar en bild som tar hänsyn till kamerans inställningar (WB, Färg o skärpa) medan du sen vid konverteringen "överaskas" med annan look o feel då du då står med de val du valt i konveteraren.

Roine
 
Canons råfiler tar ju olika mycket plats hur kan dom göra det om det bara är "rå" data som kommer ut?
 
ligger nog i komprimeringen

En helt enfärgad bild blir mindre i jpg och i den komprimerade rådatan, så båda bidrar ju till minskad fil. De vet ju enbart summan av de två eftersom de ligger i samma fil.
En högisofil med mycket färgbrus blir däremot större än motsvarande lågiso oftast. Du ser kamerans best guess i antal bilder kvar på kortet, ökar du ison predikterar den ett mindre antal bilder.
Kör jag med svart bakgrund i studio med modell så säger min eos 1D mk2 185 bilder på ett 2GB CF kort i ISO 100. Men i verkligheten kan jag ta mer än 200 bilder innann det är fullt.

här står det lite
http://www.dpreview.com/news/0706/07061401kodakhighsens.asp

Roine



Robin Gyllander skrev:
Canons råfiler tar ju olika mycket plats hur kan dom göra det om det bara är "rå" data som kommer ut?
 
Senast ändrad:
roinek skrev:
ligger nog i komprimeringen

En helt enfärgad bild blir mindre i jpg och i den komprimerade rådatan, så båda bidrar ju till minskad fil. De vet ju enbart summan av de två eftersom de ligger i samma fil.
En högisofil med mycket färgbrus blir däremot större än motsvarande lågiso oftast. Du ser kamerans best guess i antal bilder kvar på kortet, ökar du ison predikterar den ett mindre antal bilder.
Kör jag med svart bakgrund i studio med modell så säger min eos 1D mk2 185 bilder på ett 2GB CF kort i ISO 100. Men i verkligheten kan jag ta mer än 200 bilder innann det är fullt.

här står det lite
http://www.dpreview.com/news/0706/07061401kodakhighsens.asp

Roine

Återstående bilder ändras rätt mycket om man drar upp från 100 till 3200.
 
Söker ej spekulationer

Spekulera är en sak. Att veta exakt är något annat. Underförstått i min frågeställning var att bilden är av sådan beskaffenhet (t ex brus) att ZIP eller LZW komression (Som är förlustfritt) inte kan minska filstorleken utan då blir filen utan reduktion 15 MByte för 10 Mpixels och 12 bitar i bitdjup. Hur gör man då för att filen fortfarande skall bli 10 MByte om man inte måste kasta bort bitar som man t ex gör i videosystem med YUV-formatet (Vilket ger ett ganska gott resultat)? Kanske man kombinerar detta med ZIP/LZW så att man bara går in och slänger bort bitar när filen behöver bli stärre än 10 MByte? Men nu spekulerar jag. Skulle varit väldigt kul att veta det exakta svaret från folk som jobbar med algoritmer för bildhantering.Specifikt för CR2 formatet vore mest intressant men andra RAW-format är också av intresse. Kanske det är så att man gör någåt helt annan form av reduktion med bildförlust när 10MByte inte räcker till?
 
Det torde vara ganska självklart att man i raw formatet använder sig av någon form av ickeförstörande komprimering (lossless).
http://www.dpreview.com/reviews/canond30/page14.asp

Det finns många typer allt från simple RLE (Run Lenght Encoding) till effektiva LZW eller Huffman.
http://en.wikipedia.org/wiki/Lempel-Ziv-Welch
http://en.wikipedia.org/wiki/Huffman_coding

Destu mer man vet om strukturen på datan destu bättre kan man komprimera den utan förlust.
Brus kan t.ex. inte komprimeras alls. En helt vit
brusfri bild på 10 Mpixel kan komprimeras jättemycket, te.x. till "alla pixel=vita"...

Testar man t.ex. att exponera en helt vit bild med en 20D så är den ca 2MB mindre än en 7,5Mb underexponera bild från ISO 3200 (mycket brus). Anledningen att skillnaden är så liten beror antagligen på att man inte förväntar sig extremlägena utan hellre tar en algoritm som är processoreffektiv än en som är optimal.

Se även t.ex.
http://www.cambridgeincolour.com/tutorials/RAW-file-format.htm

med den intressanta informationen:
Note: Kodak and Nikon employ a slightly lossy RAW compression algorithm, although any artifacts are much lower than would be perceived with a similar JPEG image. The efficiency of RAW compression also varies with digital camera manufacturer.
 
Re: Söker ej spekulationer

PerHbg skrev:
Spekulera är en sak. Att veta exakt är något annat. Underförstått i min frågeställning var att bilden är av sådan beskaffenhet (t ex brus) att ZIP eller LZW komression (Som är förlustfritt) inte kan minska filstorleken utan då blir filen utan reduktion 15 MByte för 10 Mpixels och 12 bitar i bitdjup. Hur gör man då för att filen fortfarande skall bli 10 MByte om man inte måste kasta bort bitar som man t ex gör i videosystem med YUV-formatet (Vilket ger ett ganska gott resultat)? Kanske man kombinerar detta med ZIP/LZW så att man bara går in och slänger bort bitar när filen behöver bli stärre än 10 MByte? Men nu spekulerar jag. Skulle varit väldigt kul att veta det exakta svaret från folk som jobbar med algoritmer för bildhantering.Specifikt för CR2 formatet vore mest intressant men andra RAW-format är också av intresse. Kanske det är så att man gör någåt helt annan form av reduktion med bildförlust när 10MByte inte räcker till?

För att förtydliga så tror jag nog att det i de flesta fall alltid går att komprimera en del.
Vad är det som säger att filerna inte kan bli större än 10MB? det kan ju mycket väl vara så att det i praktiken alltid går att komprimera under 10MB, därför har ingen sett större filer?

PS: ZIP använder sig av LZW!.DS
 
Senast ändrad:
Hej

Tro nog du missuppfattat det med 10MB, det står inget om maxstorlek på filen, utan att den blev 10 istf för matematiska 15 som jag tolkar det.

Jag fattar frågan som om hur förklara den faktiska filstorleken kondra den teoretiska storleken enligt hans formel. Men det jag försökte förkalra är att flera faktorer gör att formeln inte är så enkel.

Dels är inte all färginfo med, dels kommer det till en jpg som förvärrar senariot (ger större fil i sig) osv.

Jag har massor av filer som är större än 11mb med 400D.

Sen är tex skillnaden mellan en 350D och 1D mk2 fil märklig, båda har samma upplösning men ger alltid olika stora filer, 350D filerna är större generellt. Kan bero på klenare cpu i 350D och man valt en lösare kompression som förra trådskrivaren skrev, men nu spekulerar jag.

Roine
 
Kan mycket väl vara så

Ja det kan mycket väl vara så att det räcker med bra förlustfri datakompression likt ZIP och är de någon som har haft över 11 Meg i filstorlek så verkar det ju vara så. Vure kul att höra från någon som vet exakt men vi kanske får nöja oss med spekulationer om det nu är hemlighetsmakeri bakom de olika formaten. Det verkar ju fungera i alla fall och räcker vanlig förlustfri kompression så är det jättebra för då behöver man inte vara rädd att något har gått förlorat. Det är ju det som skall vara vitsen med RAW. :)
 
Förtydligande

Jag menade att jag alltid fått 10 Meg i praktiken eller mindre och då undrade jag om detta verkligen stämmer men det är mycket möjligt att det i princip alltid blir så med den förlustfria kompressionen som finns i CR2 formatet.Helt okomprimerat skulle den ju bli 15 MByte.man kan ju tänka sig att filerna ökar något om man har bättre skarpare optik.
 
hej

man kan ju spekulera:
1. Om man har 12 eller 14 bitar kan man i komprimeringen ta hänsyn till detta o skippa 4 eller 2 bittar, ger ju klar platsbesparing

2. Du måste räkna till JPG delen o EXinfon, säg minst 100-200k.

3. Om du räknar 12 bitar på grön med fullt antal pixlar o sen 50% på de två andra färgerna, vad får man då med din formel

4. Då jag skriver zip menar jag nån förlustfri komprimering, inte av typen ZIP nödvändigtvis, men man kan anta att graden av komprimering blir rätt bra för de flesta motiv, se bara skillnaden mellan en okomprimerad TIFF o JPG. Det är ju en bra test vad man kan göra på en med alla färgkanalerna representerade fullt ut, RAW så saknas ju 50% i två kanaler på Canon. Så jag kan tänka mig man komprimererar kanalvis?!

Men nu spekulerar jag

Ang filstorlek 400D

http://www.roine.nu/hurtigweb/dag6/index2.htm

De i kyrkan e tagna med iso 800

Innehåll i katalogen C:\downloads\hr-urval\dag6

12 053 779 --- 070801-IMG_2091.CR2
12 200 001 --- 070801-IMG_2092.CR2
9 121 840 --- 070801-IMG_2097.CR2
9 368 806 --- 070801-IMG_2098.CR2
9 405 676 --- 070801-IMG_2101.CR2
10 000 494 --- 070801-IMG_2102.CR2
9 743 666 --- 070801-IMG_2105.CR2
9 562 584 --- 070801-IMG_2106.CR2
9 530 561 --- 070801-IMG_2107.CR2
9 979 135 --- 070801-IMG_2108.CR2
9 879 258 --- 070801-IMG_2109.CR2
9 640 520 --- 070801-IMG_2110.CR2
9 959 516 --- 070801-IMG_2111.CR2
9 448 498 --- 070801-IMG_2112.CR2
9 821 614 --- 070801-IMG_2113.CR2
12 210 045 --- 070801-IMG_2115.CR2
10 161 772 --- 070801-IMG_2116.CR2
10 946 011 --- 070801-IMG_2118.CR2
10 713 015 --- 070801-IMG_2128.CR2
11 969 093 --- 070801-IMG_2130.CR2
9 367 838 --- 070801-IMG_2138.CR2
 
Verkar ju bra

Ok, Roine. Större än 12 Megs-filer visar ju att mitt antagande om att det var begränsat till 10 Meg var felaktigt. Då är det säkert ickeförstörande kompression man använder. Christer har bra synpunkter om detta också. Man får väl nöja sig så här långt i alla fall och kan känna sig hyffsat säker på att man inte har blivit av med något i CR2-formatet. Det ska ju vara ett negativ så att säga :)
Man tackar för visat intresse. Mvh
 
hej
men din frågeställning är ju intressant ändå.
För 10 mpixlar med 12 bitars djup eller 14 ger ju en ansenlig mängd data som du skriver, ca 12-14 mbit / 8 om man räknar så. Det ger ju lite drygt 17 mbyte + jpg filen.
Sen krymps detta ner med packningen till det vi pratar om, ca 78-11 mbyte, dvs en rätt bra utdelning på packningen.

Roine
 
Ja och det gäller att inte öppna sin RAW-bild i 8 bitarsläge utan att man kör i 16 bitarsläget i Photoshop om man vill efterbehandla bilden med maximalt resultat. Man märker att även en snabbare dator får tänka lite med 60 Meg i den öppna filen (för en 10 Megapixels bild).
 
ANNONS
Götaplatsens Foto