全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:13057
推到 Plurk!
推到 Facebook!

jpg/jpeg档案格式的介绍

尚未結案
No_War
一般會員


發表:5
回覆:6
積分:2
註冊:2003-04-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-10 10:20:25 IP:218.18.xxx.xxx 未訂閱
各位大大,谁有关于jpg/jpeg图形档案的格式、文件结构介绍的资料? 或者在哪里可以下载,请告诉一下小弟,谢谢了!!! 我现在正在研究有关jpg和jpeg的图形文件结构,所以请大家帮帮忙,谢谢!!
justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-10 22:54:05 IP:221.169.xxx.xxx 未訂閱
這個到google找就很多了,或者一些影像格式的書也都相當普遍 說實在的,看網站上的資料,不如拿一本書好好的看.. 還有這個討論區比較focus在programming的部分...
No_War
一般會員


發表:5
回覆:6
積分:2
註冊:2003-04-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-11 10:01:32 IP:218.17.xxx.xxx 未訂閱
感谢justdo您的答复,其实我有google搜索过,但搜索出来的, 全部都是一些简单介绍jpeg的,根本没有谈到jpeg里面的结构是 怎么样的?像BMP那种的,有档头,有数据等等。。。。 根本没有介绍的。我也会再到书店瞧瞧,希望可以找到这方面的资料, 如果您有也请帮忙贴一下给我吧,谢谢!!!! 那我想请教一下您和其他的大大们一个问题,就是提高图片的显示速度, 我用ImageList+ListView做了图片的浏览程式,来显示图片的缩略图, 但是当图片很大,很多的时候,显示速度明显下降,让人有点无法接受 的那种速度,如果能像ACDSee那种的显示速度就好了。不知道有什么 方法可以提高吗?或者不用上面的元件,用其他的方法也行, 望指点指点,谢谢!!!!!
bearmaster
一般會員


