Sixel

Sixel

Sixel is a bitmap graphics format supported by terminals and printers from DEC, most notably the VT320 and VT420. It encodes bitmaps into a character-based format that is easy to interpret, allowing it to be printed on a dot matrix printer with limited internal decoding.

Description

Sixel encodes images by breaking up the bitmap into a series of 6-pixel high horizontal strips. Each 1-pixel-wide vertical column in a particular strip forms a single "sixel". Each sixel's pixels are read as binary and encoded into a single 6-bit number, with "on" pixels encoded as a "1". This number, from 0 to 63 decimal, is then converted into a single ASCII character, offset by 63 so that an all-black sixel, 0 decimal, is encoded as "?". This ensures that the sixels remain within the easily printable range of the character set. Carriage return is represented by "$", and line feeds with a "-", although a line feed operated more like a newline (one source suggests "/" was used instead of "$" in some implementations).

Sixel also included a rudimentary form of compression, using run length encoding (RLE). This was accomplished with the "!" character followed by a decimal number of the times to repeat, and then a single sixel character to be repeated. Since the ! and decimal digits could not be valid sixel data, lying outside the encoded range, the encoding was easy to identify and expand back out in software.

"Sixel mode" was entered by sending the sequence Pp1;p2;p3;q. The p1 through p3 were optional setup parameters, with p1 defining an aspect ratio (deprecated in favor of p3), p2 how to interpret the color of zeros, and p3 with simple grid size parameters. P is the standard DEC "Device Control String", or DCS, which was used to turn on or off a number of special features in DEC's equipment. The "q" is the sixel identifier. Sixel data then followed the q. The "Stop Text" sequence returned the device back to normal character mode again.

For printing, sixels are sent to the printer, decoded back into binary, and sent directly to the six pins of the print head. The only complexity involved expanding the RLE's into the internal print buffer. Display on a terminal is somewhat more difficult. On terminals supporting graphics (generally those with a name like "VTx4x") the ReGIS graphics system was used to directly draw the sixels into the screen's bitmap. On other terminals, the majority of DEC's lineup, they defined a custom character set with every possible sixel.

Color was also supported using the "#" character, followed by a number referring to one of a number of "color registers", which varied from device to device. Colors were defined using either RGB or HSV values in a peculiar DEC format. On a printer a line of sixels was sent several times, each representing a single bitplane from the register-based colors on the terminals (normally 2 or 4 bits). For non-graphics terminals, color was simply dropped. Since the capabilities of the hardware varied widely, a color sixel drawing could only be output to targeted devices.

ample

Pq #0;2;0;0;0#1;2;100;100;0#2;2;0;100;0 #1~~@@vv@@~~@@~~$ #2??GG????- #1!14@

The example above enters sixel mode, sets up three color registers, and then uses those registers to draw sixels in those colors. The #0;2;0;0;0 is interpreted as "set color register 0, use RGB mode (2), set R, G and B to 0". This sets color 0 to black, and the following commands set register 1 to yellow and 2 to green.

The data lines following select a color, yellow for the first and third and green for the middle, then draw sixels. The last line shows the RLE in use. These sixels form the shape "HI".

ee also

*ReGIS, the DEC graphics language

References

* [http://www.vt100.net/docs/vt3xx-gp/chapter14.html "VT330/VT340 Programmer Reference Manual, Volume 2: Graphics Programming"] , Digital, EK-VT3XX-GP-002, May 1988
*Chris Chiesa, [http://www.cs.utk.edu/~shuford/terminal/all_about_sixels.txt "All about SIXELs"] , 29 September 1990

External links

* [http://www.cs.utk.edu/~shuford/terminal/sixel_graphics_news.txt "Sixel Graphic News"]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • SIXEL — file Bitmap graphics (Computing » File Extensions) …   Abbreviations dictionary

  • sixel — ● ►en n. m. ►TYPE Groupe de six bits codé de façon à pouvoir le faire passer pour de l ASCII, alors qu il contient des données diverses et variée. On trouve aussi toute la famille: sixeliser , sixelisation , etc …   Dictionnaire d'informatique francophone

  • Citgo — Petroleum Corporation Type Subsidiary Industry Oil and Gasoline Founded 1910[ …   Wikipedia

  • BMC Software — BMC Software, Inc. Type Public Traded as NASDAQ: BMC NASDAQ …   Wikipedia

  • Strip club — Exterior photograph of a strip club advertising full nude entertainment (Cheetahs, in San Diego, California USA). A strip club is an adult entertainment venue in which striptease or other erotic or exotic dance is regularly performed. Strip clubs …   Wikipedia

  • Happy Feet — This article is about the 2006 film. For other uses, see Happy Feet (disambiguation). Happy Feet …   Wikipedia

  • VT420 — The VT420 was a computer terminal designed by Digital Equipment Corporation (DEC). Introduced in 1990, it fit up to 50 lines on the screen and supported two sessions, either one through each communication port, or by multiplexing two sessions on… …   Wikipedia

  • The Big House (2000 film) — Infobox Film name = The Big House image size = caption = director = Rachel Ward producer = writer = Rachel Ward narrator = starring = Tony Martin Gary Sweet music = Paul Kelly cinematography = Toby Oliver editing = Margaret Sixel distributor =… …   Wikipedia

  • ReGIS — ReGIS, short for Remote Graphic Instruction Set , was a vector graphics markup language developed by Digital Equipment Corporation (DEC) for later models of their famous VT series of computer terminals. ReGIS supported rudimentary vector graphics …   Wikipedia

  • Babe: Pig in the City — In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: Die Handlung ist extrem knapp. Wie geht es weiter? Wie endet der Film? Du kannst Wikipedia helfen, indem du sie recherchierst und einfügst …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”