Code produit universel

0

Le code produit universel ( UPC ; redondant : code UPC ) est une symbologie de code-barres largement utilisée dans le monde entier pour le suivi des articles commerciaux dans les magasins.

Un code-barres UPC

UPC (se réfère techniquement à UPC-A) se compose de 12 chiffres qui sont attribués de manière unique à chaque article commercial. Avec le code-barres EAN associé , l’UPC est le code-barres principalement utilisé pour la numérisation des articles commerciaux au Point de vente , conformément aux spécifications GS1 . [1] Les structures de données UPC sont une composante des GTIN et suivent la spécification mondiale GS1, qui est basée sur les normes internationales. Mais certains détaillants (vêtements, meubles) n’utilisent pas le système GS1 (plutôt que d’autres symbologies de codes-barres ou systèmes de numéros d’articles). D’autre part, certains détaillants utilisent la symbologie du code-barres EAN/UPC, mais sans utiliser de GTIN (pour les produits vendus dans leurs propres magasins uniquement).

La recherche indique que l’adoption et la diffusion de l’UPC ont stimulé l’innovation et contribué à la croissance des chaînes d’approvisionnement internationales du commerce de détail. [2]

Histoire

Apprendre encore plus Cet article duplique la portée d’autres articles , en particulier Barcode#History . ( décembre 2013 ) Please discuss this issue on the talk page and edit it to conform with Wikipedia’s Manual of Style.

Wallace Flint a proposé un système de paiement automatisé en 1932 utilisant des cartes perforées . Bernard Silver et Norman Joseph Woodland , un étudiant diplômé du Drexel Institute of Technology (maintenant l’Université Drexel) , ont développé un code de style cible et ont déposé une demande de brevet en 1949. [3] [4]

Dans les années 1960 et au début des années 1970, les chemins de fer d’Amérique du Nord ont expérimenté des codes à barres multicolores pour le suivi des wagons , mais ce système a finalement été abandonné [5] et remplacé par un système radio appelé Automatic Equipment Identification (AEI) .

En 1973, un groupe d’associations professionnelles de l’industrie de l’alimentation a formé le Uniform Product Code Council (UPCC) qui, avec l’aide des consultants Larry Russell et Tom Wilson de McKinsey & Company , a défini le format numérique qui a constitué la base de l’Uniform Product Code Council. Code. [6] Des entreprises technologiques telles que Charegon, IBM , Litton-Zellweger, Pitney Bowes-Alpex, Plessey-Anker, RCA , Scanner Inc., Singer et Dymo Industries /Data General, ont présenté des propositions alternatives pour les représentations de symboles au conseil. [ citation nécessaire ] Le comité de sélection des symboles a finalement choisi de mettre en œuvre la proposition d’IBM conçue parGeorge J. Laurer , mais avec une légère modification de la police dans la zone lisible par l’homme. [ citation nécessaire ]

Le premier article marqué UPC jamais scanné à la caisse d’un magasin de détail était un paquet de 10 (50 bâtons) de chewing-gum Wrigley’s Juicy Fruit , acheté au supermarché Marsh à Troy, Ohio , à 8 h 01 le 26 juin 1974. [7] La ​​caisse enregistreuse NCR a sonné 67 cents. [8] Le panier contenait également d’autres articles à code-barres, mais le chewing-gum était le premier à être ramassé à la caisse. Un fac-similé du paquet de gomme a été exposé au musée d’histoire américaine de la Smithsonian Institution à Washington , DC [9] [10]

Murray Eden était consultant dans l’équipe qui a créé le code-barres Universal Product Code. [11] [12] En tant que président d’un comité de scientifiques au Massachusetts Institute of Technology , il a aidé à sélectionner un symbole qui supporterait l’inévitable ruée vers la technologie qui s’annonçait. [13] Il a choisi la police et a eu l’idée d’ajouter des chiffres en bas, ce qui est un système à sécurité intégrée, au cas où le lecteur de code serait en panne. [14] [15]

Proposition IBM

Vers la fin de 1969, IBM du Research Triangle Park (RTP) en Caroline du Nord a chargé George Laurer de déterminer comment fabriquer un scanner et une étiquette de supermarché. À la fin de 1970, Heard Baumeister a fourni des équations pour calculer les caractères par pouce réalisables par deux codes à barres IBM, Delta A et Delta B. En février 1971, Baumeister a rejoint Laurer.

Au milieu de 1971, William “Bill” Crouse a inventé un nouveau code à barres appelé Delta C. [4]Il a obtenu quatre fois plus de caractères par pouce que Delta B. Delta B a comparé les largeurs de barre à la largeur de l’espace pour coder les bits. Cela était extrêmement sensible à la propagation de l’encre où trop d’encre ou de pression entraînerait l’étalement des deux bords d’une barre vers l’extérieur et trop peu pour les faire rétrécir. Pour empirer les choses à mesure que les bars étalent les espaces rétrécissent et vice versa. Delta C a atteint ses meilleures performances en n’utilisant que les bords d’attaque ou de fuite vers les bords de fuite qui n’étaient pas affectés par une diffusion uniforme de l’encre. Le code a fourni les meilleures performances lorsqu’il avait un jeu de caractères défini avec une distance de référence fixe qui couvrait la plupart ou de préférence tout le caractère. En août 1971, Crouse a rejoint l’effort de scanner. Après plusieurs mois, ils n’avaient fait aucun progrès. Ils étaient au courant de l’étiquette RCA bull’s eye qui pouvait être scannée avec un simple scanner laser à ligne droite, mais une étiquette lisible était beaucoup trop grande. Bien que Litton Industries ait proposé un symbole d’œil de boeuf coupé en deux pour réduire la zone, il était encore trop grand et présentait les mêmes problèmes d’impression de frottis d’encre que le symbole RCA. La redondance et la capacité de vérification ont été complètement supprimées. Ils étaient également conscients des nombreuses propositions du monde entier, dont aucune n’était réalisable.

