graphics and image data representations...хамгийн шулуун арга нь rgb өнгийг...

36
Graphics and Image Data Representations 3.1 Graphics/Image Data Types 3.2 Popular File Formats 1

Upload: others

Post on 10-Jan-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Graphics and Image Data

Representations 3.1 Graphics/Image Data Types

3.2 Popular File Formats

1

Page 2: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Graphics/Image Data Types – өгөгдлийн төрлүүд

• 1-Bit Images

• 8-Bit Grey-Level Images

• 24-Bit Color Images

• 8-Bit Color Images

• Color Lookup Table (LUTs)

2

Popular File Formats

• JPEG ,GIF, BMP, others

Page 3: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Graphics/Image Data Types

• 1-Bit Images

• 8-Bit Grey-Level Images

• 24-Bit Color Images

• 8-Bit Color Images

• Color Lookup Table (LUTs)

• Color Lookup Table-ийг гаргаж авах

3

Page 4: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

1-bit Images

• Monochrome Image эсвэл Binary Image гэж нэрлэдэг.

4

Page 5: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

1-bit Images

• on болон off пикселиэс бүрддэг. Пиксель бүр нэг битэд (0 or 1) хадгалагдана. 0--хар, 1—цагаан

• 640×480 хэмжээтэй Monochrome зурагт шаардагдах санах ой 640×480/8 bytes = 38.4KB

• Энгийн график болон текс агуулсан зурагт хэрэглэдэг.

5

Page 6: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

8-bit Gray-level Images - Жишээ

6

8-Bit Gray-Level Image

Page 7: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

8-bit Gray-level Images - Жишээ

7

8-Bit Gray-Level Image VS 1-Bit Image

Page 8: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

8-bit Gray-level Images – Шинж чанар

• Пиксель бүр нэг byte-аар илэрхийлэгддэг. – Саарал (Gray) өнгөний утга 0-255 утгатай байна.

• Bitmap: график/зургийг харуулахдаа хоёр хэмжээст массивт пикселийн утгыг хадгалдаг.

• Image resolution –дижитал зурган дахь пикселийн тоо (чанартай зургийг өндөр нягтралтай зураг гэж хэлдэг).

– Өндөр нягтрал 1.600 x1.200

– Муу нягтрал 640 x 480.

8

Page 9: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

8-bit Gray-level Images – Шинж чанар

• 8 bit-ийн зураг нь 1bit хавтангаас тогтдог гэж үзвэл: – Хавтан бүр 1bit-ээр

илэрхийлэгдэнэ

– Бүх хавтан нийлээд 0-255 утгыг агуулсан 1byte –аас бүрдэнэ

9

Page 10: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

8-bit Gray-level Images – Хэмжээ

• Resolution – Нягтрал – Өндөр: 1600×1200

– Бага: 640×480

– Харьцаа: 4:3

• 640×480 хэмжээтэй саарал зурганд хэрэглэгдэх санах ой – 640×480=307,200 bytes

• Frame buffer: bitmap-ийг хадгалах төхөөрөмж.

– Video card (actually a graphics card) is used for this purpose.

– Видео кардын нягтрал зургийн нягтралтай заавал таарсан байх албагүй. Гэхдээ видео кардын санах ой хангалтгүй байвал the data has to be shifted around in RAM for display.

10

Page 11: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Print - Хэвлэх

• DPI – Dot Per Inch – Нэг инч дэхь цэгийн тоо

• Зургийг хэвлэхдээ dithering –ийн үндсэн аргыг хэрэглэдэг. – intensity resolution-г /нягт сайн/ spatial resolution-руу /харагдах

нягтрал/ хөрвүүлэх

11

Page 12: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Print - Хэвлэх

• Dithering – Үндсэн стратеги нь пикседийн утгыг 2 x 2 or 4 x 4 гэгдэх загвар луу

хийдэг

– halftone printing буюу сонины хэвлэлд өргөн ашиглагддаг

Half-tone printing гэдэг нь сонины хэвлэлд зориулан том жижиг хар бэхэн дугуй үүсгэн хэвлэх аналог процесс юм.

• N×N хэмжээст матриц нь N2+1 ширхэг intensity түвшинтэй – 2×2 хэв нь 5 үеээр харуулж чадна:

12

Page 13: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Print - Хэвлэх

• 0-255 -ийн хооронд өгөгдсөн зургын утгуудыг 256/5 зарчмаар 0,1,2,3,4 утгууд руу хөрвүүлнэ. Хэрвээ 0 бол юу ч хэвлэхгүй, харин 4 бол бүх 4 цэгийг хэвлэнэ.

