Кодированная передача сообщений из сна
(идея в разработке)

Статья · ASleeper





Изображение найдено в интернете. Автор неизвестен. (Исправить)



Как я писал ранее, осенью я занялся разработкой кода для передачи сообщений из сна. Собственно код был готов в первые дни, а вот реализация тренажёра… оказалась занятием потяжелее. Не то чтобы возникли какие то технические сложности, но я обнаружил у себя серьёзные пробелы в знаниях. Стало очевидно, что как только сам код будет опубликован, реализовать программу тренажёра грамотные специалисты смогут в короткие сроки и гораздо качественнее чем я. Всё таки по своей работе мне не приходилось программировать серьёзные вещи и я сильно отстал от современных тенденций. Мало того, после бурного энтузиазма наступил спад и к моему стыду вот уже три месяца как я забросил проект… Тем не менее, кое что я всё же успел сделать как в самой программе, так и вокруг этой темы. Пришло время поделиться итогами проделанной работы.

Итак, какие проблемы возникают на данном пути «от идеи до модели»? Чтобы реализовать идею передачи сообщений из сна глазами, надо пройти ряд этапов в разных направлениях. Вот эти этапы по минимуму: научный, проектировочный, программный, организационный, технический, маркетинговый. Если уж браться за дело серьёзно, то без бизнес-модели не обойтись. Это ещё один пробел: надо знать, какие бывают бизнес-модели и какая подойдёт в данном случае. К сожалению собрать прототип устройства «на коленке» в данном случае трудно… хотя может это мне трудно, а грамотный электронщик смог бы сделать.
Распишу все эти направления и этапы подробно: что надо сделать и что уже сделано.


Научный этап

Сама идея основана на том, что у спящего человека глаза остаются подвижны и осознавшись он может ими двигать произвольно и с достаточной амплитудой. Этот факт можно использовать для передачи закодированной информации из сна. В первую очередь нужна система кодировки, которая позволит полноценно передавать длинные универсальные сообщения. Система кодировки, разработанная мной, отвечает следующим требованиям:

  • Универсальность. Кодируются буквы алфавита, что позволяет передавать сложные фразы. Используя специальные последовательности символов можно передавать символы другого алфавита по типу кодовых страниц.

  • Избыточность идентификации. В качестве элементарной единицы кода используется движение обоих глаз от одного крайнего положения к другому по четырем направлениям. Движение от крайнего положения к центру идентифицирует конец передачи символа. Текущее и следующее крайнее положение глаз при передаче символа всегда отличается. Такой способ движения глаз облегчает идентификацию элементарной единицы кода техническим устройством, уменьшает ошибки самого передающего и позволяет настраивать идентификацию зоны крайнего положения глаза в широких пределах.

  • Асинхронность. Символы передаются в произвольном темпе как по предельному времени передачи одного символа, так и временного промежутка между символами. В качестве разделителя символов используется взгляд в центр. Пробел в текущей версии алфавита не используется, идентификация слов должна производиться на удаленном приемном устройстве или человеком по смыслу. Случайные ошибки при передаче букв также анализируются и при возможности исправляются на принимающем устройстве.

  • Полнота алфавита. Передающий может передавать текст на естественном языке, не задумываясь о дополнительных правилах передачи фразы, например исключения гласных букв при передаче. В русской версии алфавита используются знак вопроса, а также запятой и точки. В английской версии вместо этого есть цифры от нуля до девяти.

  • Лаконичность. Для передачи одного символа используется три движения глазами в одно из крайних положений плюс взгляд в центр. Таким образом, получаем алфавит из 36 символов, которых достаточно для большинства распространенных языков мира. Для составления более полных алфавитов по данному принципу, требуется большее количество движений глаз на передачу одного символа.

  • Внутренняя логика. Код каждого символа не случаен и зависит от места символа в алфавите. Символы в порядке их следования в алфавите объединяются в триплеты, в блоки и группы, имеющие схожую кодировку. Порядок следования направления взгляда внутри триплета, блока и группы подчиняется общим правилам для этой структурной единицы. Для составления объединяющих структурных единиц можно использовать разные варианты, объединяя символы в группы, соответствующие делителям числа 36. В настоящее время ясные закономерности выявляются у триплетов и блоков по 9 символов. Также алфавит разделён на две половины для удобной графической интерпретации. Лексемы, обозначающие элементарное движение взгляда имеют ранг, который соблюдается внутри структурных единиц.

  • Скорость. Данная система кодировки должна позволить без особой спешки передавать порядка 50 символов в минуту.