Le Label UPC reprenant les caractéristiques générales des propositions de Baumeister

Au printemps 1972, Baumeister annonce une percée. Il a proposé une étiquette avec des barres légèrement plus longues que la distance entre toutes les barres qui devaient être lues en un seul passage. Cette étiquette pourrait être numérisée avec un simple scanner “X” à peine plus complexe que le scanner laser à ligne droite. Le lendemain, Baumeister a suggéré que si l’étiquette était divisée en deux moitiés, la longueur des barres pourrait être réduite de près de moitié. Ces deux propositions réduisaient d’un tiers puis d’un sixième la zone du centre de la cible. L’image de droite montre l’étiquette proposée par Baumeister. Il n’a pas spécifié de code à barres spécifique car cela était bien compris. À l’exception du code à barres et des dix chiffres, l’étiquette UPC est aujourd’hui sa proposition. Peu de temps après, Baumeister a été transféré dans un autre domaine de RTP.

Laurer a ensuite défini les détails de l’étiquette et rédigé une proposition. NJ Woodland a été nommé planificateur du projet et a aidé Laurer à rédiger sa proposition.

La première tentative de Laurer avec un code à barres a utilisé Delta B. La taille de l’étiquette résultante était d’environ six pouces sur trois pouces, ce qui était trop grand. Crouse a suggéré à Laurer d’utiliser son code à barres Delta C et a fourni une copie de son brevet contenant un exemple de jeu de caractères alphanumériques et des règles pour générer d’autres alphabets de taille. Cela a réduit la taille de l’étiquette à environ 1,5 “x 0,9”. Plus tard, Laurer a demandé à Crouse de l’aider à savoir comment le scanner pouvait détecter une étiquette. Ensemble, ils ont défini des barres de garde et une définition de la façon de détecter l’étiquette. Les barres de garde ont également fourni une identification pour la discrimination des demi-étiquettes et des barres de formation pour les circuits de seuil du scanner. Laurer avait une définition complète de l’étiquette et a commencé à rédiger sa proposition. [16]

Auparavant, Crouse avait eu l’idée d’une simple baguette portée comme une bague et un bracelet. Il a décidé de développer cette baguette pour fournir une démonstration de l’étiquette. [ citation nécessaire ]

Le 1er décembre 1972, IBM a présenté la proposition de Laurer au Super Market Committee de Rochester, Minnesota , l’endroit où IBM développerait le scanner. Au cours de la présentation, Crouse a fait une démonstration en laboratoire où il a lu des étiquettes de type UPC avec sa baguette magique. En plus de lire les étiquettes habituelles, il a lu la grande étiquette centrale de deux pages dans le livret de proposition. Il s’est ensuite tourné vers une page montrant une photo d’articles étiquetés assis sur une table. Les étiquettes étaient petites et défectueuses en raison de la résolution de la photo imprimée, mais la baguette en lisait beaucoup. Cette démonstration a montré la robustesse du code Delta C pur. La proposition a été acceptée.

Un mois plus tard, le 1er janvier 1973, Crouse a été transféré au groupe Advanced Technology d’IBM, et Laurer est resté avec l’entière responsabilité du label.

Dymo Industries , les fabricants d’appareils d’impression portables, ont insisté pour que le code soit indépendant des caractères, [ clarification nécessaire ] afin que les appareils d’impression portables puissent produire le code-barres en magasin si les articles n’étaient pas codés par les fabricants. La proposition de Dymo a été acceptée par IBM et incorporée dans la dernière proposition d’IBM.

Il a été décidé que les deux moitiés de l’étiquette devraient avoir un ensemble différent de caractères numériques. Le jeu de caractères Laurer dérivé du brevet Delta C utilisait sept incréments ou unités imprimables où deux barres et deux espaces seraient imprimés. Cela a donné vingt combinaisons de caractères, mais il y avait deux paires qui, lues par les règles Delta C, ont donné le même code pour la paire. Comme dix-huit caractères n’étaient pas suffisants, Laurer a essayé d’ajouter une unité au jeu de caractères. Cela a donné vingt-six caractères Delta C qui pourraient fournir les deux ensembles de caractères décimaux, mais cela a également ajouté quatorze pour cent à la largeur de l’étiquette et donc à la hauteur. Ce serait une augmentation de trente pour cent de la surface ou une étiquette de 1,7 “x1,03”. Laurer a estimé que ce n’était pas acceptable. Il est revenu au jeu de caractères original avec vingt caractères, mais quatre d’entre eux étaient deux paires avec la même lecture Delta C. Il a décidé de tous les utiliser. Pour distinguer les paires, il mesurerait une largeur de barre dans chacune des paires pour les distinguer les unes des autres. Pour chaque paire, ces barres auraient une ou deux unités de large. Laurer n’a pas appliqué les équations de Baumeister à cet ensemble. Il a estimé qu’une seule mesure de largeur de barre ne serait pas trop grave. Il s’est avéré qu’il aurait fallu plus de cinquante pour cent d’augmentation de largeur et de hauteur pour une augmentation de surface de plus du double. Laurer a admis plus tard que ces quatre caractères dans chaque ensemble étaient responsables de la plupart des erreurs de lecture du scanner. Pour distinguer les paires, il mesurerait une largeur de barre dans chacune des paires pour les distinguer les unes des autres. Pour chaque paire, ces barres auraient une ou deux unités de large. Laurer n’a pas appliqué les équations de Baumeister à cet ensemble. Il a estimé qu’une seule mesure de largeur de barre ne serait pas trop grave. Il s’est avéré qu’il aurait fallu plus de cinquante pour cent d’augmentation de largeur et de hauteur pour une augmentation de surface de plus du double. Laurer a admis plus tard que ces quatre caractères dans chaque ensemble étaient responsables de la plupart des erreurs de lecture du scanner. Pour distinguer les paires, il mesurerait une largeur de barre dans chacune des paires pour les distinguer les unes des autres. Pour chaque paire, ces barres auraient une ou deux unités de large. Laurer n’a pas appliqué les équations de Baumeister à cet ensemble. Il a estimé qu’une seule mesure de largeur de barre ne serait pas trop grave. Il s’est avéré qu’il aurait fallu plus de cinquante pour cent d’augmentation de largeur et de hauteur pour une augmentation de surface de plus du double. Laurer a admis plus tard que ces quatre caractères dans chaque ensemble étaient responsables de la plupart des erreurs de lecture du scanner. Il s’est avéré qu’il aurait fallu plus de cinquante pour cent d’augmentation de largeur et de hauteur pour une augmentation de surface de plus du double. Laurer a admis plus tard que ces quatre caractères dans chaque ensemble étaient responsables de la plupart des erreurs de lecture du scanner. Il s’est avéré qu’il aurait fallu plus de cinquante pour cent d’augmentation de largeur et de hauteur pour une augmentation de surface de plus du double. Laurer a admis plus tard que ces quatre caractères dans chaque ensemble étaient responsables de la plupart des erreurs de lecture du scanner.

