fbpx
7.9 C
София

Ето как гледахме разголени снимки на древните компютри

Най-четени

Даниел Десподов
Даниел Десподовhttps://www.kaldata.com/
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

Оригиналът е на Dmitrii Eliuseev

„JPEG форматът бе представен през 1993 година, а GIF – през 1987-ма. Но по какъв начин тогава хората  са гледали разголени снимки с помощта на показаната по-горе прекрасна машина от 1983 година?“.

Този въпрос ми бе зададен от читател на ревюто за портативния компютър Compaq Portable. Отговорът е по-сложен, отколкото навярно бихте си помислили. Нека да се спрем по-подробно.

Хардуерът

Нека да започнем с хардуера – дали изобщо е възможна работата с графика с помощта на тази древна техника? Очевидно е, че мейнфреймите и суперкомпютрите от 70-те години са можели да правят подобни неща, но те изобщо не са били достъпни за широката публика. Първият в света „персонален компютър“ Altair 8800 излезе през 1975 година. Щастливият собственик на това чудо на технологиите можеше да въвежда програма с помощта на превключватели, наблюдавайки резултатите от нейната работа чрез регистър от светодиоди.

Altair 8800

За тази малко странна машина дори са написани няколко игри. Имената им бяха от рода на „Убий кита“ (Kill The Bit) и дават представа за геймплея… Очевидно е, че с помощта на това устройство няма как да бъдат показани каквито и да било снимки.

В края на 70-те години се появиха по-съвършени компютри, работещи под управлението на операционната система CP/M. Това е пълноценна ОС с файлова система, дискови устройства, компилатори, програми и игри. Но уви, всичко се представя в текстов вид, дори и UI. С помощта на ASCII може да бъде показано единствено нещо подобно:

 

Но това по-скоро е един забавен трик, отколкото истинска снимка. Но всъщност, някои CP/M машини имаха зачатък на графика. Например моделът Visual 1050. Но по това време все още не бяха измислени универсалните графични стандарти.

Компютърът Visual 1050 с ОС CP/M

Един от най-ранните графични формати за CP/M бе RLE, при който се кодираха чернобели изображения с резолюция 256х192 пиксела. Той дава възможност да се види следното:

Форматът е далече от съвършенството, но е много по-добре от чистия ASCII. Големината на това монохромно RLE изображение е около 6 KB и на една CP/M дискета с капацитет 90 KB се побираха до 14 снимки с подобно качество.

С течение на годините компютърният хардуер ставаше все по-добър. През 1981 година излезе графичният формат CGA (Color Graphics Adapter), а компютрите с MS-DOS вече можеха да показват графика с резолюция 320х240 в четири цвята. Ето какво е качеството на показваните изображения:

 

Големината на изображението с този графичен формат е около 40 KB и на една стандартна дискета с 360 KB дисково пространство се събираха около 8 от тези снимки. След няколко години на пазара се появиха VGA графичните карти, които можеха да показват на екрана 256-битови изображения. Те вече бяха наистина реалистични:

 

Големината на това изображение е 77 KB, а на една обикновена 1,44-инчова дискета с капацитет 720 KB можеха да се запишат пет или шест подобни снимки. Интересно е, че дисковото пространство нараства, а броят изображения на тях на практика не се променя.

В края на 80-те години SVGA (Super Video Graphics Array) видеокартите започнаха да демонстрират фотореалистични изображения с резолюция до 1280х1024 пиксела с 16 милиона цвята, което е на практика аналогично на качеството от наши дни.

През 80-те и 90-те години се продаваха и други компютри – Apple, Commodore, ZX Spectrum… Те всичките могат да показват различен тип графика, но няма да изброяваме тези типове, понеже ще стане скучно, а и вече стана ясно какви са възможностите на графичните карти от тези времена. Нека да обърнем внимание на софтуера.

Източниците на изображения

С хардуерните възможности на персоналните компютри в началото на 80-те години всичко е достатъчно ясно, но какво да кажем за самите изображения? В началото, нека да си отговорим на въпроса, дали по това време изобщо е имало разголени снимки? Отговорът е „да“. Всъщност, показваното дотук знаменито изображение на Лена, което към днешен ден е едва ли не стандарт за тестване алгоритмите за обработка на изображения, е сканирано от списание Playboy от 1973 година в университета на Южна Калифорния с помощта на скенера и компютъра Hewlett Packard 2100.

Компютърът HP 2100 от 70-те години
 

Шведският фотомодел Лена Сьоблом, на някои места Лина Сьоблом (Lenna Sjööblom) без съмнение е много привлекателна жена, но днес никой не би си спомнил за тази стара снимка от списание Плейбой, 1973 година. Единствено благодарение на научната публикация снимката на Лена стана едно от най-използваните изображения в компютърната история. Разбира се, тя е била сканирана не за да се гледат разголени снимки на компютрите, а за илюстрация в научен доклад.