В целом, работа над самой кодировкой завершена. Остаётся проверить, чтобы правила следования лексем друг за другом соблюдались по рангу и найти побольше зависимостей в разных формах представления.

Кроме самой системы кодировки необходимо разработать тренажёр в виде компьютерной программы, облегчающий запоминание кодировки в игровом процессе и имитирующий её применение в разных ситуациях.
Ниже приведен скриншот программы, показывающий основную таблицу лексем и графическое представление кода в виде двух рисунков.

 

Нетрудно заметить, что в каждом триплете первые две лексемы совпадают, причём третья лексема символа открывающего триплет совпадает с первой. Третья лексема второго символа триплета противоположна третьей лексеме первого символа. Исключение для триплетов, в которых у первого символа первые две лексемы противоположны. Для них в левой части рисунка третья лексема вверх(символы Ж и П), а в правой части вправо(символы Т и Ы). Третьей лексеме третьего символа дается оставшееся направление для данного триплета. В центральных триплетах первый символ находится на вершине. Комбинация лексем в группы по 3, 4, 6 и т.д. в строчку и в столбик позволяет отыскать зависимости.



Графическое представление, позволяет визуально представить место каждого символа относительно воображаемого центра (оси координат) путем смещения в ту или иную сторону на определенное количество ячеек. Для символов остающихся в центре используется дополнительный шаг, чтобы они не налезали друг на друга в случае совпадения координат. По этой же причине вторая часть алфавита перенесена на другой рисунок. Порядок следования триплетов с непривычки может показаться странным. Тем не менее, я не стал что то менять, руководствуясь найденными зависимостями в таблице. Вполне возможно, что правила построения кода будут пересмотрены для более логичного следования триплетов при отображении.

В тренажере общения глазами было бы здорово иметь модуль распознавания движения взгляда веб камерой. В последние несколько лет в этом направлении были сделаны прорывные изобретения, доведенные до конечного программного продукта. Писать такой модуль с нуля очень сложно, поэтому очевидно, что лучше поручить это человеку, который защитил диссертацию в более сложной теме распознавания лиц. Впрочем, наличие такого модуля в тренажере не является обязательным, хотя его отсутствие резко сужает возможности интерактивного обучения.


Программный этап

Визуальное представление места символа, триплета символов, блоков и групп облегчают запоминание. Тем не менее, для запоминания на подсознательном уровне предполагается сделать динамичную интерактивную игру с 2D графикой, управляемую по движению взгляда. Для этого я познакомился с несколькими графическими игровыми движками и пока остановил свой выбор на движке Andorra 2D. На нем я сделал первые шаги по отображению больших букв на фоне. К сожалению при испытаниях на другой машине выскакивает ошибка, так как движок Andorra требует свою dll библиотеку в системе. Впрочем больших продвижений в создании интерактивной игры у меня не было. Немного позанимавшись с компонентом DelphiX и научившись анимировать спрайты я продолжил ковырять движок. Работа была прервана, когда мне удалось вывести на контекст экрана движка большие буквы и менять их без потери фона.

В качестве игрового аспекта запланировано множество мини игр и большого квеста, проходящего через весь процесс обучения. В отличие от абстрактного заучивания кода по таблице или по схеме интерактивный этап должен помочь непосредственно развить навыки кодировки глазами автоматически в процессе динамической игры.
Первое что приходит на ум – отгадывание местоположения символа, закрытого фоном наподобие игры «морской бой». Это можно реализовать на первом этапе, но сам принцип вряд ли сильно поможет запоминанию.

