Ir al contenido

PGD | §3.6 – Tecnología del procesamiento PostScript

§3.5 – Errores PostScript

La tarea de interpretar un documento PostScript se lleva a cabo, como hemos visto,  mediante un intérprete. Éste recibe el documento, reconoce los objetos por él descriptos y, en última instancia, crea marcas en un medio o sustrato. El proceso completo recibe un nombre:

El sistema que nos permite llevar una descripción en alto nivel de una página hasta la secuencia de operaciones —mecánicas, ópticas, térmicas, químicas, o cualquier combinación de ellas— que debe realizar el dispositivo final para crear las marcas que materialicen esa página se denomina Raster Image Processor o RIP, que puede traducirse como Procesador de Imágenes de Pixeles.

Veremos primero sus distintas formas de comercialización; luego, analizaremos sus partes; por último, daremos algunos detalles prácticos del flujo de proceso.

Tipos de soluciones comerciales para RIPs

En todos los casos, la tarea del intérprete se ejecuta mediante un programa o software; sin embargo hay esencialmente dos maneras de implementarlo:

RIPs en hardware

Se refiere a aquéllos sistemas donde el intérprete reside en un programa almacenado dentro del dispositivo mismo de impresión (impresoras laser, por ejemplo) o bien en un equipo separado pero construido solamente para ese fin. En estos equipos, el software viene instalado de fábrica como parte del hardware, de allí su denominación; pero el hecho de seguir siendo un software dio origen a la descripción alternativa de RIPs en firmware, como un híbrido que representa un software que al mismo tiempo es casi tan “rígido” como el hardware que lo alberga.

RIPs en software

Son aquéllos RIPs que vienen de fábrica directamente como cualquier otro software (en CD, DVD o por descarga desde Internet) y que debe instalarse en una computadora estándar (que cumpla, naturalmente, con los requisitos mínimos de memoria, velocidad de procesador, espacio de disco, etc.) con algún tipo de conexión directa al dispositivo para el cual procesará.

Comparativa

RIP en hardware RIP en software
Ventajas Son rápidos, ya que por trabajar estrechamente con el hardware están optimizados para velocidad. No requieren normalmente intervención humana. Su costo está incluído en el costo total del dispositivo. Son muy versátiles y disponen, sobre todo los de alta gama, de muchas opciones configurables para diferentes alternativas de proceso. La identificación de errores es más sencilla. Su actualización suele ser simple y puede cambiarse de versión o de fabricante conservando el hardware.
Desventajas El software no puede actualizarse fácilmente, o requiere intervención especializada. Además, por su naturaleza, está atado al fabricante del RIP. La estabilidad del RIP depende de la estabilidad del sistema operativo de base, por lo que resultan menos confiables que los de hardware. Su costo debe agregarse al costo del hardware sobre el cual se instala.

En la actualidad, no obstante, las progresivas mejoras en los sistemas operativos durante la última década, junto con la reducción de costos y aumento sostenido de velocidad del hardware estándar disponible, permiten que la mayor parte de los RIPs para uso en preprensa, ya sea que se empleen para salida a película, directo a plancha (CTP), impresión digital o prueba color digital de contrato, estén basados en software.

Etapas de un RIP

Un RIP completo para uso en preprensa tiene normalmente tres etapas bien diferenciadas de proceso: el intérprete, el renderer y el screener. Veamos sus funciones.

1 – Intérprete

Podría pensarse que la interpretación del documento PostScript nos lleva directamente a la imagen de pixeles que la representa, pero es necesario reconocer primero todos y cada uno de los objetos presentes en la página. Algunos son simples declaraciones matemáticas; otros pueden ya contener pixeles, por ejemplo imágenes previamente digitalizadas. La primera etapa de un RIP es, justamente, el intérprete propiamente dicho, que es la parte del proceso que requiere interpretar los operadores PostScript. Aquí son detectados e informados los eventuales errores PostScript que el documento pueda tener.

Si bien el destino final de toda página (sea impresa en un sustrato o generada en una pantalla) descansa en una matriz bidimensional de pixeles, su representación práctica dentro de una computadora puede no ser necesariamente la asignación de algunos bits de memoria por cada pixel; otras representaciones son posibles. En particular, un intérprete PostScript utiliza un método denominado display lists (literalmente lista de exhibición, pero que podríamos traducir mejor como listas de objetos), que consiste sencillamente en una enumeración de todos los objetos presentes en la página, junto con sus atributos, libre de procedimientos[1]. Hay una doble razón para esto:

  1. El modelo de imagen de PostScript está concebido para no depender de ninguna representación particular en forma de matriz de pixeles; si así fuera, sería dependiente de una resolución determinada, y ésta depende del dispositivo;
  2. A resoluciones elevadas, la memoria necesaria para una representación basada en pixeles aumenta muy rápidamente[2].

El intérprete finaliza su parte entregando a la etapa siguiente la lista de objetos reconocidos en la página.

2 – Renderer

El proceso mediante el cual un objeto gráfico —una línea, un círculo, un carácter de texto o una imagen digital— se representa en un dispositivo que usa pixeles se conoce como scan conversion (literalmente: conversión por barrido). Dada una serie de comandos PostScript que describen tal objeto, el proceso consiste esencialmente en determinar cuáles pixeles se verán afectados y qué valor asignarles para lograr la representación más fiel posible a la resolución del dispositivo en cuestión. Convertir una forma gráfica como un rectángulo o un círculo implica determinar cuáles pixeles caen “dentro” de esa forma y establecer su valor de manera correspondiente (por ejemplo a “negro”). Dado que los bordes de la figura no siempre caen precisamente en las líneas que limitan pixeles adyacentes, se requiere de alguna estrategia para decir cuáles de los pixeles ubicados en la frontera se consideran “dentro” y cuáles “fuera”[3]. La elección de esta estrategia es un asunto para nada trivial, que en última instancia definirá la calidad de la conversión obtenida.

