Vés al contingut

Sixel

De la Viquipèdia, l'enciclopèdia lliure
El logotip de Wikipedia convertit en format sixel i mostrat en un xterm amb emulació VT340
El codi de Sixel representant "HI" es mostra en xterm amb l'emulació VT340

Sixel, nom que indica "sis píxels", és un format gràfic bitmap suportat pels Terminal d'ordinador i impressores de DEC. Consisteix en un patró de sis píxels d'alt i un d'ample, el que resulta en 64 patrons possibles. A cada patró possible se li assigna un caràcter ASCII, cosa que facilita la transmissió dels sixels en enllaços sèrie de 7 bits.

El format sixel es va introduir per primera vegada com una forma d'enviar gràfics de mapes de bits a les impressores de matriu de punts DEC com la LA50. Després de posar-se en "mode de sis", s'interpreten les següents dades per controlar directament sis dels pins dels nou pins del cap d'impressió. Una cadena de sis caràcters codifica una sola columna de 6 píxels d'alçada dins la imatge.

Posteriorment, es va emprar el sistema com a forma d'enviar dades de mapa de bits als terminals VT200 i VT320 per a definir el joc de caràcters. S'utilitzen una sèrie de sis per transferir el mapa de bits per a cada caràcter. Aquesta característica es coneix com a conjunts de caràcters redefinibles dinàmicament (DRCS). Amb els VT240, VT241, VT330 i VT340, els terminals podien descodificar una imatge completa de sis a la pantalla, com les enviades prèviament a les impressores.

Descripció

[modifica]

Sixel codifica imatges dividint el mapa de bits en una sèrie de franges horitzontals de 6 píxels. Cada columna vertical d'1 píxel d'amplada d'una banda concreta forma un sol sixel. Els píxels de cada sixel es llegeixen com a dades binaries i es codifiquen en un sol número de 6 bits, amb píxels "on" codificats com a 1. Aquest número, de 0 a 63 decimal, es converteix en un sol caràcter ASCII, compensat per 63 de manera que un sixel negre, 0 decimal, està codificat com ?. Això garanteix que els sis punts queden dins del rang de caràcter imprimible del joc de caràcters ASCII. Carriage return (CR) està representat per $ i line feed (LF) amb un ; tots dos havien de ser enviats al seu torn per tornar el cursor a l'inici de la línia, CRLF.

Sixel també inclou una forma de compressió rudimentària, utilitzant codificació de longitud d'execució (RLE). Això s'aconsegueix amb el caràcter ! Seguit d'una xifra decimal de les vegades que es repeteixen i, a continuació, un sol caràcter de sis a repetir. Atès que els ! I els dígits decimals no poden ser dades vàlides de sis (5), fora de l'abast codificat, la codificació és fàcil d'identificar i expandir de nou en el programari.

"Mode Sixel" s'introdueix enviant la seqüència ESC+Pp1; p2; p3; q. Els p1 a p3 eren paràmetres de configuració opcionals, amb p1 definint una relació d'aspecte (obsoleta a favor de p3), p2 com interpretar el color de zeros i p3 amb paràmetres simples amb la mida de la matriu de punts. ESC+P és l'estàndard DEC "Device Control String", o DCS, que s'utilitzava per activar o desactivar diverses funcions especials dels equips de DEC. La "q" és l'identificador de sis. [a] Les dades de Sixel seguien darrere la q. La seqüència "Atura de text" ESC torna el dispositiu de nou al mode de caràcter normal.

Per imprimir, s'envien sis a la impressora, es tornen a descodificar en un binari i s'envien directament als sis pins del capçal d'impressió. L'única complexitat consistia a expandir els RLE al buffer d'impressió intern. La visualització en un terminal és una mica més difícil. Als terminals que suporten gràfics, el sistema gràfic ReGIS es va utilitzar per dibuixar directament el patró de sis en el mapa de bits de la pantalla. Això es feia a gran velocitat emmagatzemant els patrons de mapa de bits com un glif i després blitting.

Quan s'utilitza per definir conjunts de caràcters personalitzats, el format era gairebé idèntic, tot i que els codis d'escapament van canviar. Pel que fa a les dades, l'única diferència important és la substitució de la CR / LF independent amb un únic /. A la sèrie VT300, per exemple, els glifs de caràcters de 80 columnes eren de 15 píxels d'amplada per 12 d'altura, la qual cosa significa que un caràcter es podria definir enviant un total de 30 sixels.

El color també és compatible amb el caràcter #, seguit d'un número referent a un número de registre de color, que va variar des del dispositiu al dispositiu. Els colors dels registres es defineixen utilitzant els valors RGB o HLS en un format DEC peculiar. Per crear una imatge en color a una impressora, s'envia una línia de sis vegades diverses vegades, cadascuna representant un sol bitplane dels colors basats en el registre de les terminals (normalment 2 o 4 bits). Atès que les capacitats del maquinari varien àmpliament, un dibuix de color sixel només es pot enviar a dispositius dirigits. Els terminals no gràfics generalment ignoren silenciosament les sis seqüències d'escapament.

Vegeu també

[modifica]

Notes

[modifica]
  1. "p" en minúscula era l'identificador ReGIS.

Referències

[modifica]

Enllaços externs

[modifica]