David Savir, un mathématicien, a été chargé de prouver que le symbole pouvait être imprimé et répondrait aux exigences de fiabilité, et n’était probablement pas au courant des équations de Baumeister. Lui et Laurer ont ajouté deux chiffres supplémentaires aux dix pour la correction et la détection des erreurs. Ensuite, ils ont décidé d’ajouter une parité paire/impaire au nombre d’unités remplies de barres de chaque côté. La parité paire/impaire est une technique utilisée pour détecter tout nombre impair d’erreurs binaires dans un flux binaire. Ils ont décidé d’utiliser impair d’un côté et pair de l’autre. Cela fournirait une indication supplémentaire du demi-ticket en cours de lecture. Cela signifiait que chaque largeur de barre devait être lue avec précision pour fournir une bonne lecture. Cela signifiait également que chaque espace serait également connu. Exiger que chaque largeur de bit soit lue avec précision a fondamentalement annulé l’avantage Delta C, à l’exception de la mesure de référence Delta C. Seuls l’étrange jeu de caractères et la taille de l’étiquette restent comme une ombre du code Delta C. La taille était toujours celle calculée pour le Delta C pur. Si la taille de l’étiquette avait été correctement recalculée,

L’ingénierie mécanique et la conception de circuits électroniques nécessitent généralement des conceptions dans le pire des cas utilisant des tolérances connues. De nombreux ingénieurs travaillant avec des codes à barres avaient peu d’expérience avec de telles choses et utilisaient des méthodes quelque peu intuitives. C’était la cause de la mauvaise performance du code Delta B et très probablement de l’échec du scanner œil de boeuf de RCA.

Le tableau suivant montre les étiquettes utilisables, disponibles au début des années 1970, avec leurs tailles.

Type d’étiquette Dimensions de l’étiquette Région
Oeil de boeuf avec code Morse Grande Grande
Oeil de boeuf avec Delta B 12,0 po (300 mm) de diamètre 113,10 pouces 2 (729,7 cm 2 )
Oeil de boeuf avec Delta A 9,0 po (230 mm) de diamètre 63,62 pouces 2 (410,5 cm 2 )
Baumeister 1er avec Delta B 6,0 po × 5,8 po (150 mm × 150 mm) 34,80 po2 (224,5 cm2 )
Baumeister 2 moitiés avec Delta B 6,0 po × 3,0 po (152 mm × 76 mm) 18,00 pouces 2 (116,1 cm 2 )
Baumeister 2 moitiés avec Delta A 4,5 pouces × 2,3 pouces (114 mm × 58 mm) 10,35 pouces 2 (66,8 cm 2 )
Baumeister avec Delta C 1,5 po × 0,9 po (38 mm × 23 mm) 1,35 po2 ( 8,7 cm2 )

Cela suppose un œil de boeuf avec les mêmes informations et une lisibilité fiable.

Composition

Chaque code-barres UPC-A consiste en une bande scannable de barres noires et d’espaces blancs au-dessus d’une séquence de 12 chiffres numériques. Aucune lettre , caractère ou autre contenu de quelque nature que ce soit ne peut apparaître sur un code-barres UPC-A. Il existe une correspondance biunivoque entre le nombre à 12 chiffres et la bande de barres noires et les espaces blancs, c’est-à-dire qu’il n’y a qu’une seule façon de représenter visuellement chaque nombre à 12 chiffres et qu’il n’y a qu’une seule façon de représenter chaque bande de barres noires et les espaces blancs numériquement.

La zone scannable de chaque code-barres UPC-A suit le modèle S L LLLLLMRRRRR R E, où les modèles de garde S (début), M (milieu) et E (fin) sont représentés de la même manière sur chaque code-barres UPC-A et le L (gauche) et R (droite) représentent collectivement les 12 chiffres numériques qui rendent chaque CUP-A unique. Le premier chiffre L indique un système de numérotation particulier à utiliser par les chiffres suivants. Le dernier chiffre R est un chiffre de contrôle de détection d’erreur , qui permet de détecter certaines erreurs lors de la numérisation ou de la saisie manuelle. Les modèles de garde séparent les deux groupes de six chiffres numériques et établissent la synchronisation.

CUP-A CUP-E
UPC-A.png UPC-A.png UPC-E.png UPC-E.png

UPC-A 042100005264 est équivalent à UPC-E 425261 avec le modèle de parité “EOEEOO”, qui est défini par le système de numérotation UPC-A 0 et le chiffre de contrôle UPC-A 4.

Mise en page

