Contents of this page:

Reality is merely an illusion, albeit a very persistent one. ~ Albert Einstein

Electronic Images

There are a great many ways to handle images with electronic machines, but they fall into four main classes.

  • Text is the kind of material that might otherwise be handwritten or typeset. Information is held in the machine as codes much like those that were used for telegrams a century ago and typed as characters.
  • Formulae are the way the world is built in some ways: atoms, fields, forces and ray tracing.   These techniques are often used in creating CAD models and simulations, games and animations. Each formulae can represent some set of processes so they can be highly meaningful. However the results often need interpreting into vectors or pixels to be printed on paper or shown on a screen.
  • Vectors simplify how things might be done using formulae. The world and scenes within it are described as a series of nodes and edges or as polygons.
  • Pixels subdivide any image into picture-elements. An image people will relate to normally needs a great many pixels - something from a third of a million upwards. (an analog TV image is roughly 300,000 pixels).

Text

Computers play music and games, draw pictures and show video, however mostly they seem to deal in text. We've said seem here because computers don't deal in text in the same way people do, the computer can transmit, sort, search and index codes but it doesn't understand text.

Text is held in a computer as codes.   Latin text as used in Europe and America is simply held letter by letter, with another code for space and one for linefeed. The code mainly used is the American Standard Code for Information Interchange or ASCII. (In recent machines a multilingual superset called UTF-8 is used but it normally looks the same). The code isn't very efficient. Its actually a 7 bit code but is normally held in 8-bit computer bytes, and for the most part strings of characters could have been held in 5 bit Baudot code.

ASCII (and Baudot) are telegraph codes. On a teleprinter the sender presses a key and some code-bars close a set of switches, then a rotary distributor reads those switches in succession onto a transmission line. At the other end the succession of pulses pulls clutches and cranks so that a type element is pulled into position and hit with a hammer, making the letter form.

Computer screens, VDUs, and modern printers don't have a direct correspondence between a computer code and a bit of metal type. Instead the character is a pattern looked up in a memory and then mapped onto the screen or page.

Formulae

Computers are often thought to be about numbers, however numbers themselves describe some physical or virtual system. Very often, the aim of using a computer is a model of the system and the output is given as printed tables of text and numbers for want of something better. Computers have been used to simulate physical systems using numbers for a long time: ENIAC was built to calculate ballistics tables and an early use was to simulate the interactions in an atomic bomb.

The modern implementation of the same idea is a physics engine, particles are assigned a status and force vectors act on them. Variations on the idea of physics engines are used in Games like Quake and Second Life.

For instance a simulation of a weather system might have ground-level temperature, pressure and humidity, mixing, solar input, cloud cover, thermal conductivity, latent heat of evaporation and precipitation, adiabatic lapse rate. The results could come out as a table forecasting conditions a day ahead for a location, or as an animation showing how things are expected to develop across a region.

Mathematical formulae might be used to generate all sorts of images . To get a line, generate a series of electrical values that define the line and display that on an oscilloscope or chart plotter. Straight lines can be defined by resistances, circles and ellipses by tank circuits. Positioning lines and making them intersect needs triggers and comparators. This approach has been used to create graphs, and by using a variety of oscillators to make Lissajous figures it can even show letters and numbers. Drawing something like a dog or a tree would be quite an effort. Capturing camera images this way doesn't look practical? .   The vectors described in the next section might be considered as a limited set of formulae. Images are only held as formulae of any complexity where they are highly likely to be expressed as graphs.

Vector

Vectors describe a line by giving the start and end-points. Vectors are the natural way to turn line drawings into pictures, simply define the picture as a series of lines and bezier curves. This is more or less the way people draw with a pencil.

Vectors are not limited to two dimensions. There can be two coordinates for a two-dimensional artwork and three for a 3D representation of an object. An object that is part of a larger image can have a third or fourth coordinate labelling the parts of the object as a group so that they can be handled differently at times.

Vectors are heavily used in computer aided design and animation, and in computer games. Fonts are commonly held as vectors. Vectors are the natural way to work with data from instruments like radars and time domain reflectometers. The movements of vehicles and computer mice can easily be plotted as vectors. Sat nav systems provide vector coordinates.

Nice things about images held as vectors are that they can be translated to any position, scaled, projected and rotated to any angle. 3 dimensional computer data can be converted to 2D views by projection. A vector itself is just a line or polygon, dimensionless until it's displayed or printed, so at least in principle images can be perfect in every detail at any scale.

Displaying vectors can be quite natural with something like a pen-plotter, or they can be plotted repetitively on an oscilloscope screen. The Tektronix 4014 Direct View Bistable Storage Tube was plotted once, then held the image in place, so it acted as a megabyte of memory.

Many printers can use vectors, either directly in the form of the HP-GL/2 language, embedded in PCL or in PostScript.

For display or printing most computer systems rasterise" from vector to bitmap form.

