Método de decodificación del código de barras
Descripción general
 Para decodificar el código de barras con alta precisión. Código de barras lector 100, la luz de la unidad 1 de emisión para emitir un haz de láser, la luz de la sección receptora 2 para recibir la luz reflejada de la luz láser, la luz de la parte de recepción 2 de la señal de salida de binarización el circuito de binarización 3, el circuito de binarización 3 borde circuito de detección 4 para la detección de un borde de la señal de salida, el contador de anchura de la barra 5 para detectar un ancho de barra, una memoria 6 para almacenar el ancho de la barra para cada detección de un borde, sobre la base de los datos de código de barras almacenados en la memoria de datos 6 de código de barras , Y una interfaz externa 8 para dar salida a los datos decodificados del código de barras al exterior. El contador de ancho de barra 5 cuenta el ancho de barra basado en la señal de detección del circuito de detección de borde 4. La CPU 7 decodifica los datos del código de barras al corregir el valor del umbral para clasificar el ancho de la barra o el ancho de la barra en módulos para cada carácter.
Campo técnico
Campo técnico La presente invención se refiere a un método de descodificación para decodificar con precisión símbolos de códigos de barras utilizados en terminales POS (punto de venta) o similares.
Antecedentes de la técnica
Convencionalmente, en el método de decodificación del símbolo del código de barras, por ejemplo, el ancho de la barra de toda la longitud del carácter se calcula sumando los anchos de barra de barras que constituyen un carácter. A continuación, se obtiene el ancho de barra de un módulo dividiendo la longitud total del carácter por el número de módulos que constituyen un carácter. Se conoce un método para juzgar un módulo de una barra negra o una barra blanca en función del ancho de la barra por módulo y convertir los datos del código de barras en un carácter. UPC / EAN / código JAN, el símbolo de código de barras del código Código 128 / EAN128, excepto los caracteres Código de parada 128 / EAN128, ya que el número de módulos que constituyen un carácter se determina para cada esquema de codificación, permitir la decodificación por el sistema de Conviértete
En este método, cuando los símbolos del código de barras se ven borrosos e impresos, las barras negras son gruesas y las barras blancas delgadas. Además, cuando se imprimen con desmayo, las barras negras son delgadas y las barras blancas son gruesas, y como resultado, Se produce una determinación incorrecta del valor del módulo y se produce un problema en la lectura del código de barras. Se pueden concebir dos métodos como método para evitar errores de lectura debido a la impresión desigual del código de barras. El primer método es un método de decodificación después de corregir el engrosamiento y adelgazamiento de la barra, el método específico es detectar el grado de engrosamiento y adelgazamiento del carácter de inicio, es un engrosamiento de la totalidad del código de barras y adelgazamiento Se usa como un valor de corrección para corregir cada barra, y se realiza la corrección de cada barra. El segundo método usa un valor obtenido al agregar los anchos de barra de la barra negra y la barra blanca desde la barra negra a la barra negra adyacente o desde la barra blanca a la barra blanca adyacente, Decodifica en forma de cancelación de adelgazamiento.
Tarea de solución
Sin embargo, en el primer método anterior, dado que se supone que el ancho de barra de un módulo es constante en un código de barras y la corrección se aplica uniformemente a cada una de las barras negras y blancas, el valor de corrección real No es un punto. En otras palabras, la curva o arrugas de la etiqueta de código de barras, o por un cambio en la velocidad de exploración del haz de láser de la velocidad de movimiento de la pluma y láser escáneres del escáner del tipo de bolígrafo, incluso para el mismo código de barras, un módulo de la barra de caracteres Dado que el ancho cambia, existe el problema de que la corrección del ancho de la barra es excesiva o deficiente, y el procesamiento de corrección que debería ser una contramedida inherentemente se convierte en una causa de lectura incorrecta y lectura incorrecta. Además, en el segundo método, cuando las barras negras y las barras blancas adyacentes son cebadas o adelgazadas, existe el problema de que no se obtiene el efecto de compensación, lo que causa una lectura incorrecta y una lectura incorrecta. .
Por consiguiente, un objeto de la presente invención calcula un valor de corrección de las barras de color negro y blanco bares en unidades de carácter, incluso cuando el ancho de la barra de un módulo en un código de barras varía, método del código de barras que se puede leer con precisión la decodificación .
Solución
Para resolver los problemas anteriores, la configuración de la presente invención, en el método de decodificación del símbolo de código de barras del sistema de código de barras del número de módulos que constituyen un carácter es fijo, el ancho de la barra de cada barra del símbolo de código de barras Un medio de establecimiento de valor umbral para establecer un valor umbral para clasificar los valores de detección por los medios de detección de ancho de barra en módulos para cada carácter; medios de establecimiento de valor de referencia para establecer un valor de referencia para cada una de las barras para cada carácter; (I 1) -ésimo carácter calculado mediante los medios de cálculo de error y el error de ancho de barra del carácter (i 1) -th calculado por el medio de cálculo de error, El valor como un valor de corrección del carácter i-ésimo, y un cálculo del valor de corrección significa para calcular el valor promedio de la barra mediante el uso del valor de corrección Clasifican en Lumpur, y adopta un medio técnico que con un medio de decodificación para decodificar una combinación de los mismos.
De acuerdo con un segundo aspecto de la invención, el medio de ajuste del valor umbral incluye un primer medio de ajuste del valor umbral para calcular el ancho de la barra por módulo midiendo la longitud completa del carácter y dividiendo el valor medido por el número de módulos. Y un segundo valor de ajuste de umbral significa establecer un número predeterminado de valores de umbral usando el ancho de barra por módulo.
En la configuración de la tercera invención, los medios de ajuste del valor de referencia emplean un medio técnico para establecer un valor de referencia del producto del valor del módulo clasificado por los medios de descodificación y el ancho de la barra por módulo. .
Según un cuarto aspecto de la invención, el medio de cálculo de errores emplea un medio técnico para calcular la diferencia entre el valor de referencia y el valor de detección por los medios de detección del ancho de barra y calcula el valor promedio de la diferencia como un error Ahí
La primera función es un medio de detección de ancho de barra para detectar un ancho de barra de cada barra de un símbolo de código de barras en un sistema de decodificación de símbolos de código de barras de un sistema de código de barras en el que se fija el número de módulos que constituyen un carácter. Un medio de ajuste de valor umbral para establecer un valor umbral para clasificar el valor de detección por los medios de detección de ancho de barra para cada carácter, medios de establecimiento de valor de referencia para establecer un valor de referencia para cada una de las barras para cada carácter, Un medio de cálculo de error para calcular un error de un error de ancho de barra del carácter (i1) ésimo calculado por los medios de cálculo de error y un valor de corrección utilizado en el carácter (i1) como yo Th carácter como un valor de corrección para cada carácter, y las barras se clasifican en módulos, respectivamente, utilizando los valores de corrección, y la combinación de los mismos , Y el efecto es que dado que el valor de corrección del carácter inmediatamente anterior se usa para la corrección del siguiente carácter, se puede realizar un descifrado que refleje la tendencia de todos los caracteres decodificados. Dado que cada barra se puede corregir para cada carácter, el valor del módulo de cada barra se puede obtener con precisión, y el código de barras se puede decodificar con mayor precisión. (Reclamo 1)
Un segundo efecto es que el medio de establecimiento de valores de umbral incluye primeros medios de establecimiento de umbral para calcular el ancho de barra por módulo midiendo la longitud completa del carácter y dividiendo el valor medido por el número de módulos, usando el ancho de la barra es configurar en el segundo valor de umbral medios de establecimiento para establecer un umbral de un número predeterminado, el efecto se va a establecer un valor de umbral correspondiente a la variación de las anchuras de barras para cada carácter . (Reclamo 2)
El tercer efecto es que el medio de establecimiento del valor de referencia es establecer el valor de referencia del producto del valor del módulo clasificado por los medios de descodificación y el ancho de la barra por módulo y el efecto es el de cada carácter Es posible establecer un valor de referencia según la fluctuación de cada ancho de barra. (Reclamo 3)
El cuarto efecto es que el medio de cálculo de error calcula la diferencia entre el valor de referencia y el valor de detección por los medios de detección de ancho de barra y calcula el valor promedio de la diferencia como un error, Puede calcular un error según la fluctuación de cada ancho de barra. (Reclamo 4)
De aquí en adelante, la presente invención se describirá en base a ejemplos específicos. La figura 1 es un diagrama de bloques que muestra una configuración de una primera realización de acuerdo con la presente invención. Código de barras lector 100, la luz de la unidad 1 de emisión para emitir un haz de láser, la luz de la sección receptora 2 para recibir la luz reflejada de la luz láser, la luz de la parte de recepción 2 de la señal de salida de la binarización para binarización circuito 3, la salida del circuito de binarización 3 borde circuito de detección 4 para la detección de un flanco de señal, el contador de anchura de la barra 5 para detectar una anchura de la barra, la memoria 6, en base a los datos de código de barras almacenados en la memoria 6 decodifica los datos de código de barras para el almacenamiento de ancho de la barra para cada detección de bordes Y una interfaz externa 8 para enviar los datos del código de barras decodificado al exterior.
La unidad emisora ​​de luz 1 emite un rayo láser basado en un comando de emisión de luz desde la CPU 7. En este momento, la luz láser se emite como luz de exploración mediante un mecanismo giratorio (no mostrado) provisto de un espejo. El contador de ancho de barra 5 cuenta el ancho de barra basado en la señal de detección del circuito de detección de borde 4, y el valor de conteo se almacena en la memoria 6 en cada sincronización cuando se detecta el borde. Entre las configuraciones descritas anteriormente, la unidad de emisión de luz 1, la unidad de recepción de luz 2, el circuito de binarización 3, el circuito de detección de borde 4 y el contador de anchura de barra 5 corresponden a los medios de detección de anchura de barra.
A continuación, se describirá el proceso de decodificación del código de barras. La estructura del CÓDIGO 128 se muestra en la figura 2. Como se muestra en la figura 2, las zonas silenciosas están dispuestas en ambos lados del código de barras, y durante ese tiempo, cuatro caracteres están dispuestos en el orden del carácter inicial, el carácter de datos, el carácter de verificación y el carácter de parada. Como se muestra en la figura 2, a excepción del carácter de parada, un personaje está compuesto por seis barras en total, tres barras negras y tres barras blancas.
Entre estos caracteres, la configuración del carácter de datos como ejemplo se muestra en la figura 3. En esta realización, los valores del módulo clasificado son cuatro tipos 1, 2, 3, 4. La cantidad de módulos que constituyen un personaje es 11. 3, los valores del módulo de las barras negras B1, B2, B3 son 1, 1, 2 respectivamente, los valores del módulo de las barras blancas S1, S2, S3 son 2, 1 y 4, agregando estos valores de módulo resulta en 11.
Posteriormente, el proceso de decodificación del carácter de datos de la configuración anterior se describirá con referencia al diagrama de flujo de la FIG. Primero, el valor inicial H1 del valor de corrección Hi se inicializa a 0 (paso 101). Incidentalmente, el valor de corrección Hi es un valor de corrección para el i-ésimo carácter. A continuación, el ancho de barra TM por módulo en el carácter se calcula usando la Ecuación 1 (paso 102, que corresponde a los primeros medios de ajuste del valor umbral).
TM = (Ta + Tb + Tc + Td + Te + Tf) / 11 (1)
Aquí, Ta, Tc, Te representan cada uno un ancho de barra de la barra de negro B1, B2, B3, también, Tb, Td, Tf es muestran respectivamente el ancho de la barra de la barra blanca S1, S2, S3.
A continuación, utilizando el ancho de barra de cada barra, se calcula un valor de umbral para determinar el valor del módulo (etapa 103, que corresponde a los segundos medios de configuración de umbral). Específicamente, en el caso del CÓDIGO 128, dado que el valor del módulo de cada barra es uno de cuatro valores 1, 2, 3, 4, para esa clasificación, cinco tipos de barras Establezca el umbral de ancho (0.5 × TM, 1.5 × TM, 2.5 × TM, 3.5 × TM, 4.5 × TM).
Posteriormente, se corrige el ancho de barra de cada barra (paso 104, que corresponde a los medios de cálculo del valor de corrección). En este momento, el valor de corrección de anchura de la barra se usa en este carácter y Hola, representar cantidad espesante a partir del valor de corrección de Hi es un valor regular para barras negras B1 B3, el valor de corrección para la barra blanca S1 S3 Hi es un valor habitual Representará la porción de adelgazamiento. En consecuencia, el procesamiento de corrección para las barras de negro B1 B3, es restar el valor de corrección de alta a partir de los datos de anchura barra de cada barra de negro B1 B3 detectado, se detecta el procesado de corrección de blanco para la barra blanca S1 S3 Y agregando el valor de corrección Hola a los datos de ancho de barra de la barra S1 S3. De esta manera, la barra de la anchura Ta, Tb, Tc, Td, Te, Tf del valor corregido Ta 'Tb', Tc 'Td', Te 'Tf' está, se obtienen respectivamente a partir de la Ecuación 2 Ecuación 7 .
Ta '= Ta Hi ─ (2)
Tb '= Tb + Hi - (3)
Tc '= Tc Hola ─ (4)
Td '= Td + Hi - (5)
Te '= Te Hi ─ (6)
Tf '= Tf + Hi - (7)
Utilizando el ancho de barra corregido Ta 'Tf', cada barra se clasifica en módulos y se decodifica mediante la combinación (etapa 105, que corresponde a los medios de descodificación). Al clasificar cada barra en módulos, se utilizan los cinco tipos anteriores de valores de umbral. Es decir, un módulo se establece cuando el ancho de barra corregido Ta 'Tf' es 0.5 × TM 1.5 × TM, dos módulos cuando es 1.5 × TM 2.5 × TM y 2.5 × TM 3.5 × TM cuando 3 módulos, y cuando es 3.5 × TM 4.5 × TM, se considera que son 4 módulos. Cuando el ancho de barra corregido Ta 'Tf' es diferente al anterior, se determina un error.
Si el carácter es un carácter de detención, se determina como SÍ en el paso 106 y el proceso de decodificación finaliza. Si NO en el paso 106, se calcula un ancho de barra (correspondiente a un valor de referencia) sin errores de cada barra (paso 107, equivalente a los medios de ajuste del valor de referencia). En el paso 106, la barra corregido anchura Ta 'Tb', Tc 'Td', Te 'Tf' es, Ma respectivamente, Mb, Mc, Md, Me, Mf (Ma, Mb, Mc, Md, Me, Mf es un número entero de 1 4) módulo. En este momento, la barra B1, S1, B2, S2, B3, S3 libre de errores ancho de la barra de cada TM × Ma, TM × Mb, TM × Mc, TM × Md, TM × Me, el TM × Mf.
Posteriormente, se calcula un error del ancho de barra de cada barra usando estos datos de ancho de barra sin error (paso 108, correspondiente a los medios de cálculo de error). El error de ancho de barra Wa, Wb, Wc, Wd, We, Wf de cada una de las barras B 1, S 1, B 2, S 2, B 3 y S 3 se expresa mediante la ecuación (8).
Wa = Ta TM × Ma - (8)
Wb = TM * Mb Tb - (9)
Wc = Tc TM × Mc - (10)
Wd = TM * Md Td - (11)
We = Te TM × Me - (12)
Wf = TM * Mf Tf - (13)
De esta forma, después de calcular el error Wa Wf del ancho de barra de cada barra en el carácter i-ésimo, el valor promedio Wi del error Wa Wf se calcula usando la Ecuación 14, el valor de corrección Hi se actualiza mediante la Ecuación 15 , Se calcula el valor de corrección Hi + 1 para el carácter (i + 1) th (paso 109). Después de calcular el valor de corrección Hi + 1, el proceso vuelve al paso 102 y se repite el proceso. Incidentalmente, W1 en la Ecuación 15 es un error obtenido del resultado de descodificación del carácter de inicio, y el valor inicial H1 del valor de corrección Hi se establece en el Paso 101, y H1 = 0.
Wi = (Wa + Wb + Wc + Wd + We + Wf) / 6 - (14)
Hola + 1 = (Wi + Hi) ÷ 2
= 1/2 (Wi + 1/2 (Wi - 1 + 1/2 (Wi - 2 + 1/2 (- - 1/2 W 1)))
(Donde yo ≧ 1) ─ (15)
De acuerdo con la Ecuación (15), el valor de corrección Hi se actualiza para cada carácter, y los datos de corrección obtenidos del nuevo carácter son más influyentes, y los datos de corrección obtenidos del carácter anterior se reflejan en una influencia menor. Por lo tanto, dado que el ancho de la barra se puede corregir al reflejar la tendencia del personaje para cada carácter, se puede realizar una decodificación más precisa, y el código de barras se puede leer con gran precisión. La ecuación 15 es una fórmula de cálculo para obtener el valor de corrección Hi + 1 en el sistema de código CODE 128. En el caso del código de tipo UPC, el valor de corrección Hi + 1 puede obtenerse mediante la fórmula de cálculo que se muestra en la ecuación 16.
Hola + 1 = (Wi + Hi) ÷ 2
= 1/2 (Wi + 1/2 (Wi - 1 + 1/2 (Wi - 2 + 1/2 (- - 1/2 W 0)))
(Donde yo ≧ 0) ─ (16)
El error W 0 en la ecuación 16 también puede obtenerse mediante una barra de protección, una barra central o similar. El valor inicial H 0 del valor de corrección Hi es H 0 = 0. Utilizando la ecuación 16, en el caso del código del sistema UPC también, el valor de corrección Hola se actualiza para cada personaje, como los datos de corrección obtenidos del nuevo efecto personaje es grande, el efecto que los datos de corrección obtenidos del antiguo carácter se refleja más pequeña . Por lo tanto, incluso en el código UPC, el ancho de la barra se puede corregir al reflejar la tendencia del personaje para cada carácter, y se puede realizar una decodificación más precisa.
En la presente realización, los datos de ancho de barra se corrigen y se comprueba en qué valor de umbral se encuentra el valor de corrección. Sin embargo, el valor de umbral se corrige sin corregir los datos de ancho de barra, se corrigen los datos de ancho de barra Puede decidir a qué rango del umbral corresponde y descifrarlo. En este momento, dado que el valor umbral se corrige por separado para la barra negra y la barra blanca, se requieren dos umbrales para la barra negra y la barra blanca. Alternativamente, el error Wi de cada barra se puede corregir, y el valor del módulo de cada barra se puede obtener utilizando el error corregido.
En la presente realización, se usa un lector de código de barras que usa un rayo láser, pero se puede aplicar a un lector de código de barras de tipo CCD o de tipo pluma.
Como se describió anteriormente, de acuerdo con la presente invención, calculando un valor de corrección para corregir el espesamiento y el adelgazamiento de barras negras y barras blancas para cada carácter de código de barras, sangrado y borrosidad de barras, doblado de etiquetas de códigos de barras palma I, la variación en la velocidad de desplazamiento de la pluma escáner tipo pluma, incluso fluctuación de la velocidad de exploración del haz de láser del escáner láser se puede decodificar con precisión determinar el valor del módulo de cada barra, lectura precisa del código de barras Puede ser realizado.
Efecto de la invención
La figura 1 es un diagrama de bloques que muestra una configuración de una primera realización de acuerdo con la presente invención.
Fig. 2 Diagrama explicativo que muestra la estructura del código CODE 128.
La figura 3 es una vista ampliada que muestra una configuración de un carácter de datos del código CODE 128.
La figura 4 es un diagrama de flujo que muestra el flujo de procesamiento de corrección y descodificación en la primera realización de acuerdo con la presente invención.
1 pieza emisora ​​de luz
2 Sección de recepción de luz
3 circuito de binarización
Circuito de detección de 4 bordes
Contador de 5 barras de ancho
6 memoria
7 CPU
8 Interfaz externa
Lector de código de barras 100
Reclamo
1. Un método de decodificación de símbolo de código de barras de un sistema de código de barras en el que se fija el número de módulos que constituyen un carácter, que comprende: medios de detección de ancho de barra para detectar un ancho de barra de cada barra del símbolo de código de barras; Un medio de ajuste de valor umbral para establecer un valor umbral para clasificar el valor de detección por los medios de detección de ancho en el módulo para cada carácter; medios de establecimiento de valor de referencia para establecer un valor de referencia para cada una de las barras para cada uno de los caracteres; utilizar para el error medio para calcular un error respectivo de la barra de cálculo, y el error de la anchura de la barra en el (i 1) -ésimo carácter calculado por la unidad de cálculo de error, en (i 1) -ésimo carácter El cálculo del valor de corrección significa para calcular un valor promedio del carácter i-ésimo y el valor de corrección como el valor de corrección del carácter i-ésimo; Y un medio de descodificación para clasificar dichas barras en dichos módulos y decodificarlos de acuerdo con dicha combinación.
La reivindicación 2 en el que el valor umbral de medios de ajuste, la longitud del carácter se mide dividiendo el valor medido por el número del módulo, un primer medio de ajuste del valor umbral para el cálculo de la anchura de la barra por módulo, el módulo uno Y un segundo valor de ajuste de umbral significa establecer un número predeterminado de valores de umbral utilizando el ancho de barra por barra.
La reivindicación 3 en el que el valor de referencia medios de ajuste, en el que dichos valores de módulo clasifican por los medios de descodificación, a partir del producto de la anchura de la barra por el módulo uno, en la reivindicación 2, caracterizado porque el establecimiento del valor de referencia Método de decodificación del código de barras.
La reivindicación 4, en el que el error medio de cálculo, de acuerdo con la reivindicación 1, con el valor de referencia, la diferencia entre el valor detectado por el ancho de detección bar significa calcula, y calcula el valor medio de la diferencia como el error Método de decodificación del código de barras.
Dibujo :
Application number :1997-006885
Inventors :株式会社デンソー
Original Assignee :飯田正広