Les codes-barres UPC-A peuvent être imprimés à différentes densités pour s’adapter à une variété de processus d’impression et de numérisation. Le paramètre dimensionnel significatif est appelé dimension x (largeur d’un élément de module unique). La largeur de chaque barre (espace) est déterminée en multipliant la dimension x et la largeur du module (1, 2, 3 ou 4 unités) de chaque barre (espace). Étant donné que les modèles de garde comprennent chacun deux barres et que chacun des 12 chiffres du code à barres UPC-A se compose de deux barres et de deux espaces, tous les codes à barres UPC-A se composent exactement de (3 × 2) + (12 × 2) = 30 barres, dont 6 représentent des modèles de garde et 24 représentent des chiffres numériques.

La dimension x pour l’UPC-A à la taille nominale est de 0,33 mm (0,013″). La hauteur nominale du symbole pour l’UPC-A est de 25,9 mm (1,02″). Les barres formant les motifs de garde S (début), M (milieu) et E (fin) sont prolongées vers le bas de 5 fois la dimension x, avec une hauteur de symbole nominale résultante de 27,55 mm (1,08″). Cela s’applique également aux les barres du premier et du dernier chiffre du code-barres UPC-A. UPC-A peut être réduit ou agrandi de 80 % à 200 %.

Une zone calme, d’une largeur d’au moins 9 fois la dimension x, doit être présente de chaque côté de la zone scannable du code-barres UPC-A. [17] [18] Pour un numéro GTIN-12 encodé dans un code-barres UPC-A, les premier et dernier chiffres de l’ Interprétation lisible par l’homme sont toujours placés à l’extérieur du symbole afin d’indiquer les zones calmes nécessaires au code-barres UPC scanners fonctionnent correctement.

Codage

Le code-barres UPC-A est représenté visuellement par des bandes de barres et d’espaces qui encodent le numéro UPC-A à 12 chiffres. Chaque chiffre est représenté par un motif unique de 2 barres et 2 espaces. Les barreaux et espaces sont de largeur variable, soit 1, 2, 3 ou 4 modules de large. La largeur totale d’un chiffre est toujours de 7 modules ; par conséquent, le numéro à 12 chiffres UPC-A nécessite un total de 7 × 12 = 84 modules.

Un UPC-A complet a une largeur de 95 modules : 84 modules pour les chiffres (sections L et R) combinés à 11 modules pour les modèles de garde S (début), M (milieu) et E (fin). Les modèles de garde S (début) et E (fin) ont une largeur de 3 modules et utilisent le modèle bar-space-bar , où chaque barre et espace a une largeur d’un module. Le motif de garde M (milieu) a une largeur de 5 modules et utilise le motif space-bar-space-bar-space , où chaque barre et espace est également large d’un module. De plus, un symbole UPC-A nécessite une zone silencieuse (espace supplémentaire de 9 modules de large) avant le S (début) et après le E (fin) des motifs de garde.

Table de codage pour le modèle de code-barres UPC-A S L LLLLLMRRRRR R E

Quartier calme S
(début)
L
(chiffre numérique de gauche)
M
(milieu)
R
(chiffre numérique de droite)
E
(fin)
Quartier calme
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
UPC-A Q.svg CUP-A Q.svg UPC-A S.svg CUP-A S.svg UPC-A L0.svg CUP-A L0.svg UPC-A L1.svg CUP-A L1.svg UPC-A L2.svg CUP-A L2.svg UPC-A L3.svg CUP-A L3.svg UPC-A L4.svg CUP-A L4.svg UPC-A L5.svg CUP-A L5.svg UPC-A L6.svg CUP-A L6.svg UPC-A L7.svg CUP-A L7.svg UPC-A L8.svg CUP-A L8.svg UPC-A L9.svg CUP-A L9.svg UPC-A M.svg CUP-A M.svg UPC-A R0.svg CUP-A R0.svg UPC-A R1.svg CUP-A R1.svg UPC-A R2.svg CUP-A R2.svg UPC-A R3.svg CUP-A R3.svg UPC-A R4.svg CUP-A R4.svg UPC-A R5.svg CUP-A R5.svg UPC-A R6.svg CUP-A R6.svg UPC-A R7.svg CUP-A R7.svg UPC-A R8.svg UPC-A R8.svg UPC-A R9.svg CUP-A R9.svg UPC-A S.svg CUP-A S.svg UPC-A Q.svg CUP-A Q.svg

Les chiffres du côté gauche de l’UPC-A (les chiffres à gauche du motif de garde M (milieu)) ont une parité impaire, ce qui signifie que la largeur totale des barres noires est un nombre impair de modules. Au contraire, les chiffres de droite ont une parité paire. Par conséquent, un scanner UPC peut déterminer s’il scanne un symbole de gauche à droite ou de droite à gauche (le symbole est à l’envers). Après avoir vu un motif de garde S (début) ou E (fin) (ils sont identiques, barre-espace-barre, quelle que soit la direction dans laquelle ils sont lus), le scanner verra d’abord les chiffres de parité impairs, s’il balaie de gauche à droite, ou même les chiffres de parité, s’il balaie de droite à gauche. Avec les informations de parité/direction, un symbole à l’envers ne confondra pas le scanner. Lorsqu’il est confronté à un symbole à l’envers, le scanner peut simplement l’ignorer (de nombreux scanners alternent les balayages de gauche à droite et de droite à gauche, de sorte qu’ils liront le symbole lors d’un passage ultérieur) ou reconnaître les chiffres et les mettre dans le bon ordre. Il existe une autre propriété dans le codage des chiffres. Les chiffres de droite sont l’inverse optique des chiffres de gauche, c’est-à-dire que les barres noires sont transformées en espaces blancs et vice versa. Par exemple, le côté gauche “4” est space×1 – bar×1 – space×3 – bar×2 , tandis que le côté droit “4” estbarre×1 – espace×1 – barre×3 – espace×2 .