Given their list of advantages it may seem surprising that vectors are not used for everything. There are a few problems.

  • Part of the problem is that vectors are a bit pernickerty for some jobs. For instance if you draw a rectangular box it only is a box when all the vertexes precisely meet but do not overlap. This may not matter at the scale it is originally drawn but could if it is scaled up.
  • Vectors can be meaningful. If four vetexes form a box that is detectable; it can also be made explicit by carrying an extra vector with a group number. There are various ways the box is likely to be detectable
  • Vectors are efficient in their use of computer memory for wire-outlines of objects. They are not so good where images are complicated. A tree in leaf might be very efficiently drawn if the leaves are all actually scaled and rotated from a few prototypes (vector macros). If each leaf is individually drawn then the list of vectors will be huge.
  • Vectors aren't great at small images, like ordinary small fonts used in a word processor. Given the letter B at a small scale the holes in the figure and the curves on the right might be lost. Fonts use "hints" to deal with details at small scale.
  • The main problem is that cameras to capture vector images aren't straight-forward. Cameras produce rasters or bitmaps that don't easily convert to vectors.

Segments

Segment Displays are familiar from pocket calculators. They work well for numbers, Any of the Hindu/Arabic number set 0,1,2,3,4 etc can be made in outline by turning on segments in the display. Some letters can be made with 7 segments as well.

Reasonably good display of alphanumeric information needs fourteen or sixteen display segments. A single line display of this kind sometimes used on electronic instruments and car radios. It's rare in any other application.

Pixels

Computer screens and printers   generally use dots or "pixels" to make up an image. The technique of dividing an image into a raster of lines was developed in the 19th century for facsimile telegraphs and in the 20th century for television.

Images are handled by breaking them up. Stages in the breakup are into

  • frames if it is a moving picture (TV, Movie)
  • into lines, usually horizontally because that is least distracting for a human viewer. TV
  • then into pixels - digital TV and computer systems.

Analogue TV was devised before there was any practical form of memory, so it relies on endlessly repeating the picture, whether it is changing or not. That repetition makes poor use of the TV transmission channels which is why it is now being replaced with digital TV. The essence of digital TV is its use of memory, it looks at the lines in a frame and sends compressed codes where they are the same , and it remembers parts of a picture that don't need to change and reuses them in subsequent frames.

Then as modified TV screens were used as visual displays for computers the idea of using a fine grid of dots caught on. Until very recently the problem with this approach has always been memory. Early visual display units were often based on delay lines like those used for the IBM 2260 or shift registers like the DEC VT05.

In recent implementations each dot on the screen (or printed page) has a counterpart bit in memory. If the screen is colour there might be three groups of bits, typically 8 bits each for the red, green and blue sub-pixels of the screen. This group of bits that map directly to the image is naturally called a bitmap.

Printers using dot-matrix techniques were known as early as 1949 but only became common from 1970 onwards.

Today's inkjets may look very different from dot-matrix printers but actually it's a similar mechanism. An inkjet often has many more nozzles than there are pins on a dot matrix and of course the details of the printhead are completely different.

Laser printers look nothing like a dot-matrix printer, but the mechanism still prints using a dot-matrix of toner. In terms of formatting the page, and what the page will look like there are lots of similarities between printing techniques.

Memory has always been a problem with handling images as a bitmap. To get a big, interesting screen or printed page needed a lot of dots - millions of them. The typical computer screen displays 1.3 million dots (1280x1024 = 1,310,720). HD-TV achieves 2 million dots (1920x1080 = 2,073,600). That's a big bitmap, multiply by 3 to allow for RGB values to get 6,220,800 bytes - fractionally over 6 megabytes.

An A4 laser-printed text document at 300 dpi has over 8 million dots((11.7x8.25) x (300x300)) = 8,687,250) (in colour it would be about 24 megabytes). It may be surprising that a piece of paper seems to hold four times as many dots and perhaps four times as much information as an HD-TV. There seem to be several reasons why we can put up with low resolution screens but not low resolution paper:

  • People normally use screens the other way round from paper, landscape rather than portrait. That may be because in a work situation we typically view two or three pieces of paper at once so the effective workspace is landscape. (people often have documents side by side on a screen).
  • Paper tends to be held no further than arm's length whereas desktop screens are used at two arms lengths. Open a novel in front of a computer screen with both at reading distance, the pages and screen occupy roughly the same visual field.
  • Colour on the screen compensates for a lot, for instance page boundaries and scroll-bars seems quite real, but are nothing more than a few shades of grey.
  • People are very forgiving about the look of screens, perhaps they know that the limitation is affordability. Screens with very large numbers of dots still have big price-premiums.

There have been attempts to have what is seen on the screen be what comes out on the page. The Xerox Alto and ICL Perq were amongst several machines with VDUs used in portrait mode - taller than they were wide.

Superficially it looks as though dot matrix printers are more than a match for screens, their resolution can vary from about 65 through to 250 dpi.

In practice portrait-oriented screens have not caught on, and neither has printing at screen resolutions. It seems to be accepted that screens and printers will have different qualities. In fact there has been a drive to greatly improve printer resolution from 300 dpi to 2400 dpi and beyond - whilst people seem reasonably happy with 85 dpi screens. This is partly a matter of getting print mechanisms to deliver colour tones for pictures.


Reality is that which refuses to go away when I stop believing in it. ~ Philip K Dick.