Но както и да е, технологията за сканиране на изображения е станала достъпна още през 70-те години, а през 80-те дискетите вече бяха евтино и надеждно хранилище за запис и копиране на файлове. Ето така изглежда една 5-1/4 инчова дискета с капацитет 360 KB в сравнение със съвременна microSDXC карта памет:

 

По този начин още през 80-те години потребителите вече познаваха цифровите изображения и можеха лесно да ги обменят. Разбира се, „снимките за възрастни“ бяха доста редки, а скенерите изобщо не бяха достъпни за широката публика.

Графичните формати

Кое е се е появило първо – кокошката или яйцето? Изображението или формата? В случая първо е изображението. В най-лесният и опростен случай, формат не е необходим, понеже монохромното изображение може да бъде представено като последователност от битове.

 

Ако знаем широчината и височината на изображението, а компютърът може да показва пиксели, то всеки програмист би могъл на напише програма, която извежда на екрана изображението както си е – във вид на двоичен файл.

По отношение на по-интересните самостоятелни формати можем да споменем играта Strip Poker, която излезе през 1985 година.

 

На първия екран се осъществява избора на опонента Сюзи или Мелиса, а на втория тече самата игра.

 

Ако отворим папката с файловете лесно ще видим, че данните и на двете момичета са записани както са си – без никаква компресия, а всички файлове са с еднакъв размер.

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 байта, което ни дава изображение с резолюция едва 320х18 в оттенъци на сивия цвят. Но ако отворим един от тези pic файлове с помощта на малка програма на Python ще видим, че повечето детайли липсват:

 

Разработчиците явно са използвали някакви трикове, за да изкарат изображение с резолюция 320х18 пиксела на  екран с разделителна способност 320х240 точки.

Напълно е възможно да е използвано някакво фоново изображение или програмата допълнително да е рисувала някои детайли, като например, вертикалните линии.

Защо са положили толкова много усилия? Отговорът не е сложен – повечето компютри от това време изобщо нямат хард дискове. Ето защо е изключително важно играта да се събере на една дискета. Както вече споменахме, капацитетът на първите дискети бе едва 360 KB, като там трябва да се записва не само играта, но и зареждащите файлове на MS-DOS. Програмистите е трябвало да правят чудеса, понеже размерът на всички файлове на тази игра не превишава 140 KB.

Разбира се, записът на тези изображения заема много място и всички започнаха да търсят някакви по-добри методи. Един от първите начини за кодиране на изображението бе RLE (Run-Length Encoding). При този формат всеки блок от данни се записва като двойка от число и значение, като по този начин записът на изображението е по-ефективен. Като съвсем опростен пример можем да посочим, че поредицата от чернобели пиксели ЧБББЧББББ може да бъде записана като 1Ч3Б1Ч4Б. Така може да се икономиса малко място, но понякога става точно обратното. Този метод е по-подходящ за графики и таблици, но не и за фотореалистични изображения, при които компресираното RLE изображение обикновено се получава по-голямо от оригинала.

Един от първите широко използвани графични формати е PCX (PiCture eXchange), който излезе през 1985 година. В него също се използва RLE кодиране, но в заглавието е записана много повече информация:

// Standard PCX header (C/C++)
struct PCXHeader {
     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 форматът не е чак толкова добър за записа на снимки. Така например, същата фотография на Лена при резолюция 320х240 и четири цвята заема 35 KB, а при 256 цвята – цели 100 KB!

През 1987 година се появи форматът GIF (Graphics Interchange Format), който е много по-съвършен от PCX. При него за компресия се използва по-ефективният Lempel-Ziv-Welch (LZW) алгоритъм и при неговото използване същото изображение на Лена с резолюция 320х240 заема само 37 KB, а не 100 KB. А през 1989 година излезе разширената версия на GIF формата, която дава възможност за показването и на анимация.

Интересно е, че анимираните GIF изображения се използват и до днес. Това и досега е най-лесният кросплатформен начин за вграждането на анимирано съдържание в уеб страниците.

И накрая, през 1992 година учените представиха графичния формат JPEG (Joint Photographic Experts Group). При него се използва компресия със загуби, като той е специално създаден за записа и съхранението на снимки. За кодиране на данните се използва DCT алгоритъма. По принцип, самият метод за дискретно косинусово преобразуване бе представен през 1972 година, но чак след двадесет години тази технология намери своето практическо приложение.

И така, през 90-те години продажбата на еротични изображения се превърна в бизнес. От техническа гледна точка в наши дни следните рекламни обяви изглеждат доста забавно:

 

Към днешен ден колекцията с „над 2500 VGA снимки“ или „Super VGA 1024x768x256 фотографии“ предизвикват само лека усмивка, но тогава това бе по своя си особен начин хайтек. Днес вече всичко е много, много по-различно. 


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iOS и Huawei!

Абонирай се
Извести ме за
guest

4 Коментара
стари
нови оценка
Отзиви
Всички коментари

Нови ревюта

Подобни новини