Более перспективная идея – динамичная двумерная игра «Выберись из буквы», в которой надо помочь своему спрайту за короткое время выбраться из лабиринта, указывая правильные направления. Главным элементом фона в лабиринте должен быть символ. Спрайт пользователя будет преследоваться спрайтами врагов, идущими с ложных направлений. Чтобы пройти мини уровень пользователь должен вывести своего спрайта из лабиринта, не столкнувшись с вражескими спрайтами. Разумеется, направление правильных путей должно соответствовать лексемам кода символа. Желательно при этом, чтобы правильные пути соответствовали пути движения глаза из одного крайнего положения в другое. Каждый мини уровень можно украсить текстурами, анимацию врагов сделать, в том числе, задействуя систему частиц (доступно в Andorra), добавить музыку и немного юмора. Например, переход на следующий уровень (когда спрайт прошел правильным путем и уперся в стенку) можно анимировать разными способами: появляется лестница или эскалатор или лифт или кран или … петля . Главное в этой мини игре, чтобы при появлении символа у пользователя автоматически отложился маршрут движения глаз. Этот способ противоположен способу запоминания через таблицы и схемы, когда надо помнить порядковый номер символа в алфавите или его местоположение на схеме.

После вводных мини игр можно начинать квест. В ходе него пользователь должен практиковаться в передаче и чтении кода. Так очевидно, что для чтения визуального сигнала, переданного другим человеком, стоящим напротив, надо делать поправку на «право»-«лево». Для квеста предполагается использовать неподвижные картинки, изображающих сцену, на которых анимированы только глаза. Картинки должны быть максимально нескучные. Теоретически можно сделать и динамический квест, при котором персонаж перемещается по локации и общается исключительно движениями глаз.

Для реализации программной части тренажера нужен специалист по компьютерным играм и художник – дизайнер уровней. Модуль распознавания движений глаз лучше просто купить или заказать (я видел одну диссертацию 2005г. по этой теме, наш соотечественник защищался).


Проектировочный этап


По хорошему, всякую сложную вещь надо сначала спроектировать. Надо спроектировать программный продукт, структурную и электронную схему устройства, построить бизнес модель, написать бизнес план. Но в творческом процессе конечно всё наоборот: сначала осеняет идея, потом её начинают судорожно проверять, воплощают в прототипе, а дальше дело стопарится. Поэтому и проектировочный и научный этап зачастую начинается уже после создания чего то работающего. Где то в этот момент может возникнуть и потребность во внешней организации процесса, особенно если к делу подключается несколько людей.

