Chapter 3 Data Representation Data and Computers n

  • Slides: 64
Download presentation
Chapter 3 Data Representation

Chapter 3 Data Representation

Data and Computers n Computers are multimedia devices, dealing with many categories of information.

Data and Computers n Computers are multimedia devices, dealing with many categories of information. Computers store, present, and help modify: n n n Numbers Text Audio Images and graphics Video 2

Analog and Digital Information n Computers are finite. Computer memory and other hardware devices

Analog and Digital Information n Computers are finite. Computer memory and other hardware devices have only so much room to store and manipulate a certain amount of data. The goal of data representation is to represent enough of the world to satisfy our computational needs and our senses of sight and sound. 3

Analog and Digital Information n Information can be represented in one of two ways:

Analog and Digital Information n Information can be represented in one of two ways: analog or digital. Analog data A continuous representation, analogous to the actual information it represents. Digital data A discrete representation, breaking the information up into separate elements. 4

Analog and Digital Information A mercury thermometer exemplifies analog data as it continually rises

Analog and Digital Information A mercury thermometer exemplifies analog data as it continually rises and falls in direct proportion to the temperature. Digital displays only show discrete information. 5

Analog and Digital Information n n Computers cannot work well with analog information, so

Analog and Digital Information n n Computers cannot work well with analog information, so we digitize information by breaking it into pieces and representing those pieces separately. Why do we use binary? Modern computers are designed to use and manage binary values because the devices that store and manage the data are far less expensive and far more reliable if they only need to represent one of two possible values. 6

Electronic Signals n n An analog signal continually fluctuates up and down in voltage.

Electronic Signals n n An analog signal continually fluctuates up and down in voltage. But a digital signal has only a high or low state, corresponding to the two binary digits. All electronic signals (both analog and digital) degrade as they move down a line. That is, the voltage of the signal fluctuates due to environmental effects. 7

Electronic Signals (Cont’d) An analog and a digital signal Degradation of analog and digital

Electronic Signals (Cont’d) An analog and a digital signal Degradation of analog and digital signals Periodically, a digital signal can be reclocked to regain its original shape. No such process is available for analog signals. 8

Representing Text 9

Representing Text 9

Representing Text n n To represent a text document in digital form, we need

Representing Text n n To represent a text document in digital form, we need to be able to represent every possible character that may appear. There is a finite number of characters to represent, so the general approach is to list them all and assign each a binary string. A character set is a list of characters and the codes used to represent each one. By agreeing to use a particular character set, computer manufacturers have made the processing of text data easier. 10

The ASCII Character Set n ASCII stands for American Standard Code for Information Interchange.

The ASCII Character Set n ASCII stands for American Standard Code for Information Interchange. The ASCII character set originally used seven bits to represent each character, allowing for 128 unique characters. n Wikipedia has an excellent entry on ASCII. n 11

The ASCII Character Set 12

The ASCII Character Set 12

The ASCII Character Set n n Notice the organisation of the ASCII table. The

The ASCII Character Set n n Notice the organisation of the ASCII table. The table divides in half according to the MSB. q Letters are all in the second half so all codes for alphabetic characters start with 1. n This second half of the table divides in half again according to the next bit: q q n UPPERCASE letters start 10. lowercase letters start 11. The first half of the table also divides in half according to the next bit: q q Control characters start 00. Numerals and punctuation start 01. 13