Numérotage

Le nombre de codes à barres UPC-A et UPC-E est limité par les normes utilisées pour les créer.

UPC-A : (10 valeurs possibles par chiffre de gauche ^ 6 chiffres de gauche) × (10 valeurs possibles par chiffre de droite ^ 5 chiffres de droite) = 100 000 000 000.
UPC-E : (10 valeurs possibles par chiffre ^ 6 chiffres) × (2 modèles de parité possibles par numéro UPC-E) = 2 000 000.

Chiffre du système de numération

Vous trouverez ci-dessous une description de tous les systèmes de numérotation possibles avec le schéma de numérotation UPC-A à 12 chiffres correspondant L LLLLLRRRRR R , où L désigne le chiffre du système de numérotation et R le chiffre de contrôle.

0–1, 6–9 Pour la plupart des produits. Les chiffres LLLLL sont le code du fabricant (attribué par l’ organisation GS1 locale ) et les chiffres RRRRR sont le code du produit. 2 Réservé à un usage local (magasin/entrepôt), pour les articles vendus au poids variable. Les articles à poids variable, tels que les viandes, les fruits frais ou les légumes, se voient attribuer un numéro d’article par le magasin, s’ils y sont emballés. Dans ce cas, le LLLLL est le numéro d’article et le RRRRR est soit le poids, soit le prix, le premier R déterminant lequel (0 pour le poids). 3 Médicaments par numéro de Code national des médicaments (NDC). Les produits pharmaceutiques aux États-Unis utilisent les 10 chiffres du milieu de l’UPC comme numéro NDC. Bien que seuls les médicaments en vente libre soient généralement scannés au Point de vente, les UPC basés sur les NDC sont utilisés sur les emballages de médicaments sur ordonnance et les produits chirurgicaux et, dans ce cas, sont communément appelés codes UPN. [19] 4 Réservé à un usage local (magasin/entrepôt), souvent pour cartes de fidélité ou coupons de magasin. 5 Coupons . Les chiffres LLLLL sont les chiffres 2 à 6 du préfixe UPC du produit, les trois RRR suivants sont un code de famille (défini par le fabricant ou fourni par la chambre de compensation des coupons) et les deux RR suivants sont un code de valeur (selon la valeur GS1 table de codes), qui détermine le montant de la remise. Ces coupons peuvent être doublés ou triplés. [20]

Calcul du chiffre de contrôle

L’UPC comprend un chiffre de contrôle pour détecter les erreurs courantes de saisie de données. Par exemple, les codes UPC-A choisissent le chiffre de contrôle x 12 {displaystyle x_{12}} x_{12} x_{12}pour satisfaire l’ équation du chiffre de contrôle :

( 3 x 1 + x 2 + 3 x 3 + x 4 + 3 x 5 + x 6 + 3 x 7 + x 8 + 3 x 9 + x 10 + 3 x 11 + x 12 ) ≡ 0 ( mod 10 ) . {displaystyle (3x_{1}+x_{2}+3x_{3}+x_{4}+3x_{5}+x_{6}+3x_{7}+x_{8}+3x_{9}+x_ {10}+3x_{11}+x_{12})equiv 0{pmod {10}}.} {displaystyle (3x_{1}+x_{2}+3x_{3}+x_{4}+3x_{5}+x_{6}+3x_{7}+x_{8}+3x_{9}+x_{10}+3x_{11}+x_{12})equiv 0{pmod {10}}.} {displaystyle (3x_{1}+x_{2}+3x_{3}+x_{4}+3x_{5}+x_{6}+3x_{7}+x_{8}+3x_{9}+x_ {10}+3x_{11}+x_{12})equiv 0{pmod {10}}.}

Si un code saisi ne satisfait pas l’équation, il ne s’agit pas d’un CUP-A valide.

Le chiffre de contrôle UPC-A peut être calculé comme suit :

  1. Additionnez les chiffres aux positions impaires (premier, troisième, cinquième,…, onzième).
  2. Multipliez le résultat par 3.
  3. Ajoutez la somme des chiffres aux positions paires (deuxième, quatrième, sixième,…, dixième) au résultat.
  4. Trouvez le résultat modulo 10 (c’est-à-dire le reste, lorsqu’il est divisé par 10) et appelez-le M .
  5. Si M est zéro, alors le chiffre de contrôle est 0 ; sinon le chiffre de contrôle est 10 − M .

Par exemple, dans un code-barres UPC-A “03600029145 x 12 “, où x 12 est le chiffre de contrôle inconnu, x 12 peut être calculé par :

  1. Additionnez les chiffres impairs (0 + 6 + 0 + 2 + 1 + 5 = 14).
  2. Multipliez le résultat par 3 (14 × 3 = 42).
  3. Additionnez les chiffres pairs (42 + (3 + 0 + 0 + 9 + 4) = 58).
  4. Trouver le résultat modulo 10 (58 mod 10 = 8 = M ).
  5. Si M n’est pas 0, soustrayez M de 10 ( 10 − M = 10 − 8 = 2 ).

Ainsi, le chiffre de contrôle x 12 est 2.