Проектировочный этап мной не выполнялся. Чтобы как то улучшить структуру программы, я начал переделывать её в соответствии с принципами ООП, что кстати дало потом небольшой выигрыш по времени. Но уже сейчас понятно, что программу надо проектировать, а заодно сразу документировать. После трех месяцев перерыва я уже не помню, какие структуры и за что у меня в программе отвечают.
С проектированием устройства вопрос вообще открытый, так как я не электронщик. Можно б было составить структурную схему, но лучше пока просто перечислю функции, характеристики и возможные компоненты прибора. Итак, идеальный прибор чтения движений глаз должен обладать следующими характеристиками:

  • Лёгкий. Прибор должен весить как можно меньше, верхний предел 200г.

  • Беспроводной. Прибор должен обходиться без проводов любого вида.

  • Неинвазивный. Прибор должен использовать бесконтактные датчики движения глаз под закрытыми веками.

  • Безопасный. Все компоненты прибора должны быть безопасны для человека при регулярном использовании до 1000 часов в год.

  • Бесшумный. В приборе не должно быть движущихся частей, разве что виброзвонок.

  • Коммуникабельный. Прибор должен связываться по беспроводному интерфейсу на расстоянии нескольких метров с компьютером или другим устройством.

  • Интеллектуальный. Прибор должен сам детектировать начало REM фазы, распознавать движения глаз соответствующих лексеме и складывать лексемы в символы, опознавать начало передачи текста, обрабатывать управляющие команды пользователя. На выходе прибор должен выдавать текст пользователя без пробелов, диагностические сигналы и управляющие сигналы пользователю, использовать программы пробуждения и управляемого засыпания.

  • С обратной связью. Прибор должен уметь посылать пользователю пробуждающие сигналы светом, звуком и вибрацией, проигрывать музыку и записанный текст. Эти функции должны быть настраиваемые, а источники звука, света и вибрации иметь возможность перемещения и крепления в разных местах.

  • С функцией памяти. Прибор должен иметь память порядка 1Мб, но не менее 2Кб для хранения текста. Для регистрации всех движений глаз может потребоваться память в сотни мегабайт.

  • Эргономичность. Прибор должен надежно крепиться к области глаз и обеспечивать комфортное использовании в течение нескольких часов.

  • Автономный. Прибор должен работать без подзарядки минимум в течение 4 часов, желательно в течение ночи.

  • Дешёвый. Прибор должен быть конкурентоспособен среди аналогичных приборов данного класса. Себестоимость не выше 150$, цена в розницу не выше 300$.

Конечно, характеристики прибора ещё будут уточняться. Но исходя из представленных характеристик уже можно примерно прикинуть компоненты прибора, большинство из которых являются стандартными.

  • Пластиковый корпус в виде очков.
  • Черная бархатная повязка.
  • Инфракрасные или пьезоэлектрические датчики движения глаз - 8шт.
  • Процессор с тактовой частотой от 10МГц.
  • Оперативная память.
  • Bluetooth адаптер можно нескоростной.
  • USB разъем для подзарядки аккумуляторов и подключения к мобильному телефону и компьютеру.
  • Аккумулятор достаточный для 8 часов работы.
  • Гнездо для миниSD карты.
  • Порт для перепрограммирования ПЗУ (опционально).
  • Виброзвонок.
  • 8 светодиодов.
  • 2 стереонаушника.


Кроме перечисленных устройств на интегральной плате обязательно должна быть микросхема с ППЗУ, программированием которой должен заниматься производитель.

Прибор должен выполнять следующие функции:

  • Определять начало REM фазы.
  • Принимать сигналы пользователя и преобразовывать их в текст.
  • Принимать ретранслированный текст от другого пользователя и преобразовывать этот текст в звуковые и световые сигналы (последнее в виде вспышек в крайних позициях глаз).
  • Синтезировать речь другого пользователя (опционально).
  • Хранить запись текста и периодически скидывать его на компьютер.
  • Передавать текст блоками, чтобы не нагружать канал связи.
  • Обеспечить хотя бы минимальную защиту информации при передаче текста.
  • Уметь настраивать свои параметры.
  • Работать в режиме предустановленной программы (помощь при вхождении в сон или осознание из сна).
  • Принимать новые программы производителя (опционально).
  • Передавать блоками на компьютер все движения глаз за ночь (опционально).
  • Обрабатывать сигналы с датчиков сторонних устройств, например онейрографа (опционально, с программами производителя сторонних устройств).
  • Иметь открытый и понятный интерфейс для связи со сторонними устройствами и программного взаимодействия.
  • Подавать диагностические сигналы (недостаточный заряд аккумулятора, проблемы со связью, неправильная фиксация прибора и т. д)


Программу тоже надо проектировать, если не на уровне блоков, то хотя бы на уровне характеристик. В данной версии документа я не буду их расписывать, отложу на потом.

 

 

 

См. также: близкое исследование
«Универсальный Тренажёр Сновидцев (создаём прибор)»
http://ya.snovidec.org/clubs/14

О журнале · Объявления · Содержание

© Электронное издательство "Я - сновидец", 2012г.
ya.snovidec.org