• Хэрвээ intensity нь dither матрицаас их бол тухайн цэгүүдийг хэвлэнэ. Пиксель бүрийг N×N хэмжээст матриц руу хийнэ гэсэн үг.

• Энэхүү аргыг ашиглах үед гарах зургийн хэмжээ нэмэгддэг – Тухайлбал нэг пикселийг 4х4 хэврүү хөрвүүлэхэд тухайн пиксель 16 дахин

томроно

13

Page 14: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Print - Хэвлэх

• Хэт том зураг гарахаас зайлсхийх – 0-255 утга бүхий тоон матрицыг байгаагаар нь хэвэндээ хадгална

– Саарал зургийн матрицыг хэвтэйгээ харьцуулна. Цэгийн утга саарлын утгаас их байвал цэгийг хэвлэнэ

One 25-grey level case: left is standard, the right with grey=15

14

Page 15: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Print - Хэвлэх

• An algorithm for ordered dither, with n x n dither matrix, is as follows:

BEGIN

for x = 0 to xmax // columns

for y = 0 to ymax // rows

i = x mod n

j = y mod n

// I(x, y) is the input, O(x, y) is the output,

//D is the dither matrix.

if I(x, y) > D(i, j)

O(x, y) = 1;

else

O(x, y) = 0;

END

15

Page 16: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Print - Хэвлэх

• Жишээ – (240*180*8bit) хэмжээтэй зургийг (12.8*9.6 inch)

хэмжээтэй цаасан дээр 300*300 DPI принтерээр хэвлэх үеийн пиксель бүрдэхь цэгүүдийн тоог ол

– (300*12.8)*(300*9.6) = 3480*2880 dots

– (3840/240)*(2880/180) = 16*16=256

16

Page 17: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Print - Хэвлэх

• Dithering алгоритм хийгдсэний дараахь зураг

17

(a) (b) (c)

Page 18: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Image Data Types

• Зургийн хамгийн түгээмэл өгөгдлийн төрөл нь 24-bit color болон 8-bit color файлын форматтай байдаг.

• Some formats are restricted to particular hardware / operating system platforms, while others are “cross-platform” formats.

• Even if some formats are not cross-platform, there are conversion applications that will recognize and translate formats from one system to another.

• Ихэнх зургийн форматууд файлын хэт их хэмжээнээс шалтгаалан тодорхой шахалтын /compression/ техникээр өөрчлөгддөг. – lossless

– lossy

18

Page 19: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

24-bit Color Images

• 24-bit-ийн өнгөтэй зургийн пиксель бүрийг 3 byte-аар илэрхийлэгддэг бөгөөд RGB зураг гэдэг. – 256 x 256 x 256 өнгийг дэмждэг бөгөөд 16,777,216 өнгийг харуулдаг

– 0-255 хооронд утгыг харуулна

• Пиксель бүр RGB-ийн өөр өөр утгуудтай байна.

19

Page 20: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

24-bit Color Images - Size

• 640×480 24-Bit Color image,921.6KB – 640×480×3 bytes

• Ихэнх 24-bit color image нь 32-Bit image-ээр хадгалагддаг – Пиксель бүр дэхь нэмэлт өгөгдлийг α утга хэмээн хадгалдаг бөгөөд тус параметрт

нэмэлт эффектүүдийн мэдээллийг хадгалдаг Жнь: transparency –уусгалт

– Хагас уусгалттай зургийн өнгө = зургийн өнгө X (100% - transparency)+арын зургийн өнгө Х transparency

20

Page 21: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

24-bit Color Images

21

(a)

(c)

(b)

(d)

Өндөр чанартай зургийг RGB өнгийн сувгаар нь ангилсан байна.

Page 22: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

24-bit Color Images

• 8-Bit Color Image VS 24-Bit Color Image

22

Page 23: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

8-bit Color Images

24-bit Color Images 8-bit color image.

• 640 x 480 8-bit images: 300 kB

• 640 x 480 24-bit ones: 921.6 kB

23

Page 24: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Color Look-up Tables (LUTs) • 24 bit –ийн зургийн хэмжээг 8bit –ийн зураг луу хөрвүүлэн

харуулах зарчмаар хэмжээг нь багасгадаг. Ийнхүү шахахдаа өнгөний Look-up Tables (LUT) ийг ашигладаг. Тухайлбал пикселийн утга нь 25 бол 25-аар эгнээний өнгөний мэдээллийг ашиглан тухайн пикселийг будна.

24

Пикселийн утга Эгнээний утга Өнгөний мэдээлэл

Page 25: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