L’équation du chiffre de contrôle est sélectionnée pour avoir des propriétés de détection d’erreur raisonnables (voir l’algorithme de Luhn ).

  • L’UPC-A peut détecter 100 % des erreurs à un chiffre. Une erreur à un seul chiffre signifie qu’exactement un chiffre est faux. Soit d , la différence modulo 10 du chiffre erroné et du chiffre correct . La valeur de d ne peut pas être zéro car cela signifie que les chiffres sont identiques, mais d peut être n’importe quelle autre valeur dans {1, 2, 3, 4, 5, 6, 7, 8, 9}. Si le chiffre d’erreur est dans une position impaire (poids 1), le côté gauche de l’équation du chiffre de contrôle change de d et l’équivalence n’est plus nulle. Si le chiffre d’erreur est dans une position paire (poids 3), alors le côté gauche change de 3 d , mais ce changement est également différent de zéro modulo 10, de sorte que l’équation du chiffre de contrôle n’est pas satisfaite.
  • UPC-A peut détecter environ 89% des erreurs de transposition. En effet, si et seulement si la différence entre deux chiffres adjacents est de 5, l’UPC-A ne peut pas détecter leur transposition.
    1. Si 2 chiffres voisins sont transposés, alors l’un des chiffres a sera pondéré par 1, et l’autre chiffre b = a + d sera pondéré par 3, où d est la différence entre les deux chiffres. Si les chiffres étaient dans le bon ordre, ils contribueraient 1 a + 3 b = 1 a + 3 ( a + d ) = 4 a + 3 d {displaystyle 1a+3b=1a+3(a+d)=4a+3d} {displaystyle 1a+3b=1a+3(a+d)=4a+3d} {displaystyle 1a+3b=1a+3(a+d)=4a+3d} à gauche de l’équation du chiffre de contrôle. Dans l’ordre transposé, ils contribuent 1 b + 3 a = 3 a + 1 ( a + d ) = 4 a + d {displaystyle 1b+3a=3a+1(a+d)=4a+d} {displaystyle 1b+3a=3a+1(a+d)=4a+d} {displaystyle 1b+3a=3a+1(a+d)=4a+d}. au LHS. La soustraction des deux contributions donne combien elles changent le LHS : ( 4 a + 3 d ) − ( 4 a + d ) = 2 d {displaystyle (4a+3d)-(4a+d)=2d} {displaystyle (4a+3d)-(4a+d)=2d} {displaystyle (4a+3d)-(4a+d)=2d} Une erreur sera détectée tant que le changement modulaire est différent de zéro ; si 2d ≡ 0 modulo 10, alors le changement ne sera pas détecté. Par conséquent, ce n’est que lorsque la différence de caractère d ≡ 5 qu’une erreur ne sera pas détectée (lorsque d ≡ 0 , la “transposition” dégénérée n’est pas une erreur).
    2. Considérez ensuite combien de fois une transposition a une distance d de 5.

Voici le tableau des d-transpositions pour les codes-barres UPC-A , où d ∈ { 0 , 1 , 2 , … , 9 } : {displaystyle din {0,1,2,ldots ,9} :} {displaystyle din {0,1,2,ldots ,9}:} {displaystyle din {0,1,2,ldots ,9} :}

Tableau des d -transpositions pour les codes-barres UPC-A

0 1 2 3 4 5 6 7 8 9
1 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9
2 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9
3 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9
4 3 3 3 4 3 5 3 6 3 7 3 8 3 9
5 4 4 4 5 4 6 4 7 4 8 4 9
6 5 5 5 6 5 7 5 8 5 9
7 6 6 6 7 6 8 6 9
8 7 7 7 8 7 9
9 8 8 8 9
dix 9 9
Somme dix 18 16 14 12 dix 8 6 4 2

Row Sum contient le nombre de d -transpositions, donc la proportion d’erreurs de transposition non détectables est (en ignorant les transpositions où d = 0 ): 10 18 + 16 + 14 + 12 + 10 + 8 + 6 + 4 + 2 = 10 90 = 11.111 … % . {displaystyle {frac {10}{18+16+14+12+10+8+6+4+2}}={frac {10}{90}}=11.111ldots %.} {displaystyle {frac {10}{18+16+14+12+10+8+6+4+2}}={frac {10}{90}}=11.111ldots %.} {displaystyle {frac {10}{18+16+14+12+10+8+6+4+2}}={frac {10}{90}}=11.111ldots %.}

Variantes

UPC dans son utilisation la plus courante fait techniquement référence à UPC-A.

D’autres variantes de l’UPC existent :

  • UPC-B est une version à 12 chiffres de l’UPC sans chiffre de contrôle, développée pour le National Drug Code (NDC) et le National Health Related Items Code. [21] [ échec de la vérification ] Il comporte 11 chiffres plus un code produit à 1 chiffre, et n’est pas couramment utilisé. [22]
  • UPC-C est un code à 12 chiffres avec un code produit et un chiffre de contrôle ; pas d’usage courant. [22]
  • UPC-D est un code de longueur variable (12 chiffres ou plus), le 12e chiffre étant le chiffre de contrôle. Ces versions ne sont pas d’usage courant.
  • UPC-E est un code à 6 chiffres, qui a son équivalent dans le code à 12 chiffres UPC-A avec le système de numérotation 0 ou 1.
  • UPC-2 est un supplément à 2 chiffres à l’UPC utilisé pour indiquer l’édition d’un magazine ou d’un périodique.
  • UPC-5 est un supplément à 5 chiffres à l’UPC utilisé pour indiquer le prix de détail suggéré pour les livres.

CUP-E

Pour permettre l’utilisation de codes à barres UPC sur des emballages plus petits, où un code à barres complet à 12 chiffres peut ne pas convenir, une version à zéro supprimé de l’UPC a été développée, appelée UPC-E, dans laquelle le chiffre du système numérique, tous les zéros à la fin du fabricant code et tous les zéros non significatifs dans le code produit sont supprimés (omis). [23] Cette symbologie diffère de l’UPC-A en ce qu’elle n’utilise qu’un code à 6 chiffres, n’utilise pas le motif de garde M (milieu) et le motif de garde E (fin) est formé comme espace-bar-espace-bar- barre d’espace, c’est-à-dire que le code-barres UPC-E suit le modèle SDDDDDDE. La manière dont un UPC-E à 6 chiffres se rapporte à un UPC-A à 12 chiffres est déterminée par le modèle numérique UPC-E et le modèle de parité UPC-E. Il ne peut correspondre qu’au système de numérotation UPC-A 0 ou 1, dont la valeur, avec le chiffre de contrôle UPC-A, détermine le modèle de parité UPC-E du codage. Avec les chiffres du code du fabricant représentés par des X et les chiffres du code du produit par des N, alors :

