無紡布袋訂做電話15838231350大數據文摘出品

添加微信好友, 獲取更多信息
復制微信號
搞過圖像處理的同學應該都認識這位吧?
這位名叫Lena Forsen的模特,自從在上世紀70年代被南加州大學信號與圖像處理研究所的助理教授Alexander Sawchuk用作測試圖片后,就一發不可收拾,成為圖像行業標準,被學者們復制和重新分析了數十億次。
可以說,她是整個計算機圖像處理領域的“女神”。
Medium上一位博主突然產生了一個想法,在那些幾十年前古老的計算機上,能夠顯示“女神”Lena Forsen的這張經典照片嗎?
最古老的可以顯示照片的計算機,又是哪一款呢?
好像還有點意思,我們一起來看看。
遠在圖像產生之前
我們現在熟悉的圖像格式其實離我們并不遠。JPEG 圖像格式于1993年推出,GIF于1987年發布。
那遠在這些圖像格式誕生之前,有沒有可能顯示圖像呢?
70年代的大型機和超級計算機確實能夠處理照片圖像,但那離普通人太遠了。
第一臺個人電腦 Altair 8800于1975年發布,用戶可無紡布袋訂做電話15838231350以通過開關進入程序,并通過Led燈觀看結果:
顯然這玩意是不能顯示圖像的。
在70年代末,搭載CP/M OS的計算機出現了,這是一個完全成熟的操作系統,有文件系統、磁盤驅動器、編譯器、程序和游戲。但是有一個問題—— CP/M UI只是文本。
從理論上講,我們可以用 ASCII 圖形來顯示下面的內容:
但是這顯然是一種作弊的手法,不能算數。
再往后來呢?
一些CP/M OS機器,比如Visual 1050計算機,是有圖形功能的,但是沒有通用的標準。
最早可用于CP/M的格式之一是RLE,它對黑白圖像進行編碼,分辨率為256×192。
我們終于能看到“女神”了!
雖然實際上圖片可能看起來像這樣:
正如我們所看到的,它遠非完美,但仍然比純ASCII好得多。這種格式的單色圖像大小約為6 KB,因此在CP/M 90 KB軟盤上,最多可以保存14張這種質量的照片。
后來計算機硬件變得更加強大。
1981年,CGA(彩色圖形適配器)被引入,MS-DOS計算機能夠顯示4種顏色的高達320x240分辨率的圖形。
這無紡布袋訂做電話15838231350種品質的圖片可能看起來像這樣:
這種格式的圖像大小約為40 KB,因此在一張360 KB 的軟盤上可以放置大約8張圖像。幾年后,1987年推出的 VGA 適配器能夠顯示256張彩色圖像,這些圖像就更真實了。
這張圖片的大小是77kb,所以5-6張圖片可以保存在一張720kb的1.44英寸的磁盤上。
后來,80年代末推出的 SVGA (高級視頻圖形陣列)適配器能夠使用16M顏色顯示高達1280x1024分辨率的逼真圖像,這實際上與我們今天所用的顏色非常接近了。
其他的計算機模型在80年代和90年代也可以使用(蘋果,Commodore,ZX Spectrum等等),它們都可以顯示不同類型的圖形。
先有圖像還是先有圖像格式?
先有雞還是先有蛋?先有圖像還是圖像格式?
肯定是圖像。
在最簡單的情況下,“格式”是不需要的,單色圖像只是一個位序列:
因此,如果我們知道圖像的寬度和高度,并且計算機具有圖形功能,那么每個開發人員都可以制作一個程序,從二進制無紡布袋訂做電話15838231350文件中顯示圖像“原樣”。
順便說一下,在談論“自定義”圖像格式時,提到1985年發布的游戲“脫衣撲克”(Strip Poker)也很有意思:
我們可以看到,在第一個屏幕,玩家可以選擇兩個人物之一,“蘇姿”或“梅麗莎”,第二個屏幕是游戲本身。如果我們打開游戲文件夾,很容易看到這兩個人物的數據文件只是保存“原樣”,根本沒有壓縮,所有文件大小相同:
1:03 AM 71 Melissa.txt
12:18 AM 5768 Melissa1.pic
12:18 AM 5768 Melissa2.pic
12:19 AM 5768 Melissa3.pic
12:20 AM 5768 Melissa4.pic
12:21 AM 5768 Melissa5.pic
5:40 AM 35 Opn.txt
12:04 AM 5768 Opps.pic
12:59 PM 50304 Poker.exe
1:06 AM 1288 Screen.pic
12:03 AM 5768 Stitle.pic
5:09 AM 69 Suzi.txt
12:02 AM 5768 Suzi1.pic
1:33 AM 5768 Suzi2.pic
12:00 AM 5768 Suzi3.pic
12:01 AM 5768 Suzi4.pic
12:00 AM 5768 Suzi5.pic
游戲開發者盡最大努力縮小尺寸:每個文件的大小只有5768字節!
這樣我們只能得到320x18的灰度圖像。事實上,我們可以使用 Python 打開 pic-file,看到許多細節缺失:
也許游戲使用了單獨的背景圖片或者通過編程方式繪制了一些細節(比如垂直線) ,開發人員肯定使用了一些技巧來有效地在320x240的屏幕上顯示320x18的圖片。
他們為什么要花這么多精力呢?
答案很簡單ーー當時許多計算機根本沒有硬盤驅動器,因此在軟盤上寫入游戲的能力至關重要。
正如我無紡布袋訂做電話15838231350們已經知道的那樣,第一張軟盤的大小只有360 KB——這不僅對于游戲而言已經足夠了,對于 MS-DOS 引導文件也是如此。開發者實際上做到了,游戲的大小只有140 KB。
當然,“按原樣”保存圖像可能會占用空間,開發人員試圖找到更好的方法來保存數據。
最早的圖像編碼方法之一是RLE (游程編碼)。在這種格式下,每個數據塊都存儲在‘count,value’對中,這樣可以更有效地保存圖像。
作為一個簡化的例子,黑白點序列“ bwwbwwwwww”可以保存為“1B3W1B4W”。正如我們所看到的,它更加緊湊,可以用于圖形或表格,但是對于真實感圖像,“壓縮”的圖像甚至可以比原始圖像更大。
最早被廣泛使用的格式之一是 PCX (PiCture eXchange) ,它于1985年推出。這種格式也使用 RLE 編碼,正如我們看到的,頭部字段存儲了大量附加信息:
// Standard PCX header (C/C++)
structPCXHeader {
char ID; // ID, always 0x0A
char Version; // The version number
char Encoding; // Use of encoding (0, 1)
char BitPerPixel; // 1, 2, 4 or 8
short X1; // The minimum x-coordinate of the image position
short Y1; // The minimum y coordinate of the image position
short X2; // The maximum x coordinate of the image position
short Y2; // The maximum y coordinate of the image position
short HRes; // The horizontal image resolution in DPI
short VRes; // The vertical image resolution in DPI
char ClrMap[16*3]; // The EGA palette for 16-color images
char Reserved1;
char NumPlanes; // Number of color planes: 1, 3, or 4
short BPL; // The number of bytes of one color plane
short Pal_t;
char Filler[58];
} Header;
PCX 格式實際上不太適合保存照片圖像,例如,同一幅320x240分辨率的“ Lenna”圖像的16色格式大小為35 KB,256色格式大小為100 KB。
GIF GIF 于1987年發布,與 PCX 相比,它要先進得多。
GIF 使用的是Lempel-Ziv-Welch (LZW)算法,無紡布袋訂做電話15838231350這種算法效率更高ーー同樣的320x240圖像以 GIF 格式保存,只有37 KB大小,而PCX是100 KB 大小。
1989年,GIF的擴展版本發布了,它也可以顯示動畫。令人驚訝的是,即使在今天,動畫GIF仍然在使用,甚至在本文中也可以看到這個例子ーー它仍然是最簡單的、跨平臺的方法,可以將動畫內容嵌入到頁面中。
最后,于1992年推出了聯合攝影專家組制作的JPEG格式。它使用的是有損數據壓縮圖片,是專門為保存照片而設計的。
該算法使用 DCT (離散余弦變換)來保存數據,這個方法本身是在1972年提出的,但是正如我們所看到的,僅僅20年之后,公眾對這項技術的真正需求出現了。
順便說一下,在90年代,色情圖片的銷售變成了一種生意。從技術角度來看,這些廣告來自1994年的《電腦雜志》 ,很有趣:
總結
讓我們回到最初的問題,在將近40年前的80年代初,有沒有可能在XT機器上看《花花公子》?
從技術上講,答案是肯定的。這些機器能夠顯示圖像,并且有軟盤驅動器,這使得文件共享變得容易。下面是1983年制造的一臺真正的康柏便攜式計算機的運行過程:
正如我們所看到的,它并沒有那么快,圖像加載時間大約是40秒,但它仍然可以工作。
但實際上,這臺電腦是在1983年發布的,而 PCX、 GIF 或 JPEG 圖像格式甚至還沒有推出。