Кіріспе

қателерді түзету кодтары
Компьютерлік ғылымда Raptor кодтары (жылдам торнадо; Торнадо кодтарын қараңыз) – сызықтық уақытта кодтау және декодтау мүмкіндігі бар алғашқы белгілі фонтан кодтары класы. Оларды 2000/2001 жылдары Әмин Шохроллахи ойлап тапты және алғаш рет 2004 жылы кеңейтілген тезис ретінде жариялады. Raptor кодтары – бұл алғашқы практикалық фонтан кодтары болған LT кодтарынан теориялық және практикалық тұрғыдан маңызды жақсарту. Raptor кодтары, жалпы фонтан кодтары сияқты, k бірдей өлшемдегі бастапқы символдардан тұратын деректердің берілген бастапқы блогын кодтау символдарының потенциалды шексіз тізбегіне кодтайды, сондықтан кез келген k немесе одан көп кодтау символдарын қабылдау бастапқы блокты нөлден өзгеше ықтималдықпен қалпына келтіруге мүмкіндік береді. Алынған кодтау символдарының саны k-ден асып түскенде бастапқы блокты қалпына келтіру ықтималдығы артады және алынған кодтау символдарының саны k-ден сәл ғана көп болғанда 1-ге жақын мәнге жетеді. Мысалы, Raptor кодтарының соңғы буыны – RaptorQ кодтарында k кодтау символы алынғанда декодтау сәтсіздігінің ықтималдығы 1%-дан кем, ал k+2 кодтау символы алынғанда декодтау сәтсіздігінің ықтималдығы миллионнан кем. (Бұл туралы толығырақ ақпарат алу үшін төмендегі «Қалпына келтіру ықтималдығы және қосымша жүктеме» бөлімін қараңыз.) Символдың көлемі бір байттан жүздеген немесе мыңдаған байтқа дейін болуы мүмкін. Raptor кодтары жүйелі немесе жүйелі емес болуы мүмкін. Жүйелі жағдайда бастапқы дерек блогының символдары, яғни бастапқы символдар, кодтау символдары жиынтығына кіреді. Жүйелі Raptor кодының мысалдары – 3-ші буын серіктестік жобасының мобильді ұялы байланыс желісіндегі хабар тарату және мультиплекстеудегі қолданылуы, сондай-ақ қолға ұсталатын құрылғыларға IP деректерді тарату үшін DVB-H стандарттары (сыртқы сілтемелерді қараңыз). Осы стандарттарда қолданылатын Raptor кодтары IETF RFC 5053 құжатында да анықталған. Онлайн кодтар жүйелі емес фонтан кодтарының мысалы болып табылады.

RaptorQ коды

Raptor-дың ең жетілген нұсқасы – IETF RFC 6330-да анықталған RaptorQ коды. RaptorQ коды – жүйелі код, оны сызықтық уақытта кодтау және декодтау үшін іске асыруға болады, жақын оңтайлы қалпына келтіру қасиеттеріне ие (толықрақ мәліметтер үшін төмендегі «Қалпына келтіру ықтималдығы және қосымша жүктеме» бөлімін қараңыз), 56 403 бастапқы символға дейін қолдайды және дерлік шексіз кодтау символдарымен жұмыс істей алады. IETF RFC 6330-да анықталған RaptorQ коды жоғары сапалы бейне ағынын тарату (мобильді теледидардың сенімді жұмыс істеуі) және тиімді әрі сенімді файлдарды тарату (деректерді тарату) үшін Next Gen TV (ATSC 3.0) стандартының бір бөлігі ретінде белгіленген. Атап айтқанда, RaptorQ коды ATSC 3.0 стандартының A/331 бөлімінде: сигнал беру, жеткізу, синхрондау және қателерден қорғау (ATSC 3.0 стандарттарының толық тізімі үшін ATSC стандарттарының тізілімін қараңыз) деп көрсетілген. Next Gen TV (ATSC 3.0) дәстүрлі теледидардан әлдеқайда асып, жалпы деректерді жеткізу қызметтерін ұсынатын Broadcast интернетті қамтамасыз етеді.

Шолу