Dernier chiffre UPC-E Modèle numérique UPC-E Équivalent UPC-A
0 XXNNN0 0 ou 1 + XX000-00NNN + chiffre de contrôle
1 XXNNN1 0 ou 1 + XX100-00NNN + chiffre de contrôle
2 XXNNN2 0 ou 1 + XX200-00NNN + chiffre de contrôle
3 XXXNN3 0 ou 1 + XXX00-000NN + chiffre de contrôle
4 XXXN4 0 ou 1 + XXXX0-0000N + chiffre de contrôle
5 XXXXX5 0 ou 1 + XXXXX-00005 + chiffre de contrôle
6 XXXXX6 0 ou 1 + XXXXX-00006 + chiffre de contrôle
7 XXXXX7 0 ou 1 + XXXXX-00007 + chiffre de contrôle
8 XXXXX8 0 ou 1 + XXXXX-00008 + chiffre de contrôle
9 XXXXX9 0 ou 1 + XXXXX-00009 + chiffre de contrôle

Par exemple, un UPC-E 654321 peut correspondre à l’UPC-A 065100004327 ou 165100004324, selon le modèle de parité UPC-E des chiffres codés, comme décrit ci-après :

Table de codage pour le modèle de code-barres UPC-E SDDDDDDE

Chiffre de contrôle UPC-A Modèle de parité UPC-E pour UPC-A

système de numération 0

Modèle de parité UPC-E pour UPC-A

système de numération 1

0 EEEOOO OOOEEE
1 EEOOOO OOOOEE
2 EEOOEO OOEEOE
3 EEOOOO OOEEEO
4 EOEEOO OOOOEE
5 EOOEEO OEEOOE
6 EOOOEE OEEEOO
7 EOEOEO OEOEOE
8 EOEOOE OEOEEO
9 EOOEOE OEEOEO
S
(début)
O
(chiffre de parité impair)
E
(chiffre de parité paire)
E
(fin)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
UPC-E S.svg UPC-E S.svg UPC-E 0ow.svg UPC-E 0ow.svg
3-2-1-1
UPC-E 1ow.svg UPC-E 1ow.svg
2-2-2-1
UPC-E 2ow.svg UPC-E 2ow.svg
2-1-2-2
UPC-E 3ow.svg UPC-E 3ow.svg
1-4-1-1
UPC-E 4ow.svg UPC-E 4ow.svg
1-1-3-2
UPC-E 5ow.svg UPC-E 5ow.svg
1-2-3-1
UPC-E 6ow.svg UPC-E 6ow.svg
1-1-1-4
UPC-E 7ow.svg UPC-E 7ow.svg
1-3-1-2
UPC-E 8ow.svg UPC-E 8ow.svg
1-2-1-3
UPC-E 9ow.svg UPC-E 9ow.svg
3-1-1-2
UPC-E 0ew.svg UPC-E 0ew.svg
1-1-2-3
UPC-E 1ew.svg UPC-E 1ew.svg
1-2-2-2
UPC-E 2ew.svg UPC-E 2ew.svg
2-2-1-2
UPC-E 3ew.svg UPC-E 3ew.svg
1-1-4-1
UPC-E 4ew.svg UPC-E 4ew.svg
2-3-1-1
UPC-E 5ew.svg UPC-E 5ew.svg
1-3-2-1
UPC-E 6ew.svg UPC-E 6ew.svg
4-1-1-1
UPC-E 7ew.svg UPC-E 7ew.svg
2-1-3-1
UPC-E 8ew.svg UPC-E 8ew.svg
3-1-2-1
UPC-E 9ew.svg UPC-E 9ew.svg
2-1-1-3
UPC-E E.svg CUP-E E.svg

UPC-E 654321 avec le modèle de parité “EOEOEO” (UPC-A 065100004327) serait codé comme

1-1-1 4-1-1-1 1-2-3-1 2-3-1-1 1-4-1-1 2-2-1-2 2-2-2-1 1-1 -1-1-1-1.

Le code-barres ressemblerait à ceci :

UPC-E-654321.png CUP-E-654321.png

EAN-13

L’ EAN-13 a été développé comme un sur- ensemble de l’UPC-A, ajoutant un chiffre supplémentaire au début de chaque numéro UPC-A. Cela a multiplié par dix le nombre de valeurs uniques théoriquement possibles à 1 000 milliards. Les codes-barres EAN-13 indiquent également le pays dans lequel l’entreprise qui vend le produit est basée (qui peut ou non être le même que le pays dans lequel le bien est fabriqué). Les trois premiers chiffres du code le déterminent, selon les codes pays GS1 . Chaque code UPC-A peut être facilement converti en code EAN-13 équivalent en ajoutant 0 chiffre au code UPC-A. Cela ne change pas le chiffre de contrôle . Tous les systèmes de Point de vente peuvent désormais comprendre les deux de la même manière.

EAN-8 est une variante à 8 chiffres du code-barres EAN.

Remarques sur l’utilisation de l’UPC :

  • Tous les produits marqués d’un EAN seront actuellement acceptés en Amérique du Nord, en plus de ceux déjà marqués d’un CUP.
  • Les produits avec un UPC existant n’ont pas besoin d’être re-marqués avec un EAN.
  • En Amérique du Nord, l’EAN ajoute 30 % de codes supplémentaires, principalement en ajoutant les chiffres 10 à 12 aux chiffres UPC 00 à 09. C’est une puissante incitation à éliminer progressivement l’UPC.

