ES2282136T3 - Procedimiento y aparato para producir una impresion de una imagen bayer. - Google Patents
Procedimiento y aparato para producir una impresion de una imagen bayer. Download PDFInfo
- Publication number
- ES2282136T3 ES2282136T3 ES00962075T ES00962075T ES2282136T3 ES 2282136 T3 ES2282136 T3 ES 2282136T3 ES 00962075 T ES00962075 T ES 00962075T ES 00962075 T ES00962075 T ES 00962075T ES 2282136 T3 ES2282136 T3 ES 2282136T3
- Authority
- ES
- Spain
- Prior art keywords
- image
- data
- resolution
- color
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
- G06T3/606—Rotation of whole images or parts thereof by memory addressing or mapping
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03G—ELECTROGRAPHY; ELECTROPHOTOGRAPHY; MAGNETOGRAPHY
- G03G15/00—Apparatus for electrographic processes using a charge pattern
- G03G15/01—Apparatus for electrographic processes using a charge pattern for producing multicoloured copies
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04528—Control methods or devices therefor, e.g. driver circuits, control circuits aiming at warming up the head
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04543—Block driving
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04563—Control methods or devices therefor, e.g. driver circuits, control circuits detecting head temperature; Ink temperature
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04586—Control methods or devices therefor, e.g. driver circuits, control circuits controlling heads of a type not covered by groups B41J2/04575 - B41J2/04585, or of an undefined type
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/015—Ink jet characterised by the jet generation process
- B41J2/04—Ink jet characterised by the jet generation process generating single droplets or particles on demand
- B41J2/045—Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
- B41J2/04501—Control methods or devices therefor, e.g. driver circuits, control circuits
- B41J2/04591—Width of the driving signal being adjusted
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J29/00—Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
- B41J29/38—Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
- B41J29/393—Devices for controlling or analysing the entire machine ; Controlling or analysing mechanical parameters involving printing of test patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4015—Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/387—Composing, repositioning or otherwise geometrically modifying originals
- H04N1/3877—Image rotation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/409—Edge or detail enhancement; Noise or error suppression
- H04N1/4092—Edge or detail enhancement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/48—Picture signal generators
- H04N1/486—Picture signal generators with separate detectors, each detector being used for one specific colour component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6016—Conversion to subtractive colour signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/84—Camera processing pipelines; Components thereof for processing colour signals
- H04N23/843—Demosaicing, e.g. interpolating colour pixel values
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/10—Circuitry of solid-state image sensors [SSIS]; Control thereof for transforming different wavelengths into image signals
- H04N25/11—Arrangement of colour filter arrays [CFA]; Filter mosaics
- H04N25/13—Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements
- H04N25/134—Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements based on three different wavelength filter elements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Facsimile Image Signal Circuits (AREA)
- Ink Jet (AREA)
- Image Processing (AREA)
- Color Image Communication Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Color Television Image Signal Generators (AREA)
- Color, Gradation (AREA)
- Printing Methods (AREA)
- Coloring (AREA)
- Television Signal Processing For Recording (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Record Information Processing For Printing (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
Abstract
Un procedimiento para proporcionar una imagen para impresión a una resolución de punto bi-nivel predeterminada que corresponde a una resolución de tono continuo predeterminada, incluyendo el procedimiento las etapas de: recibir un primer conjunto de datos indicativos de la imagen, estando el primer conjunto de datos en formato Bayer planarizado que comprende diferentes planos (45, 46, 47) de color, teniendo al menos uno (46) de los planos de color una resolución diferente a la del otro plano o los otros planos (45, 47) de color; realizar reconstrucción y remuestreo (64) de imagen de cada plano de color del primer conjunto de datos, para crear un segundo conjunto de datos de resolución de tono continuo predeterminada que sea mayor que la resolución de cada uno de los planos de color del primer conjunto de datos; convertir (67) el segundo conjunto de datos en un tercer conjunto de datos de la resolución de punto bi-nivel predeterminada que sea mayor que la resolución de tono continuo predeterminada del segundo conjunto de datos, y hacer que el tercer conjunto de datos se encuentre disponible para una impresora (69) a la resolución de punto bi-nivel predeterminada.
Description
Procedimiento y aparato para producir una
impresión de una imagen Bayer.
La presente invención se refiere a un
procedimiento y a un aparato para producir una impresión de una
imagen Bayer.
La invención ha sido desarrollada principalmente
para una cámara digital que incluye una impresora integral para
proporcionar una impresión sobre papel de una imagen capturada por
la cámara, y va a ser descrita en lo que sigue con referencia a esa
aplicación. Sin embargo, se apreciará que la invención no se limita
a ese campo de uso particular.
De acuerdo con un primer aspecto de la
invención, se proporciona un procedimiento para la provisión de una
imagen para su impresión a una resolución de puntos
bi-nivel predeterminada, que corresponde con una
resolución de tono continuo predeterminada, incluyendo el
procedimiento las etapas de:
recibir un primer conjunto de datos indicativos
de la imagen, estando el primer conjunto de datos en formato Bayer
por planos, que comprende diferentes planos (45, 46, 47) de colores,
siendo al menos uno de los planos (46) de un color de una
resolución diferente a la del plano o planos (45, 47) de otro
color,
realizar una reconstrucción y un remuestreo (64)
de la imagen de cada plano de color del primer conjunto de datos
para crear un segundo conjunto de datos de resolución de tono
continuo predeterminada, que sea mayor que la resolución de cada
uno de los planos de color del primer conjunto de datos;
convertir (67) el segundo conjunto de datos en
un tercer conjunto de datos de resolución de puntos
bi-nivel predeterminada, que sea mayor que la
resolución de tono continuo predeterminada del segundo conjunto de
datos, y
hacer que el tercer conjunto de datos se
encuentre disponible para una impresora (69) a la resolución
predeterminada de puntos bi-nivel.
De preferencia, la primera resolución equivale a
la resolución de puntos bi-nivel predeterminada. En
otras realizaciones, sin embargo, la primera resolución es mayor
que la resolución de puntos bi-nivel predeterminada.
Todavía en otra realización, la primera resolución es menor que la
resolución de puntos bi-nivel predeterminada.
También de preferencia, el primer conjunto de
datos está en formato rojo, verde y azul RGB, y la impresora actúa
en respuesta a un formato cyan, magenta y amarillo CMY, y el
procedimiento incluye la etapa adicional de convertir el tercer
conjunto de datos desde el formato RGB al formato CMY.
En una forma preferida, el procedimiento incluye
la etapa de hacer más intenso el segundo conjunto de datos.
Alternativamente, el procedimiento incluye la etapa preferida de
hacer más intenso el primer conjunto de datos.
De preferencia, el primer conjunto de datos se
obtiene a partir de un dispositivo sensor, y el procedimiento
incluye la etapa de compensar el primer conjunto de datos en cuanto
a las no linealidades del dispositivo sensor. Más preferentemente,
la etapa de compensar incluye convertir el primer conjunto de datos
desde una pluralidad de muestras de bits x hasta una pluralidad de
muestras de bits y, donde x > y. Incluso de manera más
preferente, x = 10 e y = 8.
También de preferencia, el procedimiento incluye
la etapa de disponer en planos el primer conjunto de datos mediante
un plano rojo, un plano verde y un plano azul.
En una forma preferida, el procedimiento incluye
las etapas adicionales de: determinar para el primer
conjunto de datos, el m% de píxeles más oscuros y el n% de píxeles
más brillantes;
ajustar el primer conjunto de datos para igualar
el m% de píxeles más oscuros, y
ajustar el primer conjunto de datos para igualar
el n% de píxeles más brillantes.
De preferencia, el procedimiento incluye la
etapa adicional de ajustar el primer conjunto de datos para
proporcionar un balance del blanco predeterminado. Más
preferiblemente, el procedimiento incluye la etapa adicional de
ajustar el primer conjunto de datos para proporcionar una expansión
de rango predeterminada. Incluso más preferiblemente, la resolución
de color del primer conjunto de datos se incrementa mientras se
mantiene la misma resolución
espacial.
espacial.
En una forma preferida, el primer conjunto de
datos se ajusta selectivamente para proporcionar la imagen con una
orientación rotacional predeterminada.
De acuerdo con un segundo aspecto de la
invención, se proporciona un aparato para la provisión de una
imagen, para su impresión a una resolución predeterminada de puntos
bi-nivel que corresponde con una resolución
predeterminada de tono continuo, incluyendo el aparato:
medios de entrada para recibir un primer
conjunto de datos indicativo de la imagen, estando el primer
conjunto de datos en formato Bayer por planos, comprendiendo planos
(45, 46, 47) de diferentes colores siendo al menos uno de los
planos (46) de color de una resolución diferente a la del (de los)
otro(s) plano o planos (45, 47) de
color,
color,
medios de muestreo para reconstrucción y
remuestreo (64) de imagen en el primer conjunto de datos, para crear
un segundo conjunto de datos con una resolución de tono continuo
predeterminada, que es mayor que la resolución de cada uno de los
planos de color del primer conjunto de datos;
medios de procesamiento para convertir (67) el
segundo conjunto de datos en un tercer conjunto de datos con una
resolución predeterminada de puntos bi-nivel que es
mayor que la resolución predeterminada de tono continuo del segundo
conjunto de datos, y
medios de salida para hacer que el tercer
conjunto de datos esté disponible (69) para su impresión a la
resolución predeterminada de puntos bi-nivel.
De preferencia, la primera resolución se
equipara con la resolución predeterminada de puntos
bi-nivel. Alternativamente, la primera resolución
es mayor que la resolución predeterminada de puntos
bi-nivel. En otra realización, sin embargo, la
primera resolución es menor que la resolución predeterminada de
puntos bi-nivel.
También de preferencia, el primer conjunto de
datos está en un formato rojo, verde y azul (RGB), y la impresora
actúa en respuesta a un formato cyan, magenta y amarillo (CMY), en
el que los medios de procesamiento convierten el tercer conjunto de
datos desde el formato RGB al formato CMY.
También de preferencia, el aparato hace más
intenso el segundo conjunto de datos. En otra realización, sin
embargo, el aparato intensifica el primer conjunto de datos.
En una forma preferida, el primer conjunto de
datos se obtiene a partir de un dispositivo sensor, y los medios de
entrada compensan el primer conjunto de datos en cuanto a las no
linealidades del dispositivo sensor. Más preferiblemente, la
compensación para las no linealidades incluye convertir el primer
conjunto de datos, desde una pluralidad de muestras de bits x, a
una pluralidad de muestras de bits y, donde x > y. Incluso más de
preferencia, x = 10, e
y = 8.
y = 8.
De preferencia, los medios de entrada disponen
en planos el primer conjunto de datos según un plano rojo, un plano
verde y un plano azul.
Más preferiblemente, los medios de entrada:
determinan, para el primer conjunto de datos, el
m% de píxeles más oscuros y el n% de píxeles más brillantes;
ajustan el primer conjunto de datos para igualar
el m% de píxeles más oscuros, y
ajustan el primer conjunto de datos para igualar
el n% de píxeles más brillantes.
En una forma preferida, los medios de entrada
ajustan el primer conjunto de datos para proporcionar un balance
del blanco predeterminado. Más preferiblemente, los medios de
entrada ajustan el primer conjunto de datos para proporcionar una
expansión de rango predeterminada. Incluso más preferiblemente, los
medios de entrada incrementan la resolución de color del primer
conjunto de datos mientras mantienen la misma resolución
espacial.
De preferencia, los medios de entrada ajustan
selectivamente el primer conjunto de datos para proporcionar la
imagen con una orientación rotacional predeterminada.
De acuerdo con un tercer aspecto de la
invención, se proporciona una cámara que incluye:
un dispositivo sensor CCD para la provisión de
una imagen Bayer;
una impresora para proporcionar selectivamente
una imagen impresa, y
un aparato según se ha descrito anteriormente,
para recibir la imagen Bayer y proporcionar a la impresora el
tercer conjunto de datos de tal modo que se pueda producir la imagen
impresa.
\newpage
Las realizaciones preferidas de la invención van
a ser descritas ahora, únicamente a título de ejemplo, con
referencia a la descripción y a las Figuras que siguen.
La Figura 1 muestra un flujo de imagen de alto
nivel del PCP;
la Figura 2 muestra un diagrama del PCP por
separado;
la Figura 3 muestra un diagrama de bloques del
PCP conectado al hardware de la Printcam;
la Figura 4 muestra una cabeza de impresión
Memjet de 10 cm (4 pulgadas);
la Figura 5 muestra la disposición de segmentos
en una cabeza de impresión de10 cm (4 pulgadas);
la Figura 6 muestra la disposición de boquillas
en un pod, numeradas por orden de disparo;
la Figura 7 muestra la disposición de boquillas
en un pod, numeradas por orden de carga;
la Figura 8 muestra un
cromo-pod;
la Figura 9 muestra un
grupo-pod;
la Figura 10 muestra un grupo de fase;
la Figura 11 muestra la relación entre
segmentos, grupos de disparo, grupos de fase,
grupo-pods y cromo-pods;
la Figura 12 muestra perfiles de pulso de
AEnable y BEnable durante la impresión de un punto par e impar;
la Figura 13 muestra la orientación de formatos
de impresión en base a la imagen CFA;
la Figura 14 muestra un diagrama de bloques de
la cadena de captura de imagen;
la Figura 15 muestra la disposición de píxeles
en un mosaico Bayer CFA 2G;
la Figura 16 muestra el proceso RGB de
linealización;
la Figura 17 muestra el proceso RGB de
planarización;
la Figura 18 muestra un diagrama de bloques de
la cadena de impresión de imagen;
la Figura 19 muestra un rango de color de
muestra para un plano de color simple;
la Figura 20 muestra las etapas involucradas en
el balance del blanco y en la expansión de rango;
la Figura 21 muestra un diagrama de bloques de
un aparato capacitado para realizar el balance del blanco y la
expansión de rango;
la Figura 22 muestra los diversos píxeles de
plano de color en relación con una resolución CFA;
la Figura 23 muestra el efecto de girar el plano
del verde en 45 grados;
la Figura 24 muestra la distancia entre los
píxeles girados para el plano del verde;
la Figura 25 muestra el proceso de movimiento de
mapeo en el espacio CFA no girado respecto al espacio CFA
girado;
la Figura 26 muestra un diagrama de bloques del
proceso de intensificación;
la Figura 27 muestra el proceso involucrado en
el filtrado pasa-alto de un pixel de luminancia
simple con una función de 3 x 3;
la Figura 28 muestra la transformación de
conversación de RGB a CMY;
la Figura 29 muestra la conversión de RGB a CMY
mediante interpolación tri-lineal;
la Figura 30 muestra la replicación de pixel, de
un pixel simple a un bloque de 5 x 5;
la Figura 31 muestra un diagrama de bloques del
proceso de generación de semitono;
la Figura 32 muestra el proceso de puntos de
reformateo para la impresora;
la Figura 33 muestra un diagrama de bloques de
la unidad de captura de imágenes;
la Figura 35 muestra un diagrama de bloques de
la unidad de acceso de imagen;
la Figura 36 muestra un diagrama de bloques de
la unidad de histograma de imagen;
la Figura 37 muestra un diagrama de bloques de
la interfaz de impresora;
la Figura 38 muestra el diagrama de bloques de
la interfaz Memjet;
la Figura 39 muestra la generación de anchos de
pulso AEnable y BEnable;
la Figura 40 muestra un diagrama de bloques de
la lógica de conteo de punto;
la Figura 41 muestra la interfaz de la unidad de
generador de impresión;
la Figura 42 muestra un diagrama de bloques de
la unidad de generador de impresión;
la Figura 43 muestra un diagrama de bloques de
la unidad de acceso de patrón de prueba;
la Figura 44 muestra un diagrama de bloques de
la Memoria Intermedia 5;
la Figura 45 muestra un diagrama de bloques de
la Memoria Intermedia 4;
la Figura 46 muestra un diagrama de bloques del
proceso de UpInterpolate, Halftone y Reformat;
la Figura 47 muestra cómo realizar el mapeo
desde una célula vibratoria hasta una célula vibratoria
acumulada;
la Figura 48 muestra un diagrama de bloques del
proceso de Convertir RGB a CMY;
la Figura 49 muestra un diagrama de bloques de
la Memoria Intermedia 2;
la Figura 50 muestra un filtro espacial básico
pasa-alto que utiliza una función 3 x 3;
la Figura 51 muestra un diagrama de bloques de
la unidad de intensificación;
la Figura 52 muestra la estructura de la memoria
Intermedia 1;
la Figura 53 muestra un diagrama de bloques del
proceso de Remuestrear y Crear Canal de Luminancia;
la Figura 54 muestra un diagrama de bloques de
la Unidad de Convolución;
la Figura 55 muestra el orden de píxeles
generados desde el receptor;
la Figura 56 muestra el movimiento en "x" o
en "y" en el espacio girado y no girado;
la Figura 57 muestra la dirección de entradas en
la sub-memoria del verde de la Memoria Intermedia
1;
la Figura 58 muestra la relación entre las
entradas del verde en función de la rotación;
la Figura 59 muestra un muestreo 4 x 4 del canal
del verde;
la Figura 60 muestra un muestreo 4 x 4, tipo 1,
del verde;
la Figura 61 muestra un muestreo 4 x 4, tipo 2,
del verde;
la Figura 62 muestra los dos tipos de
direccionamiento de fila para el verde;
la Figura 63 muestra el direccionamiento de
entradas en las sub-memorias del rojo y del azul de
la memoria intermedia 1;
la Figura 64 muestra las 16 primeras muestras
leídas para calcular el primer pixel;
\newpage
la Figura 65 muestra el peor caso de
superposición de lectura 4 x 4 desde las memorias intermedias del
azul y del rojo;
la Figura 66 muestra un diagrama de bloques de
la unidad de giro, balance del blanco y expansión de rango, y
la Figura 67 muestra el área de imagen activa
del interior del espacio coordenado generado.
\vskip1.000000\baselineskip
El Procesador Central de la Printcam (PCP) posee
toda la potencia de procesamiento para una Printcam, y se ha
diseñado específicamente para ser usado en el sistema de cámara
digital Printcam. El PCP 3 conecta un sensor 1 de imagen (para la
captura de imágenes), y una impresora 2 Memjet para la impresión de
imágenes. En términos de procesamiento de imagen, se puede pensar
que el PCP es el traductor de imágenes desde la captura hasta la
impresión, como se muestra en la Figura 1:
- \bullet
- El Sensor de Imagen 1 es un sensor de imagen CMOS, que captura una imagen RGB de 1500 x 1000. El Sensor de Imagen constituye el dispositivo de entrada.
- \bullet
- La Cabeza de Impresión 2 es una impresora Memjet de 1600 dpi de 10,16 cm (4 pulgadas) de largo, capacitada para imprimir en tres colores: cyan, magenta y amarillo. La Cabeza de Impresión constituye el dispositivo de salida de imagen.
- \bullet
- El PCP 3 toma una imagen desde el Sensor de Imagen 1, la procesa, y envía la forma final de la imagen a la Cabeza de Impresión 2, para su impresión. Puesto que el Sensor de Imagen 1 captura en RGB, y la Cabeza de Impresión 2 imprime en CMY, el PCP 3 debe traducir desde el espacio de color RGB hasta el espacio de color CMY. El PCP 3 contiene todos los requisitos para el procesamiento intermedio de la imagen, incluyendo el balance del blanco, la corrección de color y el mapeo de gama de frecuencia, la intensificación de imagen, y la generación de semitono. Adicionalmente, el PCP 3 controla la interfaz de usuario y el proceso de impresión completo, proporcionando soporte para una diversidad de formatos de imagen. El PCP 3 contiene también interfaces para permitir exportar e importar fotos, cumpliendo con el estándar DPOF (Digital Print Order Format, Formato Digital de Órdenes de Impresión).
\vskip1.000000\baselineskip
El PCP 3 está diseñado para ser fabricado
utilizando un proceso CMOS de 0,25 micrómetros, con aproximadamente
10 millones de transistores, casi la mitad de los cuales son memoria
flash o RAM estática. Esto conduce a un área estimada de 16
mm^{2}. El coste de fabricación estimado es de 4 \textdollar en
el año 2001. El PCP 3 es un diseño relativamente directo, y el
esfuerzo de diseño puede reducirse con el uso de técnicas de
compilación de rutas de datos, macro-células y
núcleos IP. El PCP 3 contiene:
- \bullet
- Una CPU/ núcleo microcontrolador 10 de baja velocidad
- \bullet
- 1,5 MBytes de Memoria flash 11 multi-nivel (2 bits por celda)
- \bullet
- una Interfaz 98 de Sensor de Imagen CMOS en el interior de una Unidad de Captura de Imagen 12
- \bullet
- 16 KBytes de memoria flash 13 para almacenamiento de programas
- \bullet
- 4 KBytes de RAM 14 para almacenamiento variable de programas.
El PCP 3 ha sido previsto para que corra a una
velocidad de reloj de aproximadamente 100 MHz a 3 V externamente y
1,5 V internamente para minimizar el consumo de energía. La
frecuencia operativa real será un múltiplo entero de la frecuencia
operativa de de la Cabeza de Impresión. La CPU 10 está previsto que
sea una CPU de tipo microcontrolador simple, que corra a
aproximadamente 1 MHz. Tanto la CPU 10 como la interfaz 12 de sensor
CMOS, pueden ser núcleos suministrados por un proveedor.
La Figura 2 muestra un diagrama de bloques del
PCP 3 por separado.
El PCP 3 está diseñado para su uso en sistemas
de Printcam. La Figura 3 muestra un diagrama de bloques del PCP 3
conectado al resto del hardware de la Printcam.
\newpage
El PCP 3 se ha diseñado específicamente para
conectarse a una cabeza de impresión 2 Memjet de 10 cm (4 pulgadas).
La cabeza de impresión 2 se utiliza como impresora de página a lo
ancho, produciendo una imagen impresa de 10 cm (4 pulgadas) de
anchura sin que tenga que ser movida. Al contrario, el papel 20 se
imprime según se mueve éste al pasar por la cabeza de impresión 2,
como se muestra en la Figura 4.
Cada cabeza de impresión 2 de 10 cm (4 pulgadas)
consiste en 8 segmentos, siendo cada segmento de 12,7 mm (1/2
pulgada) de longitud. Cada uno de los segmentos 21 imprime puntos
cyan, magenta y amarillo bi-nivel sobre una parte
diferente de la página, para producir la imagen final. Las
posiciones de los segmentos se muestran en la
Figura 5.
Figura 5.
Puesto que la cabeza de impresión 2 imprime
puntos a 1600 dpi, cada punto tiene un diámetro de 22,5 \mum, y
están separados por 15,875 \mum. Así, cada segmento de 12,7 mm
(media pulgada) imprime 800 puntos, correspondiendo los 8 segmentos
a las posiciones:
Aunque cada segmento 21 produce 800 puntos de la
imagen final, cada punto está representado por una combinación de
tinta cyan, magenta y amarilla bi-nivel. Puesto que
la impresión es bi-nivel, la imagen de entrada será
vibrada o de error difuso para unos mejores resultados.
Cada segmento 21 contiene entonces 2.400
boquillas: 800 de cada color cyan, magenta y amarillo. Una cabeza
de impresión 2 de 10 cm (cuatro pulgadas) contiene 8 segmentos 21
con un total de 19.200 boquillas.
Las boquillas 22 en el interior de un segmento
21 simple, están agrupadas por motivos de estabilidad física, así
como también por reducción del consumo de potencia durante la
impresión. En términos de estabilidad física, un total de 10
boquillas comparten el mismo depósito de tinta. En términos de
consumo de potencia, los agrupamientos se realizan de manera que
permiten un modo de presión de baja velocidad y uno de alta
velocidad.
La cabeza de impresión 2 soporta dos velocidades
de impresión para permitir que se lleven a cabo diferentes
relaciones de velocidad/ potencia en diferentes configuraciones de
productos.
En el modo de impresión de baja velocidad, 96
boquillas 22 son disparadas simultáneamente desde cada cabeza de
impresión 2 de 10 cm (4 pulgadas). Las boquillas disparadas deben
ser maximalmente distantes, de modo que se disparen 12 boquillas 22
desde cada segmento. Para disparar todas las 19.200 boquillas, se
deben disparar 200 conjuntos diferentes de 96 boquillas.
En el modo de impresión de alta velocidad, se
disparan 192 boquillas 22 simultáneamente desde cada cabeza de
impresión 2 de 10 cm (4 pulgadas). Las boquillas 22 disparadas deben
ser maximalmente distantes, de modo que se disparan 24 boquillas
desde cada segmento. Para disparar la totalidad de 19.200 boquillas,
se deben disparar 100 conjuntos diferentes de 192 boquillas.
El consumo de potencia en el modo de baja
velocidad es la mitad que en el modo de alta velocidad. Obsérvese,
no obstante, que la energía consumida para imprimir una línea, y por
tanto una página, es la misma en ambos casos.
En un escenario tal como una Printcam alimentada
con batería, los requisitos de consumo de potencia determinan el
uso de la impresión de baja velocidad.
Un pod simple 23 consiste en 10 boquillas 22 que
comparten un depósito 5 común de tinta. 5 boquillas 22 están en una
fila, y 5 están en otra. Cada boquilla 22 produce puntos de
aproximadamente 22,5 \mum de diámetro, separados sobre una
parrilla de 15,875 \mum. La Figura 6 muestra la disposición de un
pod simple, con las boquillas 22 numeradas de acuerdo con el orden
en el que las mismas deben ser disparadas.
Aunque las boquillas 22 son disparadas por este
orden, la relación de boquillas 22 y la colocación física de puntos
sobre la página impresa, es diferente. Las boquillas 22 de una fila
representan los puntos pares de una línea de la página, y las
boquillas de la otra fila representan los puntos impares de la línea
adyacente de la página. La Figura 7 muestra el mismo pod 23 con
las boquillas 22 numeradas de acuerdo con el orden en el que las
mismas deben ser cargadas.
Las boquillas 22 interiores a un pod 23, están
por tanto lógicamente separadas por la anchura de 1 punto. La
distancia exacta entre las boquillas 22 dependerá de las propiedades
del mecanismo de disparo Memjet. La cabeza de impresión 2 está
diseñada con boquillas escalonadas diseñadas para emparejarse con el
flujo del papel 20.
Un pod 23 de cada color (cyan, magenta y
amarillo), se agrupan en un croma-pod 24. Un
croma-pod 24 representa componentes de diferente
color del mismo conjunto horizontal de 10 puntos, sobre líneas
diferentes. La distancia exacta entre diferentes pods 23 de color
depende de los parámetros operativos de la Memjet, y puede variar
de un diseño de Memjet a otro. La distancia se considera que es una
cantidad constante de anchuras de punto, y debe ser tenida en
cuenta por lo tanto cuando se realiza la impresión: los puntos
imprimidos por las boquillas cyan serán para líneas diferentes que
los imprimidos por las boquillas magenta o amarillo. El algoritmo de
impresión debe permitir una distancia variable de hasta
aproximadamente 8 anchuras de punto entre colores (véase la Tabla 3
para más detalles). La Figura 8 ilustra un croma-pod
24 simple.
5 croma-pods 24 se organizan en
un solo grupo-pod 25. Puesto que cada
croma-pod contiene 30 boquillas 22, cada
grupo-pod contiene 150 boquillas 22: 50 boquillas
cyan, 50 boquillas magenta y 50 boquillas amarillo. La disposición
se muestra en la Figura 9, con los croma-pods
numerados como 0-4. Obsérvese que la distancia
entre croma-pods adyacentes se ha exagerado por
motivos de claridad.
2 grupo-pods 25 se organizan en
un único grupo-fase 26. El
grupo-fase 26 se denomina de ese modo debido a que
los grupos de boquillas 23 del interior de un
grupo-fase se disparan simultáneamente durante una
fase de disparo dada (esto se explica con mayor detalle en lo que
sigue). La formación de un grupo-fase a partir de 2
grupo-pods 25, se realiza totalmente a efectos de
impresión a baja velocidad y a alta velocidad a través de 2 líneas
PodgroupEnable.
Durante la impresión a baja velocidad, se
dispone solamente una de las dos líneas PodgroupEnable en un pulso
de disparo dado, de modo que solamente uno grupo-pod
de los dos dispara las boquillas. Durante la impresión a alta
velocidad, se disponen ambas líneas PodgroupEnable, de modo que
ambos grupo-pods disparan las boquillas. En
consecuencia, la impresión a baja velocidad es dos veces más larga
que la impresión a alta velocidad, puesto que la impresión a alta
velocidad dispara el doble de boquillas a la vez.
La Figura 10 ilustra la composición del
grupo-fase. La distancia entre
grupo-pods adyacentes ha sido exagerada por motivos
de claridad.
Dos grupo-fases (PhasegroupA y
PhasegroupB) se organizan en un sólo grupo de disparo 27, con 4
grupos de disparo en cada segmento. Los grupos de disparo 27 se
denominan así debido a que todos ellos disparan las mismas boquillas
27 simultáneamente. Dos líneas de habilitación, AEnable y BEnable,
permiten el disparo de las boquillas PhasegroupA y de las boquillas
PhasegroupB independientemente como fases de disparo diferentes. La
disposición se muestra en la Figura 11. La distancia entre
agrupamientos adyacentes se ha exagerado por motivos de
claridad.
claridad.
La Tabla 2 es un sumario de los agrupamientos de
boquillas en una cabeza de impresión.
\vskip1.000000\baselineskip
Una cabeza de impresión 2 simple de 10 cm (4
pulgadas) contiene un total de 19.200 boquillas 22. Un Ciclo de
Impresión incluye el disparo de hasta la totalidad de estas
boquillas, dependiendo de la información que se ha de imprimir. Un
Ciclo de Carga incluye la carga de la cabeza de impresión con la
información que ha de ser imprimida durante el posterior Ciclo de
Impresión.
Cada boquilla 22 posee un bit de NozzleEnable
asociado, que determina si la boquilla se ha de disparar o no
durante el Ciclo de Impresión. Los bits de NozzleEnable (uno por
boquilla) se cargan por medio de un conjunto de registros de
desplazamiento.
Lógicamente, existen 3 registros de
desplazamiento por segmento (uno por color), cada uno con una
longitud de 800. Según se desplazan los bits por el registro de
desplazamiento para un color dado, son dirigidos hasta las
boquillas inferior y superior sobre pulsos alternos. Internamente,
cada registro de desplazamiento con una profundidad de 800,
comprende dos registros de desplazamiento de 400 de profundidad: uno
para las boquillas superiores y uno para las boquillas inferiores.
Los bits alternos son desplazados hacia los registros internos. En
lo que se refiere a la interfaz externa, sin embargo, existe un
único registro de desplazamiento de 800 de profundidad.
Una vez que todos los registros de
desplazamiento han sido cargados completamente (800 pulsos de
carga), todos los bits son transferidos en paralelo a los bits de
NozzleEnable apropiados. Esto equivale a una transferencia paralelo
simple de 19.200 bits. Una vez que la transferencia ha tenido lugar,
el Ciclo de Impresión puede empezar. El Ciclo de Impresión y el
Ciclo de Carga pueden ocurrir simultáneamente mientras se produce la
carga en paralelo de todos los bits de NozzleEnable al final del
Ciclo de Impresión
El Ciclo de Carga está relacionado con la carga
de los registros de desplazamiento de la cabeza de impresión con
los siguientes bits de NozzleEnable del Ciclo de Impresión.
Cada segmento 21 posee 3 entradas relacionadas
directamente con los registros de desplazamiento del cyan, el
magenta y el amarillo. Estas entradas se denominan CDatain, MDatain
e YDatain. Puesto que existen 8 segmentos, existe un total de 24
líneas de entrada de color por cabeza de impresión de 10 cm (4
pulgadas). Un pulso simple por la línea SRClock (compartido entre
la totalidad de los 8 segmentos), transfiere los 24 bits a los
registros de desplazamiento apropiados. Pulsos alternos transfieren
bits a las boquillas inferior y superior, respectivamente. Puesto
que existen 19.200 boquillas, se requiere un total de 800 pulsos
para la transferencia. Una vez que se ha transferido la totalidad
de los 19.200 pulsos, un pulso simple por la línea PTransfer
compartida, provoca la transferencia de datos paralelo desde los
registros de desplazamiento a los bits NozzleEnable apropiados.
La transferencia paralelo a través de un pulso
sobre PTransfer, debe tener lugar después de que haya acabado el
Ciclo de Impresión. En otro caso, los bits de NozzleEnable para la
línea que se está imprimiendo serán incorrectos.
Puesto que se cargan los 8 segmentos 21 con un
simple pulso SRClock, cualquier procedimiento de impresión debe
producir los datos en la secuencia correcta para la cabeza de
impresión. Como ejemplo, el primer pulso SRClock transferirá los
bits CMY para el siguiente punto 0, 800, 1600, 2400, 3200, 4000,
4800 y 5600 del Ciclo de Impresión. El segundo pulso SRClock
transferirá los bits CMY para el siguiente punto 1, 801, 1601, 2401,
3201, 4001, 4801 y 5601 del Ciclo de Impresión. Tras los 800 pulsos
SRClock, se puede proporcionar el pulso PTransfer.
Es importante observar que las salidas CMY impar
y par, aunque imprimidas durante el mismo Ciclo de Impresión, no
aparecen por la misma línea física de salida. La separación física
de boquillas impar y par dentro de la cabeza de impresión, así como
la separación entre boquillas de diferentes colores, asegura que
producirán puntos sobre líneas diferentes de la página. La
diferencia relativa debe ser tenida en cuenta cuando se cargan los
datos en la cabeza de impresión. La diferencia real en líneas
depende de las características del mecanismo de chorro de tinta que
se utilice en la cabeza de impresión. Las diferencias pueden estar
definidas por variables D _{1} y D_{2}, donde D_{1} es la
distancia entre boquillas de diferentes colores, y D_{2} es la
distancia entre boquillas del mismo color. La Tabla 3 muestra los
puntos transferidos al segmento n de una cabeza de impresión sobre
los primeros 4 pulsos.
Y así sucesivamente para la totalidad de los 800
pulsos.
Los datos pueden ser registrados en la cabeza de
impresión a una velocidad máxima de 20 MHz, con lo que se cargará
la totalidad de los datos para la siguiente línea en 40 \mus.
Una cabeza de impresión 2 de 10 cm (4 pulgadas)
contiene 19.200 boquillas 22. Dispararlas todas a la vez podría
consumir demasiada potencia y ser problemático en términos de
relleno de tinta y de interferencia de boquilla. En consecuencia,
se definen dos modos de disparo: un modo de impresión de baja
velocidad y un modo de impresión de alta velocidad:
- \bullet
- En el modo de impresión de baja velocidad, existen 200 fases, disparando cada fase 96 boquillas. Esto equivale a 12 boquillas por segmento, o 3 por grupo de disparo.
- \bullet
- En el modo de impresión de alta velocidad, existen 100 fases, disparando cada fase 192 boquillas. Esto equivale a 24 boquillas por segmento, o 6 grupos de disparo.
Las boquillas que van a ser disparadas durante
un pulso dado, se determinan mediante:
- \bullet
- 3 bits ChromapodSelect (seleccionan 1 de 5 croma-pods 24 a partir de un grupo de disparo 27)
- \bullet
- 4 bits NozzleSelect (seleccionan 1 de 10 boquillas 22 a partir de un pod 23)
- \bullet
- 2 bits de líneas PodgroupEnable (seleccionan 0, 1 ó 2 grupo-pods 25 para el disparo).
Cuando se establece una de las líneas
PodgroupEnable, solamente las 4 boquillas especificadas del Podgroup
se dispararán según se determina mediante ChromapodSelect y
NozzleSelect. Cuando se determinan ambas líneas PodgroupEnable,
ambos grupos pod dispararán sus boquillas. Para el modo de baja
velocidad, se requieren dos pulsos de disparo, con PodgroupEnable =
10 y 01, respectivamente. Para el modo de alta velocidad, solamente
se requiere un pulso de disparo, con PodgroupEnable = 11.
La duración del pulso de disparo viene dada por
las líneas AEnable y BEnable, las cuales disparan las boquillas
PhasegroupA y PhasegroupB de todos los grupos de disparo,
respectivamente. La duración típica de un pulso de disparo es de
1,3 - 1,8 \mus respectivamente. La duración de un pulso depende de
la viscosidad de la tinta (dependiente de la temperatura y de las
características de la tinta), y de la cantidad de potencia
disponible respecto a la cabeza de impresión. Véase la Sección 2.3
para los detalles sobre los informes desde la cabeza de impresión a
efectos de compensación del cambio de temperatura.
Las líneas AEnable y BEnable son líneas
separadas con el fin de que los pulsos de disparo puedan solaparse.
De ese modo, las 200 fases de un Ciclo de Impresión de baja
velocidad consisten en 100 fases A y 100 fases B, que proporcionan
de forma efectiva 100 conjuntos de Fase A y de Fase B. De igual
modo, las 100 fases de un ciclo de impresión de alta velocidad
consisten en 50 fases A y 50 fases B, que proporcionan de manera
efectiva 50 fases de la fase A y de la fase B.
La Figura 12 muestra las líneas AEnable y
BEnable durante un Ciclo de Impresión típico. En una impresión de
alta velocidad, existen 50 ciclos de 2 \mus, mientras que en una
impresión de baja velocidad existen 100 ciclos de
2 \mus.
2 \mus.
Para el modo de impresión de alta velocidad, el
orden de disparo es:
- \bullet
- ChromapodSelect 0, NozzleSelect 0, PodgroupEnable 11 (Fases A y B)
- \bullet
- ChromapodSelect 1, NozzleSelect 0, PodgroupEnable 11 (Fases A y B)
- \bullet
- ChromapodSelect 2, NozzleSelect 0, PodgroupEnable 11 (Fases A y B)
- \bullet
- ChromapodSelect 3, NozzleSelect 0, PodgroupEnable 11 (Fases A y B)
- \bullet
- ChromapodSelect 4, NozzleSelect 0 PodgroupEnable 11 (Fases A y B)
- \bullet
- ChromapodSelect 0, NozzleSelect 1, PodgroupEnable 11 (Fases A y B)
- \bullet
- ......
- \bullet
- ChromapodSelect 3, NozzleSelect 9, PodgroupEnable 11 (Fases A y B)
- \bullet
- ChromapodSelect 4, NozzleSelect 9, PodgroupEnable 11 (Fases A y B)
Para el modo de impresión de baja velocidad, la
orden de disparo es similar. Para cada fase del modo de alta
velocidad, en la que PodgroupEnable era 11, se sustituyen dos fases
de PodgroupEnable = 01 y 10, como sigue:
- \bullet
- ChromapodSelect 0, NozzleSelect 0, PodgroupEnable 01 (Fases A y B)
- \bullet
- ChromapodSelect 0, NozzleSelect 0, PodgroupEnable 10 (Fases A y B)
- \bullet
- ChromapodSelect 1, NozzleSelect 0, PodgroupEnable 01 (Fases A y B)
- \bullet
- ChromapodSelect 1, NozzleSelect 0, PodgroupEnable 10 (Fases A y B)
- \bullet
- ......
- \bullet
- ChromapodSelect 3, NozzleSelect 9, PodgroupEnable 01 (Fases A y B)
- \bullet
- ChromapodSelect 3, NozzleSelect 9, PodgroupEnable 10 (Fases A y B)
- \bullet
- ChromapodSelect 4, NozzleSelect 9, PodgroupEnable 01 (Fases A y B)
- \bullet
- ChromapodSelect 4, NozzleSelect 9, PodgroupEnable 10 (Fases A y B)
Cuando se dispara una boquilla 22, tarda
aproximadamente 100 \mus en rellenarse. La boquilla 22 no puede
ser disparada antes de que haya transcurrido este tiempo de
rellenado. Esto limita la velocidad de impresión más rápida a 100
\mus por línea. En el modo de impresión de alta velocidad, el
tiempo para imprimir una línea es de 100 \mus, de modo que el
tiempo entre el disparo de una boquilla de una línea a la siguiente
se equipara al tiempo de rellenado, lo que hace que el modo de
impresión de alta velocidad sea aceptable. El modo de impresión de
baja velocidad es más lento que éste, de modo que también es
aceptable.
El disparo de una boquilla 22 causa también
perturbaciones acústicas durante un tiempo limitado en el interior
de un depósito común de tinta del pod 23 de la boquilla. Las
perturbaciones pueden interferir con el disparo de otra boquilla
dentro del mismo pod 23. En consecuencia, el disparo de boquillas
dentro de un pod deberá separarse una de otra tanto como sea
posible. Por lo tanto, se disparan tres boquillas de un
croma-pod 24 (una boquilla 22 por color) y a
continuación se mueven hacia el siguiente croma-pod
24 dentro del grupo-pod 25.
- \bullet
- En el modo de impresión de baja velocidad, los grupo-pods se disparan por separado. Así, los 5 croma-pods interiores a ambos grupo-pods deben dispararse todos antes de que el primer croma-pod se dispare de nuevo, totalizando ciclos de 10 x 2 \mus. En consecuencia, cada pod 23 se dispara una vez por cada 20 \mus.
- \bullet
- En el modo de impresión de alta velocidad, los grupo-pods 25 se disparan conjuntamente. De ese modo, los 5 croma-pods 24 interiores a un grupo-pod simple deben dispararse todos antes de que el primer croma-pod se dispare de nuevo, totalizando ciclos de 5 x 2 \mus. En consecuencia, cada pod 23 se dispara una vez cada 10 \mus.
Como el canal de tinta tiene 300 \mum de largo
y la velocidad del sonido en la tinta es de alrededor de 1500 m/s,
la frecuencia de resonancia del canal de tinta es de 2,5 MHz, con lo
que el modo de baja velocidad permite 50 ciclos de resonancia para
amortiguar el pulso acústico, y el modo de alta velocidad permite 25
ciclos de resonancia. Así, cualquier interferencia acústica es
mínima en ambos casos.
Como ejemplo, considérese el tiempo de impresión
de una foto de 10 x 15 cm (4'' x 6'') en 2 segundos, como se
requiere por parte de la Printcam. Con el fin de imprimir una foto
en 2 segundos, la cabeza de impresión de 10 cm (4 pulgadas) debe
imprimir 9.600 líneas (6 x 1.600). El redondeo a 10.000 líneas en 2
segundos produce un tiempo de línea de 200 \mus. Un Ciclo de
Impresión simple y un Ciclo de Carga único deben acabar, ambos,
dentro de este tiempo. Adicionalmente, el proceso físico externo a
la cabeza de impresión debe mover el papel una cantidad
apropiada.
Desde el punto de vista de la impresión, el modo
de impresión de baja velocidad permite que una cabeza de impresión
de 10 cm (4 pulgadas) imprima una línea completa en 200 \mus. En
el modo de impresión de baja velocidad, se disparan 96 boquillas 22
por pulso de disparo, habilitando con ello la impresión de la línea
completa dentro del tiempo especificado.
Los 800 pulsos SRClock para la cabeza de
impresión 2 (cada pulso de reloj transfiere 24 bits), deben tener
también lugar dentro del tiempo de línea de 200 \mus. La longitud
de un pulso SRClock no puede exceder de 200 \mus/800 = 250 ns, lo
que indica que la cabeza de impresión debe estar controlada a 4 MHz.
Adicionalmente, el tiempo medio para calcular cada valor de bit
(para cada una de las 19.200 boquillas) no debe exceder de 200
\mus/19.200 = 10 ns. Esto requiere un generador de pulso que corra
a una de las siguientes velocidades:
- \bullet
- 100 MHz generando 1 bit (punto) por ciclo
- \bullet
- 50 MHz generando 2 bits (puntos) por ciclo
- \bullet
- 25 MHz generando 4 bits (puntos) por ciclo.
\vskip1.000000\baselineskip
La cabeza de impresión 2 produce varias líneas
de información (acumulada desde los 8 segmentos). Las líneas de
información se utilizan para ajustar el tiempo de los pulsos de
disparo. Aunque cada segmento 21 produce la misma información, los
informes procedentes de todos los segmentos comparten las mismas
líneas tri-estado de bus. En consecuencia,
solamente un segmento 21 puede proporcionar información en cada
momento.
Un pulso por la línea SenseSegSelect compuesto
con datos sobre Cyan, habilita las líneas de detección para ese
segmento. Las líneas de detección de información procederán del
segmento seleccionado hasta el siguiente pulso SenseSegSelect. Las
líneas de detección de información son como sigue:
- \bullet
- Tsense informa al controlador de cómo está de caliente la cabeza de impresión. Esto permite al controlador ajustar el tiempo de disparo de los pulsos, puesto que la temperatura afecta a la viscosidad de la tinta.
- \bullet
- Vsense informa al controlador sobre cuánta tensión se encuentra disponible para el actuador. Esto permite al controlador compensar una batería de respuesta plana o una fuente de alta tensión ajustando la anchura de pulso.
- \bullet
- Rsense informa al controlador sobre la resistividad (ohmios por cuadro) del calentador del actuador. Esto permite al controlador ajustar los anchos de pulso para mantener una energía constante con independencia de la resistividad del calentador.
- \bullet
- Wsense informa al controlador de la anchura de la parte crítica del calentador, la cual puede variar hasta un \pm5% debido a las variaciones litográficas y de grabado químico. Esto permite al controlador ajustar la anchura de pulso de forma apropiada.
El proceso de impresión tiene una fuerte
tendencia a mantenerse a la temperatura de equilibrio. Para asegurar
que la primera sección de la fotografía impresa tiene un tamaño de
punto uniforme, la temperatura de equilibrio debe alcanzar, con
anterioridad a la impresión, a todos los puntos. Esto se consigue
por medio de un ciclo de precalentamiento.
El ciclo de Precalentamiento incluye un Ciclo de
Carga para todas las boquillas con 1s (es decir, disponiendo todas
las boquillas para disparar), y un número de pulsos cortos de
disparo para cada boquilla. La duración del pulso debe ser
insuficiente para disparar las gotas, pero suficiente para calentar
la tinta. En total, se requieren aproximadamente 200 pulsos para
cada boquilla, realizando ciclos mediante la misma secuencia que un
Ciclo de Impresión
estándar.
estándar.
La información durante el modo de
Precalentamiento, viene proporcionada por Tsense, y continúa hasta
que se alcanza una temperatura de equilibrio (alrededor de 30ºC por
encima del ambiente). La duración del modo Precalentamiento es de
alrededor de 50 milisegundos, y depende de la composición de la
tinta.
El precalentamiento se realiza antes de cada
trabajo de impresión. Éste no afecta al rendimiento de la impresora,
puesto que se lleva a cabo mientras se están transfiriendo los
datos a la impresora.
Con el fin de reducir las posibilidades de que
las boquillas resulten obstruidas, se puede realizar un ciclo de
limpieza con anterioridad a cada trabajo de impresión. Cada boquilla
se dispara un número de veces hacia una esponja absorbente.
El ciclo de limpieza incluye un sólo Ciclo de
Carga para todas las boquillas con 1s (es decir, disponiendo todas
las boquillas para disparar), y un número de pulsos de disparo para
cada boquilla. Las boquillas son limpiadas por medio de la misma
secuencia de disparo de boquilla como en un Ciclo de Impresión
estándar. El número de veces que cada boquilla se dispara, depende
de la composición de la tinta y del tiempo que la impresora ha
estado en vacío, de modo que al igual que con el precalentamiento,
el ciclo de limpieza no tiene ningún efecto sobre el comportamiento
de la impresora.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Tabla pasa a página
siguiente)
\newpage
Una cabeza de impresión 2 de 10 cm (4 pulgadas)
tiene las siguientes conexiones:
\vskip1.000000\baselineskip
\newpage
En el interior de la cabeza de impresión de 10
cm (4 pulgadas), cada segmento tiene las conexiones que siguen con
los adaptadores de enlace:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Las secciones anteriores tienen relación
solamente con el compendio de la funcionalidad PCP que es de nivel
más alto que la del mapeo de imágenes CFA respecto a una diversidad
de formatos de salida de impresión. De hecho, existe un número de
etapas involucradas en la toma de una imagen desde el sensor de
imagen, y en la producción de una impresión de salida de alta
calidad. Nosotros hemos fraccionado el proceso de alto nivel en dos
cadenas de procesamiento de imagen, cada una de ellas con un número
de etapas:
- \bullet
- Cadena de Captura de Imagen
- \bullet
- Cadena de Impresión.
La Cadena de Captura de Imagen se refiere a la
captura de la imagen desde el Sensor de Imagen, y a su
almacenamiento localmente en el interior de la Printcam. La Cadena
de Impresión está relacionada con la toma de la imagen almacenada
para la impresión de la misma. Estas dos cadenas mapean sobre la
funcionalidad de la Printcam básica como sigue:
- \bullet
- Take&Print = Cadena de Captura de Imagen seguida de la Cadena de Impresión
- \bullet
- Reprint = Cadena de Impresión.
Por ejemplo, un usuario puede imprimir una
imagen Thumbnail (Take&Print), y si está contento con los
resultados, imprimir varias copias estándar (Reprint).
El capítulo describe una implementación de la
cadena de procesamiento de imagen independiente que cumple con los
requisitos de calidad de la Printcam. En esta fase, no estamos
considerando exactamente cómo se realiza el procesamiento en
términos de hardware sino, por el contrario, qué se debe hacer.
Estas funciones deben ser mapeadas sobre varias unidades dentro del
PCP.
Con independencia de la implementación del PCP,
existe un número de limitaciones:
- \bullet
- La imagen de entrada es una imagen RGB contone basada en CFA.
- \bullet
- La imagen de salida es para una cabeza de impresión Memjet (puntos bi-nivel a 1.600 dpi) en un espacio de color CMY, y siempre tiene la misma anchura de salida (10 cm de ancho (4 pulgadas)).
El PCP 3 soporta una diversidad de formatos de
salida de impresión, como se muestra en la Tabla 6. En todos los
casos, la anchura de la imagen es de 10 cm (4 pulgadas) (equiparable
a la anchura de la cabeza de impresión). Solamente varía la
longitud de la impresión.
El sensor de imagen no proporciona información
de la orientación. Todas las imágenes de entrada son capturadas a
la misma resolución (1.500 x 1.000), y pueden necesitar ser giradas
90 grados con anterioridad a ser imprimidas. La Figura 13 ilustra
el mapeo entre la imagen CFA capturada y los diversos formatos de
impresión soportados. Obsérvese que aunque la imagen se muestra
girada 90 grados en sentido anti-horario, la imagen
puede ser girada a favor o en contra de las agujas del reloj.
La Cadena de Captura de Imagen es responsable de
la toma de una imagen desde el Sensor de Imagen, y de almacenarla
localmente en el interior de la Printcam. La Cadena de Captura de
Imagen incluye un número de procesos que solamente necesitan ser
llevados a cabo durante la captura de la imagen. La Cadena de
Captura de Imagen ha sido ilustrada en la Figura 14, con secciones
consiguientes que detallan los sub-componentes.
La imagen de entrada proviene de un sensor de
imagen 1. Aunque se encuentran disponibles una diversidad de
sensores, solamente hemos considerado el conjunto de filtro de color
(CFA) Bayer. El CFA Bayer posee un número de atributos que aquí se
definen.
La imagen capturada por el sensor 1 CMOS (a
través de una lente de captación), se supone que ha sido
suficientemente filtrada con el fin de eliminar cualquier partícula
de solapamiento. El propio sensor dispone de una relación de
aspecto de 3:2, con una resolución de 1.500 x 1.000 muestras. La
disposición más probable de pixel es el conjunto de filtro de color
(CFA) Bayer, con cada bloque de 2 x 2 píxeles dispuesto en un
mosaico 2G según se muestra en la Figura 15.
Cada muestra contone de R, G o B
(correspondiente a rojo, verde o azul, respectivamente), es de 10
bits. Obsérvese que cada píxel del mosaico contiene información
acerca de solamente uno de los R, G o B. Las estimaciones sobre la
falta de información de color deben hacerse antes de que la imagen
pueda ser imprimida.
Se considera que el CFA realiza una supresión
adecuada de ruido de configuración fija (FPN).
- \bullet
- El sensor 40 de imagen es improbable que tenga una respuesta completamente lineal. Por lo tanto, las muestras RGB de 10 bits procedentes del CFA deben ser consideradas como no lineales. Estas muestras no lineales son traducidas a muestras lineales de 8 bits por medio de tablas de búsqueda (una tabla por color).
Los píxeles procedentes de las líneas CFA 0, 2,
4 etc, se indexan en las tablas de R y G, mientras que los píxeles
procedentes de las líneas CFA 1, 3, 5, etc, se indexan en las tablas
de G y B. Esto es completamente independiente de la orientación de
la cámara. El proceso se muestra en la Figura 16. La cantidad total
de memoria requerida para cada tabla de búsqueda es de 2^{10} x 8
bits. Las 3 tablas de búsqueda 45 requieren por lo tanto un total
de 3 Kbytes (3 x 2^{10} bytes).
Los píxeles obtenidos desde el CFA tienen sus
planos de color intercalados debido a la naturaleza del mosaico
Bayer de píxeles. Con esto queremos decir que sobre líneas
horizontales uniformes, un pixel rojo va seguido de un pixel verde
y a continuación por otro pixel rojo (los diferentes planos de color
están intercalados cada uno con los otros). En algunos sistemas de
procesamiento de imágenes, un formato intercalado resulta altamente
útil. Sin embargo, en el sistema de procesamiento Printcam, los
algoritmos son más eficaces si se trabaja sobre RGB planar.
Una imagen planarizada consiste en una que ha
sido separada en sus colores integrantes. En el caso de la imagen
RGB de CFA, existen 3 imágenes separadas: una imagen que contiene
solamente los píxeles rojos, una imagen que contiene solamente los
píxeles azules, y una imagen que contiene solamente los píxeles
verdes. Obsérvese que cada plano representa solamente los píxeles
de ese color que fueron realmente muestreados. No se realiza
ningún remuestreo durante el proceso de planarización. Como
resultado, los planos R, G y B son planos no registrados cada uno
con los otros, y el plano G es dos veces más grande que cualquiera
de los planos R o B. El proceso se muestra en la
Figura 17.
Figura 17.
El proceso real es muy simple; dependiendo del
color de los píxeles leídos, los píxeles de salida son enviados a
la siguiente posición en la imagen del plano de color apropiado (por
lo tanto, con la misma orientación que el CFA).
Las imágenes planares roja 45 y azul 47, son
exactamente la cuarta parte del tamaño de la imagen CFA original.
Éstas son exactamente de la mitad de resolución en cada dimensión.
Las imágenes roja y azul son por lo tanto de
750 x 500 píxeles cada una, con una imagen roja implícitamente desviada de la imagen azul por un píxel en el espacio CFA (1.500 x 1.000) en ambas dimensiones x e y.
750 x 500 píxeles cada una, con una imagen roja implícitamente desviada de la imagen azul por un píxel en el espacio CFA (1.500 x 1.000) en ambas dimensiones x e y.
Aunque la imagen 45 planar verde es de la mitad
de tamaño que la imagen CFA original, no se establece directamente
como los planos rojo o azul. La razón se debe a la extensión en
forma de tablero de ajedrez del verde. En una línea, el verde es
cada píxel impar, y en la siguiente línea, el verde es cada píxel
par. Estas líneas alternas del plano verde representan píxeles
impares y pares dentro de la imagen CFA. De ese modo, la imagen
planar verde es de 750 x 1.000 píxeles. Ésta tiene ramificaciones
para el proceso de remuestreo (véase "Remuestreo en 64" más
adelante).
Cada plano de color de la imagen RGB linealizada
se escribe en la memoria para su almacenamiento temporal. La
memoria deberá ser Flash 11 de modo que la imagen se mantiene
después de que se ha interrumpido la alimentación.
La cantidad total de memoria requerida para la
imagen RGB lineal planarizada, es de 1.500.000 bytes
(aproximadamente 1,5 MB), organizada como sigue:
- \bullet
- R: 750 x 500 = 375.000 bytes
- \bullet
- B: 750 x 500 = 375.000 bytes
- \bullet
- G: 750 x 1.000 = 750.000 bytes.
La Cadena de Impresión se refiere a tomar una
imagen ya existente desde la memoria 42, e imprimirla en una
impresora 2 Memjet. Una imagen se imprime típicamente tan pronto
como ha sido capturada, aunque puede ser reimprimida (es decir, sin
recaptura).
Existe un número de etapas que son requeridas en
la cadena de procesamiento de imagen con el fin de producir
impresiones de alta calidad a partir de imágenes capturadas CFA. La
Figura 18 ilustra la Cadena de Impresión. La cadena se divide en 3
soluciones de trabajo. La primera es el espacio 50 de captura de
imagen original (el mismo espacio que el CFA), la segunda es la
resolución 51 intermedia (líneas de 1.280 píxeles de tono
continuo), y la resolución final es la resolución 52 de impresora,
con líneas de 6.400 puntos bi-nivel.
La imagen de entrada es una imagen RGB 42
linealizada almacenada en forma planar, según se almacena mediante
la Cadena de Captura que se ha descrito en la Sección 3.1.4.
Un número de estadísticas relacionadas con la
imagen completa necesitan ser acumuladas con anterioridad a que se
puedan realizar procesos tales como el balance del blanco y la
expansión de rango. Estas estadísticas necesitan solamente ser
acumuladas una vez para todas las impresiones de una imagen 42
capturada particular, y pueden ser acumuladas por separado las
imágenes planares del rojo, del verde y del azul.
La primera etapa consiste en construir un
histograma para cada valor de 8 bits del plano de color. Cada imagen
CFA de 1.500 x 1.000 contiene un total de:
- \bullet
- 375.000 píxeles rojo (contador mínimo requerido de 19 bits)
- \bullet
- 375.000 píxeles azul (contador mínimo requerido de 19 bits)
- \bullet
- 750.000 píxeles verde (contador mínimo requerido de 20 bits).
Por lo tanto, se requiere una simple tabla de
256 x 20 bits para mantener el histograma.
El procedimiento de construcción del histograma
es directo, según se ilustra mediante el siguiente
seudo-código:
\vskip1.000000\baselineskip
Una vez que el histograma ha sido construido
para el plano de color, puede ser utilizado para determinar un
umbral alto y uno bajo. Estos umbrales pueden ser utilizados para
automatizar después el balance del blanco y la expansión de rango
durante el proceso de impresión.
Basando los umbrales en el número de píxeles del
histograma, consideramos que el n% de píxeles más oscuros son
expansibles y por lo tanto iguales. De la misma manera, consideramos
que el n% de píxeles más brillantes son expansibles y por lo tanto
iguales. Se espera que el valor exacto de "n" sea de alrededor
del 5%, pero dependerá de las características de respuesta de
CFA.
El proceso de determinación del n% de valores
más oscuros es directo. Éste incluye un escalonamiento a través del
histograma del plano de color a partir del conteo para 0 ascendente
(es decir, 0, 1, 2, 3, etc) hasta que se alcance el n% total o nos
hayamos desplazado más de una cantidad establecida desde 0. El más
alto de estos valores se considera que es el umbral bajo del plano
de color. Aunque exista alguna diferencia entre estos valores más
oscuros, la diferencia puede ser considerada desechable a los
efectos de expansión de rango y balanceo de color.
El proceso de determinación del n% de valores
más brillantes, es similar. Éste incluye un escalonamiento a través
del histograma del plano de color a partir del conteo para 255
descendente (es decir, 255, 254, 253, etc) hasta que se alcance el
n% total o hasta que nos hayamos desplazado más de una cantidad
establecida desde 255. El más bajo de estos valores se considera
el umbral alto del plano de color. Aunque exista alguna diferencia
entre estos valores más brillantes, la diferencia puede ser
descartada a los efectos de expansión de rango y de balanceo de
color.
La razón para la detención después de una
distancia establecida desde 0 o desde 255, consiste en compensar
dos tipos de imágenes:
- \bullet
- donde el rango dinámico original sea bajo, o
- \bullet
- donde no exista blanco o negro en la imagen.
En estos dos casos, no deseamos considerar que
la totalidad del n% de valores superiores e inferiores sea
desechable puesto que tenemos un rango bajo por el que empezar.
Podemos establecer de manera segura que los umbrales alto 73 y bajo
72 están fuera del rango de valores de píxeles realmente
muestreados. La distancia exacta dependerá del CFA, pero consistirá
en dos constantes.
Un rango de color de muestra para un plano de
color ha sido mostrado en la Figura 19. Obsérvese que aunque es
posible el rango completo de 0-255 para píxeles del
plano de color de imagen, esta imagen particular tiene un rango más
pequeño. Obsérvese también que el mismo n% de rango 70, 71 de
histograma está representado por un rango más grande en el extremo
70 bajo que en el extremo 71 alto. Esto se debe a que el histograma
debe contener más píxeles con valores altos más cercanos entre sí
que si se compara con el extremo bajo.
Los umbrales alto 73 y bajo 72 deben ser
determinados para cada plano de color individualmente. Esta
información podrá ser usada para calcular la escala de rango y los
factores de desviación que han de ser usados en el proceso
posterior de balance del blanco y de expansión de rango.
El siguiente seudo-código
ilustra el proceso de determinación de cualquiera de los dos
umbrales (para encontrar el umbral bajo, StartPosition = 255, y
Delta = 1. Para encontrar el umbral alto, StartPosition = 0 y Delta
= -1). El seudo-código supone que Umbral es un valor
de 8 bits que se reinicia cíclicamente durante la adición
\vskip1.000000\baselineskip
La rotación de la imagen 61 es una etapa
opcional en ambos procesos de Captura e Impresión y de
Reimpresión.
Diferentes formatos de impresión requieren que
la imagen sea girada ya sea 0 o ya sea 90 grados con relación a la
orientación CAF, según se muestra en la Figura 13. La cantidad de
rotación depende del formato de impresión actualmente seleccionado.
Aunque la dirección de rotación no es importante (puede ser a favor
de las agujas del reloj o en contra de las agujas del reloj puesto
que la nueva orientación solamente se destina a facilitar la
anchura de la cabeza de impresión), la dirección de rotación
afectará al registro relativo de los 3 planos de color. La Tabla 7
resume la rotación requerida para cada formato de impresión a partir
de la orientación CFA original.
\vskip1.000000\baselineskip
Puesto que estamos girando solamente 90 grados,
no se pierde ninguna información durante el proceso de rotación.
Para una rotación de 0, la imagen puede ser leída por filas, y para
una rotación de 90, la imagen puede ser leída columna por columna.
El registro de 3 planos de color debe tener en cuenta la dirección
de rotación.
Una fotografía se toma pocas veces en
condiciones ideales de iluminación. Incluso la noción de
"condiciones de iluminación perfectas" está cargada de
subjetividad, tanto en términos del fotógrafo como del objeto. Sin
embargo, en todos los casos, el objeto de la fotografía se ilumina
con luz, ya sea desde una fuente de luz (tal como el sol o una
iluminación interior), o ya sea con su propia luz (tal como un
rótulo de neón).
En la mayor parte de las condiciones de
iluminación, puede parecer al fotógrafo como que es luz
"blanca", lo que habitualmente está lejos de ser luz blanca.
La iluminación interior, por ejemplo, típicamente tiene un tono
amarillo, y este tono amarillo dará lugar a una fotografía
incorrecta. Para la mayor parte de la gente, el tono amarillo sobre
la fotografía incorrecta final es erróneo. Aunque puede complementar
las condiciones de visión en el momento en que se tomó la
fotografía, no iguala el color percibido del objeto. Resulta por
tanto crucial realizar un balance del blanco sobre una fotografía
con anterioridad a imprimirla.
De la misma manera, una imagen puede ser
percibida como de una calidad más alta cuando el rango dinámico de
los colores se expande para equipararse con el rango completo en
cada plano de color. Esto es particularmente útil de realizar antes
de que una imagen sea remuestreada para una resolución más alta. Si
el rango dinámico es más alto, se pueden utilizar los valores
intermedios en las posiciones interpoladas de los píxeles, evitando
una imagen escalonada o fraccionada. La expansión de rango está
diseñada para proporcionar el rango de valor 256 completo a
aquellos valores realmente muestreados. En el mejor caso, el valor
más bajo se mapea a 0, y el valor más alto se mapea a 255. Todos
los valores intermedios son mapeados a valores proporcionalmente
intermedios entre 0 y 255.
Matemáticamente, la operación realizada consiste
en una traslación de Umbral Bajo 72 hasta 0, seguido de un
escalado. La fórmula se muestra a continuación:
\vskip1.000000\baselineskip
RangeScaleFactor deberá estar limitado a un
valor máximo para reducir el riesgo de expansión del rango demasiado
lejos. Para los detalles sobre el cálculo de LowThreshold 72, véase
la Sección 3.2.2 "Estadísticas Acumuladas". Estos valores
(LowThreshold y RangeScaleFactor) serán diferentes para cada plano
de color, y solamente necesitan ser calculados una vez por
imagen.
Ambas tareas pueden ser emprendidas
simultáneamente, como se muestra en la Figura 20.
Puesto que esta etapa incluye un proceso
escalar, podemos dejar alguna componente fraccional en el valor
mapeado, por ejemplo el valor 12 puede mapearse hasta 5,25. En vez
de desechar la componente fraccional, pasamos a un resultado de 10
bits (8 bits de número entero, 2 de fracción) en la siguiente fase
de la cadena de procesamiento de imagen. No podemos proporcionar
una memoria para almacenar la imagen completa a más de 8 bits, pero
podemos hacer un buen uso de la resolución más alta en la fase de
remuestreo. Por consiguiente, la imagen de entrada es de 8 bits, y
la imagen de salida tiene 10 bits por componente de color. El
proceso lógico se muestra en la
Figura 21.
Figura 21.
Es importante tener un límite inferior de 0
durante la substracción de modo que todos los valores por debajo de
LowThreshold 72 serán mapeados hasta 0. De igual modo, la
multiplicación debe tener un techo de 255 para la porción entera
del resultado, de modo que los valores más altos que HighThreshold
73 serán mapeados hasta 255.
El CFA proporciona solamente un componente de
color simple por coordenada (x, y) de píxel. Para producir la
imagen impresa final, necesitamos tener los otros valores de
componente de color en cada píxel. Finalmente, necesitamos los
componentes de color cyan, magenta y amarillo en cada píxel, pero
para llegar al cyan, magenta y amarillo necesitamos el rojo, el
verde y el azul. Con nuestro
un-color-por-píxel,
tenemos el componente rojo para una posición particular, pero
necesitamos estimar el azul y el verde. O podemos tener el verde y
necesitamos estimar el rojo y el azul.
Incluso aunque tuviéramos los componentes de
color rojo, verde y azul completos para cada píxel de resolución
CFA, la imagen de resolución CFA no es la resolución final de
salida. Adicionalmente, aunque el formato de salida varíe, la
anchura física de la imagen impresa es constante (10 cm (4 pulgadas)
a 1.600 dpi). La anchura constante de la cabeza de impresión es por
lo tanto de 6.400 puntos.
Existen dos casos extremos que se deben
considerar:
- -
- Interpolar a resolución CFA (interpolación mínima), y después realizar intensificación, conversión de color. Finalmente, extrapolación hasta la resolución de impresión. Esto tiene la ventaja de una función de intensificación constante y de una conversión de color a baja resolución. Sin embargo, tiene la desventaja de requerir que se almacenen más de 8 bits por componente de color para que los valores de imagen interpolada o intermedia sean interpolados incorrectamente durante la extrapolación final hasta la resolución de impresión. También tiene la desventaja de requerir una unidad de extrapolación que sea capaz de producir 1 valor impresión-res interpolado por ciclo.
- -
- Interpolar a resolución de impresión, realizando a continuación intensificación y conversión de color. Esto tiene la ventaja de un sólo proceso de remuestreo, proporcionando una máxima precisión. Sin embargo, tiene la desventaja de requerir una unidad de extrapolación que sea capaz de producir 1 valor bi-cúbico interpolado por ciclo, así como también realizar intensificación y conversión de color, todo ello sobre un promedio de un sólo ciclo. La función de intensificación debe ser suficientemente grande para aplicar la función CAFA-res a la imagen de alta-res. Peor aún, para la intensificación, deben mantenerse al menos 3 ventanas sobre la imagen de salida (conteniendo cada una de ellas un número de 6.400 líneas de entrada) puesto que en un ciclo único de impresión, los puntos cyan, magenta y amarillo representan puntos de 6 líneas diferentes.
En ninguno de estos casos se ha tenido en cuenta
el hecho de que la salida final de impresión es
bi-nivel en vez de contone. En consecuencia,
podemos imprimir una imprimación media con relación al remuestreo, y
conseguir lo mejor de ambos métodos.
La solución consiste en interpolar a una
resolución intermedia. La intensificación y la conversión de color
ocurren a la resolución intermedia, seguido de una extrapolación
hasta la resolución de impresión. La resolución intermedia debe ser
suficientemente baja como para permitir las ventajas de la
contemporización de la función de intensificación de pequeño tamaño
y de la conversión de color. Pero la resolución intermedia debe ser
suficientemente alta para que no exista pérdida de extrapolación de
calidad a la imagen bi-nivel de resolución de
impresión. El efecto debe ser la misma que si existiera una
interpolación simple a la resolución de impresión (en vez de
dos).
Puesto que la imagen de impresión se imprime
como 1.600 puntos dpi bi-nivel vibrados, ésta puede
ser representada mediante una imagen contone de 320 dpi. En
consecuencia, una resolución intermedia de 1.280 píxeles contone
proporciona una pérdida no percibida de calidad sobre 6.400 puntos
bi-nivel. El último incremento de 1.280 a 6.400 es
por lo tanto una relación de extrapolación exacta de 1:5.
Para decidir cómo realizar mejor el remuestreo,
es mejor considerar cada plano de color en relación con la
resolución CFA. Esto se ha representado en la Figura 22 para un
rotacional de 0.
\newpage
Mirando a los planos rojo 45 y azul 47, la
versión completa de resolución CFA del plano de color puede ser
creada mediante un escalado del número de píxeles muestreados en
cada dimensión por 2. Los píxeles intermedios pueden ser generados
mediante un filtro de reconstrucción (tal como un filtro Lanczos o
Exponencial). Solamente se requiere una dimensión en la función,
puesto que la función es simétrica. Puesto que el rojo y el azul
tienen diferentes desviaciones en términos de su representación
inicial dentro del espacio de muestra CFA, las posiciones iniciales
en la función serán diferentes.
El mapeo de las coordenadas de salida (en el
espacio de 1.280) respecto a las coordenadas de entrada, depende de
la rotación actual de la imagen, debido al registro de los cambios
de los píxeles con la rotación (ya sea 0 o ya sea 90 grados
dependiendo del formato de impresión). Para el rojo y el azul, se
mantiene entonces la siguiente relación:
donde:
x, y = coordenadas en el espacio res medio
x', y' = coordenadas en el espacio de
entrada
mps = píxeles de res medio en la muestra
espacial
k_{1, \ 2} = {0, -0,5} dependiendo de la
rotación.
Esto significa que, dada una posición de partida
en el espacio de entrada, podemos generar una nueva línea de
píxeles de resolución media añadiendo un \Deltax y un \Deltay de
1/mps y 0, respectivamente, 1.279 veces. La parte fraccional de x e
y en el espacio de entrada, puede ser utilizada directamente para la
búsqueda de los coeficientes de función para la construcción y el
remuestreo de la imagen.
Obsérvese que k_{1} y k_{2} son 0 y -0,5,
dependiendo de si la imagen ha sido girada en 0 o en 90 grados. La
Tabla 8 muestra los valores para k_{1} y k_{2} en los planos del
rojo y del azul, suponiendo que la rotación de 90 grados sea
anti-horaria.
\vskip1.000000\baselineskip
El número de píxeles de resolución media por
muestra, mps, depende del formato de impresión. Dado que la imagen
RGB planarizada tiene las siguientes resoluciones planares roja y
azul cuando no está girada: R: 750 x 500, B: 750 x 500, los
factores escalares para los diferentes formatos de salida (Figura
13) se muestran en la Tabla 9. Obsérvese que con el formato de
imagen Passport, la imagen completa se remuestrea en ¼ del espacio
de salida.
\vskip1.000000\baselineskip
Según puede apreciarse en la Tabla 9, las
imágenes roja y azul están aumentadas para todos los formatos de
imagen. En consecuencia, no existirán partículas de solapamiento
introducidas por el proceso de remuestreo.
El plano 46 verde no puede ser aumentado
simplemente de la misma manera que el rojo o el azul, puesto que
cada línea del plano verde representa diferentes píxeles, ya sea
píxeles impares o ya sean pares sobre líneas alternas. Aunque en
términos de número de píxeles sea representativo decir que la imagen
verde es de 750 x 1.000, se podría decir igualmente que la imagen
es de 1.500 x 500. Esta confusión se debe a la naturaleza de
tablero de ajedrez de los píxeles verdes, donde la distancia entre
píxeles no es igual en las dimensiones x e y, y no mapean bien
respecto a la reconstrucción o remuestreo de imagen. El número de
métodos de interpolación utilizados por otros sistemas para la
reconstrucción del plano verde, constituye un testimonio respecto a
todo esto (desde la replicación próxima más cercana a la
interpolación lineal hasta la interpolación
bi-lineal y la reconstrucción heurística).
El mapeo de coordenadas de salida (en el espacio
de 1.280) respecto a las coordenadas de entrada, es conceptualmente
el mismo para el verde que para el rojo y el azul. El mapeo depende
de la rotación actual de la imagen., debido al registro de los
cambios de los píxeles con la rotación (ya sea 0 o ya sea 90 grados
dependiendo del formato de impresión). Para el plano verde se
mantiene la siguiente relación:
\vskip1.000000\baselineskip
donde:
x, y = coordenadas en el espacio res medio
x', y' = coordenadas en el espacio de
entrada
mps = píxeles de res medio en la muestra
espacial
k_{1, \ 2} = {0, -0,5} dependiendo de la
rotación
Al igual que con los planos rojo 45 y azul 47,
el número de píxeles de resolución media por muestra, mps, depende
del formato de impresión. Dado que la imagen RGB planarizada tiene
las siguientes resoluciones planares cuando no está girada: R: 750
x 500; B: 750 x 500, G: 750 x 1.000, los factores de incremento para
los diferentes formatos de salida (véase la Figura 13) se muestran
en la Tabla 10. Obsérvese que con el formato de imagen Passport, la
imagen completa se remuestrea en ¼ del espacio de salida.
\vskip1.000000\baselineskip
Estos factores permiten el mapeo de coordenadas
entre el espacio de entrada de resolución CCFA y el espacio de
resolución media. Sin embargo, una vez que tenemos una coordenada en
el espacio de entrada de resolución CFA, no podemos realizar la
reconstrucción y el remuestreo de la imagen sobre las muestras de la
misma forma que en el rojo y el azul debido a la naturaleza de
tablero de ajedrez del plano 46 verde.
Al contrario, a los efectos de reconstrucción de
remuestreo de imagen de alta calidad, podemos considerar que el
canal verde es una imagen girada en 45 grados. Cuando observamos los
píxeles de esta manera, como muestra la Figura 23, aparecen
claramente los métodos de reconstrucción y de remuestreo de imagen
de alta calidad.
Observando la Figura 23, la distancia entre los
píxeles muestreados en las direcciones X e Y es ahora la
misma. La distancia real entre los píxeles muestreados es
\sqrt{2}, según se ilustra en la Figura 24.
La solución para el canal del verde consiste
entonces en realizar una reconstrucción y un remuestreo de imagen
en el espacio girado. Aunque se utiliza el mismo filtro de
reconstrucción que para remuestrear el rojo y el azul, la función
deberá ser diferente. Esto se debe a que la relación entre la
velocidad de muestreo para el verde y la frecuencia más alta de la
señal, es diferente de la relación para los planos rojo y azul.
Además, la función deberá ser normalizada de modo que \sqrt{2}
de la distancia entre muestras sea igual 1 mientras avanzan las
coordenadas de la función (las distancias no normalizadas entre
coordenadas de remuestreo deben ser utilizadas aún para determinar
si se va a producir solapamiento). Por lo tanto, necesitamos dos
transformaciones:
- -
- La primera consiste en mapear el espacio CFA no girado a un espacio CFA girado. Esto puede realizarse multiplicando cada coordenada por 1/\sqrt{2}, puesto que estamos girando 45 grados (cos45 = sen45 = 1/\sqrt{2}).
- -
- La segunda consiste en aumentar las coordenadas para que se emparejen con la función normalizada, lo que puede realizarse multiplicando cada ordenada por 1/\sqrt{2}.
Estas dos transformaciones se combinan para
crear un factor de multiplicación de ½. Por consiguiente, según
avanzamos por el espacio CFA no girado x por k, incrementamos en k/2
la función x, y reducimos en k/2 la función y. De manera similar,
según avanzamos en y por k, incrementamos en k/2 la función x e
incrementamos en k/2 la función y.
Las relaciones entre dos sistemas de coordenadas
diferentes pueden ser ilustradas considerando que ocurren según
generamos una línea de píxeles de resolución media a partir de una
imagen de entrada de espacio CFA. Dada una ordenada de partida en
el espacio de entrada CFA, empezamos con x = 0, y avanzamos 1.280
veces por 1/mps, generando un nuevo píxel en cada nueva posición.
El movimiento en el espacio CFA no girado en 1/mps, puede ser
descompuesto en un movimiento en x y en un movimiento en y en el
espacio CFA girado. El proceso se muestra en la Figura 25.
Puesto que cos45 = sen45 = 1/\sqrt{2}, el
movimiento en el espacio CFA no girado equivale a igual movimiento
en x e y en 1/(mps\sqrt{2}). Esta cantidad debe ser aumentada
ahora para equipararse con la función normalizada. El incremento
equivale a otra multiplicación por 1/\sqrt{2}. Por consiguiente,
un movimiento de 1/mps en el espacio CFA no girado equivale a un
movimiento de ½ mps en la función x y en la función y. La Tabla 11
expone la relación entre los tres sistemas coordenados para los
diferentes formatos:
\vskip1.000000\baselineskip
La Tabla 11 muestra que el movimiento en el
espacio de la función es siempre un número menor de 1, pero en el
espacio CFA girado, solamente la imagen Passport tiene un \Delta
de valor mayor de 1. Como resultado, se producirá solapamiento para
el formato de impresión Passport, pero no para ninguno de los otros.
Sin embargo, dado que \Delta es casi 1, y que cada una de las 4
imágenes es de un tamaño de sólo ¼, el solapamiento no será
apreciable, especialmente debido a que suponemos un filtro pasa bajo
ideal en el verde durante la captura de imagen.
El filtro de reconstrucción exacta que se va a
utilizar, dependerá de un número de circunstancias. Existe siempre
una relación entre el número de muestras utilizadas entre la
construcción de la señal original, el tiempo invertido en la
reconstrucción de la señal, y la calidad de la imagen remuestreada.
Una relación satisfactoria en este caso es de 5 muestras de píxel
desde la dimensión que está siendo reconstruida, centradas alrededor
de la posición X estimada, es decir, X-2,
X-1, X, X+1, X+2. Debido a la naturaleza de la
reconstrucción con 5 puntos de muestra, solamente necesitamos 4
coeficientes para la introducción de la función de convolución.
Creamos una tabla de búsqueda de coeficiente de
función con n entradas para cada componente de color. Cada entrada
tiene 4 coeficientes. Según avanzamos en el espacio de salida,
mapeamos los cambios en el espacio de salida respecto a los cambios
en el espacio de entrada y el espacio de la función. Los bits más
significativos de la componente fraccional en el espacio de la
función actual, son utilizados para la indexación en la tabla de
coeficientes de función. Si existen 64 entradas en la tabla de
función, los 6 primeros bits de función son utilizados para buscar
los coeficientes, siendo 64 entradas absolutamente suficientes para
el remuestreo en la Printcam.
La imagen capturada por el CFA debe ser
intensificada con anterioridad a ser imprimida. Idealmente, el
filtro de intensificación deberá ser aplicado en el dominio de
resolución de CFA. Sin embargo, a la resolución de captura de la
imagen, no tenemos información de color completa en cada píxel. Por
el contrario, solamente tenemos rojo, azul o verde en una posición
de píxel dada. La intensificación de cada plano de color de forma
independiente, da lugar a cambios de color. La intensificación
deberá ser aplicada, por el contrario, al canal de luminancia de
una imagen, de modo que la tonalidad y la saturación de un píxel
dado deberán permanecer sin cambio.
La intensificación conlleva entonces la
traslación de una imagen RGB a un espacio de color en el que la
luminancia esté separada del resto de la información de color 80
(tal como HLS o Lab). El canal 81 de luminancia puede ser entonces
intensificado 82 (con la adición en una proporción de la versión
filtrada pasa-alto de la luminancia). Finalmente,
la imagen completa deberá ser convertida de nuevo en RGB 83 (o en
CMY puesto que vamos a imprimirla en CMY). El proceso se muestra en
la Figura 26.
Sin embargo, podemos evitar muchas de las etapas
de conversión de color si consideramos el efecto de añadir una L
filtrada pasa-alto de nuevo a la imagen; el efecto
es un cambio en la luminancia de la imagen. Un cambio en la
luminancia de un píxel dado puede ser bien aproximado con un cambio
igual en R, G y B lineal. Por lo tanto, generamos simplemente L,
filtro pasa alto L, y aplicamos una proporción del resultado de
igual manera a R,
G y B.
G y B.
\newpage
Consideremos el espacio de color CIE 1976 L*a*b,
donde L es perceptiblemente uniforme. Para hacer la conversión de
RGB a L (el canal de luminancia), promediamos el mínimo y el máximo
de R, G y B, como sigue:
L =
\frac{M\text{Í}N(R,G,B) +
MÁX(R,G,B)}{2}
Un filtro pasa alto 84 puede ser aplicado
entonces a la información de luminancia. Puesto que estamos
filtrando en un espacio med-res de resolución media
en vez de un espacio de resolución CFA, el tamaño de la función de
intensificación puede ser incrementado o el resultado pasa alto
puede ser incrementado apropiadamente. La cantidad exacta de
intensificación dependerá del CFA, pero una función 85 de
convolución de 3 x 3 será suficiente para producir buenos
resultados.
Si tuviéramos que incrementar el tamaño de la
función, la Tabla 12 muestra el incremento efectivo requerido para
una convolución de 3 x 3 en el espacio CFA según se aplica al
espacio de resolución 1.280, utilizando el canal verde como base
para el incremento de la función. A partir de esta tabla queda claro
que una función dimensionada en 7 x 7, aplicada al espacio de
resolución media, será adecuada para toda la intensificación.
Si se aplicara un filtro 85 de 3 x 3 sobre la
imagen med-res, el resultado sería incrementado 86
de acuerdo con el factor de escala utilizado en la operación
general de escalado de imagen. Dadas las cantidades de la Tabla 12
(particularmente, el formato de impresión Standard), podemos
utilizar un filtro 85 de 3 x 3, y a continuación escalar el
resultado. El procedimiento de producción de un píxel L filtrado
simple se muestra en la Figura 27.
La función real utilizada puede ser una
cualquiera de un conjunto de funciones estándar de filtro pasa alto.
Un filtro pasa alto básico pero satisfactorio, se muestra en esta
implementación de PCP en la Figura 50.
La siguiente cosa que se ha de hacer, consiste
en añadir alguna proporción de los valores de luminancia filtrados
pasa alto resultantes al canal de luminancia. La imagen puede ser
entonces convertida de nuevo en RGB (o en su caso, en CMY). Sin
embargo, un cambio de luminancia puede ser aproximada razonablemente
mediante un cambio igual en R, G y B (puesto que el espacio de
color es lineal). Por consiguiente, podemos evitar la totalidad de
conversiones de color mediante la adición de una cantidad igual de
valor de luminancia filtrada pasa alto a los R, G y B. La
proporción exacta de la imagen filtrada pasa alto puede ser definida
por medio de un factor escalar.
Si L es el píxel de luminancia filtrada pasa
alto, y k es el factor escalar constante, podemos definir la
transformación de intensificación de R, G y B como sigue:
Por supuesto, el factor escalar aplicado a L
puede ser combinado con el factor escalar del proceso de filtro
pasa alto (véase la Sección 3.2.6.2) para obtener un único factor
escalar.
Una vez que la intensificación ha sido aplicada
al píxel RGB, la imagen puede ser convertida a CMY 83 con el fin de
que sea imprimida.
En términos teóricos, la conversión de RGB a CMY
consiste simplemente en:
- C
- = 1 - R
- M
- = 1 - G
- Y
- = 1 - B
Sin embargo, esta conversión supone que el
espacio CMY tiene una respuesta lineal, lo que definitivamente no
es cierto en las tintas pigmentadas, y solamente es parcialmente
cierto en las tintas a base de tintes. El perfil individual de
color de un dispositivo particular (entrada y salida), puede variar
considerablemente. Por consiguiente, una conversión precisa, así
como para permitir los futuros sensores, tintas e impresoras, se
requiere un modelo más preciso para la Printcam.
Las transformaciones requeridas se muestran en
la Figura 28. Se elige Lab debido a que es perceptivamente uniforme
(a diferencia con XYZ). Con relación al mapeo desde la gama de
frecuencia de sensor de imagen hasta la gama de frecuencia de
impresora, la gama de frecuencia de impresora está típicamente
contenida en su totalidad en la gama de frecuencia de sensor.
En vez de realizar estas transformaciones
exhaustivamente, se pueden obtener resultados excelentes mediante
conversión tri-lineal basada en 3 conjuntos de
tablas de búsqueda en 3D. Las tablas de búsqueda contienen las
transformaciones resultantes para la entrada específica según se ha
indexado mediante RGB. Se requieren tres tablas: una tabla 90 que
mapea RGB a C, una tabla 91 que mapea RGB a M, y una tabla 92 que
mapea RGB a Y. Se puede utilizar interpolación
tri-lineal para proporcionar el resultado final para
aquellas entradas que no estén incluidas en las tablas. El proceso
se muestra en la Figura 29.
La interpolación tri-lineal
requiere leer 8 valores desde la tabla de búsqueda, y llevar a cabo
7 interpolaciones lineales (4 en la primera dimensión, 2 en la
segunda, y 1 en la tercera). Se puede usar alta precisión para los
valores intermedios, aunque el valor de salida es de sólo 8
bits.
El tamaño de la tabla de búsqueda requerida
depende de la linealidad de las transformaciones. El tamaño
recomendado para cada tabla en esta aplicación es de 17 x 17 x
17^{1}, (con cada 8
bits de entrada. Un tabla de 17 x 17 x 17 tiene 4.913 bytes (menos
de 5 KB).
Para indexación en las tablas de
17-por-dimensión, los componentes de
color de entrada de 8 bits son tratados como números de punto fijo
(4:4). Los cuatro bits de la parte entera dan el índice, y los 4
bits de la fracción se utilizan para la interpolación.
La imagen CMY de resolución media (1.280 de
ancho) debe ser ahora interpolada ascendente hasta la resolución
de impresión final (6.400 de ancho).
La relación es exactamente de 1:5 en ambas
dimensiones.
Aunque es ciertamente posible interpolar
bi-linealmente los 25 valores (1:5 en ambas
dimensiones X e Y), los valores resultantes no serán imprimidos
contone. Los resultados serán vibrados e imprimidos
bi-nivel. Dado que los resultados de 1.600 dpi
contone serán transformados en puntos bi-nivel
vibrados, la precisión de la interpolación
bi-lineal desde 320 dpi a 1.600 dpi no será visible
(se eligió la resolución media por este motivo). La replicación de
píxel producirá por lo tanto buenos resultados.
La replicación de píxel conlleva simplemente
tomar un píxel simple, y utilizarlo como el valor para una gran
área. En este caso, replicamos un píxel simple hasta 25 píxeles (un
bloque de 5 x 5). Si cada píxel fuera contone, el resultado podría
aparecer fraccionado, pero debido a que los píxeles están vibrados,
el efecto es que los 25 puntos bi-nivel resultantes
adoptan el valor contone. El proceso se muestra en la Figura
30.
\newpage
La cabeza de impresión 2 es solamente capaz de
imprimir puntos de forma bi-nivel. Debemos
convertir, por lo tanto, la imagen desde CMY contone a CMY vibrada.
Más específicamente, producimos un vibración ordenada de punto
disperso utilizando una célula vibratoria estocástica, convirtiendo
una imagen CMY contone en una imagen CMY bi-nivel
vibrada.
El valor contone de 8 bits de 1.600 dpi, se
compara con la posición actual en la célula vibratoria 93. Si el
valor contone de 8 bits es mayor que el valor de célula vibratoria,
se genera un bit de salida que es un 1. En otro caso, se genera un
bit de salida que es un 0. Este bit de salida será enviado
eventualmente a la cabeza de impresión y controla una boquilla
simple para producir un punto simple C, M o Y. El bit representa si
debe dispararse o no una boquilla particular para un color y una
posición dados.
La misma posición en la célula 93 vibratoria
puede ser utilizada para C, M e Y. Esto se debe a que la cabeza de
impresión 2 real produce los puntos C, M e Y para diferentes líneas
en el mismo ciclo de impresión. El escalonamiento de los diferentes
puntos coloreados proporciona una acumulación en la célula
vibratoria.
El proceso de semitono puede ser apreciado en la
Figura 31.
El tamaño de la célula 93 vibratoria depende de
la resolución de los puntos de salida. Puesto que estamos
produciendo puntos de 1.600 dpi, el tamaño de célula deberá ser más
grande de 32 x 32. Adicionalmente, para permitir que el orden de
procesamiento de punto se empareje con los segmentos de la cabeza de
impresión, el tamaño de la célula vibratoria debería dividirse
idealmente por 800 de manera uniforme (puesto que existen 800
puntos en cada segmento de la cabeza de impresión).
Un tamaño de célula vibratoria de 50 x 50 es
suficientemente grande como para producir resultados de alta
calidad, y se divide uniformemente por 800 (16 veces). Cada entrada
de la célula vibratoria es de 8 bits, lo que da un total de 2.500
bytes (aproximadamente, 1,5 KB).
El proceso final con anterioridad a ser enviado
a la impresora, está destinado a que los puntos sean formateados en
el orden correcto con anterioridad a ser enviados a la cabeza de
impresión. Los puntos deben ser enviados a la cabeza de impresión
en el orden correcto: 24 puntos cada vez como se define en la
Sección 2.2.1.
Si los puntos pueden ser producidos en el orden
correcto para la impresión (es decir, las funciones vibratoria y de
interpolación ascendente generan sus datos en el orden correcto),
entonces esos valores de punto (cada valor es 1 bit) pueden ser
recopilados de forma simple, y enviados en grupos de 24. El proceso
se muestra en la Figura 32.
Los grupos de 24 bits pueden ser enviados a
continuación hasta la cabeza de impresión 2 por medio de la
Interfaz 15 Memjet.
El PCP 3 incorpora un único núcleo 10 de CPU
microcontrolador para sincronizar las cadenas de captura de imagen
y de procesamiento de imagen de impresión, y para llevar a cabo las
tareas de sistema operativo general de la Printcam, incluyendo la
interfaz de usuario. Una amplia variedad de núcleos de CPU son
adecuados: pueden consistir en cualquier núcleo procesador con
potencia de procesamiento suficiente para realizar las funciones de
cálculo y control requeridas de una manera suficientemente rápida
como para que se cumplan las expectativas del consumidor.
Puesto que todo el procesamiento de imagen se
realiza mediante hardware dedicado, la CPU no tiene que procesar
píxeles. Como resultado, la CPU puede ser extremadamente simple. Sin
embargo, debe ser suficientemente rápida para hacer correr el motor
paso a paso durante una impresión (el motor paso a paso requiere un
proceso de 5 KHz). Como ejemplo de núcleo adecuado, se mencionada
el microcontrolador Philips 8051 que corre a aproximadamente 1
MHz.
No hay necesidad de mantener continuidad
establecida de instrucción entre diferentes modelos de Printcam.
Los diferentes diseños de chip de PCP pueden ser fabricados por
distintos fabricantes, sin que se requiera licenciar o realizar el
núcleo de CPU. Esta independencia de dispositivos evita el monopolio
del proveedor de chips como ha ocurrido en el mercado del PC con
Intel.
Asociadas al Núcleo de CPU se encuentran una ROM
de Programa 13 y una pequeña RAM Programable 14 de Programa.
La CPU 10 comunica con las otras unidades dentro
del PCP 3 a través de E/S mapeadas de memoria. La dirección
particular establece el mapa de rango respecto a las unidades
particulares, y dentro de cada rango, respecto a registros
particulares dentro de esa unidad particular. Esto incluye las
interfaces serie y paralelo.
Una pequeña ROM Flash de Programa 13 se ha
incorporado en el PCP 3. El tamaño de la ROM depende de la CPU
elegida, pero no será mayor de 16-32 KB.
De igual modo, una pequeña área 14 de RAM
programable se encuentra incorporada en el PCP 3. Puesto que el
código de programa no tiene que manipular imágenes, no hay necesidad
de una gran área de trabajo. El tamaño de la RAM depende de la CPU
elegida (por ejemplo, mecanismos de apilamiento,
sub-rutina de llamada de convenciones, tamaños de
registro, etc), pero no deberá ser mayor de alrededor de 4 KB.
El Decodificador 16 de Memoria de CPU es un
decodificador simple para satisfacer los accesos de datos de la
CPU. El Decodificador traslada las direcciones de datos hacia los
accesos de registro de PCP internos por el bus interno de baja
velocidad, y por lo tanto habilita las E/S mapeadas de memoria de
los registros de PCP.
Éste es un puerto serie USB estándar, conectado
al bus 18 de baja velocidad de chip interno. El puerto serie USB
está controlado por la CPU 10. El puerto serie permite la
transferencia de imágenes hasta, y desde, la Printcam, y permite la
impresión DPOF (Digital Print Order Format, Formato de Orden Digital
de Impresión) de fotos transferidas bajo control externo.
Éste consiste en dos puertos serie estándar de
baja velocidad, conectados al bus 18 de baja velocidad de chip
interno. El protocolo ajustado a CPU entre los dos, se utiliza para
autenticar el rollo de impresión [1, 2], y para las siguientes
funciones:
- -
- Adquirir las características de la tinta
- -
- Adquirir el volumen de gota recomendado
- -
- Arrastrar la cantidad de papel impreso y requerir nuevo rollo de impresión cuando exista papel insuficiente para imprimir el formato de impresión requerido.
La razón de tener dos puertos consiste en
conectar ambos al Chip 4 QA de cámara conectada y la Chip 5 QA del
rollo de impresión con la utilización de líneas separadas. Dos chips
QA están implementados como Chips de Autenticación [2]. Si
solamente se utiliza una sola línea, un fabricante de réplicas de
rollos de impresión podría usurpar el mecanismo de autenticación
[1].
Cada consumible de rollo de impresión contiene
su propio chip 5 QA. El chip QA contiene información requerida para
mantener la mejor calidad de impresión posible, y se implementa con
la utilización de un Chip de Autenticación [2]. Los 256 bits de
datos se asignan como sigue:
\vskip1.000000\baselineskip
Antes de cada impresión, se comprueba la
cantidad de papel restante por medio de la CPU para asegurar que
existe suficiente para el formato de impresión actualmente
especificado. Una vez que se ha iniciado cada impresión, la
cantidad de papel restante debe ser decrementada en el chip QA del
rollo de impresión por medio de la
CPU.
CPU.
La interfaz 6 paralelo conecta el PCP 3 con
señales eléctricas estáticas individuales. La CPU está capacitada
para controlar cada una de estas conexiones como E/S mapeada de
memoria por medio del bus de baja velocidad. (Véase la Sección 4.4
para más detalles sobre las E/S mapeadas de memoria).
La Tabla 14 muestra las conexiones con la
interfaz paralelo.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Una Interfaz 7 JTAG (Joint Test Action Group)
estándar ha sido incluida en el PCP 3 a efectos de comprobación.
Debido a la complejidad del chip, se requiere una diversidad de
técnicas de prueba, incluyendo BIST (Built In Self Test) y
aislamiento de bloque funcional. Se supone una porción superior del
10% del área del chip para la circuitería global de comprobación de
chip.
La RAM 11 de imagen se utiliza para almacenar la
imagen 42 capturada. La RAM de Imagen es una Flash
multi-nivel (2 bits por célula) de modo que la
imagen se conserva después de la alimentación haya sido
interrumpida.
La cantidad total de memoria requerida para la
imagen RGB lineal planarizada es de 1.500.000 bytes (aproximadamente
1,5 MB), organizada como sigue:
- -
- R: 750 x 500 = 375.000 bytes
- -
- B: 750 x 500 = 375.000 bytes
- -
- G: 750 x 1.000 = 750.000 bytes.
La imagen es escrita por la Unidad de Captura de
Imagen, y leída tanto por la Unidad 8 de Histograma de Imagen como
la Unidad 99 de Generador de Impresión. La CPU 10 no tiene acceso
aleatorio directo a la memoria de imagen. Tiene que acceder a los
píxeles de imagen a través de la Unidad de Acceso de Imagen.
La Unidad de Captura de Imagen contiene toda la
funcionalidad requerida por la Cadena de Captura de Imagen, según
se describe en la Sección 3.1. La Unidad de Captura de Imagen acepta
datos de píxel a través de la Interfaz 98 de Sensor de Imagen,
linealiza los datos RGB a través de una tabla 96 de búsqueda, y
finalmente escribe la imagen RGB linealizada fuera de la RAM en
formato planar. El proceso se muestra en la Figura 33.
La Interfaz 98 de Sensor de Imagen (ISI) es una
máquina de estado que envía información de control al Sensor de
Imagen CMOS, incluyendo pulsos de sincronización de cuadro y pulsos
de reloj de píxel, con el fin de leer la imagen. La mayor parte de
la ISI es probable que se utilice como célula fuente del fabricante
del sensor de imagen. La ISI está controlada en sí mismo por la
Máquina de Estado 97 de la Unidad de Captura.
Aunque se encuentran disponibles una diversidad
de sensores de imagen, solamente vamos a considerar el dispositivo
de filtro de color (CFA) Bayer. El CFA Bayer posee un número de
atributos que se van a definir ahora.
La imagen capturada por el sensor CMOS (a través
de una lente de captación), se supone que ha sido suficientemente
filtrada como para eliminar cualquier partícula de solapamiento. El
propio sensor tiene una relación de aspecto de 3:2, con una
resolución de 1.500 x 1.000 muestras. La disposición de píxel más
probable es el conjunto de filtro de color (CFA) Bayer, con cada
bloque de 2 x 2 píxeles dispuesto en mosaico 2G como se muestra en
la Figura 15.
Cada muestra contone de R, G o B
(correspondiente a rojo, verde y azul, respectivamente), es de 10
bits. Obsérvese que cada píxel del mosaico contiene información
acerca de uno sólo de los R, G o B. Las estimaciones sobre la
información de color faltante, deben ser realizadas con anterioridad
a que la imagen sea imprimida.
Se considera que el CFA realiza alguna cantidad
de supresión de ruido patrón fijo (FPN). Se puede requerir alguna
supresión AFN adicional.
La tabla de búsqueda 96 es una ROM que mapea el
RGB del sensor en un RGB lineal. Ésta equipara el proceso 40 de
Linealizar RGB descrito en la Sección 3.1.2. Como tal, la ROM es de
3 KBytes (3 x 1.024 x 8 bits). 10 bits de dirección provienen de la
ISI, mientras que 2 bits de TableSelect son generados por la Máquina
de Estado 97 de la Unidad de Captura de Imagen.
La Máquina de Estado 97 de la Unidad de Captura
de Imagen genera señales de control para la Interfaz 1 de Sensor de
Imagen, y genera direcciones para linealizar el RGB 40 y para
planarizar los datos 41 de imagen.
Las señales de control enviadas a la ISI 198
informan a la ISI de que inicie la captura de píxeles, finalice la
captura de píxeles, etc.
La dirección de 2 bits enviada a la Tabla de
Búsqueda 96 se empareja con la línea actual que está siendo leída
desde la ISI. Para línea pares (0, 2, 4, etc), la dirección de 2
bits es Roo, Verde, Rojo, Verde, etc. Para líneas impares (1, 3, 5,
etc), la dirección de 2 bits es Verde, Azul, Verde, Azul. Esto es
cierto con independencia de la orientación de la cámara.
La dirección de 21 bits enviada a la RAM 11 de
Imagen, es la dirección escrita para la imagen. Tres registros
conservan la dirección actual para cada uno de los planos rojo,
verde, y azul. El incremento de las direcciones como píxeles se
escribe en cada plano.
La unidad de Captura de Imagen contiene un
determinado número de registros.
\vskip1.000000\baselineskip
Adicionalmente, la Interfaz 98 de Sensor de
Imagen contiene un número de registros. Los registros exactos
dependerán del Sensor de Imagen 1 elegido.
La Unidad 9 de Acceso de Imagen produce los
medios para que la CPU 10 acceda a la imagen en la ImageRAM 11. La
CPU puede leer píxeles desde la imagen de la ImageRAM 11 y escribir
píxeles de nuevo.
Los píxeles podrían ser leídos a los efectos de
almacenamiento de imagen (por ejemplo, a través del USB) 17, o para
procesamiento de imagen simple. Los píxeles podrían ser escritos en
ImageRAM 11 tras el procesamiento de imagen, como imagen
previamente guardada (cargada vía USB), o como imágenes a efectos de
patrón de prueba. Los patrones de prueba podrían ser imágenes
sintéticas, imágenes de prueba específicas (cargadas a través del
USB), o podrían ser valores de disparo de disparo de boquilla de 24
bits para ser cargados directamente en la cabeza de impresión por
medio del modo de prueba de la Unidad 99 de Generador de
Impresión.
La Unidad 9 de Acceso de Imagen es un mecanismo
de acceso directo a la ImageRAM 11, y opera de forma absolutamente
simple en términos de 3 registros como se muestra en la Tabla
16.
La estructura de la Unidad de Acceso de Imagen
es muy simple, según se muestra en la Figura 35.
La Máquina de Estado 101 simplemente realiza
leer/escribir desde/en ImageRAM 11 siempre que la CPU escriba en el
registro de Modo.
La Unidad 8 de Histograma de Imagen (IHU), ha
sido diseñada para generar histogramas de imágenes según sea
requerido por la Cadena de Procesamiento de Imagen de Impresión
descrita en la Sección 3.2.2. La IHU solamente genera histogramas
para imágenes de formato planar con muestras de 8 bits cada una.
La Unidad 8 de Histograma de Imagen se utiliza
típicamente tres veces por impresión. Se acumulan tres histogramas
diferentes, uno por cada plano de color. Cada vez que se acumula un
histograma, se analizan los resultados con el fin de determinar los
umbrales bajo y alto, los factores de escalado, etc., para su uso en
el resto del proceso de im-
presión. Para más información sobre cómo debe ser usado el histograma, véase la Sección 3.2.2.2 y la Sección 3.2.4.
presión. Para más información sobre cómo debe ser usado el histograma, véase la Sección 3.2.2.2 y la Sección 3.2.4.
El propio histograma se almacena en una RAM 102
de 256 entradas, siendo cada entrada de 20 bits. A la RAM de
histograma solamente se accede desde dentro de la IHU. Las entradas
individuales son leídas y escritas como cantidades de 20 bits.
La Máquina de Estado 103 sigue el
seudo-código descrito en la Sección 3.2.2.1. La
misma está controlada por los registros que se muestran en la
Tabla 17.
El uso típico de os registros consiste en
establecer TotalPixels con el número de píxeles para incluir en el
conteo (por ejemplo, 375.000 para el rojo), StartAddress con la
dirección del plano rojo, ClearCount con 1, y escribir un 1 en el
registro Go. Una vez que el conteo ha finalizado, los valores
individuales del histograma pueden ser determinados escribiendo
0-255 en PixelValue y leyendo el Pixelcount
correspondiente.
\global\parskip0.900000\baselineskip
La Interfaz de Cabeza de Impresión (PHI) 105, es
el medio mediante el que el PCP 3 carga la cabeza de impresión 2
Memjet con los puntos que van a ser imprimidos, y controla el
proceso real de impresión de punto. El PHI es un reiniciador
cíclico lógico para un número de unidades, a saber:
- \bullet
- una Interfaz Memjet (MJI) 15, que transfiere datos hasta la cabeza de impresión Memjet, y controla las secuencias de disparo de boquilla durante una impresión,
- \bullet
- una Unidad de Generador de Impresión (PGU) 99 es una implementación de la mayor parte de la Cadena de Impresión descrita en la Sección 3.2, así como también proporciona un medio de producción de patrones de prueba. La PGU toma una RGB lineal planarizada obtenida a partir de una imagen capturada de formato CFA procedente de la ImageRAM 11, y produce una imagen CMY vibrada de 1.600 dpi en tiempo real según se requiere mediante la Interfaz Memjet 15. Adicionalmente, la PGU tiene un modo de Patrón de Prueba, que permite que la CPU 10 especifique de manera precisa qué boquillas han de dispararse durante una impresión.
Las unidades del interior de la PHI son
controladas por un número de registros que son programados mediante
la CPU.
La estructura interna de la Interfaz de Cabeza
de Impresión ha sido mostrada en la Figura 37.
La Interfaz Memjet (MJI) 15 conecta el PCP con
la cabeza de impresión Memjet externa, proporcionando tanto datos
como señales apropiadas para controlar las secuencias de carga y
disparo de boquilla durante una impresión.
La Interfaz Memjet 15 es simplemente una Máquina
de Estado 106 (véase la Figura 38) que sigue el orden de carga y
disparo de la cabeza de impresión que se ha descrito en la Sección
2.2, y que incluye la funcionalidad del ciclo de Precalentamiento y
Limpieza según se ha descrito en la Sección 2.4.1 y 2.4.2.
La MJI 15 carga datos en la cabeza de impresión
procedentes de una opción entre 2 fuentes de datos:
- \bullet
- Todo 1s. Esto significa que todas las boquillas dispararán durante un ciclo de Impresión posterior, y constituye el mecanismo estándar para cargar la cabeza de impresión para un ciclo de Precalentamiento y Limpieza.
- \bullet
- Desde la entrada de 24 bits mantenida en el registro de Transferencia de la PGU 99. Éste es el medio estándar de imprimir una imagen, si es una foto capturada o un patrón de prueba. El valor de 24 bits procedente de la PGU es enviado directamente a la cabeza de impresión y se envía un pulso de control "Advance" de 1 bit a la PGU. Al final de cada línea, se envía también un pulso "AdvanceLine" de 1 bit hasta la PGU.
La MJI 15 debe ser iniciada después de que la
PGU 99 haya preparado ya el primer valor de transferencia de 24
bits. Esto se hace modo que la entrada de datos de 24 bits será
válida para la primera transferencia hasta la cabeza de
impresión.
La MJI 15 se conecta por lo tanto directamente a
la Unidad 99 de Generador de Impresión y a la cabeza de impresión 2
externa. La estructura básica se muestra en la Figura 38.
La MJI 15 tiene las siguientes conexiones con la
cabeza de impresión 2, con la detección de entradas y de salidas
con respecto a la MJI 15. Los nombres se emparejan con las
conexiones de patillas de la cabeza de impresión (véase la Sección
2).
La duración de los pulsos de disparo por las
líneas Aunable y BEnable, depende de la viscosidad de la tinta (la
cual depende de la temperatura y de las características de la
tinta), y de la cantidad de potencia disponible para la cabeza de
impresión. El rango de duración típica de pulso es de 1,3 a 1,8
\mus. La MJI contiene por lo tanto una tabla de duración de pulso
programable, indexada por información desde la cabeza de impresión.
La tabla de duraciones de pulso
permite el uso de una fuente de alimentación de menor coste, y ayuda a mantener una eyección de tinta más precisa.
permite el uso de una fuente de alimentación de menor coste, y ayuda a mantener una eyección de tinta más precisa.
La tabla de Duración de pulso tiene 256
entradas, y está indexada por los Vsense y Tsense actuales
establecidos. Los 4 bits superiores de la dirección proceden de
Vsense, y los 4 bits inferiores de la dirección proce3den de
Tsense. Cada en5trada es de 8 bits, y representa un valor de punto
fijo en la gama de 0-4 \mus. El proceso de
generación de las líneas Aunable y BEnable se muestra en la Figura
39.
La tabla de 256 bytes es escrita por la CPU 10
con anterioridad a la impresión de la foto. Cada entrada de
duración de pulso de 8 bits en la tabla, combina:
- \bullet
- Establecimiento de brillos
- \bullet
- Curva de viscosidad de la tinta (desde el Chip QA) 5
- \bullet
- Rsense
- \bullet
- Wsense
- \bullet
- Tsense
- \bullet
- Vsense
La MJI 15 mantiene un conteo del número de
puntos de cada color disparados desde la cabeza de impresión 2. El
conteo de puntos para cada color es un valor de 32 bits, borrado
individualmente bajo control del procesador. Cada conteo de puntos
puede mantener un conteo de puntos de máxima cobertura de 69
impresiones de 15 cm (6 pulgadas), aunque en la utilización típica,
el conteo de puntos puede ser leído y borrado después de cada
impresión.
Mientras que en el producto Printcam inicial, el
consumible contiene tanto papel como tinta, resulta concebible que
un modelo diferente de Printcam tenga un consumible reemplazable de
tinta solamente. El producto de Printcam inicial puede hacer un
conteo descendente de la cantidad de milímetros que restan de papel
(almacenado en el chip 5 QA, véase la Sección 5.2), para saber si
existe suficiente papel disponible para imprimir el formato
deseado. Existe tinta suficiente para la cobertura completa del
papel suministrado. En el producto Printcam alternativo, los
conteos de puntos pueden ser utilizados por la CPU para actualizar
el chip 5 QA con el fin de predecir cuándo se va a agotar la tinta
del cartucho de tinta. El procesador conoce el volumen de tinta del
cartucho para cada uno de C, M e Y a partir del chip 5. El conteo
del número de gotas elimina la necesidad de sensores de tinta, y
evita que los canales de tinta se queden secos. Un conteo de gotas
actualizado se escribe en el chip 5 QA después de cada impresión.
Una nueva foto no será imprimida a menos que exista suficiente
tinta, y permite al usuario cambiar la tinta sin que se obtenga una
foto insatisfactoria que tenga que ser reimprimida.
La disposición del contador de puntos par el
cyan, se muestra en la Figura 40. Los 2 contadores de puntos
restantes (MDotCount e UDotCount, para magenta y amarillo
respectivamente), tienen una estructura idéntica.
La CPU 10 comunica con la MJI a través de un
registro establecido. Los registros permiten a la CPU parametrizar
una impresión, así como también recibir información acerca del
progreso de la impresión.
Los registros que siguen están contenidos en la
MJI:
\global\parskip1.000000\baselineskip
El Registro de Estado de la MJI es un registro
de 16 bits con interpretaciones de bit como sigue:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Los ciclos de Limpieza y de Precalentamiento se
realizan de manera simple estableciendo registros apropiados:
- \bullet
- SetAllNozzles = 1
- \bullet
- Establecer el registro PulseDuration ya sea en una duración baja (en el caso del modo de precalentamiento) o ya sea en una duración apropiada de eyección de gota para el modo de limpieza.
- \bullet
- Establecer NumLines de modo que sea el número de veces que la boquilla debe ser disparada.
- \bullet
- Establecer el bit Go y esperar a continuación para que el bit Go sea borrado cuando los ciclos de impresión se hayan completado.
La Unidad de Generador de Impresión (PGU) 99 es
una implementación de la mayor parte de la Cadena de Impresión
descrita en la Sección 3.2, así como también la provisión de un
medio de producción de patrones de prueba.
Desde el punto de vista más simple, la PGU
proporciona la interfaz entre la RAM 11 de imagen y la Interfaz
Memjet 15, como se muestra en la Figura 41. La PGU toma un RGB
lineal planarizado obtenido a partir de una imagen capturada de
formato CFA procedente de la ImageRAM, y produce una imagen CMY
vibrada de 1.600 dpi en tiempo real según requiere la Interfaz
Memjet. Adicionalmente, la PGU tiene un modo de Patrón de Prueba,
que permite a la CPU especificar de manera precisa qué boquillas se
disparan durante una impresión. La MJI 15 proporciona a la PGU 99
un pulso Advance una vez que se han usado los 24 bits, y un pulso
AdvanceLine al final de una línea.
La PGU 99 tiene 2 cadenas de procesamiento de
imagen. La primera, el modo de Patrón de Prueba, lee simplemente
datos directamente desde la RAM de Imagen 11, y los formatea en una
memoria intermedia lista para proporcionar una salida para la MJI.
La segunda contiene la mayoría de las funciones de Cadena de
Impresión (véase la Sección 3.2). La Cadena de Impresión mostrada
en la Figura 18 contiene las funciones:
- \bullet
- Acumular Estadísticas 60
- \bullet
- Girar Imagen 61
- \bullet
- Balance del Blanco 62
- \bullet
- Expansión de Rango 63
- \bullet
- Remuestreo 64
- \bullet
- Intensificación 65
- \bullet
- Convertir a CMY 66
- \bullet
- Interpolación Ascendente 67
- \bullet
- Semitono 68
- \bullet
- Reformateo para Impresora 69.
La PGU 99 contiene todas estas funciones con la
excepción de Acumular Estadísticas 60. Para realizar la etapa de
Acumular Estadísticas, la CPU 10 llama a la Unidad de Histograma de
Imagen 8 tres veces (una vez por canal de color), y aplica algunos
algoritmos simples. El resto de las funciones son el dominio de la
PGU 99 por razones de precisión y de velocidad: precisión, porque
podría ser que se precisara demasiada memoria para mantener la
imagen completa con una alta precisión, y velocidad, debido a que
una sola CPU 10 no puede mantener las demandas de alta velocidad en
tiempo real de la cabeza de impresión 2 Memjet.
La PGU 99 toma como entrada una diversidad de
parámetros, incluyendo tablas de conversión de RGB a CMY, constantes
para realizar el balance del blanco y la expansión de rango,
factores de escala para remuestreo, y parámetros de acceso de
imagen que permitan la rotación.
Las dos cadenas de proceso pueden verse en la
Figura 20. La cadena más directa va desde la RAM de Imagen 11 hasta
la Memoria Intermedia 5 por medio del proceso 110 de Acceso de
Patrón de Prueba. La otra cadena consiste en 5 procesos, corriendo
todos ellos en paralelo. El segundo proceso 112 realiza el
Remuestreo. El tercer proceso 65 realiza la intensificación. El
cuarto proceso 66 realiza la conversión de color. El proceso 113
final realiza la interpolación ascendente, el semitono y el
reformateo de la impresora. Los procesos están conectados a través
de memorias intermedias, solamente con una pocos bytes entre algunos
procesos, y con unos pocos kilobytes para otros.
Observemos estos procesos y memorias intermedias
principalmente en un orden inverso, puesto que la temporización
para la cabeza de impresión activa el proceso completo. Las
temporizaciones para procesos particulares y los requisitos de
tamaño de la memoria intermedia son entonces más evidentes. No
obstante, los tamaños de memoria intermedia se muestran en forma de
sumario en la Tabla 21.
Aparte del número de registros, algunos de los
procesos tienen tablas de búsqueda o componentes de memoria
significativas. Éstos se resumen en la Tabla 22.
El proceso 110 de Acceso de Patrón de prueba es
el medio mediante el que se producen los patrones de prueba. Bajo
circunstancias de usuario normales, este proceso no será utilizado.
Está previsto principalmente a efectos de diagnóstico.
\global\parskip0.900000\baselineskip
El Acceso de Patrón de Prueba 110 lee la RAM de
Imagen 11, y pasa los valores de 8 bits directamente a la Memoria
Intermedia 5 118 para presentarlos a la salida para la Interfaz
Memjet. Éste no modifica en modo alguno los valores de 8 bits. Los
datos de la RAM de Imagen 11 podrían ser producidos por la CPU 10
utilizando la Unidad 9 de Acceso de Imagen.
La lectura de datos desde la RAM de Imagen 11 se
realiza de una manera de reiniciación cíclica muy simple. Se
utilizan dos registros para describir los datos de prueba: la
dirección de inicio del primer byte, y el número de bytes. Cuando
se alcanza el fin de los datos, los datos se leen de nuevo desde el
principio.
La estructura de la Unidad 110 de Acceso de
Patrón de Prueba se muestra en la Figura 43.
Según puede apreciarse en la Figura 43, la
Unidad 110 de Acceso de Patrón de Prueba es poco más que el
Generador 119 de Dirección. Cuando se inicia, y con cada señal
AdvanceLine, el generador lee 3 bytes, produce un pulso
TransferWriteEnable, lee los 3 bytes siguientes, y a continuación
espera por un pulso de Advance. En el pulso Advance, se proporciona
el pulso de TransferWriteEnable, se leen los 3 bytes siguientes, y
se produce de nuevo la espera. Esto continúa hasta el pulso
AdvanceLine, con el que comienza de nuevo el proceso desde la
dirección actual.
En términos de lectura de 3 bytes, el Generador
119 de Dirección simplemente lee tres valores de 8 bits desde la
RAM de Imagen 11, y los escribe en la memoria Intermedia 5 118. El
valor de los primeros 8 bits se escribe en la dirección 0 de 8 bits
de la Memoria Intermedia 5, el siguiente se escribe en la dirección
1 de 8 bits de la Memoria Intermedia 5, y el tercero se escribe en
la dirección 2 de 8 bits de la Memoria Intermedia 5. El Generador
110 de Dirección espera después un pulso Advance antes de hacer la
misma cosa nuevamente.
Las direcciones generadas para la RAM de Imagen
11, están basadas en una dirección de inicio y en un conteo de
bytes como se muestra en la Tabla 23.
El siguiente seudo-código
ilustra la generación de dirección. Los pulsos AdvanceLine y Advance
no se muestran.
Es responsabilidad de la CPU 10 asegurar que los
datos tienen significado para la cabeza de impresión 2. El Byte 0
es el dato de disparo de boquilla para los 8 segmentos de cyan (bit
0 = segmento 0, etc), el Byte 1 es lo mismo para el magenta, y el
Byte 2 para el amarillo. Conjuntos alternos de 24 bits se destinan a
los píxeles impares/ pares separados por 1 línea horizontal de
puntos.
\global\parskip1.000000\baselineskip
La memoria Intermedia 5 118 mantiene los puntos
generados a partir del proceso completo de Generación de Impresión.
La memoria Intermedia 5 consiste en un registro de desplazamiento de
24 bits para mantener los puntos generados, uno cada vez, desde la
UHRH 113 (Unidad de Interpolación
Ascendente-Semitono y Reformateo), 3 registros de 8
bits para mantener los datos generados desde la TPAU (Unidad de
Acceso de Patrón de Prueba), y un registro de 24 bits utilizado
como memoria intermedia para transferir datos ha la MJI (Interfaz
Memjet). El pulso Advance procedente de la MJI carga el registro
Transfer de 24 bits con los 24 bits, ya sea desde los 3 registros de
8 bits o ya sea desde el registro de desplazamiento único de 24
bits.
La Memoria Intermedia 5 actúa por lo tanto como
doble mecanismo de almacenamiento intermedio para los puntos
generados, y tiene la estructura que se muestra en la Figura 44.
La Memoria Intermedia 4 117 mantiene la imagen
contone de resolución intermedia CMY calculada
(1.280-res). La memoria Intermedia 4 se genera
mediante el proceso 66 de Conversión de Color, y es accesible para
el proceso 113 de Interpolación-Ascendente,
Semitono y Reformateo con el fin de generar puntos de salida para la
impresora.
El tamaño de la Memoria Intermedia Contone,
depende de la distancia física entre las boquillas de la cabeza de
impresión. Según están siendo generados los puntos de un color para
una línea física, están siendo generados los puntos de un color
diferente por una línea diferente. El efecto neto es que se imprimen
6 líneas físicas diferentes de una vez desde la impresora: puntos
impares y pares desde diferentes líneas de salida, y líneas
diferentes por color. Este concepto ha sido explicado, y las
distancias se han definido en la Sección 2.1.1.
La conclusión práctica es que existe una
distancia dada en puntos de alta resolución desde los puntos cyan
pares a través de los puntos magenta hasta los puntos amarillos
impares. Con el fin de minimizar la generación de RGB y con ello
CMY, los píxeles contone de resolución media se almacenan
temporalmente en la Memoria Intermedia 4.
Puesto que la relación de líneas de media
resolución respecto a líneas de alta resolución es de 1:5, cada
línea de media resolución se muestrea 5 veces en cada dimensión. A
los efectos de líneas de memoria intermedia, solamente estamos
afectados por las de 1 dimensión, de modo que sólo consideraremos 5
líneas de puntos procedentes de una sola línea de píxel. La
distancia entre boquillas de diferentes colores es de
4-8 puntos (dependiendo de los parámetros de la
Memjet). Por lo tanto suponemos 8, que proporciona una distanciad e
separación de 16 puntos, o 17 puntos en la distancia inclusiva. El
peor caso lo constituye un escenario en el que la línea de 17
puntos de línea incluye la última línea de puntos procedente de una
línea de píxel dada. Esto implica 5 líneas de píxel, con líneas de
puntos generadas como 1, 5, 5, 5, 1, y permite un incremento de
separación de boquilla hasta 10.
Para asegurar que el proceso de generación de
contone que escribe en la memoria intermedia no interfiere con el
proceso de generación de puntos que se lee desde la memoria
intermedia, hemos añadido una línea extra de media resolución por
color, para un total de 6 líneas por color.
La memoria intermedia contone tiene por lo tanto
3 colores por 6 líneas, conteniendo cada una de las líneas 1.280
valores contone de 8 bits. La memoria total requerida es de 3 x 6 x
1.280 = 23.040 bytes (22,5 KBytes). La memoria solamente requiere
una lectura única de 8 bits por ciclo, y una escritura única de 8
bits por cada 25 ciclos (cada píxel contone se lee 25 veces). La
estructura de Memoria Intermedia 4 se muestra en la Figura 45.
La memoria Intermedia 4 puede ser implementada
como una RAM de ciclo único de doble acceso (lectura y escritura)
que corre a la velocidad normal del proceso de generación de puntos
de cabeza de impresión, o puede ser implementada como RAM que corre
un 4% más rápida con un sólo acceso de lectura o de escritura por
ciclo.
La Memoria Intermedia 4 se establece en el
blanco (todo 0) con anterioridad al inicio del proceso de
impresión.
Aunque las tareas 113 de Interpolación
Ascendente, Semitono y Reformateo se definen como tareas separadas
por medio de la Sección 3.2.8, la Sección 3.2.9 y la Sección 3.2.10
respectivamente, éstas se implementan como un proceso único en la
implementación de hardware del PCP 3.
La entrada a la Unidad 113 de Interpolación
Ascendente, Semitono y Reformateo (UHRU), es la memoria intermedia
117 contone (Memoria Intermedia 4) que contiene la imagen CMY de
resolución 1.280 (resolución intermedia) calculada previamente. La
salida es un conjunto de valores de 24 bits en el orden correcto en
que han de ser enviados a la Interfaz Memjet 15 para su posterior
salida para la cabeza de impresión por medio de la memoria
Intermedia 5 118. Los 24 bits de salida se generan a razón de 1 bit
cada vez, y son enviados al registro de desplazamiento de 24 bits
de la memoria Intermedia 5 118.
El control de este proceso ocurre a partir de
las señales Advance y AdvanceLine procedentes de la MJI 15. Cuando
se inicia la UHRU 13, y después de cada pulso AdvanceLine, se
producen 24 bits, y son cronometrados en el registro de
desplazamiento de 24 bits de la Memoria Intermedia 5 por medio de
una señal ShiftWriteEnable. Una vez que el bit 24º ha sido
cronometrado, se proporciona un pulso TransferWriteEnable y se
generan los siguientes 24 bits. Después de esto, la UHRU 113
espera por el pulso Advance procedente de la MJI. Cuando llega el
pulso Advance, se proporciona el pulso TransferWriteEnable a la
Memoria Intermedia 5 118, y se calculan los siguientes 24 bits con
anterioridad a una nueva espera. En la práctica, una vez que se ha
proporcionado el primer pulso Advance, se produce la sincronización
y los futuros pulsos Advance ocurrirán cada 24 ciclos
posteriores.
El proceso de Interpolación Ascendente, Semitono
y Reformateo puede ser apreciado en la Figura 46.
La tarea de Semitono se acomete mediante el
comparador simple 120 sin signo de 8 bits. Las dos entradas hacia
el comparador proceden de la Célula 121 Vibratoria Acumulada y de la
Memoria Intermedia 4 117. El orden en que estos valores son
presentados al comparador 120 Sin Signo, se determina mediante la
Máquina de Estado 122 de Generador de Dirección, la cual asegura
que las direcciones en la imagen de resolución 1.280 se emparejan
con el orden de segmento orientado requerido para la cabeza de
impresión. La Máquina de Estado 122 de Generador de Dirección
acomete por lo tanto las tareas de Interpolación Ascendente y
Reformateo para la Impresora. En vez de que simplemente acceda una
línea completa cada vez a alta resolución, y reformatear después la
línea de acuerdo con los requisitos de búsqueda de impresora (como
se ha descrito en la Sección 3.2.10), el reformateo se logra
mediante el direccionamiento apropiado de la memoria intermedia 117
de contone (Memoria Intermedia 4), y asegurando que el comparador
120 utiliza la búsqueda correcta a partir de la célula 121
vibratoria para emparejar las direcciones acumuladas.
La tarea de Semitono es la misma que se ha
descrito en la Sección 3.2.9. Sin embargo, puesto que las salidas
de puntos se generan en el orden correcto para la cabeza de
impresión, el tamaño de la Célula Vibratoria 121 se elige de modo
que se divide uniformemente en 800. Por consiguiente, una posición
dada de la célula vibratoria para un segmento será la misma para
los 7 segmentos restantes. Una célula vibratoria de 50 x 50
proporciona un resultado satisfactorio. Según se ha descrito en la
Sección 3.2.9, la misma posición de la célula vibratoria puede ser
utilizada para diferentes colores debido al hecho de que las
diferentes líneas están siendo generadas al mismo tiempo para cada
uno de los colores. El direccionamiento para la célula vibratoria es
por lo tanto muy simple. Comenzamos en una fila particular de la
célula Vibratoria Acumulada (por ejemplo, la fila 0). La primera
entrada de célula utilizada es la Entrada 0. Utilizamos esa entrada
24 veces (24 ciclos) para generar 3 colores para los 8 segmentos, y
a continuación avanzamos hasta la Entrada 1 de la fila 0. Después
de la Entrada 49, volvemos de nuevo a la Entrada 0. Esto continúa
para la totalidad de los 19.200 ciclos con el fin de generar 19.200
puntos. La Unidad de Semitono se interrumpe a continuación y espera
por el pulso AdvanceLine que provoca que el generador de dirección
avance hasta la siguiente fila de la célula vibratoria.
La célula 121 Vibratoria Acumulada se denomina
así debido a que difiere de una célula vibratoria regular al tener
las líneas impares y pares acumuladas. Esto se debe a que generamos
píxeles impares y pares (empezando por el píxel 0) sobre diferentes
líneas, y se evita que el Generador de Dirección 122 tenga que
avanzar hasta la siguiente fila y volver de nuevo sobre conjuntos
alternativos de 24 píxeles. La Figura 25 muestra una célula 93
vibratoria única, y cómo mapearla en una célula 121 vibratoria
acumulada del mismo tamaño. Obsérvese que para determinar la
"condición de impar" de una posición dada, numeramos los
píxeles de una fila dada como 0, 1, 2, etc.
El valor de 8 bits procedente de la Memoria
Intermedia 4 117, se compara (sin signo) con el valor de 8 bits
procedente de la Célula Vibratoria Acumulada 121. Si el valor de
píxel de la Memoria Intermedia 4 es mayor, o igual, que el valor de
célula vibratoria, se dispone a la salida un bit "1" para el
registro de desplazamiento de la Memoria Intermedia 5 118. En otro
caso, se dispone a la salida un bit "0" para el registro de
desplazamiento de la Memoria Intermedia 5.
Con relación a los 19.200 píxeles contone de
semitono, se deben leer los 19.200 píxeles contone. La Unidad 122
de Generador de Dirección realiza esta tarea, generando las
direcciones en la Memoria Intermedia 4 117, implementando de forma
efectiva la tarea UpInterpolate. La generación de dirección para
lectura de la Memoria Intermedia 4, es ligeramente más complicada
que la generación de dirección para la célula vibratoria, pero no
excesivamente.
El Generador de Dirección para leer la Memoria
Intermedia 4, empieza solamente una vez la primera línea de la
Memoria Intermedia 4 que ha sido escrita. El resto de filas de la
Memoria Intermedia 4 son 0, de modo que estarán efectivamente en
blanco (sin puntos imprimidos).
Cada una de las 6 líneas efectivas de salida
tiene un registro con un componente entero y fraccional. La porción
entera del registro se utiliza para seleccionar qué línea de Memoria
Intermedia deberá ser leída para la interpolación ascendente
efectiva del color para esos píxeles impares y pares del color
particular. Se utilizan 3 contra-píxeles para
mantener la posición actual dentro del segmento 0, y se utiliza un
único contador temporal P_ADR (dirección de píxel) para la
desviación hacia los 7 segmentos restantes.
En resumen, la generación de dirección para la
Memoria Intermedia 4 requiere los siguientes registros, como se
muestra en la Tabla 24.
Los valores iniciales para los 6 registros de
línea de memoria intermedia, son la distancia física entre boquillas
(recuérdese que la componente fraccional es efectivamente una parte
divisoria por 5). Por ejemplo, si los puntos de salida impares y
pares de un color están separados por una distancia de 1 punto, y
las boquillas de un color están separadas de las boquillas del
siguiente por 8 puntos, los valores iniciales podrían ser como se
muestra en la columna "Primera Línea" de la Tabla 25. Una vez
que cada conjunto de 19.200 puntos ha sido generado, cada uno de
estos contadores debe incrementarse en 1 componente fraccional, que
representa el hecho de que estamos muestreando cada píxel 5 veces
en la dimensión vertical. Los valores resultantes serán entonces
como se muestra en la columna "Segunda Línea" de la Tabla 25.
Obsérvese que 5:4 + 1 = 0:0 puesto que existen solamente 6 líneas
de memoria intermedia.
Los 6 registros de línea de memoria intermedia
determinan entonces cuál de las líneas de memoria intermedia debe
ser leída para los píxeles impares o pares de un color dado. Para
determina cuales de los 1.280 píxeles de resolución media deben ser
leídos desde la línea específica de la Memoria Intermedia 4,
utilizamos 3 contadores de Dirección de Píxel, uno por cada color,
y un solo contador temporal (P_ADR) que se utiliza para la
indexación en cada segmento. Cada segmento está separado del
siguiente por 800 puntos. En píxeles de resolución media, esta
distancia es de 160. Puesto que 800 es visible exactamente por 5,
solamente necesitamos utilizar la porción entera de los 3
contadores de Dirección de Píxel. Generamos las 8 direcciones para
los píxeles cyan pares, a continuación las 8 direcciones para los
de magenta pares, y finalmente las 8 direcciones para los de
amarillo pares. A continuación hacemos lo mismo para los píxeles
impares de cyan, magenta y amarillo. Este proceso de dos conjuntos
de 24 bits, 24 pares y después 24 impares, se realiza 400 veces. A
continuación reseteamos los contadores de Dirección de Píxel
(X_P_ADR) a 0, y avanzamos los 6 registros de línea de memoria
intermedia. Cada 5 avances de línea, la siguiente línea de memoria
intermedia está ahora libre y lista para la actualización (mediante
el proceso de Convertir en CMY). La Tabla 26 relaciona las etapas de
una manera simple.
El seudo-código para generar las
direcciones de la Memoria Intermedia 4 117, se muestra a
continuación. Obsérvese que se ha relacionado como un conjunto
secuencial de etapas. La Tabla 26 muestra una visión mejor de la
naturaleza paralelo de las operaciones durante la generación de
dirección.
La memoria Intermedia 3 es un conjunto directo
de valores R, G, B de 8 bits. Estos valores RGB son píxeles
intensificados de resolución media (resolución de 1.280), generados
por medio del proceso 65 de Intensificación, y leídos por el
proceso 66 de Convertir en CMY.
No es necesario doblar la Memoria Intermedia 116
de almacenamiento temporal. Esto se debe a que el proceso 66 de
lectura (Convertir en CMY) solamente requiere los valores RGB para
los primeros 39 ciclos, mientras que el proceso 65 de escritura
(Intensificación) necesita 49 ciclos antes de ser leídos para
actualizar realmente los valores RGB.
La conversión de RGB a CMY se realiza en el
espacio de resolución medio (resolución de 1.280) como se ha
descrito en la Sección 3.2.7.
El proceso 66 de conversión debe producir los
píxeles contone 117 de almacenamiento intermedio (Memoria Intermedia
4) a una velocidad suficientemente rápida como para seguir el ritmo
del proceso 113 de Interpolación
Ascendente-Semitono-Reformateo.
Puesto que cada valor contone se utiliza durante 25 ciclos (5 veces
en cada una de las dimensiones x e y), el proceso de conversión
puede necesitar hasta 25 ciclos. Esto totaliza 75 ciclos para el
conjunto de las 3 componentes de color.
El procedimiento según ha sido aquí descrito,
requiere solamente 14 ciclos por componente de color, con los
valores RGB de entrada realmente liberados después de 39 ciclos. Si
el proceso se implementa con lógica que requiera acceso a los
valores RGB de entrada durante más de 49 ciclos, entonces la Memoria
Intermedia 3 116 requerirá un doble almacenamiento intermedio,
puesto que son actualizados mediante el proceso 65 de
Intensificación después de ese tiempo.
La conversión se realiza como interpolación
tri-lineal. Se utilizan tres tablas de búsqueda de
17 x 17 x 17 para el proceso de conversión: RGB a Cyan 90, RGB a
Magenta 91 y RGB a Amarillo 92. Sin embargo, puesto que tenemos que
realizar 25 ciclos para efectuar cada interpolación
tri-lineal, no hay necesidad de ninguna unidad de
interpolación tri-lineal rápida. Al contrario, 8
llamadas a un proceso 130 de interpolación lineal es más que
adecuado.
La generación de dirección para su indexación en
las tablas de búsqueda, es directa. Utilizamos los 4 bits más
significativos de cada componente de color de 8 bits para la
generación de dirección, y los 4 bits menos significativos de cada
componente de color de 8 bits para la interpolación entre valores
recuperados desde las tablas de conversión. El direccionamiento en
la tabla de búsqueda requiere un sumador debido al hecho de que la
tabla de búsqueda tiene dimensiones de 17 en vez de 16.
Afortunadamente, la multiplicación de un número X de 4 bits por 17
da como resultado un número XX de 8 bits, y por lo tanto no requiere
ningún sumador o multiplicador, y la multiplicación de un número de
4 bits por 17^{2} (289) es sólo ligeramente más complicado,
requiriendo una única adición.
Aunque la interpolación podría ser realizada de
forma más rápida, utilizamos un simple sumador para generar
direcciones y disponer de una unidad de interpolación de un solo
ciclo. Por consiguiente, estamos capacitados para calcular la
interpolación para la generación de una única componente de color
desde el RGB en 14 ciclos, como se muestra en la Tabla 27. El
proceso debe ser repetido 3 veces con el fin de generar cyan,
magenta y amarillo. Son posibles métodos más rápidos, pero no es
necesario.
\vskip1.000000\baselineskip
Según se muestra en la Tabla 27, se puede
utilizar un solo registro ADR y sumador para la generación de
dirección en las tablas de búsqueda. Se pueden utilizar 6 conjuntos
de registros de 8 bits para mantener los resultados intermedios: 2
registros mantienen los valores cargados desde las tablas de
búsqueda, y 4 registros se utilizan para salida desde la unidad de
interpolación. Obsérvese que la entrada a la unidad de interpolación
lineal consiste siempre en un par de registros de 8 bits P1/P2,
P3/P4, y P5/P6. Esto se hace deliberadamente para reducir la lógica
de selección de registro. En el ciclo 14, el registro "V" 131
mantiene el valor de 8 bits finalmente calculado. El resultado de 8
bits puede ser escrito en la posición apropiada en la Memoria
Intermedia 4 117 durante el siguiente ciclo.
Un diagrama de bloques del proceso 66 de
Conversión a CMY, puede ser apreciado en la Figura 48.
Suponiendo que se ejecuta en primer el proceso
para generar cyan, el píxel contone cyan resultante se almacena en
la memoria intermedia contone de cyan de resolución 1.280. El
proceso se ejecuta nuevamente a continuación sobre la misma entrada
RGB para generar el píxel magenta. Este píxel magenta contone se
almacena en la memoria intermedia contone de magenta de resolución
1.280. Finalmente, el píxel contone amarillo se genera a partir de
la misma entrada RGB, y el píxel resultante amarillo se almacena en
la memoria intermedia contone de amarillo de resolución 1.280.
La generación de dirección para escribir en la
memoria intermedia contone 117 (Memoria Intermedia 4), es directa.
Se utiliza una sola dirección (y los bits ColorSelect que la
acompañan) para escribir en cada una de las tres memorias
intermedias de color. La memoria intermedia de Cyan es escrita en el
ciclo 15, la Magenta en el ciclo 30, y la Amarilla en el ciclo 45.
La dirección de píxel se incrementa en1 cada 75 ciclos (después de
que la totalidad de los 3 colores han sido escritos). La línea en
la que se está escribiendo se incrementa con reiniciación una vez
cada 5 pulsos de AdvanceLine. El orden de las líneas que se están
escribiendo es simplemente
0-1-2-3-4-5-0-1-2-3
... etc. De ese modo, las escrituras (25 x 1.280 x 3) se equilibran
con las lecturas (19.200 x 5).
La Memoria Intermedia 2 acepta la salida
procedente del proceso 112 de
Resimple-CreateLuminance, donde se genera un píxel
RGB y L completo para una coordenada de píxel dada. La salida de la
Memoria Intermedia 2 115 va hasta el proceso 65 de Intensificación,
lo que requiere un conjunto de 3 x 3 de valores 135 de luminancia
centrados en el píxel que está siendo intensificado.
Por consiguiente, durante el proceso 66 de
intensificación, existe la necesidad de un acceso a la matriz 3 x 3
de valores de luminancia, así como también al valor 136 RGB
correspondiente para el píxel central de luminancia. Al mismo
tiempo, los siguientes 3 valores de luminancia y el valor central
RGB correspondiente deben ser calculados mediante el proceso 112 de
Resimple-CreateLuminance. La vista lógica de los
accesos a la Memoria Intermedia 2 115 se muestra en la Figura
49.
La implementación real de la Memoria Intermedia
2 115 se realiza simplemente como una RAM 4 x 6 (24 entradas) de 8
bits, proporcionando el direccionamiento sobre lectura y escritura
el desplazamiento efectivo de valores. Un contador de columna de 2
bits, puede ser incrementado con el reinicio para proporcionar una
memoria intermedia cíclica, que implementa de forma efectiva el
equivalente de desplazamiento de los datos de la memoria intermedia
completa en 1 posición de columna. El hecho de que no tengamos
necesidad de la cuarta columna de datos RGB, no es relevante, y
simplemente utiliza 3 bytes y el ahorro de no tener que implementar
ningún desplazamiento ni lógica de lectura/ escritura complicados.
En un ciclo dado, la RAM puede, o bien ser escrita o bien ser
leída. Los procesos de lectura y de escritura tienen 75 ciclos para
completar con el fin de seguir el ritmo de la cabeza de
impresión.
La unidad 65 de Intensificación realiza la tarea
de intensificación que se ha descrito en la Sección 3.2.6. Puesto
que los píxeles RGB intensificados son almacenados en la Memoria
Intermedia 3 116, la Unidad 65 de Intensificación debe seguir el
ritmo del proceso 66 de Convertir en CMY, lo que implica que un
píxel RGB completo debe ser intensificado dentro de los 745
ciclos.
El proceso de intensificación incluye un filtro
pasa-alto de L (un canal generado a partir de los
datos RGB y almacenado en la Memoria Intermedia 2), y añadir el L
filtrado de nuevo a las componentes RGB, según se describió en la
Tabla 12 dentro de la Sección 3.2.6.2. El filtro
pasa-alto utilizado es un filtro
pasa-alto básico que utiliza un función de
convolución de 3 x 3, como se muestra en la Figura 50.
El filtro pasa-alto se calcula
sobre 10 ciclos. El primer ciclo carga el registro 140 temporal con
8 veces el valor de píxel central (el píxel central desplazado a la
izquierda en 3 bits). Los siguientes 8 ciclos restan los 8 valores
de píxel restantes, con un fondo de 0. De ese modo, el procedimiento
completo puede ser realizado mediante un sumador. El ciclo 10
incluye la multiplicación del resultado por una constante 141. Esta
constante es la representación de 1/9, pero es un registro que
permite que la cantidad sea alterada mediante software, mediante
algún factor escalar.
La cantidad total se añade a continuación a los
valores R, G y B (con un techo de 255), y se escriben en la Memoria
Intermedia 3 durante los ciclos 72, 73 y 74. Calcular/ escribir los
valores RGB intensificados durante los 3 últimos ciclos del
conjunto de 75 ciclos, elimina la necesidad de un doble
almacenamiento temporal intermedio en la Memoria Intermedia 3.
La estructura de la unidad de Intensificación
puede ser apreciada en la Figura 51.
La unidad 142 de sumador conectada a la Memoria
Intermedia 2 115, es un substractor con un fondo de 0. El TMP 140
se carga con 8 x el primer valor de L durante el ciclo 0 (de 75), y
a continuación los siguientes 8 valores de L se restan del mismo.
No se pone signo al resultado, puesto que la substracción tiene como
fondo 0.
Durante el ciclo 10º (Ciclo 9), el total de 11
bits del TMP 140 se multiplica por un actor escalar (típicamente
1/9, pero bajo control de software, de modo que el factor puede ser
ajustado), y se escribe de nuevo en el TMP 140. Solamente 8 bits
enteros del resultado se escriben en el TMP (la fracción se
desecha), de modo que el límite de unidad de multiplicar es 255. Si
se utilizan un factor escalar de 1/9, el valor máximo escrito será
226 (255 x 8/9). El factor escalar es 8 bits de fracción, con el bit
representando 1/8. El factor escalar variable puede tener en cuenta
el hecho de que diferentes formatos de impresión son el resultado de
escalar la imagen CFA con una cantidad diferente (y de ese modo, la
convolución de 3 x 3 producirá resultados correspondientemente
escalados).
Los valores intensificados para el rojo, el
verde y el azul, se calculan durante el Ciclo 72, el Ciclo 73 y el
Ciclo 74, y se escriben en los registros R, G y B de la Memoria
Intermedia 3 116, una escritura por ciclo. El cálculo realizado en
estos 3 ciclos consiste simplemente en la adición de TMP al R, G y B
de la Memoria Intermedia 2 correspondiente al píxel central.
La Generación de Dirección es directa. Escribir
en la Memoria Intermedia 3 116 es simplemente R, G y B en los
ciclos 72, 73 y 74, respectivamente. La lectura en la memoria
Intermedia 2 115 hace uso de la naturaleza cíclica de la Memoria 2
Intermedia. La dirección consiste en una componente de columna de 2
bits (que representa cuál de las 4 columnas debe ser leída), y un
valor de 3 bits que representa L1, L2, L3, R, G o B. El número de
columna empieza por 1 en cada línea, y se incrementa (con reinicio
cíclico) cada 75 ciclos. El orden de lectura en la Memoria
Intermedia 2 se muestra en la Tabla 28. El registro C es una
componente de columna de 2 bits de la dirección. Toda adición sobre
C es de módulo 4 (se reinicia cíclicamente dentro de 2 bits).
\vskip1.000000\baselineskip
Tras el Ciclo 74, el registro C conserva el
número de columna para el siguiente conjunto de cálculo, haciendo
así que la búsqueda durante el siguiente Ciclo 0 sea válida.
La intensificación puede empezar solamente
cuando existan suficientes píxeles L y RGB escritos en la Memoria
Intermedia 2 (de modo que el filtro pasa-alto sea
válido). El proceso de intensificación debe detenerse por lo tanto
hasta que el proceso de escritura de la Memoria Intermedia 2 haya
avanzado 3 columnas.
La Memoria Intermedia 1 mantiene los píxeles de
blanco balanceado y rango expandido a la resolución espacial de
captura original. Cada píxel se almacena con 10 bits de resolución
de color, en comparación con la resolución de 8 bits por píxel de
resolución de color de almacenamiento de imagen de la RAM de
imagen.
La Memoria Intermedia 1 está dispuesta como 3
memorias intermedias direccionables por separado: una para cada
plano de color del rojo 145, verde 146 y azul 147. Se muestra un
compendio simple de las memorias intermedias en la Figura 52.
Durante el transcurso de los 75 ciclos, se leen
16 entradas desde cada una de las 3 memorias intermedias 3 veces
por medio del proceso 112 de Remuestreo, y se escriben hasta 29
nuevos valores en las 3 memorias intermedias (el número exacto
depende del factor escalar y de la posición actual de
sub-píxel durante el remuestreo).
Las memorias intermedias deben ser
suficientemente amplias como para la lectura y la escritura se pueda
realizar sin interferir una con otra. Durante le proceso de
lectura, se leen 4 píxeles desde cada una de las 6 filas. Si el
factor escalar es muy grande (por ejemplo, escalamos a Panoramic),
los mismos píxeles de entrada pueden ser leídos múltiples veces
(utilizando una posición de función diferente para el remuestreo).
Eventualmente, sin embargo, se requerirán los siguientes píxeles.
Si no escalamos tanto, los nuevos píxeles pueden ser requeridos
antes de l siguiente ciclo de generación de píxel (es decir, dentro
de los 75 ciclos de reloj).
Observando los factores escalares de la Tabla 9
y de la Tabla 11, el peor caso para el escalado es el formato 31
Passport:
- \bullet
- El plano verde tiene un valor \Delta para Passport de 1,5625, lo que indica que 4 posiciones pueden estar contenidas dentro de 6 posiciones de píxel CFA. Sin embargo, cada fila de muestras verdes solamente mantiene cada píxel alterno. Esto significa que solamente se necesitan 4 muestras por fila (el peor caso es 4, no 3, debido al peor caso de posición inicial). El movimiento en Y indica el requisito de una columna de muestra adicional, que hace 5. Finalmente, se requiere una columna de muestra adicional para la escritura. Esto da un total de 6 muestras por fila. Se requieren 7 filas para una muestra simple. Para generar los 3 conjuntos de píxeles RGB para cada posición x, el movimiento máximo en y será de 4 filas (3,125 = 2 x 1,5625). El movimiento X añade una fila de muestra por arriba y por abajo. Por consiguiente, se requiere un total de 13 filas. Para más detalles, véase la Sección 10.2.10.
- \bullet
- Los planos rojo y azul tienen un valor \Delta para Passport de 0,78125, lo que indica que 4 posiciones pueden estar contenidas en el interior de 4 muestras. Se requiere una muestra adicional para escribir mientras que las 4 restantes están siendo leídas. Esto da un total de 5 muestras por fila, que se incrementa además hasta 6 muestras para emparejarse con el plano verde (a efectos de arranque). Se requieren 6 filas para proporcionar movimiento en y. Para más detalles, véase la Sección 10.2.10.
Cada sub-memoria intermedia se
implementa como una RAM con descodificación para leer o escribir una
muestra simple de 10 bits por ciclo. Las
sub-memorias intermedias se han resumido en la Tabla
29, y consumen menos de 200 bytes.
\vskip1.000000\baselineskip
El proceso 112 de Remuestrear y Crear Canal de
Luminancia es responsable de la generación del valor de píxel RGB
en un espacio de resolución media mediante un remuestreo apropiado
de las imágenes planares R, G y B de rango expandido y blanco
balanceado, como se describe en la Sección 3.2.5. Adicionalmente,
los valores de luminancia para el píxel RGB dado, así como también
los valores de luminancia para el píxel por encima y por debajo del
píxel RGB, deben ser generados para su uso en el último proceso de
intensificación.
El tiempo permitido para producir el valor RGB y
3 valores L es de 75 ciclos. Dado que L es simplemente la media del
mínimo y el máximo de R, G y B para una posición de píxel dada
(véase la Sección 3.2.6.1), debemos producir efectivamente valores
RGB para 3 coordenadas de píxel: el píxel en cuestión y el píxel de
por encima y por debajo. Así, disponemos de 75 ciclos en los que
calcular las 3 muestras RGB de resolución media y sus valores L
correspondientes.
Introducir en memoria intermedia valores L (y
por tanto valores RGB) para salvar el recálculo, requiere demasiada
memoria, y en cualquier caso, tenemos tiempo suficiente para generar
los valores RGB. La Memoria Intermedia 4 117 contiene píxeles de
resolución media, pero no pueden ser utilizados debido a que
contiene píxeles CMY intensificados (en vez de píxeles RGB no
intensificados).
El proceso de remuestreo puede ser visto como 3
conjuntos de generación RGB, cada uno de los cuales debe ser
completado dentro de 25 ciclos (para un tiempo máximo total
transcurrido de 75 ciclos). El proceso de generación de un valor
RGB simple puede ser visto, a su vez, como 3 procesos realizados en
paralelo: el cálculo de R, el cálculo de G, y el cálculo de B, todo
ello para una coordenada de píxel de resolución media dada. La
teoría para generar cada uno de estos valores, puede ser encontrada
en la Sección 3.2.5, pero la conclusión consiste en ejecutar
efectivamente tres filtros de reconstrucción de imagen, uno en cada
canal de la imagen. En el caso del PCP, realizamos la
reconstrucción de imagen con 5 puntos de muestro, requiriendo 4
coeficientes en la función de convolución (puesto que un
coeficiente es siempre 0 y de ese modo no se requiere el punto de
muestra).
Por consiguiente, el cálculo del píxel R de
resolución media se consigue ejecutando un filtro de reconstrucción
de imagen sobre los datos R. El cálculo del píxel G de resolución
media se logra ejecutando un filtro de resolución de imagen sobre
los datos G, y el cálculo del píxel B de resolución media se logra
ejecutando un filtro de reconstrucción de imagen sobre los datos B.
Aunque las funciones son simétricas en x e y, no son iguales para
cada plano de color. R y B son probablemente la misma función debido
a sus características similares de imagen, pero el plano G, debido
a la rotación requerida para la reconstrucción de imagen, debe tener
una función diferente. La vista de alto nivel del proceso puede ser
apreciada en la Figura 53. La generación de dirección no ha sido
mostrada.
El proceso de remuestreo puede comenzar
solamente cuando existen píxeles suficientes en la Memoria
Intermedia 1 para la línea de píxel actual que se está generando.
Este será el caso una vez que se hayan escrito 4 columnas de datos
en cada uno de los planos de color en la Memoria Intermedia 1 114.
El proceso 112 de remuestreo debe detenerse hasta ese momento.
Para calcular un valor de píxel de resolución
media de un plano de color dado, tenemos de 25 ciclos disponibles.
Para aplicar la función área de muestra 4 x 4, aplicamos la función
1D (indexada mediante x) sobre cada una de las 4 filas de 4
muestras de entrada. A continuación aplicamos la función 1D
(indexada mediante y) sobre los 4 valores de píxel resultantes. El
resultado final es el píxel de salida remuestreado. La aplicación de
un único coeficiente a cada ciclo proporciona un total de 16 ciclos
para generar los r valores intermedios, y 4 ciclos para generar el
valor de píxel final, para un total de 20 ciclos.
Con respecto a la precisión, los píxeles de
entrada son de 10 bits cada uno de ellos (8:2), y los coeficientes
de la función son de 12 bits. Mantenemos 14 bits de precisión
durante las 4 etapas de cada aplicación de la función (8:6), pero
solamente salvamos 10 bits para el resultado (8:2). Así, se puede
utilizar el mismo ingenio de convolución cuando la convolución se
realice en x e y. La salida final de R, G o B es de 8 bits.
El corazón del proceso de remuestreo lo
constituye la Unidad de Convolución 50, como se muestra en la Figura
54.
El proceso de remuestreo incluye entonces 20
ciclos, como se muestra en la Tabla 30. Obsérvese que la Fila 1,
Píxel 1, etc., se refiere a la entrada desde la Memoria Intermedia
1 114, y debe ser tomado en consideración por el mecanismo de
direccionamiento (véase más abajo).
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Según se ha descrito en la Sección 3.2.6.1,
debemos convertir 80 desde RGB a L para el posterior proceso de
intensificación. Consideramos el espacio de color L*a*b CIE 1976,
donde L es perceptivamente uniforme. Para la conversión desde RGB a
L (el canal de luminancia), promediamos el mínimo y el máximo de R,
G y B, como
sigue:
sigue:
\vskip1.000000\baselineskip
L =
\frac{M\text{Í}N(R,G,B) +
MÁX(R,G,B)}{2}
\vskip1.000000\baselineskip
La generación de valores R, G y B de un píxel
dado, se realiza en paralelo, tomando 20 ciclos. El tiempo total
para la generación de L según se describe aquí, es de 4 ciclos. Esto
hace que el tiempo total de generación de un conjunto de píxel RGBL
sea de 24 ciclos, con 1 ciclo para compartir (puesto que el proceso
debe ser completado dentro de los 25 ciclos).
El valor de L puede ser así escrito de manera
segura en la Memoria Intermedia 2 115 en el ciclo 25º. La generación
de dirección se describe a continuación.
Un comparador simple de 8 bits puede producir 3
bits en 3 ciclos, que pueden ser utilizados posteriormente para
seleccionar las 2 entradas para el sumador, como se muestra en la
Tabla 31. La división por 2 puede ser incorporada de simplemente
en el sumador.
Puesto que el sumador simplemente añade el valor
mínimo al máximo, el orden no es importante. Por consiguiente, de
las 2 entradas al sumador, Input1 puede ser una opción entre R y G,
mientras que Input2 es una opción entre G y B. La lógica es una
minimización de los patrones de bit apropiados de la Tabla 31.
La salida desde el Remuestreador es un píxel RGB
simple, y 3 píxeles de luminancia (L) centrados verticalmente sobre
el píxel RGB. Los 3 valores de L pueden ser escritos en la Memoria
Intermedia 2, uno cada 25 ciclos. Los valores R, G y B deben ser
escritos después del ciclo 45 y antes del ciclo 50, puesto que el
segundo píxel generado es el píxel central cuyos valores RGB deben
ser mantenidos. La dirección Buffer2 consiste en un componente de
columna de 2 bits (que representa cuál de las 4 columnas ha de ser
escrita), y un valor de 3 bits que representa L1, L2, L3, R, G, o
B. El número de columna empieza en 0 en cada línea, y se incrementa
(con reinicio cíclico) cada 75 ciclos (es decir, después de
escribir L3).
El método de cálculo de la dirección de la
función es el mismo que se ha descrito al final de la Sección 3.2.5.
Cada función es de 1 dimensión, con 64 entradas en la tabla. Los 6
bits más significativos (truncados) de componente fraccional en el
espacio de función actual, se utilizan para indexar en la tabla de
coeficientes de función. Para los 16 primeros ciclos, la ordenada X
se utiliza para indexar la función, mientras que en los siguientes
4 ciclos se utiliza la ordenada Y. Puesto que la función es
simétrica, se puede utilizar la misma función para ambas X e Y.
Para cada uno de los 1.280 valores
remuestreados, necesitamos producir 3 píxeles: el píxel en cuestión
161, y los píxeles de por encima 160 y por debajo 162 de ese píxel.
En vez de generar un píxel central y después moverse arriba y abajo
desde el píxel central, generamos un píxel 160 y generamos dos
píxeles 161, 162 por debajo del mismo. El segundo píxel 161
generado se toma el píxel central. A continuación volvemos a la fila
original y generamos los siguientes 3 píxeles en la siguiente
posición de salida. De esta manera, como muestra la Figura 55,
generamos 3 píxeles para cada una de las 1.280 posiciones.
De ese modo, disponemos de una posición actual
en el espacio de la función. Según avanzamos hasta el siguiente
píxel en X o Y en el espacio de entrada original, añadimos valores
de datos apropiados a estas coordenadas de función. Observando la
Figura 56, vemos dos casos de espacio de entrada girado y no
girado.
Consideremos que el movimiento en X e Y como
\DeltaX y \DeltaY, siendo sus valores dependientes del formato
de impresión, y por tanto del valor de mps (véase la Sección 3.2.5).
Para el canal del verde, \DeltaX = \DeltaY = ½ mps. Para los
canales del rojo y del azul, \DeltaX = 1/mps y \DeltaY = 0.
Véase la Tabla 9 y la Tabla 11 para valores apropiados de \DeltaX
y de \DeltaY.
Ahora podemos aplicar los valores \DeltaX y
\DeltaY al movimiento dentro de la función. Por consiguiente,
cuando avanzamos en X, añadimos \DeltaX a X y restamos \DeltaY
de Y. En el caso no girado, simplemente se resta 0 de Y. De igual
modo, cuando avanzados en Y, añadimos \DeltaY a X y \DeltaX a Y.
Podemos hacer esto debido a que el movimiento en X y en Y difiere
en 90 grados.
La generación de dirección para la búsqueda de
función supone una posición de partida establecida mediante
software, y dos deltas \DeltaX y \DeltaY con respecto al
movimiento en Y en el espacio de la función. La lógica de
generación de función se muestra en seudo-código que
sigue:
Según se muestra en el
seudo-código, la generación de 3 píxeles se produce
1.280 veces. Asociadas a la generación de cada píxel, están 2
adiciones, las cuales pueden ser realizadas durante el transcurso de
la tarea de 25 ciclos GeneratePixel. Cada tarea GeneratePixel es de
25 ciclos, consistiendo en 4 conjuntos de 4 ciclos que indexan la
función por medio de KernelX (coeficientes 0, 1, 2, 3), seguidos de
4 ciclos que indexan la función a través de KernelY (coeficientes
0, 1, 2, 3), seguidos de 9 ciclos de espera.
Obsérvese que todos los valores son positivos y
solamente fraccionales. Las dos realizaciones a partir de la
actualización de los valores X e Y de la función, se disponen a la
salida para la generación de dirección de la Memoria Intermedia 1
(véase la Sección 10.2.10.5). Estas banderolas de realización
indican simplemente si las ordenadas particulares para la función
se reiniciaron cíclicamente o no durante la operación matemática.
El reinicio cíclico puede ser o bien por encima de 1 o bien por
debajo de 0, pero el resultado es siempre positivo.
Los dos bits de realización son enviados siempre
a la Unidad de Girar/ Balance del Blanco/ Expansión de Rango, para
su uso en la determinación de líneas de entrada relativas de la
imagen.
El Remuestreador 112 lee desde la Memoria
Intermedia 1 114, que cosiste en 3 memorias intermedias 145, 146,
147 direccionables individualmente: una por cada plano de color.
Cada memoria intermedia puede ser, o bien leída o bien escrita,
durante cada ciclo.
El proceso de lectura de 75 ciclos se fracciona
en 3 conjuntos de 25 ciclos: un conjunto de 25 ciclos para la
generación de cada píxel. Cada conjunto de 25 ciclos incluye 16
lecturas de la Memoria Intermedia 1, seguidas de 9 ciclos sin
ningún acceso. La Memoria Intermedia 1 se escribe durante estos 9
ciclos. Las 16 lecturas de la Memoria Intermedia 1 114, son
efectivamente 4 conjuntos de 4 lecturas, y coinciden con 4 grupos de
4 lecturas en la función para cada plano de color.
La generación de dirección incluye entonces la
generación de 16 direcciones para calcular el primer píxel (seguido
de 9 ciclos de espera), la generación de 16 direcciones para
calcular el segundo píxel (seguido de 9 ciclos de espera), y
finalmente la generación de las 16 direcciones para el tercer píxel
(seguido de 9 ciclos de espera).
Cada plano de color tiene sus propios parámetros
de dirección de Memoria Intermedia 1 de partida. Según son
generados los 3 conjuntos de direcciones para cada una de las 1.280
posiciones a lo largo de la línea, y según avanza el muestreador
desde una línea de 1.280 muestras hasta la siguiente, los dos bits
de realización procedentes de la Unidad de Generación de Dirección
de Función son utilizados para actualizar estos parámetros de
dirección de la Memoria Intermedia 1.
La generación de dirección para la
sub-memoria intermedia 146 del verde en el interior
de la Memoria Intermedia 1 114, es más complicada que en la
sub-memoria intermedia 145 del rojo y en la
sub-memoria intermedia 147 del azul, por dos
razones principales:
- \bullet
- el canal del verde representa un patrón a modo de tablero de ajedrez en el CFA. Las líneas alterna consisten en píxeles impares o pares solamente. Para remuestrear el canal del verde, debemos girar efectivamente el canal 45 grados.
- \bullet
- existe el doble de píxeles verdes que de píxeles rojos o azules. Remuestrear significa la lectura de más muestras en la misma cantidad de tiempo: existen aún 16 muestras leídas para generar cada píxel en el espacio de resolución media, pero existe una probabilidad más alta de hacer avanzar la memoria intermedia cada vez. La probabilidad exacta depende del factor escalar utilizado.
Sin embargo, se utiliza el mismo concepto de
utilización de una RAM como memoria intermedia cíclica para el
canal del verde. La sub-memoria intermedia del verde
es una RAM de 78 entradas con una estructura lógica de 13 filas,
conteniendo cada una de ellas 6 entradas. La relación entre la
dirección de RAM y la posición lógica se muestra en la Figura
57.
Las muestras en la Memoria Intermedia 1 146
representan un patrón a modo de tablero de ajedrez en el CFA. En
consecuencia, las muestras de una fila (por ejemplo, las direcciones
0, 13, 26, 39, 52, 65) pueden representar píxeles impares o pares,
dependiendo de la línea actual dentro de la imagen completa, y si la
imagen ha sido girada o no en 90 grados. Esto se ilustra en la
Figura 58.
Por consiguiente, cuando mapeamos un área de
muestra de 4 x 4 en la memoria intermedia, existen dos posibilidades
para la interpretación de las muestras. Como resultado, existen dos
tipos de direccionamiento, dependiendo de si la línea actual está
representada por píxeles impares o pares. Esto significa que las
filas pares con rotación de imagen 0 tienen el mismo
direccionamiento que las filas impares con rotación de imagen 90,
puesto que ambas contienen píxeles impares. De igual modo, las
filas impares con rotación de imagen 0 tendrán el mismo
direccionamiento que las filas pares con rotación de imagen 90,
puesto que ambas contienen píxeles pares. La decisión se ha
resumido en la Tabla 32.
\vskip1.000000\baselineskip
La ventana de muestreo rea 4 x 4, es la manera
en que giramos efectivamente la memoria intermedia en 45 grados. La
rotación de 45 grados es necesaria para el remuestreo efectivo, como
se describe en la Sección 3.2.5.
Suponiendo por el momento que solamente
necesitamos generar un remuestreo simple, consideramos el
direccionamiento de la memoria intermedia mediante el examen de dos
tipos de ventanas de muestreo 4 x 4 como se muestra en la Figura
59.
Aunque los dos tipos de muestreo 4 x 4 parecen
similares, la diferencia se deriva de la forma en que se representa
el mapeo 4 x 4 en la imagen planar. La Figura 60 ilustra el mapeo
del muestreo 4 x 4 de Tipo 1 en la sub-memoria
intermedia del verde. Solamente las 7 filas superiores y las 4
columnas más a la derecha han sido representadas, puesto que el
área de la muestra 4 x 4 está contenida completamente dentro de esta
área.
El mapeo de píxeles de memoria intermedia para
muestrear las filas para el proceso de muestreo de Tipo 2, es muy
similar y puede ser apreciado en la Figura 61.
En ambos Tipo 1 y Tipo 2 de direccionamiento de
las 16 muestras existen dos formas de procesamiento de una fila. El
procesamiento del direccionamiento de las Filas 1 y 3 de Tipo 1 es
el mismo (relativamente hablando) que el procesamiento de las filas
2 y 3 de Tipo 2. De igual modo, el procesamiento de las filas 2 y 4
de Tipo 1 es el mismo (relativamente hablando) que el procesamiento
de las filas 1 y 3 de Tipo 2. Denominaremos a estos métodos de
direccionamiento de fila Tipo A 170 y Tipo B 171, como se muestra en
la Figura 62.
Dada una posición de partida para la ventana 4 x
4 (WindowStartAdr) y un tipo de partida (WindowStartType), podemos
generar las direcciones para las 16 muestras por medio de una tabla
de 8 entradas (para atravesar los dos conjuntos de 4 muestras).
Cuando leemos el primer valor de muestra, añadimos una desviación de
la tabla para llegar a la siguiente posición. La desviación
dependerá del tipo (A, B = 0, 1). La desviación desde la cuarta
muestra es la cantidad necesaria para llegar al primer punto de
muestra para la siguiente línea (y debe tener en cuenta el número
de columnas de muestra). Tras generar cada fila de 4 muestras,
intercambiamos Tipo A y Tipo B. La lógica para generar las
direcciones para un conjunto simple de 16 muestras, aparece en el
seudo-código que sigue. El módulo 78 de adición
proporciona el almacenamiento cíclico.
La tabla de búsqueda consiste en 8 entradas: 4
para la generación de desviación de dirección de Tipo A 170, y 4
para la de Tipo B 171. Las desviaciones son todas relativas a la
posición de muestra actual (Adr).
\vskip1.000000\baselineskip
Al final de las 16 lecturas, el bit TypeAB será
el mismo que el valor original (cargado desde WindowStartType).
Leer un solo conjunto de 16 muestras no es
suficiente. Se deben leer tres conjuntos de 16 muestras (que
representan 3 posiciones diferentes en Y en el espacio de entrada
no girado). Al final del primer y segundo conjuntos de 16 muestras,
las posiciones de la función son actualizadas mediante el generador
de dirección de función. Los bits de realización de esta
actualización son utilizados para establecer la ventana para el
siguiente conjunto de 16 muestras. Los dos bits de realización se
indexan en la tabla que contiene una desviación y una banderola de
1 bit. La desviación se añade a WindowStartAdr, y la banderola se
utiliza para determinar si se invierte o no WindowStartType. Los
valores para la tabla se muestran en la Tabla 34.
Al final del tercer conjunto de 16 muestras, las
posiciones de la función son actualizadas para compensar en avance
en X en el espacio de entrada no girado. Esta vez, se produce una
dirección de movimiento diferente, por lo que se utiliza una tabla
de modificación de Offset/TypeAB diferente. No podemos añadir estas
desviaciones al valor WindowStartAdr actual, debido a que
representa una posición de dos movimientos en Y hacia fuera de
donde deseamos iniciar el movimiento. En consecuencia, cargamos
WindowStartAdr y WindowStartType desde otro conjunto de variables:
TopStartAdr y TopStartAdr, que representan la primera entrada en la
línea actual de 1.280. Las dos banderolas de realización
procedentes del generador de dirección de la Función, se utilizan
para la búsqueda en la Tabla 35, para determinar la desviación que
se ha de añadir a TopStartAdr y si se invierte o no TopStartAdr.
Como antes, la adición es el módulo 78 (el tamaño de la RAM del
verde). Los resultados se copian en WindowStartAdr y
WindowStartType par su uso en la generación de los siguientes 3
conjuntos de 16 muestras.
Tras el procesamiento de los 1.280 conjuntos de
3 conjuntos de 16 muestras, empieza la siguiente línea de 1.280.
Sin embargo, la dirección de la primera muestra para la posición 0
dentro de la siguiente línea debe ser determinada. Puesto que las
muestras son siempre cargadas en los lugares correctos en la Memoria
Intermedia 1, podemos empezar siempre exactamente desde la misma
posición en la Memoria Intermedia 1 (es decir, TopStartAdr puede
ser cargado de una Position0Adr constante). Sin embargo, debemos
preocuparnos sobre qué tipo estamos tratando, puesto que el tipo
depende de cuánto avanzamos. Por consiguiente, tenemos un
Position0Type inicial que debe ser actualizado dependiendo de las
banderolas de real9ización desde el generador de dirección de
función. Puesto que nos estamos moviendo en el espacio de entrada Y
no girado, la lógica utilizada es la misma que para la
actualización del WindowStartType, salvo en que se realiza sobre
Position0Type. El nuevo valor para Position0Type se copia en
TopStartType, y en WindowStartAdr para empezar el muestreo de la
primera posición de la nueva línea.
El proceso de muestreo para una línea de
posición de 1.280 dada, no puede empezar hasta que existan entradas
suficientes en al Memoria Intermedia 1, situadas ahí por la Unidad
de Giro/ Balance del Blanco/ Expansión de Rango. Esto ocurrirá 128
ciclos después de cada nueva línea (véase la Sección 10.2.11).
La sub-memoria intermedia 145
del rojo y la sub-memoria intermedia 147 del azul de
la Memoria Intermedia 1, son simplemente 2 RAMs a las que se accede
como memorias intermedias cíclicas. Cada memoria intermedia es de
30 bytes, pero tiene una organización lógica de 6 filas, cada una de
las cuales contiene 6 entradas. La relación entre la dirección de
RAM y la posición lógica, se muestra en la Figura 63.
Para el rojo y el azul, las primeras 16 muestras
que han de ser leídas son siempre las 4 x 4 entradas superiores. No
se puede tener acceso a las dos columnas de muestras restantes por
parte del algoritmo de lectura en esta fase.
Las generación de dirección para estas primeras
16 muestras es simplemente una posición de inicio (en este caso 0)
seguido de 16 etapas de módulo 36 de adición, como se muestra en el
siguiente seudo-código:
Sin embargo, este mecanismo de generación de
dirección es diferente del canal del verde. En vez de diseñar dos
mecanismo de dirección, es posible aplicar el esquema de
direccionamiento del verde a los canales de rojo y de azul, y
simplemente utilizar valores diferentes en las tablas. Esto reduce
la complejidad del diseño. La única diferencia entonces, reside en
el módulo 36 de adición, en vez del módulo 78 de adición. Esto puede
ser proporcionado por un simple multiplexor.
Viendo las diversas tablas de dirección para el
verde, y considerándolas como aplicadas al rojo y al azul, es
evidente que no existe ninguna necesidad de un Tipo, puesto que
ambos canales del rojo y del azul no necesitan ser girados 45
grados. De ese modo, podemos ignorar de forma segura el valor Tipo.
El equivalente rojo/ azul de la Tabla 33, mostrado en la Tabla 36,
posee dos conjuntos de 4 entradas idénticas.
Al igual que con la generación de la dirección
del verde, nos movemos dos veces en Y antes de avanzar hasta la
siguiente entrada de 1.280. Para el rojo y el azul no existe ningún
escalado entre el movimiento en el espacio de la función y el
movimiento den el espacio de entrada. No existe tampoco ninguna
rotación. Según nos movemos en Y, el \DeltaY de 0 se añade a
KernelX (véase generación de dirección de función en la Sección
10.2.10.4). Como resultado, nunca se establecerá la realización de
KernelX. Mirando la Tabla 34, las únicas ocurrencias posibles son
los valores 00 ó 01 KernelX/ KernelY. En el caso de 00, la solución
del verde es no cambiar a ninguno de WindowStartAdr ni
WindowStartType, de modo que esto es también correcto para el rojo
y el azul. En el caso de 01, deseamos añadir 1 a WindowStartAdr, y
no hay que tener ningún cuidado acerca de WindowStartType. Los
valores del verde pueden ser utilizados por lo tanto de manera
segura para el rojo y el azul. El peor caso es el avance en 1 en la
dirección ambas veces, dando como resultado un caso peor de
solapamiento como se muestra en la Figura 65.
Al final del tercer conjunto de 16 muestras,
TopStartAdr y TopStartType deben ser actualizados. Puesto que nos
estamos moviendo en X (y añadiendo \DeltaY = 0 a KernelY), la
realización desde KernelY será siempre 0. El equivalente del rojo/
azul de la Tabla 35 se muestra aquí en la Tabla 37. Obsérvese que
no existe ninguna columna de Tipo, puesto que Tipo no es importante
para el Rojo o el Azul.
El proceso de avance desde una línea de 1.280
conjuntos de 3 píxeles hasta la siguiente, es el mismo que para el
verde. La Position0Adr será la misma para el primer conjunto de 16
muestras para una línea dada (Position0Adr = 0 para el rojo y el
azul), y Tipo es irrelevante. La generación del rojo y del azul debe
iniciarse al mismo tiempo que la generación del verde, de modo que
no puede empezar hasta 128 ciclos después del comienzo de una nueva
línea (véase la Sección 10.2.11).
La tarea real de cargar la Memoria Intermedia 1
114 desde la RAM de imagen 111, incluye las etapas de rotación,
balance del blanco, y expansión de rango 111, como se describió en
la Sección 3.2.3 y en la Sección 3.2.4. Los píxeles deben ser
producidos para la Memoria Intermedia 1 lo suficientemente rápidos
para su uso por parte del proceso 112 de Remuestreo. Esto significa
que durante un grupo simple de 75 ciclos, esta unidad debe estar
capacitada para leer, procesar, y almacenar 6 píxeles rojos, 6
píxeles azules y 13 píxeles verdes.
La etapa de rotación opcional se acomete con la
lectura de los píxeles en el orden apropiado. Una vez que un píxel
dado ha sido leído desde el plano apropiado en el almacenamiento de
la imagen, debe ser balanceado en el blanco y su valor ajustado de
acuerdo con el cálculo de expansión de rango definido en la Sección
3.2.4. El proceso incluye simplemente una única substracción (fondo
0), y una multiplicación (techo 255), ambas frente a constantes
específicas del color. La estructura de esta unidad se muestra en la
Figura 66.
Los umbrales 72 bajos del rojo, verde y azul,
junto con los factores 173 escalares del rojo, verde y azul, se
determinan mediante la CPU 10 tras la generación del histograma para
cada plano de color por medio de la Unidad 8 de Histograma de
Imagen (véase la Sección 9).
Dependiendo de si el píxel actual que está
siendo procesado en la línea es rojo, verde o azul, se multiplexan
el umbral bajo y el factor escalar apropiados en la unidad de
substracción y en la unidad de multiplicación, con la salida
escrita en el plano de color apropiado en la Memoria Intermedia
1.
La unidad de Substracción 172 substrae el valor
de Umbral bajo de 8 bits desde el valor de píxel de RAM de Imagen
de 8 bits, y tiene un fondo de 0. El resultado de 8 bits se hace
pasar hasta la unidad de multiplicación especializada 8 x 8, la
cual multiplica el valor de 8 bits por el factor escalar de 8 bits
(8 bits de fracción, parte entera = 1). Solamente se mantienen los
10 bits superiores del resultado, y representan 8 bits de la parte
entera y 2 bits de la fracción. El multiplicador 174 tiene un techo
de resultado de 255, de modo que si algún bit mayor de 7 bits
hubiera sido establecido como resultado de la multiplicación, el
resultado de la parte entera completa de 8 bits se establece en 1s,
y la parte fraccional se establece en 0.
Aparte de la unidad 172 de substracción y de la
unidad 174 de multiplicación, la mayor parte del trabajo de esta
unidad se realiza mediante el Generador de Dirección 175, el cual
constituye efectivamente la máquina de estado para la unidad. La
generación de dirección está gobernada por dos factores: en un ciclo
dado, solamente se puede realizar un acceso a la RAM 11 de Imagen,
y en un ciclo dado, solamente se puede realizar un acceso a la
Memoria Intermedia 1 114. De los 75 ciclos disponibles, se utilizan
3 conjuntos de 16 ciclos para la lectura de la Memoria Intermedia
1. El uso real es de 3 conjuntos de 25 ciclos, con 16 lecturas
seguidas de 9 ciclos de espera. Eso da un total de 27 ciclos
disponibles para 25 escrituras 86 rojas, 6 azules, 6 verdes). Esto
significa que se satisfacen las dos restricciones si la
temporización de las escrituras en la Memoria Intermedia 1 coincide
con los ciclos de espera del Remuestreador 112.
Una vez que se está ejecutando el proceso de
remuestreo, solamente estamos afectados por la escritura en la
Memoria Intermedia 1 durante el período en que el Remuestreador 112
no está leyendo en la misma. Puesto que el Remuestreador tiene 3
conjuntos de 16 lecturas cada período de 75 ciclos, existen 27
ciclos disponibles para la escritura. Cuando el remuestreador no
está trabajando, deseamos cargar la Memoria Intermedia 1 tan rápido
como sea posible, lo que significa una escritura en la Memoria
Intermedia 1 114 cada ciclo. La Generación de Dirección para la
Memoria Intermedia 1 se ejecuta fuera de una máquina de estado que
toma en consideración estos dos casos. Siempre que se cargue un
valor desde al RAM de Imagen 111, el valor ajustado se escribe en
el color apropiado en la Memoria Intermedia 1 un ciclo más
tarde.
La Generación de Dirección para la Memoria
Intermedia 1 incluye por lo tanto un solo contador de dirección
para cada una de las sub-memorias intermedias del
rojo, el azul y el verde. La dirección inicial para RedAdr, BlueAdr
y GreenAdr, es 0 al comienzo de cada línea en cada caso, y después
de cada escritura en la Memoria Intermedia 1, la dirección se
incrementa en 1, con reinicio cíclico en 36 ó 78, dependiendo de si
se está escribiendo en la memoria intermedia el rojo, el verde o el
azul. No todos los colores se escriben cada período de 75 ciclos.
Una columna de verde requerirá típicamente el rellenado al doble de
velocidad que el rojo o el azul, por ejemplo.
La lógica se muestra en el
seudo-código que sigue:
\vskip1.000000\baselineskip
Cada plano puede ser leído en un de dos
orientaciones: girado en 0 o en 90 grados (giro
anti-horario). Esto se traduce efectivamente como
un acceso a modo de fila o a modo de columna a la imagen planar.
Adicionalmente, permitimos la replicación de píxel marginal o el
color constante para lecturas fuera de los límites de la imagen,
así como también el reinicio cíclico de la imagen para formatos de
impresión tales como Passport 31.
Al comienzo de cada línea de impresión debemos
leer la ImageRAM 11 para cargar la Buffer1 114 tan rápido como sea
posible. Esto equivale a un acceso simple a una muestra de cada
ciclo. El remuestreo solamente puede ocurrir una vez que se han
cargado 5 columnas, lo que significa 5 columnas de 6, 6, y 13
muestras, durante un total de 125 ciclos. Además de un ciclo extra
para el valor final que ha de ser escrito en Buffer1 114 tras
haberse cargado desde ImageRAM 11. Para hacer el conteo más fácil,
redondeamos hasta 128 ciclos.
Tras los primeros 128 ciclos, se produce cada 75
ciclos la comprobación del requisito para cargar la siguiente
columna de muestras para cada uno de los 3 colores, con las muestras
apropiadas cargadas durante los 75 ciclos posteriores. Sin embargo,
el establecimiento inicial de si se debe cargar durante el primer
conjunto de 75 ciclos es siempre 1 para cada color. Esto permite
que la 6ª columna final de cada color dentro de la Memoria
Intermedia 1 sea rellenada.
Al final de cada período de 75 ciclos, la
banderola KernelXCarryOut de cada plano de color del Generador de
Dirección de Función del Remuestreador 112 se comprueba para
determinar si la siguiente columna de muestras debe ser leída. De
manera similar, un pulso AdvanceLine reinicia el proceso sobre la
siguiente línea si KernelYCarryOut ha sido establecida.
Puesto que cada "lectura" comprende
efectivamente 6 ó 13 lecturas para llenar una columna en la Memoria
Intermedia 1, mantenemos una posición inicial con el fin de avanzar
hasta la siguiente "lectura". También mantenemos un valor de
coordenada para permitir la generación de coordenadas
fuera-de-límites que permitan la
replicación de píxel marginal, el color constante y el reinicio
cíclico de imagen.
Consideramos la imagen 180 activa como que está
dentro de unos límites particulares, con determinadas acciones que
han de ser tomadas cuando las coordenadas están fuera del área
activa. Las coordenada pueden ser o bien anteriores a la imagen, o
bien estar dentro de la imagen, o bien posteriores a la imagen,
tanto en términos de líneas como de píxeles. Esto se muestra en la
Figura 67, aunque el espacio de fuera de la zona activa ha sido
exagerado por motivos de claridad.
Obsérvese que debido a que utilizamos (0, 0)
como inicio de la generación de coordenadas, MaxPixel y MaxLine son
también conteos de píxel y de línea. Sin embargo, puesto que la
generación de dirección se ejecuta desde las realizaciones de la
función y los pulsos AdvanceLine desde la MJI 15, estos límites
externos no son necesarios. La generación de dirección para una
línea simplemente continúa hasta que se recibe el pulso AdvanceLine,
y puede incluir replicación marginal, colores constantes para fuera
de límites, o reinicio cíclico de píxel de imagen.
Si disponemos de una dirección, Adr, de la
muestra actual, y deseamos movernos hasta la siguiente muestra, ya
sea sobre la siguiente línea o ya sea sobre la misma línea, las
coordenadas de la muestra cambiarán según se espera, pero la forma
en que la dirección cambia depende de si estamos reiniciando
cíclicamente la imagen activa, y debe producir replicación de píxel
marginal cuando se precise.
Cuando no exista reinicio cíclico de la imagen
(es decir, todos los formatos de impresión excepto Passport 31),
realizamos las acciones de la Tabla 38 según avanzamos de línea o de
píxel. Para girar una imagen en 90 grados, la CPU 10 simplemente
cambia los valores \DeltaLine y \Deltapíxel.
Observando la Tabla 38, la única vez que ADR
cambia es mediante \Deltapíxel cuando PixelSense es 0, y mediante
\DeltaLine cuando LineSense es 0. Siguiendo estas simples normas,
Adr será válida para replicación de píxel marginal. Por supuesto,
si se desea un color constante para fuera de las coordenadas de los
límites, se puede elegir ese valor en vez del valor almacenado en
la dirección apropiada.
Para permitir el reinicio cíclico, comparamos
simplemente el sentido anterior (-, 0, +) para Línea y Píxel con el
nuevo sentido. Cuando el sentido es "-", utilizamos el avance
según se describe en la Tabla 38, pero cuando la ordenada cae fuera
de límites (es decir, moviéndose desde 0 hasta +), actualizamos la
Adr
con un nuevo valor que no está
basado en un delta. Suponiendo que mantenemos la dirección inicial
para la línea actual, de modo que podemos avanzar hasta el inicio
de la siguiente línea una vez que la línea actual ha sido generada,
podemos hacer lo
siguiente:
- \bullet
- Si el cambio es en Píxel, y el sentido del píxel cambia desde 0 a + (lo que indica que nos hemos ido más allá del borde de la imagen), sustituimos Adr por LineStartAdr y sustituimos Píxel por ActiveStartPixel. Línea se mantiene igual.
- \bullet
- Si el cambio es en Línea, y el sentido cambia desde 0 a + (lo que indica que nos hemos ido más allá del borde de la imagen), restamos DeltaColumn de Adr, y sustituimos Línea por ActiveStartLine. Píxel se mantiene igual. Deltacolumn es la desviación de dirección para generar las direcciones de (Píxel, ActiveStartLine) desde (Píxel, ActiveEndLine-1).
La lógica para cargar el número de muestras del
conjunto (ya sea 6 ó 13, dependiendo del color), se muestra en el
seudo-código que sigue.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
El establecimiento de tales variables como
FirstSampleLine, FirstSamplePixel y FirstSampleAdr se realiza en la
sección de generador de dirección que corresponda para realizar
banderolas desde el Generador de Dirección de Función, así como
también pulsos AdvanceLine desde la MJI. La lógica para esta parte
de la generación de dirección se muestra en el siguiente
seudo-código:
\newpage
Existe un número de registros que deben ser
determinados con anterioridad a la impresión de una imagen. Éstos
se resumen aquí en la Tabla 39. Para girar una imagen en 90 grados,
simplemente se intercambian los valores DeltaLine y DeltaPixel, y
se proporciona un nuevo valor DeltaColumn.
[1] Silverbrook Research, 1998,
Authentication of Consumables
[2] Silverbrook Research, 1998,
Authentication Chip.
Aunque la invención ha sido descrita con
referencia a los ejemplos específicos, los expertos en la materia
podrán apreciar que se puede materializar de otras muchas formas.
Los párrafos numerados que siguen proporcionan las direcciones con
una mejor indicación del alcance de la invención, aunque otras
características novedosas y combinación de características
aparecerán también claramente a partir de la descripción que
sigue.
Claims (23)
1. Un procedimiento para proporcionar una
imagen para impresión a una resolución de punto
bi-nivel predeterminada que corresponde a una
resolución de tono continuo predeterminada, incluyendo el
procedimiento las etapas de:
recibir un primer conjunto de datos indicativos
de la imagen, estando el primer conjunto de datos en formato Bayer
planarizado que comprende diferentes planos (45, 46, 47) de color,
teniendo al menos uno (46) de los planos de color una resolución
diferente a la del otro plano o los otros planos (45, 47) de
color;
realizar reconstrucción y remuestreo (64) de
imagen de cada plano de color del primer conjunto de datos, para
crear un segundo conjunto de datos de resolución de tono continuo
predeterminada que sea mayor que la resolución de cada uno de los
planos de color del primer conjunto de datos;
convertir (67) el segundo conjunto de datos en
un tercer conjunto de datos de la resolución de punto
bi-nivel predeterminada que sea mayor que la
resolución de tono continuo predeterminada del segundo conjunto de
datos,
y
y
hacer que el tercer conjunto de datos se
encuentre disponible para una impresora (69) a la resolución de
punto bi-nivel predeterminada.
2. Un procedimiento de acuerdo con la
reivindicación 1, en el que el primer conjunto de datos está en
formato de rojo, verde y azul RGB, y la impresora actúa en
respuesta a un formato de cyan, magenta y amarillo CMY, incluyendo
el procedimiento la etapa de convertir (66) el segundo conjunto de
datos desde un formato RGB a un formato CMY.
3. Un procedimiento de acuerdo con la
reivindicación 1, que incluye la etapa de intensificar (65) el
segundo conjunto de datos.
4. Un procedimiento de acuerdo con la
reivindicación 1, en el que el primer conjunto de datos se obtiene
a partir de un dispositivo sensor, y el procedimiento incluye la
etapa de compensar el primer conjunto de datos respecto a las no
linealidades en el dispositivo sensor.
5. Un procedimiento de acuerdo con la
reivindicación 4, en el que la etapa de compensación incluye
convertir el primer conjunto de datos desde una pluralidad de
"x" muestras de bits a una pluralidad de "y" muestras de
bits, siendo x>y.
6. Un procedimiento de acuerdo con la
reivindicación 5, en el que x = 10 e y = 8.
7. Un procedimiento de acuerdo con la
reivindicación 1, que incluye las etapas adicionales de:
determinar respecto al primer conjunto de datos,
el m% de píxeles más oscuros y el n% de píxeles con más
luminosidad;
ajustar el primer conjunto de datos para igualar
el m% de píxeles más oscuros, y
ajustar el primer conjunto de datos para igualar
el n% de píxeles con más luminosidad.
8. Un procedimiento de acuerdo con la
reivindicación 1, que incluye la etapa adicional de ajustar el
primer conjunto de datos para proporcionar un balance (62) del
blanco predeterminado.
9. Un procedimiento de acuerdo con la
reivindicación 1, que incluye la etapa adicional de ajustar el
primer conjunto de datos para proporcionar una expansión (63) de
rango predeterminada.
10. Un procedimiento de acuerdo con la
reivindicación 8 o la reivindicación 9, en el que la resolución de
cada plano de color del primer conjunto de datos se incrementa
mientras que se mantiene la misma resolución espacial.
11. Un procedimiento de acuerdo con la
reivindicación 1, en el que el primer conjunto de datos se ajusta
selectivamente para que proporcione la imagen con una orientación
rotacional predeterminada.
12. Un aparato para proporcionar una imagen
para impresión a una resolución de punto bi-nivel
predeterminada que corresponde con una resolución de tono continuo
predeterminada, incluyendo el aparato:
medios de entrada para recibir un primer
conjunto de datos indicativos de la imagen, estando el primer
conjunto de datos en formato Bayer planarizado que comprende
diferentes planos (45, 46, 47) de color, siendo al menos uno (46)
de los planos de color de una resolución diferente a la del otro
plano o los otros planos (46, 47) de color,
\newpage
medios de muestreo para reconstrucción y
remuestreo (64) de imagen del primer conjunto de datos, para crear
un segundo conjunto de datos con una resolución de tono continuo
predeterminada que sea mayor que la resolución de cada uno de los
planos de color del primer conjunto de datos,
medios de procesamiento para convertir (67) el
segundo conjunto de datos en un tercer conjunto de datos con la
resolución de punto bi-nivel predeterminada que es
mayor que la resolución de tono continuo predeterminada del segundo
conjunto de datos, y
medios de salida para hacer que el tercer
conjunto de datos se encuentre disponible (69) para que una
impresora imprima a la resolución de punto bi-nivel
predeterminada.
13. Un aparato de acuerdo con la reivindicación
12, en el que el primer conjunto de datos está en formato RGB de
rojo, verde y azul, y la impresora actúa en respuesta a un formato
CMY de cyan, magenta y amarillo, convirtiendo (66) los medios de
procesamiento el segundo conjunto de datos desde un formato RGB a un
formato CMY.
14. Un aparato de acuerdo con la reivindicación
12, que incluye además un filtro de intensificación para
intensificar (65) el segundo conjunto de datos.
15. Un aparato de acuerdo con la reivindicación
12, en el que el primer conjunto de datos se obtiene a partir de un
dispositivo sensor, y el medio de entrada compensa el primer
conjunto de datos en cuanto a las no linealidades en el dispositivo
sensor.
16. Un aparato de acuerdo con la reivindicación
15, en el que la compensación respecto a las no linealidades
incluye convertir el primer conjunto de datos desde una pluralidad
de "x" muestras de bits a una pluralidad de "y" muestras
de bits, siendo x>y.
17. Un aparato de acuerdo con la reivindicación
16, en el que x = 10 e y = 8.
18. Un aparato de acuerdo con la reivindicación
12, en el que los medios de entrada:
determinan con relación al primer conjunto de
datos, el m% de píxeles más oscuros y el n% de píxeles más
brillantes;
ajustan el primer conjunto de datos para igualar
el m% de píxeles más oscuros, y
ajustan el primer conjunto de datos para igualar
el n% de píxeles más brillantes.
19. Un aparato de acuerdo con la reivindicación
12, en el que los medios de entrada ajustan el primer conjunto de
datos para proporcionar un balance (62) del blanco
predeterminado.
20. Un aparato de acuerdo con la reivindicación
12, en el que los medios de entrada ajustan el primer conjunto de
datos para proporcionar una expansión (63) de rango
predeterminada.
21. Un aparato de acuerdo con la reivindicación
19 o la reivindicación 20, en el que los medios de entrada
incrementan la resolución de cada plano de color del primer conjunto
de datos mientras que se mantiene la misma resolución espacial.
22. Un aparato de acuerdo con la reivindicación
12, en el que los medios de entrada ajustan selectivamente el
primer conjunto de datos para proporcionar la imagen con una
orientación rotacional predeterminada.
23. Una cámara que incluye:
un conjunto CCD para proporcionar una imagen
Bayer;
una impresora para proporcionar selectivamente
una imagen impresa, y
un aparato de acuerdo con la reivindicación 12,
para recibir la imagen Bayer y proporcionar a la impresora el
tercer conjunto de datos de tal modo que se produzca la imagen
impresa.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AUPQ2890A AUPQ289099A0 (en) | 1999-09-16 | 1999-09-16 | Method and apparatus for manipulating a bayer image |
| AUPQ2890/99 | 1999-09-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2282136T3 true ES2282136T3 (es) | 2007-10-16 |
Family
ID=3817055
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES00962075T Expired - Lifetime ES2282136T3 (es) | 1999-09-16 | 2000-09-08 | Procedimiento y aparato para producir una impresion de una imagen bayer. |
Country Status (15)
| Country | Link |
|---|---|
| US (18) | US6807315B1 (es) |
| EP (4) | EP1266357B1 (es) |
| JP (4) | JP2003529965A (es) |
| KR (1) | KR100832181B1 (es) |
| CN (2) | CN1192326C (es) |
| AT (4) | ATE355570T1 (es) |
| AU (1) | AUPQ289099A0 (es) |
| CA (4) | CA2384541C (es) |
| DE (3) | DE60043941D1 (es) |
| ES (1) | ES2282136T3 (es) |
| HK (3) | HK1048004A1 (es) |
| MX (1) | MXPA02002881A (es) |
| SG (4) | SG124275A1 (es) |
| WO (4) | WO2001020548A1 (es) |
| ZA (1) | ZA200202872B (es) |
Families Citing this family (146)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6786420B1 (en) | 1997-07-15 | 2004-09-07 | Silverbrook Research Pty. Ltd. | Data distribution mechanism in the form of ink dots on cards |
| US6618117B2 (en) | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
| AUPO850597A0 (en) | 1997-08-11 | 1997-09-04 | Silverbrook Research Pty Ltd | Image processing method and apparatus (art01a) |
| US6985207B2 (en) | 1997-07-15 | 2006-01-10 | Silverbrook Research Pty Ltd | Photographic prints having magnetically recordable media |
| AUPO802797A0 (en) | 1997-07-15 | 1997-08-07 | Silverbrook Research Pty Ltd | Image processing method and apparatus (ART54) |
| US7110024B1 (en) | 1997-07-15 | 2006-09-19 | Silverbrook Research Pty Ltd | Digital camera system having motion deblurring means |
| US6624848B1 (en) | 1997-07-15 | 2003-09-23 | Silverbrook Research Pty Ltd | Cascading image modification using multiple digital cameras incorporating image processing |
| US6690419B1 (en) | 1997-07-15 | 2004-02-10 | Silverbrook Research Pty Ltd | Utilising eye detection methods for image processing in a digital image camera |
| US7551201B2 (en) * | 1997-07-15 | 2009-06-23 | Silverbrook Research Pty Ltd | Image capture and processing device for a print on demand digital camera system |
| US6879341B1 (en) | 1997-07-15 | 2005-04-12 | Silverbrook Research Pty Ltd | Digital camera system containing a VLIW vector processor |
| AUPP702098A0 (en) | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART73) |
| AUPQ056099A0 (en) * | 1999-05-25 | 1999-06-17 | Silverbrook Research Pty Ltd | A method and apparatus (pprint01) |
| AUPQ289099A0 (en) * | 1999-09-16 | 1999-10-07 | Silverbrook Research Pty Ltd | Method and apparatus for manipulating a bayer image |
| JP4371566B2 (ja) * | 2000-11-22 | 2009-11-25 | キヤノン株式会社 | 色処理装置およびその方法 |
| JP3684158B2 (ja) * | 2001-01-29 | 2005-08-17 | キヤノン株式会社 | 色情報処理方法およびプログラム |
| US7184066B2 (en) * | 2001-05-09 | 2007-02-27 | Clairvoyante, Inc | Methods and systems for sub-pixel rendering with adaptive filtering |
| US7199837B2 (en) * | 2001-11-13 | 2007-04-03 | Ati Technologies, Inc. | System for improved ratiometric expansion and method thereof |
| EP1326209B1 (en) * | 2001-12-24 | 2007-09-26 | STMicroelectronics S.r.l. | Method for contrast enhancement in colour digital image |
| JP3762319B2 (ja) * | 2002-03-15 | 2006-04-05 | キヤノン株式会社 | 画像処理方法、画像処理装置及び画像処理システム |
| EP1351487A3 (en) * | 2002-04-04 | 2007-01-24 | Fuji Photo Film Co. Ltd. | Method, apparatus and program storage medium for color conversion |
| JP3728276B2 (ja) * | 2002-06-04 | 2005-12-21 | キヤノン株式会社 | プリント装置及びその制御方法、並びに、プリントシステム |
| JP3728277B2 (ja) * | 2002-06-04 | 2005-12-21 | キヤノン株式会社 | デジタルカメラ及びその制御方法、並びに、プリントシステム |
| US6922199B2 (en) * | 2002-08-28 | 2005-07-26 | Micron Technology, Inc. | Full-scene anti-aliasing method and system |
| US7477781B1 (en) * | 2002-10-10 | 2009-01-13 | Dalsa Corporation | Method and apparatus for adaptive pixel correction of multi-color matrix |
| DE602004003576T2 (de) * | 2003-01-21 | 2007-09-20 | Elekta Ab (Publ) | Abbildung interner strukturen |
| US7254523B2 (en) * | 2003-03-14 | 2007-08-07 | Seiko Epson Corporation | Selectively reduced bi-cubic interpolation for ink-jet simulations on quadrilateral grids |
| US7117138B2 (en) * | 2003-03-14 | 2006-10-03 | Seiko Epson Corporation | Coupled quadrilateral grid level set scheme for piezoelectric ink-jet simulation |
| JP4125173B2 (ja) | 2003-04-23 | 2008-07-30 | キヤノン株式会社 | 情報処理装置の接続制御方法、情報処理装置、及びコンピュータプログラム |
| JP4136771B2 (ja) | 2003-04-23 | 2008-08-20 | キヤノン株式会社 | 通信システム、通信装置、及びその制御方法、並びにコンピュータプログラム |
| JP4125172B2 (ja) | 2003-04-23 | 2008-07-30 | キヤノン株式会社 | 無線通信システム、無線通信装置、及びその制御方法、並びにコンピュータプログラム |
| JP2004341760A (ja) * | 2003-05-15 | 2004-12-02 | Ricoh Co Ltd | 画像形成装置、プログラム及び記憶媒体 |
| US7460684B2 (en) | 2003-06-13 | 2008-12-02 | Nielsen Media Research, Inc. | Method and apparatus for embedding watermarks |
| US7787927B2 (en) * | 2003-06-20 | 2010-08-31 | Merge Cad Inc. | System and method for adaptive medical image registration |
| US7248268B2 (en) * | 2004-04-09 | 2007-07-24 | Clairvoyante, Inc | Subpixel rendering filters for high brightness subpixel layouts |
| US20050243117A1 (en) * | 2004-04-28 | 2005-11-03 | Jiun-Der Yu | Divergence filters on quadrilateral grids for ink-jet simulations |
| WO2006014362A1 (en) | 2004-07-02 | 2006-02-09 | Nielsen Media Research, Inc. | Methods and apparatus for mixing compressed digital bit streams |
| US9024880B2 (en) * | 2004-08-11 | 2015-05-05 | Pixart Imaging Inc. | Interactive system capable of improving image processing |
| TWI236289B (en) * | 2004-08-11 | 2005-07-11 | Pixart Imaging Inc | Interactive device capable of improving image processing |
| US7355610B2 (en) * | 2004-08-26 | 2008-04-08 | Seiko Epson Corporation | Method and apparatus for expanding image data to create enlarged images for display |
| JP2006157450A (ja) * | 2004-11-29 | 2006-06-15 | Sony Corp | 撮像装置及び画像処理方法 |
| JP4412169B2 (ja) * | 2004-12-28 | 2010-02-10 | セイコーエプソン株式会社 | 画像処理装置、画像処理方法、プログラム、および記録媒体 |
| US20060173972A1 (en) * | 2005-01-31 | 2006-08-03 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Audio sharing |
| US20060285150A1 (en) * | 2005-01-31 | 2006-12-21 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Regional proximity for shared image device(s) |
| US20060170956A1 (en) * | 2005-01-31 | 2006-08-03 | Jung Edward K | Shared image devices |
| US7920169B2 (en) * | 2005-01-31 | 2011-04-05 | Invention Science Fund I, Llc | Proximity of shared image devices |
| US9082456B2 (en) | 2005-01-31 | 2015-07-14 | The Invention Science Fund I Llc | Shared image device designation |
| US20060187230A1 (en) * | 2005-01-31 | 2006-08-24 | Searete Llc | Peripheral shared image device sharing |
| US20060221197A1 (en) * | 2005-03-30 | 2006-10-05 | Jung Edward K | Image transformation estimator of an imaging device |
| US7876357B2 (en) * | 2005-01-31 | 2011-01-25 | The Invention Science Fund I, Llc | Estimating shared image device operational capabilities or resources |
| US9325781B2 (en) | 2005-01-31 | 2016-04-26 | Invention Science Fund I, Llc | Audio sharing |
| US8606383B2 (en) | 2005-01-31 | 2013-12-10 | The Invention Science Fund I, Llc | Audio sharing |
| US20060174203A1 (en) * | 2005-01-31 | 2006-08-03 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Viewfinder for shared image device |
| US20060187227A1 (en) * | 2005-01-31 | 2006-08-24 | Jung Edward K | Storage aspects for imaging device |
| US9124729B2 (en) * | 2005-01-31 | 2015-09-01 | The Invention Science Fund I, Llc | Shared image device synchronization or designation |
| US9910341B2 (en) | 2005-01-31 | 2018-03-06 | The Invention Science Fund I, Llc | Shared image device designation |
| US8902320B2 (en) * | 2005-01-31 | 2014-12-02 | The Invention Science Fund I, Llc | Shared image device synchronization or designation |
| US9489717B2 (en) * | 2005-01-31 | 2016-11-08 | Invention Science Fund I, Llc | Shared image device |
| US20060190968A1 (en) * | 2005-01-31 | 2006-08-24 | Searete Llc, A Limited Corporation Of The State Of The State Of Delaware | Sharing between shared audio devices |
| US7570810B2 (en) * | 2005-02-24 | 2009-08-04 | Seiko Epson Corporation | Method and apparatus applying digital image filtering to color filter array data |
| JP4375269B2 (ja) * | 2005-03-29 | 2009-12-02 | セイコーエプソン株式会社 | 印刷制御方法、印刷制御装置、及び印刷制御プログラム |
| US8452090B1 (en) * | 2005-04-25 | 2013-05-28 | Apple Inc. | Bayer reconstruction of images using a GPU |
| US20070109411A1 (en) * | 2005-06-02 | 2007-05-17 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Composite image selectivity |
| US10003762B2 (en) | 2005-04-26 | 2018-06-19 | Invention Science Fund I, Llc | Shared image devices |
| US9451200B2 (en) * | 2005-06-02 | 2016-09-20 | Invention Science Fund I, Llc | Storage access technique for captured data |
| US9001215B2 (en) * | 2005-06-02 | 2015-04-07 | The Invention Science Fund I, Llc | Estimating shared image device operational capabilities or resources |
| US7782365B2 (en) * | 2005-06-02 | 2010-08-24 | Searete Llc | Enhanced video/still image correlation |
| US20070008326A1 (en) * | 2005-06-02 | 2007-01-11 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Dual mode image capture technique |
| US20070222865A1 (en) * | 2006-03-15 | 2007-09-27 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Enhanced video/still image correlation |
| US9093121B2 (en) | 2006-02-28 | 2015-07-28 | The Invention Science Fund I, Llc | Data management of an audio data stream |
| US8681225B2 (en) * | 2005-06-02 | 2014-03-25 | Royce A. Levien | Storage access technique for captured data |
| US9819490B2 (en) | 2005-05-04 | 2017-11-14 | Invention Science Fund I, Llc | Regional proximity for shared image device(s) |
| US9967424B2 (en) * | 2005-06-02 | 2018-05-08 | Invention Science Fund I, Llc | Data storage usage protocol |
| US20070139529A1 (en) * | 2005-06-02 | 2007-06-21 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Dual mode image capture technique |
| US9942511B2 (en) | 2005-10-31 | 2018-04-10 | Invention Science Fund I, Llc | Preservation/degradation of video/audio aspects of a data stream |
| US20090144391A1 (en) * | 2007-11-30 | 2009-06-04 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Audio sharing |
| US7457015B2 (en) * | 2005-05-18 | 2008-11-25 | Xerox Corporation | Color printing |
| US7508558B2 (en) * | 2005-05-18 | 2009-03-24 | Xerox Corporation | Color printing |
| US20060274153A1 (en) * | 2005-06-02 | 2006-12-07 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Third party storage of captured data |
| JP2007049301A (ja) * | 2005-08-08 | 2007-02-22 | Casio Comput Co Ltd | 画像処理装置及び画像処理方法 |
| US7668366B2 (en) * | 2005-08-09 | 2010-02-23 | Seiko Epson Corporation | Mosaic image data processing |
| US20070203595A1 (en) * | 2006-02-28 | 2007-08-30 | Searete Llc, A Limited Liability Corporation | Data management of an audio data stream |
| US7817873B2 (en) * | 2005-11-09 | 2010-10-19 | Intel Corporation | Enhancing contrast of video data while preserving sharpness |
| TWI270846B (en) * | 2005-11-28 | 2007-01-11 | Mstar Semiconductor Inc | Apparatus and method for adjusting f video brightness |
| JP2009526335A (ja) * | 2006-02-10 | 2009-07-16 | ニック ソフトウエア インク | デジタル画像の自己適応ブラシ |
| US7626730B2 (en) * | 2006-03-31 | 2009-12-01 | Eastman Kodak Company | Method of making a multilevel halftone screen |
| EP1879147B1 (en) * | 2006-07-11 | 2016-09-21 | Vestel Elektronik Sanayi ve Ticaret A.S. | Method and apparatus for adjusting the contrast of an image |
| US7536285B2 (en) * | 2006-08-14 | 2009-05-19 | Seiko Epson Corporation | Odd times refined quadrilateral mesh for level set |
| EP2958106B1 (en) | 2006-10-11 | 2018-07-18 | The Nielsen Company (US), LLC | Methods and apparatus for embedding codes in compressed audio data streams |
| JP4886463B2 (ja) | 2006-10-20 | 2012-02-29 | キヤノン株式会社 | 通信パラメータ設定方法、通信装置及び通信パラメータを管理する管理装置 |
| US7859720B2 (en) * | 2006-11-13 | 2010-12-28 | Canon Kabushiki Kaisha | Image forming apparatus and method thereof |
| US7769241B2 (en) * | 2007-01-09 | 2010-08-03 | Eastman Kodak Company | Method of sharpening using panchromatic pixels |
| KR100929349B1 (ko) * | 2007-01-30 | 2009-12-03 | 삼성전자주식회사 | 유기물 컬러 필터를 포함하지 않는 컬러 픽셀, 이미지 센서, 및 컬러 보간방법 |
| US8565519B2 (en) * | 2007-02-09 | 2013-10-22 | Qualcomm Incorporated | Programmable pattern-based unpacking and packing of data channel information |
| US7929807B2 (en) * | 2007-02-27 | 2011-04-19 | Phase One A/S | Colour binning of a digital image to reduce the image resolution |
| ATE539416T1 (de) * | 2007-02-27 | 2012-01-15 | Phase One As | Farb-binning eines digitalen bildes |
| US8594451B2 (en) * | 2007-03-30 | 2013-11-26 | Omnivision Technologies, Inc. | Edge mapping incorporating panchromatic pixels |
| JP4948448B2 (ja) * | 2008-02-22 | 2012-06-06 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
| CN101518982B (zh) * | 2008-02-29 | 2010-08-25 | 北大方正集团有限公司 | 一种图像打印的方法和设备 |
| US8934034B2 (en) * | 2008-03-28 | 2015-01-13 | The Trustees Of Columbia University In The City Of New York | Generalized assorted pixel camera systems and methods |
| US8229212B2 (en) * | 2008-04-08 | 2012-07-24 | Qualcomm Incorporated | Interpolation system and method |
| US8165393B2 (en) | 2008-06-05 | 2012-04-24 | Microsoft Corp. | High dynamic range texture compression |
| US20090322777A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Unified texture compression framework |
| KR101086501B1 (ko) * | 2008-11-26 | 2011-11-25 | 주식회사 하이닉스반도체 | 이미지 데이터 프로세싱 방법, 이미지센서 및 집적회로 |
| US20100146523A1 (en) * | 2008-12-05 | 2010-06-10 | Tripod Ventures Inc./ Entreprises Tripod Inc. | Browser environment application and local file server application system |
| US8422082B2 (en) * | 2009-07-22 | 2013-04-16 | Eastman Kodak Company | Reducing ink bleed artifacts for RGB images |
| CN102036002B (zh) * | 2009-09-24 | 2013-08-28 | 鸿富锦精密工业(深圳)有限公司 | 成像装置 |
| JP2013509820A (ja) | 2009-10-28 | 2013-03-14 | ザ トラスティーズ オブ コロンビア ユニヴァーシティ イン ザ シティ オブ ニューヨーク | 符号化ローリングシャッタの方法およびシステム |
| US8463074B2 (en) * | 2009-11-11 | 2013-06-11 | General Dynamics Advanced Information Systems | System and method for rotating images |
| US8427500B1 (en) * | 2009-11-17 | 2013-04-23 | Google Inc. | Spatially aware sub-pixel rendering |
| JP2011130241A (ja) * | 2009-12-18 | 2011-06-30 | Fujifilm Corp | 撮像装置 |
| KR101068829B1 (ko) | 2009-12-24 | 2011-09-29 | 엠텍비젼 주식회사 | 촬상 장치 및 이미지 회전 처리 방법 |
| KR101635006B1 (ko) * | 2010-01-22 | 2016-07-01 | 삼성디스플레이 주식회사 | 광원의 휘도 제어 방법 및 이를 수행하기 위한 표시 장치 |
| TWI508543B (zh) * | 2010-05-06 | 2015-11-11 | Pixart Imaging Inc | 可提高影像處理速度之互動式系統 |
| JP2013009293A (ja) * | 2011-05-20 | 2013-01-10 | Sony Corp | 画像処理装置、画像処理方法、プログラム、および記録媒体、並びに学習装置 |
| JP2013091222A (ja) * | 2011-10-25 | 2013-05-16 | Canon Inc | 画像形成処理装置及び画像処理方法 |
| CN104067608B (zh) * | 2012-01-18 | 2017-10-24 | 英特尔公司 | 智能计算成像系统 |
| CN106454285B (zh) * | 2015-08-11 | 2019-04-19 | 比亚迪股份有限公司 | 白平衡的调整系统及调整方法 |
| CN109416750A (zh) | 2016-10-25 | 2019-03-01 | 惠普发展公司,有限责任合伙企业 | 分配过程 |
| DE102016225349A1 (de) * | 2016-12-16 | 2018-06-21 | Robert Bosch Gmbh | Verfahren zum Überprüfen einer Gültigkeit von Bilddaten |
| JP2019040403A (ja) * | 2017-08-25 | 2019-03-14 | ルネサスエレクトロニクス株式会社 | 半導体装置および画像認識システム |
| US11210799B2 (en) * | 2017-10-04 | 2021-12-28 | Google Llc | Estimating depth using a single camera |
| US10692178B2 (en) | 2018-02-22 | 2020-06-23 | Raytheon Company | Spatial radiometric correction of an optical system having a color filter mosaic |
| US10549523B2 (en) * | 2018-03-01 | 2020-02-04 | Ricoh Company, Ltd. | Ink deposition curve computation mechanism |
| JP7301517B2 (ja) * | 2018-10-29 | 2023-07-03 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
| CN109510738B (zh) * | 2018-12-14 | 2022-02-22 | 平安壹钱包电子商务有限公司 | 一种通信链路的测试方法及设备 |
| JP7249857B2 (ja) * | 2019-04-24 | 2023-03-31 | 理想科学工業株式会社 | 印刷装置及び消耗品 |
| US12050327B2 (en) | 2019-06-04 | 2024-07-30 | Applied Materials, Inc. | Imaging system and method of manufacturing a metalens array |
| WO2020247109A1 (en) | 2019-06-06 | 2020-12-10 | Applied Materials, Inc. | Imaging system and method of creating composite images |
| KR20200142883A (ko) * | 2019-06-13 | 2020-12-23 | 엘지이노텍 주식회사 | 카메라 장치 및 카메라 장치의 이미지 생성 방법 |
| KR102137047B1 (ko) * | 2019-06-26 | 2020-07-24 | 인천대학교 산학협력단 | 역전파 신경망에 기반한 디모자이킹 방법 |
| CN110363764B (zh) * | 2019-07-23 | 2022-03-11 | 安徽大学 | 一种基于帧间差分的行驶证打印信息完整性检测方法 |
| JP7326999B2 (ja) * | 2019-08-29 | 2023-08-16 | セイコーエプソン株式会社 | 印刷装置及び印刷システム |
| CN113411556B (zh) * | 2020-03-17 | 2023-09-05 | 瑞昱半导体股份有限公司 | 非对称性影像传输方法及其电子装置 |
| CN111815547A (zh) * | 2020-06-30 | 2020-10-23 | 深圳市慧鲤科技有限公司 | 图像处理方法及装置、电子设备及存储介质 |
| CN111798393A (zh) * | 2020-06-30 | 2020-10-20 | 深圳市慧鲤科技有限公司 | 图像处理方法及装置、电子设备及存储介质 |
| CN111953933B (zh) * | 2020-07-03 | 2022-07-05 | 北京中安安博文化科技有限公司 | 一种确定火灾区域的方法、装置、介质和电子设备 |
| EP3975105A1 (en) * | 2020-09-25 | 2022-03-30 | Aptiv Technologies Limited | Method and system for interpolation and method and system for determining a map of a surrounding of a vehicle |
| EP4044110A4 (en) | 2020-10-27 | 2023-02-22 | Samsung Electronics Co., Ltd. | METHOD FOR GENERATION OF IMAGE DATA WITH REDUCED NOISE AND ELECTRONIC DEVICE FOR IMPLEMENTING IT |
| CN112945205B (zh) * | 2021-01-27 | 2022-09-23 | 西北核技术研究所 | 一种超快多幅二维图像探测方法及装置 |
| JP7650171B2 (ja) * | 2021-03-11 | 2025-03-24 | キヤノン株式会社 | 情報処理装置とプログラム及び画像処理方法 |
| JP7653808B2 (ja) * | 2021-03-11 | 2025-03-31 | キヤノン株式会社 | 情報処理装置とプログラム及び画像処理方法 |
| JP7606371B2 (ja) | 2021-03-11 | 2024-12-25 | キヤノン株式会社 | 画像処理システム及び画像処理方法 |
| JP7643177B2 (ja) * | 2021-05-24 | 2025-03-11 | セイコーエプソン株式会社 | 印刷装置及び印刷物の生産方法 |
| CN113613007B (zh) * | 2021-07-19 | 2024-03-05 | 青岛信芯微电子科技股份有限公司 | 一种三维色彩查找表的生成方法及显示设备 |
| CN115941914B (zh) * | 2023-01-06 | 2023-05-23 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于视频帧分析的视频渲染系统 |
| CN116843597B (zh) * | 2023-08-30 | 2023-11-24 | 南方科技大学 | 离散点图像快速重建方法、装置、终端及存储介质 |
Family Cites Families (64)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US323326A (en) * | 1885-07-28 | Force-feed fertilizer attachment for g rain-dri lls | ||
| US751799A (en) * | 1904-02-09 | Means for controlling the operation of locks of elevator-hatchway doors | ||
| US4591900A (en) * | 1983-03-14 | 1986-05-27 | Rca Corporation | Encoding pattern for single chip CCD camera processing scheme |
| JPS6195478A (ja) * | 1984-10-16 | 1986-05-14 | Matsushita Electric Ind Co Ltd | 画像の座標変換処理装置 |
| US4639769A (en) * | 1985-04-01 | 1987-01-27 | Eastman Kodak Company | Modifying color digital images |
| US4724395A (en) * | 1985-08-05 | 1988-02-09 | Polaroid Corporation | Median filter for reconstructing missing color samples |
| US4841375A (en) * | 1986-05-29 | 1989-06-20 | Kabushiki Kaisha Toshiba | Image-resolution conversion apparatus for converting a pixel-density of image data |
| US4992861A (en) * | 1988-10-18 | 1991-02-12 | Eastman Kodak Company | Color image reproduction apparatus having a digitally operated look-up table constructed by means of a least squares algorithm |
| US4937676A (en) * | 1989-02-10 | 1990-06-26 | Polariod Corporation | Electronic camera system with detachable printer |
| EP0398295B1 (en) * | 1989-05-17 | 1996-08-14 | Minolta Co., Ltd. | A camera capable of recording and reproducing a photographed image |
| JPH0777453B2 (ja) * | 1989-09-19 | 1995-08-16 | 株式会社東芝 | 映像信号処理回路 |
| JPH03261276A (ja) * | 1990-03-12 | 1991-11-21 | Seiko Epson Corp | 電子カメラおよびその画像印刷方法 |
| JPH0795814B2 (ja) * | 1990-07-18 | 1995-10-11 | 富士ゼロックス株式会社 | カラー記録装置、カラー信号出力装置、カラー信号編集装置、カラー信号蓄積装置、カラーネットワークシステム及びカラー複写機 |
| US6246827B1 (en) * | 1990-08-17 | 2001-06-12 | Samsung Electronics Co., Ltd. | Deemphasis and subsequent reemphasis of high-energy reversed-spectrum components of a folded video signal |
| US5121209A (en) * | 1990-10-01 | 1992-06-09 | Rca Licensing Corporation | Sharpness control for a television image |
| US5493409A (en) * | 1990-11-29 | 1996-02-20 | Minolta Camera Kabushiki Kaisha | Still video camera having a printer capable of printing a photographed image in a plurality of printing modes |
| US5237402A (en) * | 1991-07-30 | 1993-08-17 | Polaroid Corporation | Digital image processing circuitry |
| US5339170A (en) * | 1991-12-31 | 1994-08-16 | Xerox Corporation | Image processing system and method employing hybrid filtering to provide improved reconstruction of continuous tone images from halftone screen-structured images |
| US5243444A (en) * | 1992-03-25 | 1993-09-07 | Xerox Corporation | Image processing system and method with improved reconstruction of continuous tone images from halftone images including those without a screen structure |
| US5343309A (en) * | 1992-08-12 | 1994-08-30 | Xerox Corporation | Image processing system and method employing adaptive filtering to provide improved reconstruction of continuous tone images from halftone images including those without a screen structure |
| DE69418512T2 (de) * | 1993-03-08 | 1999-10-28 | Canon Information Systems Research Australia Pty. Ltd., North Ryde | Farbwandlungsvorrichtung |
| US5374995A (en) * | 1993-03-22 | 1994-12-20 | Eastman Kodak Company | Method and apparatus for enhancing sharpness of a sequence of images subject to continuous zoom |
| US5373322A (en) * | 1993-06-30 | 1994-12-13 | Eastman Kodak Company | Apparatus and method for adaptively interpolating a full color image utilizing chrominance gradients |
| JPH0793563A (ja) * | 1993-09-21 | 1995-04-07 | Canon Inc | 画像処理装置 |
| US5363209A (en) * | 1993-11-05 | 1994-11-08 | Xerox Corporation | Image-dependent sharpness enhancement |
| JPH07212574A (ja) * | 1994-01-13 | 1995-08-11 | Mita Ind Co Ltd | 画像処理装置 |
| US5471324A (en) * | 1994-04-05 | 1995-11-28 | Xerox Corporation | Color printer calibration with improved color mapping linearity |
| US5671440A (en) * | 1994-08-08 | 1997-09-23 | Eastman Kodak Company | Color image data reorientation and format conversion system |
| US5574572A (en) * | 1994-09-07 | 1996-11-12 | Harris Corporation | Video scaling method and device |
| US5619590A (en) * | 1994-10-06 | 1997-04-08 | Eastman Kodak Company | System for electronic image signal processing to provide a tonescale corrected full resolution luminance and two half resolution chrominance signals |
| JPH08241407A (ja) * | 1995-01-31 | 1996-09-17 | Internatl Business Mach Corp <Ibm> | ディジタル・カラー・イメージの空間フィルタ処理システム |
| US5629734A (en) * | 1995-03-17 | 1997-05-13 | Eastman Kodak Company | Adaptive color plan interpolation in single sensor color electronic camera |
| JPH08317236A (ja) * | 1995-05-15 | 1996-11-29 | Canon Inc | 画像処理装置およびその方法 |
| JP3919242B2 (ja) * | 1995-07-04 | 2007-05-23 | キヤノン株式会社 | 印刷システム及びその制御方法 |
| JPH09212315A (ja) * | 1996-02-02 | 1997-08-15 | Fuji Xerox Co Ltd | ネットワーク印刷装置 |
| JPH09214989A (ja) | 1996-02-02 | 1997-08-15 | Naoki Ozawa | 画像信号の信号補間方法 |
| JP3527249B2 (ja) * | 1996-03-04 | 2004-05-17 | キヤノンファインテック株式会社 | 画像処理装置 |
| JP3832089B2 (ja) * | 1997-05-26 | 2006-10-11 | セイコーエプソン株式会社 | デジタルカメラおよび印刷システム |
| JP3724882B2 (ja) * | 1996-08-14 | 2005-12-07 | シャープ株式会社 | カラー固体撮像装置 |
| US5867632A (en) * | 1996-11-07 | 1999-02-02 | Xionics Document Technologies, Inc. | System and method for providing glossy compression and contone/bitonal image conversion |
| US5715234A (en) * | 1996-12-16 | 1998-02-03 | Eastman Kodak Company | Electronic camera and associated printer which uses a display image |
| JPH10304235A (ja) * | 1997-04-30 | 1998-11-13 | Ricoh Co Ltd | 撮像装置 |
| US6152619A (en) * | 1997-07-15 | 2000-11-28 | Silverbrook Research Pty. Ltd. | Portable camera with an ink jet printer and cutting blade |
| US6459495B1 (en) * | 1997-07-15 | 2002-10-01 | Silverbrook Research Pty Ltd | Dot center tracking in optical storage systems using ink dots |
| SG115467A1 (en) * | 1997-07-15 | 2005-10-28 | Silverbrook Res Pty Ltd | Paper guide system in a print on demand digital camera system |
| US6229565B1 (en) * | 1997-08-15 | 2001-05-08 | Howard H. Bobry | Hand-held electronic camera with integral printer |
| US6628333B1 (en) * | 1997-11-12 | 2003-09-30 | International Business Machines Corporation | Digital instant camera having a printer |
| JPH11150663A (ja) * | 1997-11-17 | 1999-06-02 | Nikon Corp | 補間装置および補間処理プログラムを記録した記録媒体 |
| JP4178571B2 (ja) * | 1997-12-09 | 2008-11-12 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにカメラ |
| US6392699B1 (en) * | 1998-03-04 | 2002-05-21 | Intel Corporation | Integrated color interpolation and color space conversion algorithm from 8-bit bayer pattern RGB color space to 12-bit YCrCb color space |
| US6078307A (en) * | 1998-03-12 | 2000-06-20 | Sharp Laboratories Of America, Inc. | Method for increasing luminance resolution of color panel display systems |
| US6650366B2 (en) * | 1998-03-26 | 2003-11-18 | Eastman Kodak Company | Digital photography system using direct input to output pixel mapping and resizing |
| US6642956B1 (en) * | 1998-05-29 | 2003-11-04 | Agilent Technologies, Inc. | Digital image processor for a digital camera |
| US6697107B1 (en) * | 1998-07-09 | 2004-02-24 | Eastman Kodak Company | Smoothing a digital color image using luminance values |
| US6205245B1 (en) * | 1998-07-28 | 2001-03-20 | Intel Corporation | Method and apparatus for rapid down-scaling of color images directly from sensor color filter array space |
| JP3695163B2 (ja) * | 1998-07-31 | 2005-09-14 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置 |
| US6236433B1 (en) * | 1998-09-29 | 2001-05-22 | Intel Corporation | Scaling algorithm for efficient color representation/recovery in video |
| AUPP702498A0 (en) * | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART77) |
| AU1510900A (en) * | 1998-11-13 | 2000-06-05 | Flexi-Coil Limited | Method for color detection in video images |
| US6571021B1 (en) * | 1999-01-29 | 2003-05-27 | International Business Machines Corporation | Recovering an invisible digital image from a distorted image replica |
| AUPQ289099A0 (en) * | 1999-09-16 | 1999-10-07 | Silverbrook Research Pty Ltd | Method and apparatus for manipulating a bayer image |
| US6466618B1 (en) * | 1999-11-19 | 2002-10-15 | Sharp Laboratories Of America, Inc. | Resolution improvement for multiple images |
| US6804408B1 (en) * | 1999-12-22 | 2004-10-12 | Eastman Kodak Company | Method for enhancing a digital image with noise-dependent control of texture |
| US6573932B1 (en) * | 2002-03-15 | 2003-06-03 | Eastman Kodak Company | Method for automatic white balance of digital images |
-
1999
- 1999-09-16 AU AUPQ2890A patent/AUPQ289099A0/en not_active Abandoned
-
2000
- 2000-09-08 JP JP2001524055A patent/JP2003529965A/ja active Pending
- 2000-09-08 JP JP2001524054A patent/JP4339543B2/ja not_active Expired - Fee Related
- 2000-09-08 CA CA2384541A patent/CA2384541C/en not_active Expired - Fee Related
- 2000-09-08 SG SG200401429A patent/SG124275A1/en unknown
- 2000-09-08 AT AT00962074T patent/ATE355570T1/de not_active IP Right Cessation
- 2000-09-08 AT AT00962076T patent/ATE284065T1/de not_active IP Right Cessation
- 2000-09-08 KR KR1020027003534A patent/KR100832181B1/ko not_active Expired - Fee Related
- 2000-09-08 DE DE60043941T patent/DE60043941D1/de not_active Expired - Lifetime
- 2000-09-08 SG SG200401428A patent/SG126753A1/en unknown
- 2000-09-08 AT AT00962075T patent/ATE355571T1/de not_active IP Right Cessation
- 2000-09-08 EP EP00962076A patent/EP1266357B1/en not_active Expired - Lifetime
- 2000-09-08 HK HK03100064.8A patent/HK1048004A1/zh unknown
- 2000-09-08 HK HK03100062.0A patent/HK1048002A1/zh unknown
- 2000-09-08 ES ES00962075T patent/ES2282136T3/es not_active Expired - Lifetime
- 2000-09-08 HK HK03100063.9A patent/HK1048003A1/zh unknown
- 2000-09-08 EP EP00967420A patent/EP1221140B1/en not_active Expired - Lifetime
- 2000-09-08 JP JP2001524056A patent/JP2003509932A/ja active Pending
- 2000-09-08 DE DE60033675T patent/DE60033675D1/de not_active Expired - Lifetime
- 2000-09-08 CA CA2384485A patent/CA2384485C/en not_active Expired - Fee Related
- 2000-09-08 CN CNB008143633A patent/CN1192326C/zh not_active Expired - Fee Related
- 2000-09-08 WO PCT/AU2000/001074 patent/WO2001020548A1/en not_active Ceased
- 2000-09-08 CN CNB2005100003551A patent/CN100361156C/zh not_active Expired - Fee Related
- 2000-09-08 EP EP00962075A patent/EP1221139B1/en not_active Expired - Lifetime
- 2000-09-08 DE DE60033677T patent/DE60033677T2/de not_active Expired - Lifetime
- 2000-09-08 WO PCT/AU2000/001073 patent/WO2001020547A1/en not_active Ceased
- 2000-09-08 WO PCT/AU2000/001076 patent/WO2001020550A1/en not_active Ceased
- 2000-09-08 AT AT00967420T patent/ATE459942T1/de not_active IP Right Cessation
- 2000-09-08 JP JP2001524057A patent/JP4576084B2/ja not_active Expired - Fee Related
- 2000-09-08 CA CA2384543A patent/CA2384543C/en not_active Expired - Fee Related
- 2000-09-08 SG SG200401425-4A patent/SG147278A1/en unknown
- 2000-09-08 WO PCT/AU2000/001075 patent/WO2001020549A1/en not_active Ceased
- 2000-09-08 CA CA2384479A patent/CA2384479C/en not_active Expired - Fee Related
- 2000-09-08 MX MXPA02002881A patent/MXPA02002881A/es active IP Right Grant
- 2000-09-08 EP EP00962074A patent/EP1221138B1/en not_active Expired - Lifetime
- 2000-09-08 SG SG200401430-4A patent/SG147279A1/en unknown
- 2000-09-11 US US09/659,836 patent/US6807315B1/en not_active Expired - Lifetime
- 2000-09-11 US US09/659,837 patent/US6771811B1/en not_active Expired - Lifetime
- 2000-09-11 US US09/659,835 patent/US6683996B1/en not_active Expired - Lifetime
- 2000-09-11 US US09/659,620 patent/US6804030B1/en not_active Expired - Lifetime
-
2002
- 2002-04-12 ZA ZA200202872A patent/ZA200202872B/en unknown
-
2004
- 2004-08-02 US US10/902,858 patent/US6965691B2/en not_active Expired - Fee Related
- 2004-08-02 US US10/902,880 patent/US7058219B2/en not_active Expired - Fee Related
- 2004-09-07 US US10/934,489 patent/US7271936B2/en not_active Expired - Fee Related
- 2004-09-07 US US10/934,490 patent/US7304771B2/en not_active Expired - Fee Related
- 2004-09-20 US US10/943,921 patent/US7187807B2/en not_active Expired - Fee Related
- 2004-09-20 US US10/943,977 patent/US7289681B2/en not_active Expired - Lifetime
-
2005
- 2005-08-08 US US11/198,233 patent/US7181063B2/en not_active Expired - Fee Related
-
2006
- 2006-01-25 US US11/338,783 patent/US7366351B2/en not_active Expired - Fee Related
- 2006-11-24 US US11/603,823 patent/US7471413B2/en not_active Expired - Fee Related
-
2007
- 2007-01-08 US US11/650,536 patent/US7349572B2/en not_active Expired - Lifetime
-
2008
- 2008-02-04 US US12/025,633 patent/US7787163B2/en not_active Expired - Fee Related
- 2008-11-23 US US12/276,402 patent/US7558443B2/en not_active Expired - Fee Related
-
2009
- 2009-06-04 US US12/478,728 patent/US7936918B2/en not_active Expired - Fee Related
-
2011
- 2011-03-14 US US13/046,773 patent/US20110164286A1/en not_active Abandoned
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2282136T3 (es) | Procedimiento y aparato para producir una impresion de una imagen bayer. | |
| AU2003270972B2 (en) | Method and apparatus for sharpening an image | |
| AU778006B2 (en) | Method and apparatus for sharpening an image | |
| AU2003262338B2 (en) | Method and apparatus for up-interpolating a bayer image | |
| AU2003262337B2 (en) | Method and apparatus for producing print from a bayer image | |
| AU766175B2 (en) | Method and apparatus for up-interpolating a bayer image |