發表:36
回覆:45
積分:16
註冊:2004-05-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-13 11:37:18 IP:220.139.xxx.xxx 未訂閱
忘了這資料是從哪抓的, 不過希望有幫助     JPEG格式 格式:JFIF(JPEG檔的交換格式) 壓縮:JPEG(灰階影像壓縮比約為10:1;彩色影像約為20:1) 以JPEG文件格式保存的圖像實際上是2個不同格式的混合物:JPEG格式規範本身,用來定義圖像的壓縮方法,並且被包在定議分辨率和顏色模式的圖像數據格式之中。Photoshop和實際上每個能讀取和寫入JPEG文件格式的其他應用程序,以 JFIF文件格式(JPEG文件交換格式, JPEG File Interchonge Format)或與JFIF格式非常象的其他格式保存圖像數據。JFIF文件格式只是將一種圖像格或環繞JPEG壓縮的一種簡單方法,它們沒有其他的更多功能。  最初的JFIF文件格式規範史允許8位灰度圖像和24位RGB圖像;但是Adobe『修改」了此種格式,使之也能處理32位CMYK模式的數據。但是,多數版面設計應用程序實際上不能將 CMYK模式的JPEG圖像分離開,所以 Adobe所做的這個修改的意義並不大。JPEG文件格式允許用可變壓縮的方法,保存8位、24位、32位深度的圖像。例如,當以JPEG格式保存一幅 Photoshop圖像時,Photoshop給出了多種保存選項:低壓縮率,中等壓縮率,高壓縮率及最好的分辨率等級別。實驗證明,當進行印刷或在顯示器上觀察時,JPEG一般可將圖像壓縮為原大小的十分之一而看不出明顯差異。圖像會分解成8×8像素圖像單元的小方塊。這種JPEG失真有時會在新聞圖片中發現,這些圖片在進行電子傳輸前被大大地壓縮了,隨後又以高放大倍率進行了印刷。  JPEG使用了有損壓縮格式,這就使它成為迅速顯示圖像並保存較好分辨率的理想格式。也正是由於JPEG格式可以對掃描或自然圖像進行大幅度的壓縮,利於儲存或通過調製解調器進行傳送,所以在Internet上得到了廣泛的應用。  JPEG格式有一個特殊的變種,名為 「Progressive JPEG」。在創建Progressive JPEG 文件肘,數據是這樣安排的:在裝入圖像時,開始只顯示一個模糊的圖像,隨著數據的裝入,圖像逐步變得清晰。  JPEG格式的主要不足之處也正是它的最大優點。也就是說,有損壓縮算法將JPEG只局限於顯示格式,而且每次保存JPEG格式的圖像時都會丟失一些數據。因此,通常只在創作的最後階段以JPEG格式保存一次圖像即可。  JPEG簡介 微處理機中的存放順序有正序(big endian)和逆序(little endian)之分。正序存放就是高位元組存放在前低位元組在後,而逆序存放就是低位元組在前高位元組在後。例如,十六進位數爲A02B,正序存放就是A02B,逆序存放就是2BA0。摩托羅拉(Motorola)公司的微處理器使用正序存放,而英代爾(Intel)公司的微處理器使用逆序。JPEG文件中的位元組是按照正序排列的。 ________________________________________ JPEG委員會在制定JPEG標準時,定義了許多標記(marker)用來區分和識別圖像資料及其相關資訊,但筆者沒有找到JPEG委員會對JPEG文件交換格式的明確定義。直到1998年12月從分析網上具體的JPG圖像來看,使用比較廣泛的還是JPEG文件交換格式(JPEG File Interchange Format,JFIF)版本號爲1.02。這是1992年9月由在C-Cube Microsystems公司工作的Eric Hamilton提出的。此外還有TIFF JPEG等格式,但由於這種格式比較複雜,因此大多數應用程式都支援JFIF文件交換格式。  JPEG文件使用的顔色空間是CCIR 601推薦標準進行的彩色空間(參看第7章)。在這個彩色空間中,每個分量、每個圖元的電平規定爲255級,用8位代碼表示。從RGB轉換成YCbCr空間時,使用下面的精確的轉換關係:  Y = 256 * E'y   Cb = 256 * [E'Cb] + 128   Cr = 256 * [E'Cr] + 128 其中亮度電平E'y和色差電平E'Cb和E'Cb分別是CCIR 601定義的參數。由於E'y的範圍是0~1,E'Cb和E'Cb的範圍是-0.5~+0.5,因此Y, Cb和Cr的最大值必須要箝到255。於是RGB和YCbCr之間的轉換關係需要按照下面的方法計算。 (1) 從RGB轉換成YCbCr YCbCr(256級)分量可直接從用8位表示的RGB分量計算得到:    Y =    0.299R +  0.587G + 0.114 B       Cb = - 0.1687R - 0.3313G + 0.5B + 128      Cr =      0.5R - 0.4187G - 0.0813B + 128 需要注意的是不是所有圖像文件格式都按照R0,G0,B0,…… Rn,Gn,Bn的次序存儲樣本資料,因此在RGB文件轉換成JFIF文件時需要首先驗證RGB的次序。 (2) 從YCbCr轉換成RGB  RGB分量可直接從YCbCr(256級)分量計算得到:    R = Y + 1.402 (Cr-128)  G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)  B = Y + 1.772 (Cb-128) 在JFIF文件格式中,圖像樣本的存放順序是從左到右和從上到下。這就是說JFIF文件中的第一個圖像樣本是圖像左上角的樣本。 文件結構 JFIF文件格式直接使用JPEG標準爲應用程式定義的許多標記,因此JFIF格式成了事實上JPEG文件交換格式標準。JPEG的每個標記都是由2個位元組組成,其前一個位元組是固定值0xFF。每個標記之前還可以添加數目不限的0xFF填充位元組(fill byte)。下面是其中的8個標記: 1.        SOI  0xD8 圖像開始  2.        APP0  0xE0 JFIF應用資料塊  3.        APPn  0xE1 - 0xEF          其他的應用資料塊(n, 1~15)  4.        DQT  0xDB 量化表  5.        SOF0  0xC0 幀開始  6.        DHT  0xC4 霍夫曼(Huffman)表  7.        SOS  0xDA 掃描線開始  8.        EOI  0xD9 圖像結束 爲使讀者對JPEG定義的標記一目了然,現將JPEG的標記碼列於表6-05,並保留英文解釋。 表6-05 JPEG定義的標記 Symbol  (符號)        Code Assignment (標記代碼)        Description (說明) Start Of Frame markers, non-hierarchical Huffman coding SOF0        0xFFC0        Baseline DCT SOF1        0xFFC1        Extended sequential DCT SOF2        0xFFC2        Progressive DCT SOF3        0xFFC3        Spatial (sequential) lossless  Start Of Frame markers, hierarchical Huffman coding SOF5        0xFFC5        Differential sequential DCT SOF6        0xFFC6        Differential progressive DCT SOF7        0xFFC7        Differential spatial lossless Start Of Frame markers, non-hierarchical arithmetic coding JPG        0xFFC8        Reserved for JPEG extensions SOF9        0xFFC9        Extended sequential DCT SOF10        0xFFCA        Progressive DCT SOF11        0xFFCB        Spatial (sequential) Lossless Start Of Frame markers, hierarchical arithmetic coding SOF13        0xFFCD        Differential sequential DCT SOF14        0xFFCE        Differential progressive DCT SOF15        0xFFCF        Differential spatial Lossless Huffman table specification DHT        0xFFC4        Define Huffman table(s) arithmetic coding conditioning specification DAC        0xFFCC        Define arithmetic conditioning table Restart interval termination RSTm        0xFFD0~0xFFD7        Restart with modulo 8 counter m Other marker SOI        0xFFD8        Start of image EOI        0xFFD9        End of image SOS        0xFFDA        Start of scan DQT        0xFFDB        Define quantization table(s) DNL        0xFFDC        Define number of lines DRI        0xFFDD        Define restart interval DHP        0xFFDE        Define hierarchical progression EXP        0xFFDF        Expand reference image(s)  APPn        0xFFE0~0xFFEF        Reserved for application use JPGn        0xFFF0~0xFFFD        Reserved for JPEG extension COM        0xFFFE        Comment Reserved markers TEM        0xFF01        For temporary use in arithmetic coding RES        0xFF02~0xFFBF        Reserved JPEG文件由下面的8個部分組成: (1) 圖像開始SOI(Start of Image)標記 (2) APP0標記(Marker) ① APP0長度(length) ② 識別字(identifier) ③ 版本號(version) ④ X和Y的密度單位(units=0:無單位;units=1:點數/英寸;units=2:點數/釐米) ⑤ X方向圖元密度(X density) ⑥ Y方向圖元密度(Y density) ⑦ 縮略圖水平圖元數目(thumbnail horizontal pixels) ⑧ 縮略圖垂直圖元數目(thumbnail vertical pixels) ⑨ 縮略圖RGB點陣圖(thumbnail RGB bitmap) (3) APPn標記(Markers),其中n=1~15(任選) ① APPn長度(length) ② 由於詳細資訊(application specific information) (4) 一個或者多個量化表DQT(difine quantization table) ① 量化表長度(quantization table length) ② 量化表數目(quantization table number) ③ 量化表(quantization table) (5) 幀圖像開始SOF0(Start of Frame) ① 幀開始長度(start of frame length) ② 精度(precision),每個顔色分量每個圖元的位元數(bits per pixel per color component) ③ 圖像高度(image height) ④ 圖像寬度(image width) ⑤ 顔色分量數(number of color components) ⑥ 對每個顔色分量(for each component) o        ID  o        垂直方向的樣本因數(vertical sample factor)  o        水平方向的樣本因數(horizontal sample factor)  o        量化表號(quantization table#) (6) 一個或者多個霍夫曼表DHT(Difine Huffman Table) ① 霍夫曼表的長度(Huffman table length) ② 類型、AC或者DC(Type, AC or DC) ③ 索引(Index) ④ 位表(bits table) ⑤ 值表(value table) (7) 掃描開始SOS(Start of Scan) ① 掃描開始長度(start of scan length) ② 顔色分量數(number of color components) ③ 每個顔色分量 o        ID  o        交流係數表號(AC table #)  o        直流係數表號(DC table #) ④ 壓縮圖像資料(compressed image data) (8) 圖像結束EOI(End of Image) 表6-06表示了APP0域的詳細結構。有興趣的讀者可通過UltraEdit或者PC TOOLS等工具軟體打開一個JPG圖像文件,對APP0的結構進行分析和驗證。 表6-06 JFIF格式中APP0域的詳細結構 偏移        長度        內容        塊的名稱        說明 0        2 byte        0xFFD8        (Start of Image,SOI)        圖像開始 2        2 byte        0xFFE0        APP0(JFIF application segment)        JFIF應用資料塊 4        2 bytes                 length of APP0 block        APP0塊的長度 6        5 bytes                 "JFIF"+"0"        識別APP0標記 11        1 byte                  主要版本號(如版本1.02中的1) 12 1 byte 次要版本號(如版本1.02中的02) 13 1 byte X和Y的密度單位 units=0:無單位 units=1:點數/英寸 units=2:點數/釐米 14 2 bytes 水平方向圖元密度 16 2 bytes 垂直方向圖元密度 18 1 byte 縮略圖水平圖元數目 19 1 byte 縮略圖垂直圖元數目 3n < Thumbnail RGB bitmap> 縮略RGB點陣圖(n爲縮略圖的圖元數) Optional JFIF extension APP0 marker segment(s) 任選的JFIF擴展APP0標記段 …… …… 2 byte 0xFFD9 (EOI) end-of-file 圖像文件結束標記
justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-13 22:12:32 IP:221.169.xxx.xxx 未訂閱
在圖書館查到兩本書 影像檔寶典 windows實作 碁峰資訊 1994 影像檔格式剖析 維科 1991 只是年代有點久了,不知道還有沒有在賣
No_War
一般會員


發表:5
回覆:6
積分:2
註冊:2003-04-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-14 09:58:44 IP:218.18.xxx.xxx 未訂閱
非常感谢bearmaster和justdo大大的提点,谢谢!!!! 你们提高的资料我正在看,你们说的书,我会到书局去看看有没有, 非常感谢两位,谢谢!!!!
系統時間:2024-03-29 17:34:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!