• LUT-ийг ашиглан өнгийг сольдог. Энэхүү арга нь эмнэлгийн салбарт түлхүү ашиглагддаг бөгөөд саарал зургийг өнгийн зураг руу хөрвүүлдэг. Доорх жишээнд улаан өнгийг ногоон рүү шилжүүлж байна.

Li & Drew 25

Page 26: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Fig. 3.9: Color-picker for 8-bit color: each block of the color-picker corresponds to one row of the color LUT

26

Page 27: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

• Fig. 3.10 (a) shows a 24-bit color image of “Lena”, and Fig. 3.10 (b) shows the same image reduced to only 5 bits via dithering. A detail of the left eye is shown in Fig. 3.10 (c).

27

(a) (b) (c)

Fig. 3.10: (a): 24-bit color image “lena.bmp”. (b): Version with color

dithering. (c): Detail of dithered version.

Page 28: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Color look-up table-ийг зохиох

• 8-bit –ийн өнгөөр of 24-bit өнгө юм шиг харагдуулах хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс R/улаан/ болон G/ногоон/ өнгийг B/цэнхэр/-ээс илүү

мэдэрдэг учир R болон G-г 3-bit-ээр буюу 0..7-оор B-г 2-bit-ээр буюу 0..3-тоогоор илэрхийлнэ. Нийтдээ 8 bit болно.

- R болон G-ийг багасгахдаа R or G –ийн byte-ийн утгыг (256/8)=32 багасгана. Зурган дахь пиксель бүрийн 8-bit index-ийг 24-bit өнгө рүү хөрвүүлнэ.

• Median-cut algorithm: Өнгийг шахан багасгахад хэрэглэдэг энгийн орлуулах арга

Энэ алгоритмын санаа нь R byte-уудын дундаж утгыг нь олоод тухайн дундажаас доош утгатайг “0” bit гээд их утгатайг нь “1” bit-ээр илэрхийлнэ.

28

Page 29: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

3.2 Popular File Formats

• GIF

• JPEG

• BMP

• PNG

• TIFF

• EXIF

• others

29

Page 30: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

GIF

• GIF standard:

• 8-bit (256)-ийн өнгөт зураг учир цөөн өнгийн /256/ ялгаралтай зургийг харуулахад тохиромжтой. График, зурсан зураг г.м.,

• GIF нь interlacing-ийг дэмждэг — нэвтрэлтэй харагдах

• GIF нь 1 үндсэн шинжтэй:

1. GIF87a: эхний хувилбар.

2. GIF89a: Сүүлийн хувилбар. Хөдөлгөөнийг дэмждэг бөгөөд хугацаа болон уусгалтыг тодорхой түвшинд хянах боломжтой

30

Page 31: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

GIF

31

Page 32: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

JPEG • JPEG: хамгийн түгээмэл хэрэглэгддэг /Joint Photographic Experts

Group/

32

JPEG Image(2): 45.2kB JPEG Image (1):252kB

JPEG Image (3): 9.21kB

Page 33: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

Fig. 3.17: JPEG image with low quality specified by user.

33

Page 34: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

PNG • PNG format: standing for Portable Network Graphics —GIF standard-

тай адил

• PNG file-ийн онцлог:

1. Өнгийн мэдээллийг 48 bits болгон томруулах боломжтой

2. Files may contain gamma-correction information for correct display of color images, as well as alpha-channel information for such uses as control of transparency.

3. The display progressively displays pixels in a 2-dimensional fashion by showing a few pixels at a time over seven passes through each 8 8 block of an image.

34

Page 35: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

TIFF

• TIFF: stands for Tagged Image File Format.

• Нэмэлт мэдээллүүдийг агуулдаг(“tags”)

1. шахалтын алгоритмын мэдээллийг агуулдаг

2. TIFF нь олон төрлийн зургуудыг хадгалах чадвартай: 1-bit, grayscale, 8-bit color, 24-bit RGB,гэх мэт.

3. The TIFF format нь Aldus Corporation-аас 1980-аад онд гарсан бөгөөд сүүлд Microsoft авч хөгжүүлэх болсон.

35

Page 36: Graphics and Image Data Representations...хамгийн шулуун арга нь RGB өнгийг чиглэл бүрт тэнцүү хэсэг болгон хуваах - Хүмүүс

EXIF

• EXIF (Exchange Image File) нь дижитал камеруудад зориулсан формат:

– 1. EXIF файлууд нь JPEG format-тай адил.

– 2. TIFF зураг шиг олон мэдээллийг агуулдаг бөгөөд камерын мэдээлэл болон зураг авах нөхцлийн талаарх мэдээллийг агуулдаг.

Li & Drew 36