ДОСЛІДЖЕННЯ ШТРИХ-КОДУ EAN-13 НА ПРЕДМЕТ НАЯВНОСТІ У ньому КОЛИЧА 666

ТЕРМІНОЛОГІЯ:Код- штрих-код EAN-13.Штрих-символ- 2 штрихи різної (загалом) товщини, з яких графічно представляється будь-яка цифра в коді.Огороджувальні штрихи- (Guard Bars, Guard Patterns) - штрихові символи, що виступають на початку, середині і кінці етикеток коду.LGP- Left Guard Pattern - лівий штрих, що захищає.CGP- Center Guard Pattern - центральний штрих, що захищає.RGP- Right Guard Pattern - правий штрих, що захищає.Сканер- пристрій для зчитування штрих-коду з етикеток та передачі його в комп'ютер (касовий апарат або банкомат).

РЕЗУЛЬТАТИ ДОСЛІДЖЕНЬ:Основна передумова до міркування про наявність закодованого числа 666 у штрих-коді EAN-13 (далі: код) - наявність візуальної схожості зображення числа 6 та зображень штрихів цього коду. Для перевірки цієї подібності було зроблено теоретичне порівняння графічного та внутрішнього уявлення, а також способів обробки сканером числа 6 та штрихів коду, що захищають.

1. Графічне подання у штрих-коді EAN-13.

1.1Розміри зображень числа 6 та огороджувальних штрихів.

Щоб представити графічно (у вигляді штрихів) будь-яке число в коді, у тому числі 6, використовується штрих-символ - вертикальна смужка, що складається, у свою чергу, з 7 дрібніших смужок, так званих модулів, кожен з яких може бути чорним або білим . Для представлення огороджувальних штрихів застосовуються смужки з меншого (і різного) числа модулів: для LGP і RGP - смужки з 3 модулів, для CGP - смужка з 5 модулів.

На наступному малюнку зображено етикетку коду з поясненнями щодо кількості модулів:

Для представлення будь-якого числа в кодівикористовується 3 множини штрих-символів: Set A, Set B, Set C, тобто. кожне число на етикетці коду представляється одним із трьох можливих варіантів. Для зображення числа в правій частині етикетки завжди використовується Set C. У лівій частині використовується Set A або Set B відповідно до Таблиці 1 залежно від першого числа штрих-коду N, що знаходиться на етикетці зліва від LGP.

Число N для кожної цифри з лівої частини етикетки визначає символом якої множини (Set A або Set B) буде представлена ​​ця цифра. Наприклад, якщо в крайній лівій позиції етикетки (тобто зліва від LGP) стоїть 2 (N=2), то 1-а та 2-а цифри представлені штрих-символами Set A, 3-я та 4-а - Set B, 5-а – Set A, 6-а – Set B.

Отже, після підрахунку всіх варіантів подання будь-якої цифри, зокрема. і 6, з таблиці стає зрозуміло: якщо взяти всі можливі поєднання цифр на етикетці коду (тобто всі можливі варіанти етикеток), то 27,5% всіх "шісток" будуть представлені штрих-символами з множини Set A, 22,5 % - Set B та 50% - Set C.

Число 6 у множинах Set A, B і C і огороджувальні штрихи зображуються такими способами:

З малюнка ясно видно, що зображення штрихів, що захищають, збігаються візуально із зображеннями числа 6 тільки в Set B і Set C, що становить 50%+22,5%=72,5 %, в інших 27,5% (Set A) ці зображення візуально не збігаються.

2. Внутрішнє уявлення в сканері.

Будь-який штрих-символ етикетки коду перетворюється сканером на двійкову послідовність нулів і одиниць (0 і 1), в якій кожному чорному модулю відповідає 1, білому - 0. Відповідно до рис.3 двійкові уявлення зображень наступні:

Ці послідовності не можна розглядати як двійкові числа, а лише як двійкові зображення (картинки з 0-ї та 1-ц). Bпроцесорі та пам'яті сканера ці зображення подаються у 8-розрядному двійковому вигляді шляхом доповнення зліва нулями до 8 розрядів. Таким чином, отримуємо:

Зрозуміло, що збігаються лише внутрішні уявлення зображення LGP/RGP з внутрішнім уявленням числа 6(Set B), що становить 22,5% від усіх можливих шісток в коді (див. п.1.2). Внутрішні уявлення LGP/RGP не збігаються з внутрішнім уявленням CGP, а внутрішнє уявлення CGP не збігаються з 6-ми.

На жаль, у ВИХІДНИХ МАТЕРІАЛАХ (1) немає явного опису 8-розрядного подання числа 6(Set C) - 01010000 2 , це подання виведено на основі загальних правил подання інформації в процесорі та пам'яті. Тому воно може виявитися невірним, якщо саме для числа 6 (Set C) в конструкції сканера зроблено якийсь виняток, що є практично неймовірним. У всякому разі, це уявлення легко перевірити з будь-яких інших джерел.

3. Алгоритм обробки та розпізнавання символу сканером.

У ВИХІДНИХ МАТЕРІАЛАХ (1) докладно описаний алгоритм Техніка "відстань ширини" (width distance), який видає однакове для числа 6(Set B,C) та для LGP/RGP співвідношення 3:2:1. Теоретичне застосування даного алгоритму для розпізнавання CGP дозволяє зробити висновок: для CGP можливе отримання співвідношення 4:3:2:1, яке відрізняється від 3:2:1 для LGP/RGP і дає при розшифровці згідно з описом цього алгоритму (у двійковому вигляді):

00001111 -00000111 +00000011 -00000001 --------- 00001010 2 - це саме внутрішнє уявлення CGP, що і підтверджує правильність співвідношення 4:3: 2:1.