El módulo que lleva a cabo esta conversión es el renderer; su función es recibir una lista de objetos y entregar un mapa de bits a la resolución que el dispositivo para el cual se procesa utilice para imágenes de tono continuo (CT: Continuous Tone).

En este punto es necesario precisar que normalmente no es conveniente convertir a pixeles todos los objetos a una misma resolución. Es sabido que el texto requiere un tratamiento especial para mejorar la legibilidad —y que fue uno de los motivos del éxito de PostScript—. Asimismo, otros objetos gráficos basados en curvas (logos, por ejemplo) presentarían un pixelado notable a resoluciones consideradas apropiadas para imágenes en tono continuo Esto se solucionaría tratando estos objetos por separado y convertirlos utilizando una resolución más alta.

Sin embargo, para lograr este fin con niveles de calidad profesionalmente aceptables, deben emplearse resoluciones entre 8 y 10 veces mayores a la correspondiente a tono continuo. Para una resolución de CT típica de 300 ppi, esto implica valores de no menos de 2400 ppi; el peso de la información correspondiente será 82 = 64 veces superior. Para evitar esta “explosión” de tamaño, algunos RIPs convierten los objetos en dos capas de pixeles: un CT convencional (32 bits en CMYK) y otra a una resolución superior pero limitada a una paleta de 256 colores[4], es decir, 8 bits ó ¼ de la profundidad del CT. Esta segunda capa recibe el nombre de trabajo de línea (LW: linework). El aumento de tamaño es a lo sumo 64/4 = 16 veces; en la práctica es menor, ya que la capa LW está limitada a aquéllas zonas de la página en las que aparecen los objetos que la requieren.

3 – Screener

Finalmente, la obtención de una representación basada en pixeles puede ser insuficiente si, en última instancia,  el sistema de impresión está basado en realizar marcas en el sustrato o no hacerlas (dos niveles de “brillo”). Sabemos que una de las maneras tradicionales de resolver este problema es el empleo de algún tipo de trama; luego el proceso RIP culmina con la determinación de esta trama a partir de una matriz de pixeles.

Esta es precisamente la tarea del screener (por screen, que se traduce como pantalla o trama), quien decide cuáles pixeles de salida (puntos de láser en un filmadora, por ejemplo) deben iluminarse y cuáles no. Existen varios algoritmos para la determinación de esta trama a partir de una matriz de pixeles, y son aún menos triviales; de hecho, cada fabricante argumenta que su algoritmo de tramado es mejor que el de la competencia, y muchos de ellos son objeto de patentamiento.

Opciones de proceso típicas de un RIP

El ingreso de un archivo PostScript a un RIP puede hacerse de varias maneras, a saber:

Impresión virtual

El RIP se presenta a la estación de trabajo como si fuera una impresora PostScript. Esto exige configurar apropiadamente esa impresora virtual en cada estación, pero una vez hecho es relativamente sencillo enviar un trabajo al RIP; basta que la aplicación de diseño sea capaz de imprimir, lo que sucede en prácticamente todos los casos.

Carpetas vigiladas (hot folders)

Aquí se configura el RIP para disponer de una carpeta propia que se monitorea a intervalos regulares; cada vez que se coloque allí un tipo de archivo válido (que normalmente no está limitado a PostScript o PDF, sino que puede ser TIFF, JPEG, etc.) el mismo es procesado de acuerdo con las opciones establecidas previamente para esa carpeta. La ventaja de este método es que permite crear varias carpetas, cada una con su propia configuración, para las distintas opciones de proceso que se requieran. Además, si esa carpeta es “compartida” en la red, cualquier estación de trabajo con acceso a la misma puede colocar allí un archivo para su proceso.

Proceso manual

Los dos métodos anteriores presuponen la existencia de una red entre el RIP y las estaciones de trabajo. Si el RIP funciona sin conexión a una red, la única alternativa posible consiste en llevar el trabajo al mismo a través de algún medio removible (CD, DVD, pen drive) y operar el software manualmente para indicar la ubicación del trabajo y todas las opciones de proceso. Naturalmente, exige conocer el programa para su correcta operación. Si bien este modo de trabajo es el menos productivo de todos, siempre es útil contar con esta posibilidad para procesar trabajos esporádicos que requieren opciones de proceso particulares no contempladas en aquéllas establecidas de las distintas impresoras virtuales y/o hot folders configurados.

§3.7 – Convenciones de estructura de documentos PostScript (DSC) >

1 Queremos decir con esto que si con unas pocas líneas de PostScript se generan 100 objetos, la lista contiene los 100 objetos creados, no el procedimiento más o menos ingenioso que eventualmente se utilizó para ello.
2 Sabemos ya que el número de pixeles depende del cuadrado de la resolución; si ésta se duplica, la memoria necesaria se cuadruplica.
3 Los pixeles “frontera” reciben un tratamiento de anti-aliasing para evitar el “serruchado” de los contornos.
4 En realidad 255 niveles; uno de ellos se reserva para transparencia.