Автор: Пользователь скрыл имя, 20 Апреля 2012 в 16:02, реферат
Код UPC — простой и практически симметричный линейный штрихкод. Эта простота, симметричность и высокая помехозащищённость обусловлена недостаточно развитой техникой времён создания этих кодов. Код состоит из 2 групп цифр, по 6 цифр в каждой группе — левой и правой. Группы цифр окаймляются так называемыми защитными, или ограждающими, штрих-шаблонами (Guard Patterns), которые выделены на рисунке для наглядности зелёным цветом. Эти шаблоны содержат штрихи единичной ширины, которые служат для синхронизации сканера штрихкода. Наличие именно трёх таких полей обусловлено в первую очередь возможным нанесением штрихкода на закруглённую поверхность.
Введение
Общее описание структуры
Стандартизация и усовершенствование кода для применения в других странах
Кодировка цифр
Расчет контрольного числа
Кодировка товара: префикс, код предприятия, код товара, кодировка товара
Выводы
Список литературы
Министерство образования, науки, молодежи и спорта Украины
Донецкий национальный университет экономики и торговли имени Михаила Туган – Барановского
Луганский
учебный центр
Реферат
по дисциплине: «Кодировка и идентификация товаров»
на тему: «Штриховой код UPC»
студентки группы СзТКДН-12
Самохиной
Анастасии Дмитриевны
Луганск 2012
План
Введение
Выводы
Список литературы
Введение
UPC или Universal Product Code (универсальный код
товара) — американский стандарт штрихкода,
предназначенный для отслеживания товаров
в магазинах. UPC был разработан в 1973 году
Джорджем Джосефом Лорером ,работавшим
инженером в корпорации IBM. В июне 1974 года
первый UPC сканер производства корпорации
NCR был установлен в супермаркете Марш
в городе Трой штата Огайо. 26 июня 1974 года
кассиром этого супермаркета был просканирован
первый товар — блок 10 фруктовых жевательных
резинок компании Wrigley.
Код UPC — простой и практически симметричный линейный штрихкод. Эта простота, симметричность и высокая помехозащищённость обусловлена недостаточно развитой техникой времён создания этих кодов. Код состоит из 2 групп цифр, по 6 цифр в каждой группе — левой и правой. Группы цифр окаймляются так называемыми защитными, или ограждающими, штрих-шаблонами (Guard Patterns), которые выделены на рисунке для наглядности зелёным цветом. Эти шаблоны содержат штрихи единичной ширины, которые служат для синхронизации сканера штрихкода. Наличие именно трёх таких полей обусловлено в первую очередь возможным нанесением штрихкода на закруглённую поверхность. И если сейчас это не является особой проблемой, то во времена создания этого кода сканеру требовалось знать ширину единичного штриха в начале, середине и конце кода. Левые и правые защитные шаблоны состоят из 3 штрихов единичной ширины — двух тёмных и одного светлого между ними. Средний защитный шаблон состоит из 5 штрихов — трёх светлых и двух тёмных. Всё остальное — цифры.
Каждая цифра
левой или правой группы кодируется
с помощью четырёх штрихов: двух
светлых и двух тёмных. Каждый штрих
может иметь относительную
Первая цифра кода — это так называемый префикс — имеет некоторое логическое значение, но не столь важна с технической точки зрения.
Последняя цифра — контрольное число, служит для выявления возможной ошибки при чтении кода сканером или ручного ввода цифр кода с клавиатуры.
Направление
чтения комбинации штрихов значения не
имеет, код специально разрабатывался
так, чтобы он одинаково просто считывался
как в прямом, так и обратном направлении
(если товар перевёрнут). Также не имеет
значения то, какое исполнение имеет весь
штрихкод — фотографически позитивное
или негативное. То есть штрихкод, нанесённый
светлыми полосками по тёмному фону читается
абсолютно так же, как и тёмными полосками
по светлому фону. Мало того, цвета штрихов
и фона не обязательно должны быть белыми
и чёрными, возможны и другие цветовые
комбинации.
Стандартизацией и регистрацией кодов UPC занимались организации UCC (Uniform Code Council, Inc.) в США и ECCC (Electronic Commerce Council of Canada) в Канаде. В 2005 году эти организации объединились с европейской ассоциацией EAN и образовали глобальную организацию по стандартизации GS1. «Национальная организация GS1 в России» является представителем этой организации в нашей стране.
Разновидности кода:
UPC-A (полный) — кодируется 12 цифр.
UPC-E (сокращённый) — кодируется 8 цифр.
Код UPC содержит только числа и никаких букв или других символов.
UPC, содержащий 12 цифр, является прародителем европейского усовершенствованного кода EAN-13, кодирующего 13 цифр. Код UPC может считаться частным случаем, подмножеством кода EAN-13. Коды UPC легко преобразуются в EAN-13 (но не наоборот). Это достигается простым и естественным для понимания человека способом — добавлением тринадцатой цифры. Просто добавляется «ноль» перед двенадцатью цифрами кода UPC. То есть, товар, штрихкод которого мы видим на рисунке к этой статье, будет иметь код EAN-13: 0036000291452. Именно по этой причине товары США и Канады в привычной нам европейской кодировке начинаются с нуля.
Очень важно, что сама «штриховка» при таком преобразовании, то есть рисунок EAN-13 для кодов, соответствующих UPC, абсолютно идентична «штриховке» UPC. Это одно и то же. Таким образом была обеспечена совместимость американских кодов для чтения в Европе без какой-либо перепечатки этикеток или упаковки товара.
Более подробная
информация о коде EAN-13 и его отличиях
от UPC в статье European Article Number.
При проектировании структуры кода, в условиях ещё не слишком развитой электроники, было важным сделать его как можно более простым для считывания сканером и упростить аппаратную часть самого сканера. Одной из сложностей была проблема вероятного считывания кода в обратном направлении, то есть считывания кода на товаре, который кассир поднёс к сканеру «вверх ногами». Поэтому очень важно было, чтобы чередование полос было одинаковым в обоих направлениях — сначала тёмный штрих, потом белый, потом опять тёмный и так далее. Да, и ещё было бы неплохо, чтобы положение защитных шаблонов было всегда на одном и том же месте.
Решение было найдено. Можно обратить внимание, что код выглядит очень симметрично, то есть количество штрихов справа и слева от центра всегда равно, а ширина правой и левой части штрихкода одинаковы. То есть механизм считывания штрихкода всегда одинаков, как этот код ни поверни.
Что касается одинаковой последовательности чередования светлых и тёмных штрихов при прямом и обратном чтении, то разработчики добились этого тем, что кодировка правой и левой групп цифр немного отличается — правые символы имеют фотографически негативное начертание относительно левых. То есть шаблоны штрихов для одной и той же цифры идентичны, но позитивны или негативны. Иначе говоря, отличие только в том, что если для левой части кода это светлый штрих, то для правой — тёмный.
Проблема распознавания прямого или обратного считывания точно так же легко разрешается логически. Например, если сканер считывает цифру с толщиной штрихов 3-2-1-1, то он понимает, что это цифра «ноль» и её прямое считывание, а если он считывает штрихи толщиной 1-1-2-3, то он понимает, что это тот же «ноль», но считанный в обратном направлении. Считывая числа, закодированные зеркально относительно обычной кодировки, сканер понимает, что весь штрихкод считывается в обратном направлении, следовательно, и всю полученную последовательность из 12 цифр нужно передать компьютеру в обратном порядке.
Всё это
было определённой перестраховкой, и по
современным меркам излишеством, но и
год был 1973.
В коде UPC-A контрольное число (цифра) рассчитывается следующим образом:
Например, контрольное число для приведённого на рисунке штрихкода UPC-A «03600029145X», где «X» - это искомая контрольная цифра, рассчитывается путём сложения всех нечётных цифр (0+6+0+2+1+5 = 14), умножается на три (14 × 3 = 42), результат суммируется со всеми чётными цифрами (42+3+0+0+9+4 = 58), отбрасывается всё, кроме последней цифры (58 mod 10 = 8), вычитается из 10 (10 − 8 = 2) и ещё раз, если это необходимо, отбрасывается всё, кроме последней цифры (2 mod 10 = 2). Искомое контрольное число — цифра 2.
При считывании кода правильность считывания проверяется похожим способом, но несколько проще:
Технически цифры обрабатываются последовательно, за один проход, с умножением каждой цифры на 1 или 3, в зависимости от чётности позиции, добавлением к сумме и взятием остатка по модулю 10 от текущей суммы. Иными словами десятки сразу отбрасываются, что сильно упрощает механизм вычисления.
Если результат равен нулю, то принимается решение, что код считан правильно, если любая другая цифра, то код однозначно считан неверно.
По поводу кодирования контрольного числа можно услышать три вопроса:
Вопрос: Почему всё так сложно, зачем умножать на 3, почему нельзя просто сложить цифры друг с другом без этого умножения?
Ответ: Потому, что коды рассчитаны не только для ввода сканером, иногда кассир может вводить его вручную. Человек ведь иногда не только ошибается, вводя другую цифру. Часто он переставляет правильные цифры местами. То есть, например, вместо 2252 может ввести 2522. Или другой вариант — он может ввести лишний ноль в одной части кода и убрать в другой. Например, вместо 00300 может ввести 00030. Простое сложение цифр не сможет отследить ошибки такого типа, а вышеуказанный на это способен.
Вопрос: Почему умножается на 3, а не на 2 или 5?
Ответ: Если взять таблицу умножения из школьной тетради и посмотреть на результаты умножения цифр на 3, то можно заметить, что для каждого числа последняя цифра в результате умножения разная и не повторяется. То есть, каждому исходному числу от 0 до 9 соответствует другое уникальное число от 0 до 9.
Альтернативный ответ: чтобы сохранить количество классов вычетов, число m, на которое мы умножаем, должно быть взаимно просто с n (n = 10, для дес.системы счисления). С 10 взаимно просты четыре числа: 1, 3, 7, 9.
Вопрос: Почему при вычислении контрольного числа на 4-м шаге из 10 вычитается последняя цифра суммы, ведь можно было просто записать эту цифру, полученную на шаге 3 и дело с концом, к чему такие сложности?
Ответ: Упрощение
контроля. При контроле единственный правильный
ответ — ноль.
Данный код создавался, в первую очередь, для автоматизации торговли продукцией, произведённой множеством предприятий, поэтому вопрос внутреннего содержания также был важен для стандартизации и регулирования, чтобы разные предприятия не могли присвоить товару одинаковый код. Каждый вновь производимый вид товара должен был иметь свой уникальный код, и это было главной задумкой всей этой системы. То есть, если производитель выпускает, например, джинсы, то джинсы разного цвета, размера, покроя, должны были иметь различные коды. То есть, если это, например, 10 цветов, 50 видов, 20 размеров, то для их кодировки потребуется десять тысяч кодов.
В свою очередь одинаковый товар, но разных предприятий-производителей, тоже должен был иметь различную кодировку. Всё это было важно для автоматизации учёта в торговле, автоматического контроля остатков товара на складе, прилавках магазинов и так далее.
Теоретический максимум этого кода — 100 миллиардов различных видов товара (11 цифр). Казалось бы, огромное число. Но теория не всегда соответствует практике, и нынешняя ситуация такова, что, более чем за 30 лет существования системы, этих кодов оказалось недостаточно. Это связано с несбалансированным, расточительным их расходованием.
Первоначально 11 цифр кода были распределены следующим образом:
- префикс — 1 цифра;
- код производителя — 5 цифр;
- код товара — 5 цифр.