Voir également

  • GS1 – Organisation internationale de normalisation de la chaîne d’approvisionnement
  • Preuve d’achat

Références

  1. ^ “TABLEAU DE CODES À BARRES GS1” . GS1 États-Unis . 3 avril 2013.
  2. ^ Basker, Emek; Simcoe, Timothée (2021). “Amont, Aval : Diffusion et Impacts du Code Produit Universel” . Journal d’économie politique . 129 (4): 1252-1286. doi : 10.1086/712762 . ISSN 0022-3808 . S2CID 229505646 .
  3. ^ Brevet américain 2612994 , Woodland, Norman J. & Silver, Bernard , “Classifying Apparatus and Method”, délivré le 7 octobre 1952
  4. ^ un b “UPC – La Transformation de Vente au détail” . IBM . 7 mars 2012 . Consulté le 12 novembre 2021 .
  5. ^ “Une brève histoire du code à barres” . Écuyer . 153 (3): 42. Mars 2010. Archivé de l’original le 1er juin 2016.
  6. ^ “Notre histoire innovante – les premières McKinsey” . mckinsey.com . 2013. Archivé de l’original le 12 octobre 2013. (voir diapositive 10 sur 18)
  7. ^ Nelson, Benjamin (1997). Des cartes perforées aux codes à barres : un parcours de 200 ans avec des descriptions de plus de 260 codes . Peterborough, NH : Helmers Publishing. ISBN 978-091126112-7.
  8. ^ Alfred, Randy (26 juin 2008). « 26 juin 1974 : By Gum ! Il y a une nouvelle façon d’acheter de la gomme » . Câblé . Archivé de l’original le 24 août 2010.
  9. ^ Heller, Nathan. « Numérisation d’espèces » . Revue Havard . Septembre-octobre 2005.
  10. ^ “L’histoire du code à barres” . Smithsonien. 23 septembre 2015 . Récupéré le 12 août 2021 .
  11. ^ “Histoire orale: Murray Eden – Wiki d’histoire de l’ingénierie et de la technologie” . ethw.org . 10 novembre 1999 . Consulté le 4 janvier 2021 .
  12. ^ Qualité, Commission nationale sur la productivité et le travail (1975). Technologie appliquée à l’industrie alimentaire : un rapport préliminaire . Commission nationale de la productivité et de la qualité du travail. p. 15.
  13. ^ Haberman, Alan L. (2001). Vingt-cinq ans derrière les barreaux: les actes du vingt-cinquième anniversaire de l’UPC à la Smithsonian Institution, 30 septembre 1999 . Comité des publications de l’Université Harvard Wertheim. pp. 74, 108. ISBN 978-0-674-00657-7.
  14. ^ Casanova, Stéphanie. “Murray Eden, un ingénieur biomédical passionné de chant, meurt à Tucson à 99 ans” . Étoile quotidienne de l’Arizona . Consulté le 14 janvier 2021 .
  15. ^ Roth, Brad (17 avril 2020). “Murray Eden” . Moyen . Consulté le 14 janvier 2021 .
  16. ^ “Membres du Temple de la renommée des anciens” . Association des anciens de l’Université du Maryland . L’Université du Maryland. 2005. Archivé de l’original le 23 juin 2007 . Consulté le 10 juin 2009 . Après avoir obtenu son diplôme du Maryland en 1951, George Laurer a rejoint IBM en tant qu’ingénieur junior et a gravi les échelons jusqu’à devenir ingénieur senior. En 1969, il est retourné au côté technique de l’ingénierie et s’est ensuite vu confier la tâche monumentale de concevoir un code et un symbole pour l’identification des produits pour le Uniform Grocery Product Code Council. Sa solution, le Universal Product Code, a radicalement changé le monde de la vente au détail. Depuis, il a enrichi le code en y ajoutant un 13ème chiffre.
  17. ^ rainman_63 (6 avril 2005). “Dessiner des codes-barres UPC-A avec C#” . codeproject.com .
  18. ^ Manuel de spécification des symboles UPC . Conseil du code uniforme . 1986.
  19. ^ “Codes à barres pour les produits pharmaceutiques et chirurgicaux” . SimplyBarcodes.com .
  20. ^ “Codes à barres pour les coupons” . SimplyBarcodes.com .
  21. ^ “NHRIC (Code national des articles liés à la santé)” . DonnéesSanté . Département américain de la santé et des services sociaux.
  22. ^ un b “Code à barres 1 : Un Web d’informations sur le code à barres UPC et la page de code à barres EAN” . Adam Communications . 20 juin 2013.
  23. ^ “Symbolologie UPC-A – Informations de fond UPC-E et conversion UPC-A en UPC-E” . barcodeisland.com . Consulté le 21 janvier 2013 .

Lectures complémentaires

  • US 3832686 , Bilgutay, Ilhan M., “Bar Code Font”, publié le 11 mai 1972, délivré le 27 août 1974
  • US 3145291 , Brainerd, HB, “Identification System”, publié le 2 juillet 1959, délivré le 18 avril 1964 Code à barres de chemin de fer.
  • US 3617707 , Shields, Charles B. & Stapelfeldt, Roelif, “Automatic car identification system”, publié le 17 août 1967, délivré le 2 novembre 1971
  • US 3723710 , Crouse, William G. & Jones, John E., “Method and Device for Reading and Decoding a High Density Self-Clocking Bar Code”, publié le 28 juin 1971, délivré le 27 mars 1973

Liens externes

  • UPC History – ID History Museum – Où vit l’histoire de l’UPC à la Wayback Machine (archivé le 7 juillet 2019)
  • UPC-Search.org Base de données en ligne gratuite des CUP
  • Préfixe d’entreprise GS1 Liste de préfixes à trois chiffres GS1 indiquant le pays d’origine de l’entreprise dans le code UPC (pas nécessairement le pays de fabrication)
You might also like
Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More