Раптор кодтары екі кодтың бірігуі арқылы құрылады. Белгілі бір жылдамдықпен өшіру коды, әдетте жоғары жылдамдықта, «алдын ала код» немесе «сыртқы код» ретінде қолданылады. Бұл алдын ала код өзі бірнеше кодтардың біріктірілуі болуы мүмкін, мысалы, 3GPP стандартында бинарлық Грей тізбегінен туындаған жоғары тығыздық тепе-теңдік тексеру коды, қарапайым тұрақты төмен тығыздық тепе-теңдік тексеру кодымен біріктіріледі. Тағы бір мүмкіндік – Хамминг кодының төмен тығыздық тепе-теңдік тексеру кодымен бірігуі. Ішкі код алдын ала кодтау операциясының нәтижесін қабылдайды және кодтау символдарының тізбесін жасайды. Ішкі код – LT кодтарының бір түрі. Әрбір кодтау символы – алдын ала кодтың шығысынан псевдо-кездейсоқ түрде таңдалған символдар жиынтығының XOR-ы. Шығыс символын құру үшін бірге XOR операциясына қатысатын символдар саны, әрбір шығыс символы үшін нақты ықтималдық таралымына сәйкес псевдо-кездейсоқ түрде таңдалады. Бұл таралым, сондай-ақ осы таралымды іріктеу үшін псевдо-кездейсоқ сандарды жасау және XOR операциясына қатысатын символдарды таңдау механизмі, жіберушіге де, қабылдаушыға да белгілі болуы тиіс. Бір тәсіл бойынша, әрбір символ осы ақпаратты жасау үшін псевдо-кездейсоқ сан генераторының бастамасы ретінде қолданылатын идентификатормен бірге келеді, және жіберуші де, қабылдаушы да осы процесті орындайды. Жүйелік емес Raptor кодтарының жағдайында, кодталуға тиіс бастапқы деректер алдын ала кодтау сатысына кіріс ретінде қолданылады. Жүйелік Raptor кодтарының жағдайында, алдын ала кодтау сатысына енгізілген деректер бастапқы деректерге алғашқы k шығыс символдарын жасайтын кодтау операциясының кері операциясын қолдану арқылы алынады. Осылайша, алынған символдарға қалыпты кодтау операциясын қолдану бастапқы деректерді кодтың алғашқы k шығыс символы ретінде қайта жасайды. Алғашқы k шығыс символдарын жасайтын псевдо-кездейсоқ процестердің кері операцияны жасауын қамтамасыз ету қажет.

Декодтау

Раптор кодтарын декодтаудың екі тәсілі бар. Конкатенацияланған тәсілде, ішкі код алдымен, LT кодтарында қолданылған сенім тарату алгоритмі арқылы декодталады. Егер бұл операция жеткілікті мөлшерде символдарды қалпына келтірсе, сыртқы код қалған символдарды сол кодқа сәйкес келетін декодтау алгоритмін қолданып қалпына келтіре алады, онда декодтау сәтті болады. Біріктірілген тәсілде, ішкі және сыртқы кодтармен анықталған символдар арасындағы байланыстар бір мезгілдегі теңдеулердің біртұтас жиынтығы ретінде қарастырылады және олар әдеттегі тәсілмен, мысалы, Гаусс жою арқылы шешіледі.

Есептеу күрделілігі

Raptor кодтары бір кодтау символын бастапқы блоктан жасау үшін O(символ мөлшері) уақытты, ал кем дегенде k кодтау символынан бастапқы блоқты қалпына келтіру үшін O(бастапқы блок мөлшері) уақытты қажет етеді.

Құқықтық мәртебе

Qualcomm, Inc. IETF RFC 5053 ережесінде сипатталған Raptor коды және IETF RFC 6330 ережесінде сипатталған RaptorQ коды үшін авторлық құқықтар туралы мәлімдеме жариялады. Бұл мәлімдемелер Qualcomm, Inc. компаниясының MPEG DASH стандартына қатысты берген лицензиялық міндеттемелерімен үйлеседі. MPEG DASH стандартын көптеген компаниялар, оның ішінде DASH Industry Forum мүшелері кеңінен қолданады.