1. Struktura systemu
Maria System działa w oparciu o dwa moduły: Enkoder i Dekoder. Każdy z nich korzysta z osobnych katalogów, które porządkują pracę i przepływ danych.
- to_send – tutaj Enkoder zapisuje pliki .mst, które są gotowe do przekazania odbiorcy.
- received – miejsce, do którego trafiają pliki .mst przeznaczone do odczytu.
- decoded – tutaj Dekoder zapisuje wynik odtworzenia treści w formacie .txt.
- indexes_YYYYMMDD – katalog tworzony automatycznie; przechowuje pliki .ms2 zawierające trajektorie deformacji.
2. Enkoder
Enkoder przygotowuje transmisję w dwóch formach: .ms2 (pliki z pełnymi trajektoriami deformacji zachowywane przez operatora) oraz .mst (finalny zapis znaków do wysłania).
Moduł umożliwia ręczne wpisanie tekstu lub wczytanie pliku. Każdy znak przechodzi kolejne deformacje i tworzy własną trajektorię. Proces składa się z wielu faz; minimalna liczba faz wynosi 5.
Operator ustala wartość n, która określa siłę deformacji. Ostatnia pozycja ciągu wyliczana jest ze wzoru (2**n) + 1.
Dla kolejnych wartości n rośnie liczba możliwych wariantów deformacji. Przestrzeń zapisów dla jednego znaku zwiększa się z każdą fazą. Enkoder tworzy dwa powiązane pliki: .ms2 z pełną trajektorią oraz .mst z wynikowym zapisem transmisji.
3. Dekoder
Dekoder jest modułem odpowiedzialnym za odczyt plików .mst i przywrócenie pierwotnego tekstu.
Proces dekodowania przebiega w kilku etapach:
- Weryfikacja integralności – sprawdzany jest hash pliku oraz zgodność użytej biblioteki faz z danymi zapisanymi przy transmisji.
- Synchronizacja rytmu – moduł dopasowuje się do rytmu deformacyjnego znaku, aby odtworzyć jego trajektorię.
- Odtwarzanie znaków – każda trajektoria jest przetwarzana zgodnie z parametrami, co pozwala zrekonstruować oryginalny symbol.
- Zapis wyniku – odszyfrowany tekst zapisywany jest w katalogu decoded w formacie .txt.
Dekoder korzysta z biblioteki faz wygenerowanej podczas enkodowania. Odtwarzanie przebiega tylko wtedy, gdy zestaw parametrów odpowiada temu, co zostało użyte przy tworzeniu trajektorii.