4. Момент ідентифікації штрихового символу як числа 6.

Сканер передає результати своєїроботи комп'ютера, якого підключається по клавіатурному входу разом із клавіатурою (див. рис.4) у точці (*). Таке підключення робиться для забезпечення можливості вводити код із етикетки вручну, просто набираючи цифри коду на клавіатурі. Клавіатура передає на комп'ютер порядкові номери натиснутих клавіш. Оскільки сканер і клавіатура підключені до комп'ютера в загальній точці (*), сканер "вимушений" також передавати в комп'ютер порядкові номери клавіш, які потрібно натиснути на клавіатурі, щоб отримати на екрані послідовність чисел з етикетки штрих-коду.

Рух інформації відбувається в такий спосіб (на рис.4 воно показано з прикладу штрих-символу цифри 6(Set A)). Будь-який штрих-символ етикетки коду перетворюється сканером на двійкову послідовність нулів і одиниць (0 і 1), в якій кожному чорному модулю відповідає 1, білому - 0 (див. п.2). Потім для всіх двійкових послідовностей, відповіднихцифрамкоду, визначаються порядкові номери клавіш, які необхідно натиснути для отримання цих цифр (для цифри 6 - клавіша № 77), і передаються в комп'ютер. Таким чином, огороджувальні штрихи в комп'ютер не передаються, вони там не потрібні з двох причин:

1) Огороджувальні штрихи виконують свою службову функцію виділення правої та лівої частини етикетки коду лише на етапі отримання у сканері двійкових послідовностей, і далі не потрібні.

2) При ручному введенні штрих-коду на клавіатурі набираються лише цифри коду, і, відповідно, передаються в комп'ютер порядкові номери натиснутих цифрових (0-9) клавіш без будь-яких штрихів, що захищають. Оскільки сканер підключено до клавіатурного входу, він "вимушений" передавати також порядкові номерилише цифровихклавіш.

І лише всередині комп'ютера відбувається перетворення № клавішіу цифру. У нашому прикладі за № клавіші 77 комп'ютер визначає, що введено цифру 6.

Таким чином, у сканері відсутнє числовеподання числа 6(двійкове число 00000110), а присутній тількиподання зображення числа6 (див. п.2 цієї Довідки). Числове уявлення числа 6 з'являється тільки в комп'ютері, де штрихи, що огороджують, в якому-небудь вигляді взагалі відсутні.

5. Про подібність штрихового зображення числа 6 і штрихів, що захищають.

Цей пункт є внаслідок нестачі інформації припущенням, заснованим скоріш навіть на логіці, але в здоровому глузді.

5.1Використання 2-х смужок одиничної ширини з одиничним білим проміжком для штрихів, що захищають.

Ця придатність виявляється у тому, що з налаштування сканера на зчитування зручно отримати таку одиничну серію імпульсів від зображення: - одиничний чорний імпульс; - одиничний білий імпульс; - одиничний чорний імпульс, яка буде використовуватися як еталон тривалості імпульсів при подальшому зчитуванні.

5.2Використання 2-х штрихів одиничної ширини з одиничним білим проміжком для числа 6(Set B,C).

Зображення числа 6(Set B,C) виходять шляхом інвертування (кожен чорний модуль перетворюється на білий і навпаки) і наступного дзеркального відображення вихідного зображення числа 6(Set A). Ймовірно, спочатку було розроблено зображення числа 6(Set A), а вже з нього автоматично вийшли зображення числа 6(Set B) та 6(Set C), які відповідають двом тонким смугам. На жаль, поки не вдалося знайти інформацію про те, наскільки необхідно було початкове зображення числа 6(Set A) самеу такому вигляді.

Щоб було можливо зробитивисновок про те, що зматематичноїточки зору огороджувальні штрихи є три шістки (666), необхідно виконання 2-х умов:

  1. Усі три огороджувальні штрихи повинні збігатися між собою.
  2. Зображення штрихів, що захищають, повинні збігатися із зображенням цифри 6.
З дослідження ясно видно, що:
  1. За наявності візуальної подібності, має місце лише непрямий збіг штрихів, що захищають між собою, т.к. на рівні внутрішнього уявлення та на рівні результатів застосування алгоритму розпізнавання огороджувальні штрихи LGP/RGP не збігаються з центральним штрихом CGP.
  2. Має місце також непрямий збіг зображень штрихів, що огороджують, і цифри 6, т.к. при наявності 3-х варіантів зображення цифри 6, різних в Set A, Set B і Set C, у поданні Set A цифра 6 взагалі не збігається з штрихами, що захищають, в Set C не збігається на рівні внутрішнього подання в сканері, і тільки в Set B (22,5% від усіх можливих варіантів зображення цифри 6) є повний збіг зображень огороджувальних штрихів і цифри 6.

Під час проведення цього дослідження застосовувався односторонній підхід до аналізу інформації - суто математичний. Однак відомо, що число 666 як ім'я звіра - числосимволічне,не має математичного сенсу. Отже, і розглядати його треба символічно, як складається з символів 6. Шістки, таким чином, втрачають свій математичний зміст і також стають символами. Що ж залишається від 3-х варіантів подання цифри 6? - Нічого, т.к. можна символ інвертувати – звернути (перетворення по вертикалі), можна дзеркально відобразити (по горизонталі) – він залишиться тим самим символом – 6.

Така сама ситуація і з відмінністюлівого/правого огороджувальних штрихів LGP/RGP та центрального штриха CGP. Додавання білих смужок зліва (або справа) не змінює значення символу. Таким чином, зображення огороджувальних штрихів і шістокзбігаються символічно,і, отже, штрих-код EAN-13 містить число 666.