The ASCII Character Set n n Note that control characters (the first 32 in

The ASCII Character Set n n Note that control characters (the first 32 in the ASCII character set) do not have simple character representations that you could print to the screen. Some, however, perform actions with which you are familiar. 14

The ASCII Character Set Coding letters in ASCII is easy. Let’s look at ‘j’

The ASCII Character Set Coding letters in ASCII is easy. Let’s look at ‘j’ as an example: Since ‘j’ is a letter, its code starts with a 1. Since it’s lowercase, the next bit is also a 1. Since it’s the tenth letter of the alphabet the rest of the code is 01010. The complete ASCII code for ‘j’ is 1101010. 15

The ASCII Character Set n n ASCII evolved so that eight bits were used.

The ASCII Character Set n n ASCII evolved so that eight bits were used. The 7 -bit codes were simply prefixed with another bit, giving another natural doubling. q The original 7 -bit codes were padded with 0. n q So the code for ‘j’ became 01101010. 128 new characters were added. The codes for this alternate character set start with 1. 16

The Unicode Character Set n n n Even the extended version of the ASCII

The Unicode Character Set n n n Even the extended version of the ASCII character set is not enough for international use. The Unicode character set uses 16 bits per character. The Unicode character set can represent 216, or over 65 thousand characters. Unicode was designed to be a superset of ASCII. That is, the first 256 characters in the Unicode character set correspond exactly to the extended ASCII character set. 17

The Unicode Character Set Figure 3. 6 A few characters in the Unicode character

The Unicode Character Set Figure 3. 6 A few characters in the Unicode character set 18

Compressing Files 19

Compressing Files 19

Data Compression n It is important that we find ways to store and transmit

Data Compression n It is important that we find ways to store and transmit data efficiently, which leads computer scientists to find ways to compress it. n Data compression is a reduction in the amount of space needed to store a piece of data. n Compression ratio is the size of the compressed data divided by the size of the original data. 20

Data Compression n A data compression technique can be q q n lossless, which

Data Compression n A data compression technique can be q q n lossless, which means the data can be retrieved without any loss of the original information, lossy, which means some information may be lost in the process of compaction. As examples, consider these 3 techniques: q q q keyword encoding run-length encoding Huffman encoding 21

Keyword Encoding n n Frequently used words are replaced with a single character. For

Keyword Encoding n n Frequently used words are replaced with a single character. For example… Note, that the characters used to encode cannot be part of the original text. 22

Keyword Encoding n Consider the following paragraph, The human body is composed of many

Keyword Encoding n Consider the following paragraph, The human body is composed of many independent systems, such as the circulatory system, the respiratory system, and the reproductive system. Not only must all systems work independently, they must interact and cooperate as well. Overall health is a function of the well-being of separate systems, as well as how these separate systems work in concert. 23

Keyword Encoding n This version highlights the words that can be replaced. The human

Keyword Encoding n This version highlights the words that can be replaced. The human body is composed of many independent systems, such as the circulatory system, the respiratory system, and the reproductive system. Not only must each system work independently, they must interact and cooperate as well. Overall health is a function of the well-being of separate systems, as well as how those separate systems work in concert. 24

Keyword Encoding n This is the encoded paragraph: The human body is composed of

Keyword Encoding n This is the encoded paragraph: The human body is composed of many independent systems, such ^ ~ circulatory system, ~ respiratory system, + ~ reproductive system. Not only & each system work independently, they & interact + cooperate ^ %. Overall health is a function of ~ %- being of separate systems, ^ % ^ how # separate systems work in concert. 25

Keyword Encoding n n n There a total of 349 characters in the original

Keyword Encoding n n n There a total of 349 characters in the original paragraph including spaces and punctuation. The encoded paragraph contains 314 characters, resulting in a savings of 35 characters. The compression ratio for this example is 314/349 or approximately 0. 9. 26

Keyword Encoding n n A compression ratio of. 9 (90%) is NOT very good.

Keyword Encoding n n A compression ratio of. 9 (90%) is NOT very good. The compressed file is 90% the size of the original. However, there are several ways this can be improved. Can you think of some? 27

Run-Length Encoding n n A single character may be repeated over and over again

Run-Length Encoding n n A single character may be repeated over and over again in a long sequence. This type of repetition doesn’t generally take place in English text, but often occurs in large data streams. In run-length encoding, a sequence of repeated characters is replaced by: q q q a flag character, followed by the repeated character, followed by a single digit that indicates how many times the character is repeated. 28

Run-Length Encoding Some examples: AAAAAAA would be encoded as *A 7 *n 5*x 9

Run-Length Encoding Some examples: AAAAAAA would be encoded as *A 7 *n 5*x 9 ccc*h 6 some other text *k 8 eee can be decoded into the following original text: nnnnnxxxxxccchhhhhh some other text kkkkeee 29

Run-Length Encoding n n In the second example, the original text contains 51 characters,

Run-Length Encoding n n In the second example, the original text contains 51 characters, and the encoded string contains 35 characters, giving us a compression ratio of 35/51 or approximately 0. 68. Since we are using one character for the repetition count, it seems that we can’t encode repetition lengths greater than nine. However, instead of interpreting the count character as an ASCII digit, we could interpret it as a binary number. 30

Huffman Encoding n n n Why should the blank, which is used very frequently,

Huffman Encoding n n n Why should the blank, which is used very frequently, take up the same number of bits as the character “X”, which is seldom used in text? Huffman codes use variable-length bit strings to represent each character. A few characters may be represented by five bits, and another few by six bits, and yet another few by seven bits, and so forth. 31

Huffman Encoding n If we use only a few bits to represent characters that

Huffman Encoding n If we use only a few bits to represent characters that appear often and reserve longer bit strings for characters that don’t appear often, the overall size of the document being represented will be smaller. 32

Huffman Encoding n An example of a Huffman alphabet 33

Huffman Encoding n An example of a Huffman alphabet 33

Huffman Encoding n n DOORBELL would be encoded in binary as 10111101001100100. If we

Huffman Encoding n n DOORBELL would be encoded in binary as 10111101001100100. If we used a fixed-size bit string to represent each character (say, 8 bits), then the binary from of the original string would be 64 bits. The Huffman encoding for that string is 25 bits long, giving a compression ratio of 25/64, or approximately 0. 39. An important characteristic of any Huffman encoding is that no bit string used to represent a character is the prefix of any other bit string used to represent a character. 34

Representing Audio Data 35

Representing Audio Data 35

Representing Audio Information n n We perceive sound when a series of air compressions

Representing Audio Information n n We perceive sound when a series of air compressions vibrate a membrane in our ear, which sends signals to our brain. A stereo sends an electrical signal to a speaker to produce sound. This signal is an analog representation of the sound wave. The voltage in the signal varies in direct proportion to the sound wave. 36

Representing Audio Information n To digitize the signal we periodically measure the voltage of

Representing Audio Information n To digitize the signal we periodically measure the voltage of the signal and record the appropriate numeric value. The process is called sampling. In general, a sampling rate of around 40, 000 times per second is enough to create a reasonable sound reproduction. The standard sampling rate for CDs is 44. 1 k. Hz. The Pro Audio standard is 48 k. Hz. 37

Representing Audio Information Figure 3. 8 Sampling an audio signal 38

Representing Audio Information Figure 3. 8 Sampling an audio signal 38

Representing Audio Information It should be noted that the potential loss of peak values

Representing Audio Information It should be noted that the potential loss of peak values suggested in the previous slide is a myth. The time lapse between samples is much too short for any such loss. The human ear hears sounds between 20 Hz and 20, 000 Hz. Sampling at twice this frequency (44, 000+) eliminates any potential loss of data. For a complete explanation refer to the Nyquist –Shannon sampling theorem. 39

Representing Audio Information n A compact disk (CD) stores audio information digitally. On the

Representing Audio Information n A compact disk (CD) stores audio information digitally. On the surface of the CD are microscopic pits that represent binary digits. A low intensity laser is pointed at the disc. The laser light reflects strongly if the surface is smooth and reflects poorly if the surface is pitted. 40

Representing Audio Information Figure 3. 9 A CD player reading binary information 41

Representing Audio Information Figure 3. 9 A CD player reading binary information 41

Audio Formats n Audio Formats q n WAV, AU, AIFF, VQF, and MP 3

Audio Formats n Audio Formats q n WAV, AU, AIFF, VQF, and MP 3 is dominant q q MP 3 is short for MPEG-2, audio layer 3 file. MP 3 employs both lossy and lossless compression. n n First it analyses the frequency spread and compares it to mathematical models of human psychoacoustics (the study of the interrelation between the ear and the brain), and it discards information that can’t be heard by humans. Then the bit stream is compressed using a form of Huffman encoding to achieve additional compression. 42

Representing Graphic Images 43

Representing Graphic Images 43

Representing Images and Graphics n n Colour is our perception of the various frequencies

Representing Images and Graphics n n Colour is our perception of the various frequencies of light that reach the retinas of our eyes. Our retinas have three types of colour photoreceptor cones which respond to different sets of frequencies. These photoreceptor categories correspond to the colours of red, green, and blue. 44

Representing Images and Graphics n n Colour is often expressed in a computer as

Representing Images and Graphics n n Colour is often expressed in a computer as an RGB (red, green, blue) value, which is actually three numbers that indicate the relative contribution of each of these three primary colours. For example, an RGB value of (255, 0) maximizes the contribution of red and green, and minimizes the contribution of blue. The resulting colour is a bright yellow. 45

Representing Images and Graphics Figure 3. 10 Three-dimensional color space 46

Representing Images and Graphics Figure 3. 10 Three-dimensional color space 46

Representing Images and Graphics 47

Representing Images and Graphics 47

Representing Images and Graphics n n n The amount of data that is used

Representing Images and Graphics n n n The amount of data that is used to represent a colour is called the colour depth. Hi. Color is a term that indicates a 16 -bit colour depth. Five bits are used for each number in an RGB value and the extra bit is sometimes used to represent transparency. True. Color indicates a 24 -bit colour depth. Therefore, each number in an RGB value gets eight bits. 48

Representing Images and Graphics n n n Hi. Color uses 5 bits for each

Representing Images and Graphics n n n Hi. Color uses 5 bits for each number. q Since 25 = 32, there are 32 different levels for each of the 3 primary colours. So there are 323 (or 215) possible colours. q This is a total of 32, 768 different colours. True. Color uses eight bits for each colour component. q 28* 28 = 224 or 16, 777, 216 colours. Some monitors can use as many as 32 bits for colour depth. q This is potentially 4, 294, 967, 296 colours! 49

Representing Images and Graphics n n The human eye is able to distinguish about

Representing Images and Graphics n n The human eye is able to distinguish about 200 intensity levels in each of the three primaries red, green, and blue. All in all, up to 10 million different colours can be distinguished. So modern monitors are examples of solutions without a problem. q If the human eye can distinguish only 10 million colours, why develop monitors that can display over 4 billion? 50

Indexed Colour n A particular application such as a browser may support only a

Indexed Colour n A particular application such as a browser may support only a certain number of specific colours, creating a palette from which to choose. For example, Netscape Navigator’s colour palette has only 216 colours. 51

Digitized Images and Graphics n n Digitizing a picture is the act of representing

Digitized Images and Graphics n n Digitizing a picture is the act of representing it as a collection of individual dots, called pixels. The number of pixels used to represent an image is called the resolution. As an example, the resolution of many monitors is 1024 X 768, or 786, 432 pixels. If the colour of each pixel is stored as 24 bits (3 bytes) of data, the screen alone requires 2, 359, 296 bytes (2 megabytes) of memory. 52

Digitized Images and Graphics Figure 3. 12 A digitized picture composed of few individual

Digitized Images and Graphics Figure 3. 12 A digitized picture composed of few individual pixels 53

Digitized Images and Graphics Figure 3. 12 A digitized picture composed of many individual

Digitized Images and Graphics Figure 3. 12 A digitized picture composed of many individual pixels 54

Digitized Images and Graphics n n The storage of image information on a pixelby-pixel

Digitized Images and Graphics n n The storage of image information on a pixelby-pixel basis is called a raster-graphics format. There are several popular raster file formats including: q q q BMP (bitmap) GIF (Graphics Interchange Format) JPEG (Joint Photographic Experts Group) 55

Vector Graphics n n Instead of assigning colours to pixels as we do in

Vector Graphics n n Instead of assigning colours to pixels as we do in raster graphics, a vector-graphics format describes an image in terms of lines and geometric shapes. A vector graphic is a series of commands that describe a line’s direction, thickness, and colour. The file size for these formats tends to be small because every pixel does not need to be represented. 56

Vector Graphics n n n Vector graphics can be resized mathematically, and these changes

Vector Graphics n n n Vector graphics can be resized mathematically, and these changes can be calculated dynamically as needed. This makes them particularly useful for defining scalable fonts. However, vector graphics is not a good technique for representing real-world images. 57

Representing Video Data 58

Representing Video Data 58

Representing Video n n A video codec (COmpressor/DECompressor) refers to the methods used to

Representing Video n n A video codec (COmpressor/DECompressor) refers to the methods used to shrink the size of a movie to allow it to be played on a computer or over a network. Almost all video codecs use lossy compression to minimize the huge amounts of data associated with video. 59

Representing Video To simulate motion, movies need to record (and play back) at least

Representing Video To simulate motion, movies need to record (and play back) at least 12 frames per second. However, good sound quality requires 24 frames/s = 1440 frames/minute = 46400 frames/hour 60

Representing Video Recall… * If each frame has a resolution of 1024 x 768

Representing Video Recall… * If each frame has a resolution of 1024 x 768 there are 786, 432 pixels in a frame. If the colour of each pixel is stored as 24 bits (3 bytes) of data, one frame alone requires 2, 359, 296 bytes (2 MB) of memory. An hour of film then, requires 203, 843, 174, 400 bytes (194, 400 MB – more than 190 Gigabytes) of storage – just for the images. *This is a very conservative resolution. 61

Representing Video The first step in compressing video is to reduce the amount of

Representing Video The first step in compressing video is to reduce the amount of information stored for a frame. This problem is essentially the same as that faced when compressing still images. q Spatial compression: A technique based on removing redundant information within a frame. 62

Representing Video Each compressed frame will still be quite large. Moreover, each one is

Representing Video Each compressed frame will still be quite large. Moreover, each one is a still picture that looks very much like the one before it. After all, how much can change in 1/24 of a second? Why should we waste space to duplicate all of the identical information? 63

Representing Video We can save even more space by recognizing that between two frames,

Representing Video We can save even more space by recognizing that between two frames, most of the image hasn’t changed. Storing only the changes (deltas) from one cell to the next is much more efficient. q Temporal compression A technique based on storing differences between consecutive frames. 64