<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用40年前的電腦打開女神圖片,這你敢信?

          共 4441字,需瀏覽 9分鐘

           ·

          2022-06-06 20:10


          大數(shù)據(jù)文摘出品
          搞過圖像處理的同學(xué)應(yīng)該都認(rèn)識這位吧?
          這位名叫 Lena Forsen 的模特,自從在上世紀(jì) 70 年代被南加州大學(xué)信號與圖像處理研究所的助理教授 Alexander Sawchuk 用作測試圖片后,就一發(fā)不可收拾,成為圖像行業(yè)標(biāo)準(zhǔn),被學(xué)者們復(fù)制和重新分析了數(shù)十億次。
          可以說,她是整個(gè)計(jì)算機(jī)圖像處理領(lǐng)域的“女神”。
          Medium 上一位博主突然產(chǎn)生了一個(gè)想法,在那些幾十年前古老的計(jì)算機(jī)上,能夠顯示“女神”Lena Forsen 的這張經(jīng)典照片嗎?
          最古老的可以顯示照片的計(jì)算機(jī),又是哪一款呢?
          好像還有點(diǎn)意思,我們一起來看看。

          遠(yuǎn)在圖像產(chǎn)生之前

          我們現(xiàn)在熟悉的圖像格式其實(shí)離我們并不遠(yuǎn)。JPEG 圖像格式于 1993 年推出,GIF 于 1987 年發(fā)布。
          那遠(yuǎn)在這些圖像格式誕生之前,有沒有可能顯示圖像呢?
          70 年代的大型機(jī)和超級計(jì)算機(jī)確實(shí)能夠處理照片圖像,但那離普通人太遠(yuǎn)了。
          第一臺個(gè)人電腦 Altair 8800 于 1975 年發(fā)布,用戶可以通過開關(guān)進(jìn)入程序,并通過 Led 燈觀看結(jié)果:
          顯然這玩意是不能顯示圖像的。
          在 70 年代末,搭載 CP/M OS 的計(jì)算機(jī)出現(xiàn)了,這是一個(gè)完全成熟的操作系統(tǒng),有文件系統(tǒng)、磁盤驅(qū)動器、編譯器、程序和游戲。但是有一個(gè)問題 —— CP/M UI 只是文本。
          從理論上講,我們可以用 ASCII 圖形來顯示下面的內(nèi)容:
          但是這顯然是一種作弊的手法,不能算數(shù)。
          再往后來呢?
          一些 CP/M OS 機(jī)器,比如 Visual 1050 計(jì)算機(jī),是有圖形功能的,但是沒有通用的標(biāo)準(zhǔn)。
          最早可用于 CP/M 的格式之一是 RLE,它對黑白圖像進(jìn)行編碼,分辨率為 256×192。
          我們終于能看到“女神”了!
          雖然實(shí)際上圖片可能看起來像這樣:
          正如我們所看到的,它遠(yuǎn)非完美,但仍然比純 ASCII 好得多。這種格式的單色圖像大小約為 6 KB,因此在 CP/M 90 KB 軟盤上,最多可以保存 14 張這種質(zhì)量的照片。
          后來計(jì)算機(jī)硬件變得更加強(qiáng)大。
          1981 年,CGA(彩色圖形適配器)被引入,MS-DOS 計(jì)算機(jī)能夠顯示 4 種顏色的高達(dá) 320x240 分辨率的圖形。
          這種品質(zhì)的圖片可能看起來像這樣:
          這種格式的圖像大小約為 40 KB,因此在一張 360 KB 的軟盤上可以放置大約 8 張圖像。幾年后,1987 年推出的 VGA 適配器能夠顯示 256 張彩色圖像,這些圖像就更真實(shí)了。
          這張圖片的大小是 77kb,所以 5-6 張圖片可以保存在一張 720kb 的 1.44 英寸的磁盤上。
          后來,80 年代末推出的 SVGA (高級視頻圖形陣列) 適配器能夠使用 16M 顏色顯示高達(dá) 1280x1024 分辨率的逼真圖像,這實(shí)際上與我們今天所用的顏色非常接近了。
          其他的計(jì)算機(jī)模型在 80 年代和 90 年代也可以使用(蘋果,Commodore,ZX Spectrum 等等),它們都可以顯示不同類型的圖形。

          先有圖像還是先有圖像格式?

          先有雞還是先有蛋?先有圖像還是圖像格式?
          肯定是圖像。
          在最簡單的情況下,“格式”是不需要的,單色圖像只是一個(gè)位序列:
          因此,如果我們知道圖像的寬度和高度,并且計(jì)算機(jī)具有圖形功能,那么每個(gè)開發(fā)人員都可以制作一個(gè)程序,從二進(jìn)制文件中顯示圖像“原樣”。
          順便說一下,在談?wù)摗白远x”圖像格式時(shí),提到 1985 年發(fā)布的游戲“脫衣?lián)淇恕?Strip Poker) 也很有意思:
          我們可以看到,在第一個(gè)屏幕,玩家可以選擇兩個(gè)人物之一,“蘇姿”或“梅麗莎”,第二個(gè)屏幕是游戲本身。如果我們打開游戲文件夾,很容易看到這兩個(gè)人物的數(shù)據(jù)文件只是保存“原樣”,根本沒有壓縮,所有文件大小相同:
            1:03?AM?????????????71?Melissa.txt12:18?AM???????????5768?Melissa1.pic12:18?AM???????????5768?Melissa2.pic12:19?AM???????????5768?Melissa3.pic12:20?AM???????????5768?Melissa4.pic12:21?AM???????????5768?Melissa5.pic5:40?AM?????????????35?Opn.txt12:04?AM???????????5768?Opps.pic12:59?PM??????????50304?Poker.exe1:06?AM???????????1288?Screen.pic12:03?AM???????????5768?Stitle.pic5:09?AM?????????????69?Suzi.txt12:02?AM???????????5768?Suzi1.pic1:33?AM???????????5768?Suzi2.pic12:00?AM???????????5768?Suzi3.pic12:01?AM???????????5768?Suzi4.pic12:00 AM 5768 Suzi5.pic


            游戲開發(fā)者盡最大努力縮小尺寸:每個(gè)文件的大小只有 5768 字節(jié)!
            這樣我們只能得到 320x18 的灰度圖像。事實(shí)上,我們可以使用 Python 打開 pic-file,看到許多細(xì)節(jié)缺失:
            也許游戲使用了單獨(dú)的背景圖片或者通過編程方式繪制了一些細(xì)節(jié) (比如垂直線) ,開發(fā)人員肯定使用了一些技巧來有效地在 320x240 的屏幕上顯示 320x18 的圖片。

            他們?yōu)槭裁匆ㄟ@么多精力呢?

            答案很簡單ーー當(dāng)時(shí)許多計(jì)算機(jī)根本沒有硬盤驅(qū)動器,因此在軟盤上寫入游戲的能力至關(guān)重要。
            正如我們已經(jīng)知道的那樣,第一張軟盤的大小只有 360 KB—— 這不僅對于游戲而言已經(jīng)足夠了,對于 MS-DOS 引導(dǎo)文件也是如此。開發(fā)者實(shí)際上做到了,游戲的大小只有 140 KB。
            當(dāng)然,“按原樣”保存圖像可能會占用空間,開發(fā)人員試圖找到更好的方法來保存數(shù)據(jù)。
            最早的圖像編碼方法之一是 RLE (游程編碼)。在這種格式下,每個(gè)數(shù)據(jù)塊都存儲在‘count,value’對中,這樣可以更有效地保存圖像。
            作為一個(gè)簡化的例子,黑白點(diǎn)序列“ bwwbwwwwww”可以保存為“1B3W1B4W”。正如我們所看到的,它更加緊湊,可以用于圖形或表格,但是對于真實(shí)感圖像,“壓縮”的圖像甚至可以比原始圖像更大。
            最早被廣泛使用的格式之一是 PCX (PiCture eXchange) ,它于 1985 年推出。這種格式也使用 RLE 編碼,正如我們看到的,頭部字段存儲了大量附加信息:
              // Standard PCX header (C/C++)struct PCXHeader {char   ID;           // ID, always 0x0Achar   Version;      // The version numberchar   Encoding;     // Use of encoding (0, 1)char   BitPerPixel;  // 1, 2, 4 or 8short  X1;   // The minimum x-coordinate of the image positionshort  Y1;   // The minimum y coordinate of the image positionshort  X2;   // The maximum x coordinate of the image positionshort  Y2;   // The maximum y coordinate of the image positionshort  HRes; // The horizontal image resolution in DPIshort  VRes; // The vertical image resolution in DPIchar   ClrMap[16*3]; // The EGA palette for 16-color imageschar   Reserved1;char   NumPlanes;    // Number of color planes: 1, 3, or 4short  BPL;          // The number of bytes of one color planeshort  Pal_t;char   Filler[58];} Header;
              PCX 格式實(shí)際上不太適合保存照片圖像,例如,同一幅 320x240 分辨率的“ Lenna”圖像的 16 色格式大小為 35 KB,256 色格式大小為 100 KB。
              GIF GIF 于 1987 年發(fā)布,與 PCX 相比,它要先進(jìn)得多。
              GIF 使用的是 Lempel-Ziv-Welch (LZW) 算法,這種算法效率更高ーー同樣的 320x240 圖像以 GIF 格式保存,只有 37 KB 大小,而 PCX 是 100 KB 大小。
              1989 年,GIF 的擴(kuò)展版本發(fā)布了,它也可以顯示動畫。令人驚訝的是,即使在今天,動畫 GIF 仍然在使用,甚至在本文中也可以看到這個(gè)例子ーー它仍然是最簡單的、跨平臺的方法,可以將動畫內(nèi)容嵌入到頁面中。
              最后,于 1992 年推出了聯(lián)合攝影專家組制作的 JPEG 格式。它使用的是有損數(shù)據(jù)壓縮圖片,是專門為保存照片而設(shè)計(jì)的。
              該算法使用 DCT (離散余弦變換) 來保存數(shù)據(jù),這個(gè)方法本身是在 1972 年提出的,但是正如我們所看到的,僅僅 20 年之后,公眾對這項(xiàng)技術(shù)的真正需求出現(xiàn)了。
              順便說一下,在 90 年代,色情圖片的銷售變成了一種生意。從技術(shù)角度來看,這些廣告來自 1994 年的《電腦雜志》 ,很有趣:

              總結(jié)

              讓我們回到最初的問題,在將近 40 年前的 80 年代初,有沒有可能在 XT 機(jī)器上看《花花公子》?
              從技術(shù)上講,答案是肯定的。這些機(jī)器能夠顯示圖像,并且有軟盤驅(qū)動器,這使得文件共享變得容易。下面是 1983 年制造的一臺真正的康柏便攜式計(jì)算機(jī)的運(yùn)行過程:
              ?正如我們所看到的,它并沒有那么快,圖像加載時(shí)間大約是 40 秒,但它仍然可以工作。
              但實(shí)際上,這臺電腦是在 1983 年發(fā)布的,而 PCX、 GIF 或 JPEG 圖像格式甚至還沒有推出。

              ··········? END? ··············

              近期文章精選?:

              如果本文對你有幫助的話,歡迎點(diǎn)贊&在看&分享,這對我繼續(xù)分享&創(chuàng)作優(yōu)質(zhì)文章非常重要。感謝????



              微信公眾號官方矩陣

              點(diǎn)分享

              點(diǎn)點(diǎn)贊

              點(diǎn)在看



              瀏覽 33
              點(diǎn)贊
              評論
              收藏
              分享

              手機(jī)掃一掃分享

              分享
              舉報(bào)
              評論
              圖片
              表情
              推薦
              點(diǎn)贊
              評論
              收藏
              分享

              手機(jī)掃一掃分享

              分享
              舉報(bào)
              <kbd id="afajh"><form id="afajh"></form></kbd>
              <strong id="afajh"><dl id="afajh"></dl></strong>
                <del id="afajh"><form id="afajh"></form></del>
                    1. <th id="afajh"><progress id="afajh"></progress></th>
                      <b id="afajh"><abbr id="afajh"></abbr></b>
                      <th id="afajh"><progress id="afajh"></progress></th>
                      在线免费观看国产精品 | 99黄色视屏 | 射无码在线| 色老板在线观看永久免费视频 | 在线播放成人网站 |