УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ
ENCODING DEVICE AND METHOD

Область техники, к которой относится изобретение
Настоящее изобретение относится к области технологий связи и, в частности, к устройству и способу кодирования.
Уровень техники
1
N
Для повышения надежности передачи данных и обеспечения качества связи в системе связи обычно используют канальное кодирование. Полярный (polar) код представляет собой первый способ канального кодирования, который может быть строго обоснован для «достижения» пропускной способности канала. Полярный код представляет собой тип линейного блочного кода, порождающая матрица полярного кода представляет собой , процесс кодирования полярного кода является , и  представляет собой вектор бинарной строки с длиной (а именно, длиной кода), . В данном случае,  является транспонированной матрицей, например, транспонированной матрицей реверсивного битового порядка,  определяют как произведение Кронекера (Kronecker)  матриц, , x кодируют биты (также называемые кодовым словом), и кодированные биты получают после  умножения на порождающую матрицу . Процесс умножения является процессом кодирования. В процессе кодирования полярного кода, некоторые биты в  используются для переноса информации и называются информационными битами, и набор индекса информационных бит обозначаются как . Остальные биты в  устанавливаются на фиксированные значения, которые согласованы стороной передачи и стороной приема заранее, и упоминаются как замороженные биты, и набор индексов замороженных бит представлен дополнительным набором . Замороженные биты обычно устанавливаются на 0. Последовательность замороженных битов может быть установлена на любые значения, согласованные заранее стороной передачи и стороной приема. Для повышения производительности полярного кода, может быть внешне объединен внешний код с возможностью проверки с полярным кодом. CA-полярный код представляет собой полярный код, объединенный с циклическим избыточным кодом (Cyclic Redundancy Check, CRC).
Процесс кодирования СА-полярного кода представляет собой следующее: выполняют CRC кодирование информационных битов, подлежащие кодированию, для получения битовой последовательности после CRC кодирования, где битовая последовательность, полученная после CRC кодирования, включает в себя информационные биты и CRC биты; затем, выполняют полярное кодирование битовой последовательности, полученной после CRC кодирования. Для декодирования CA-полярного кода используют СА-SCL (CRC-вспомогательный перечень последовательного аннулирования) алгоритм декодирования. После окончания SCL декодирования выполняют CRC проверку на L-кандидатов путей, которые выводят после SCL декодирования, и используют кандидат пути, CRC проверка которого выполнена успешна, в качестве выходного результата декодирования. При отсутствии кандидата пути, CRC проверка которого выполнена успешна, определяют, что декодирование не выполнено. Таким образом, для CA-полярного кода CRC проверка может быть выполнена только после завершения канального декодирования, и время, затраченное для неудачного процесса декодирования, является таким же, как время, потраченное для успешного процесса декодирования. В случае слепого обнаружения на канале управления нисходящей линии связи в системе беспроводной связи, как правило, должны быть сделаны десятки попыток декодирования, но успешной может быть не более одной попытки декодирования. Если попытка декодирования, которая приводит к сбою декодирования, может быть прекращена заранее (досрочное прекращение), то задержка декодирования и среднее потребление энергии всей операции слепого обнаружения может быть эффективно сокращена. В качестве CRC способа кодирования с возможностью «досрочного прекращения» предложен способ распределенного CRC кодирования. Во время распределенного CRC кодирования применяют операцию перемежения после обычного завершения CRC кодирования; более конкретно, CRC биты, полученные после CRC кодирования, распределяются среди информационных бит. В процессе SCL декодирования декодера в момент до окончания декодирования, когда ни один из кандидатов пути не может выполнить условие проверки некоторых CRC бит, которые были декодированы, декодирование может быть завершено заранее.
Выполняют операцию перемежения с использованием предварительно сохраненной последовательности перемежения. Поскольку процесс CRC кодирования связан с количеством информационных бит, длина последовательности перемежения равна количеству информационных битов. Если система должна поддерживать чрезмерно большое количество информационных бит, система должна хранить большое количество последовательностей перемежения. Следовательно, накладные расходы системы хранения данных являются относительно высокими. В соответствующей технологии, хранят последовательность перемежения максимальной длины, которая поддерживает максимальное количество информационных бит для снижения накладных расходов системы хранения данных. Если количество информационных бит меньше максимального количества информационных бит, то используют последовательность перемежения максимальной длины и для поддержки процесса перемежения выполняют небольшой объем дополнительных вычислений. Тем не менее, способ завершения процесса перемежения, основываясь на сохраненной последовательности перемежения максимальной длины, оказывает влияние на задержку кодирования распределенного CRC кодирования.
Сущность изобретения
Настоящее изобретение обеспечивает способ и устройство для кодирования, так что во время распределенного, CRC, кодирования, когда количество информационных бит меньше максимального количества информационных бит, последовательность перемежения, необходимую для завершения процесса перемежения, получают на основании системно поддерживаемой последовательности перемежения максимальной длины.
В соответствии с первым аспектом, настоящее изобретение обеспечивает способ кодирования, включающий в себя: выполнение кодирования циклическим избыточным кодом, CRC, А информационных бит, подлежащих кодированию, для получения первой битовой последовательности, где первая битовая последовательность включает в себя L CRC битов и А информационных битов, и L и А являются положительными целыми числами; выполнение операции перемежения на первой битовой последовательности для получения второй битовой последовательности, где первая последовательность перемежения, используемая для операции перемежения, получена на основании системно поддерживаемой последовательности перемежения максимальной длины заданного правила, и длина первой последовательности перемежения равна A+L; или вторая последовательность перемежения, используемая для операции перемежения, представляет собой последовательность перемежения максимальной длины, длина второй последовательности перемежения равна Kmax + L, и Kmax является максимальным количеством информационных бит, соответствующее последовательности перемежения максимальной длины; и выполнение полярного кодирования на второй битовой последовательности.
В соответствии со способом кодирования, представленным в первом аспекте, сторона передачи выполняет CRC кодирование А информационных битов, подлежащих кодированию, для получения первой битовой последовательности, и затем выполняют операцию перемежения на первой битовой последовательности для получения второй битовой последовательности. Первая последовательность перемежения, используемая для операции перемежения, получена на основании последовательности перемежения максимальной длины и заданным правилом, и длина первой последовательности перемежения соответствует количеству информационных бит, подлежащих кодированию. Альтернативно, вторая последовательность перемежения, используемая для операции перемежения, является непосредственно последовательностью перемежения максимальной длины. Наконец, сторона передачи выполняет полярное кодирование на второй битовой последовательности. Таким образом, в ходе распределенного CRC кодирования, когда количество информационных битов меньше, чем максимальное количество информационных бит, получают последовательность перемежения, необходимую для завершения процесса перемежения на основании системно поддерживаемой последовательности перемежения максимальной длины.
В возможной реализации заданное правило заключается в следующем: первая последовательность перемежения составлена последовательным извлечением всех индексов больше или равно Kmax - A из последовательности перемежения максимальной длины и вычитания Kmax - A из каждого из всех извлеченных индексов; и выполнение операции перемежения первой битовой последовательности включает в себя: выполнение операции перемежения первой битовой последовательности с использованием первой последовательности перемежения для получения второй битовой последовательности.
В соответствии со способом кодирования, представленным в этом варианте осуществления, когда выполняется операция перемежения с использованием первой последовательности перемежения, может быть использована параллельная обработка во время операции получения первой последовательности перемежения на основании последовательности перемежения максимальной длины и заданным правилом. После получения первой последовательности перемежения может быть непосредственно получена вторая битовая последовательность путем выполнения операции перемежения на первой последовательности перемежения, так что задержка может быть уменьшена, тем самым, уменьшая задержку кодирования.
В возможной реализации заданное правило представляет собой следующее: первая последовательность перемежения составлена последовательным извлечением всех индексов меньше, чем А или больше, чем или равно Kmax из последовательности перемежения максимальной длины и вычитания Kmax - A из индексов больше, чем или равно Kmax в извлеченных индексах; и выполнение операции перемежения на первой битовой последовательности включает в себя: компоновку информационных бит в первой битовой последовательности в порядке убывания индексов информационных бит для получения третьей битовой последовательности; и выполнение операции перемежения на третьей битовой последовательности с использованием первой последовательности перемежения для получения второй битовой последовательности.
В соответствии со способом кодирования, представленным в этом варианте осуществления, при выполнении операции перемежения с использованием первой последовательности перемежения, может быть выполнена параллельная обработка во время операции получения первой последовательности перемежения на основании последовательности перемежения максимальной длины и заданного правила. После получения первой последовательности перемежения может быть непосредственно получена вторая битовая последовательность путем выполнения операции перемежения на первой последовательности перемежения, так что задержка может быть уменьшена, тем самым, уменьшая задержку кодирования.
th
В возможной реализации, когда вторая последовательность перемежения, используемая для операции перемежения, является последовательностью перемежения максимальной длины, то выполнение операции перемежения на первой битовой последовательности включает в себя: расширение первой битовой последовательности до четвертой битовой последовательности, включающей в себя Kmax + L битов, где значения первых Kmax - А битов в четвертой битовой последовательности устанавливают на NULL и остальные биты последовательно соответствуют битам в первой битовой последовательности из (Kmax-A + 1)бит; выполнение операции перемежения на четвертой битовой последовательности с использованием последовательности перемежения максимальной длины, для получения пятой битовой последовательности; и удаление из пятой битовой последовательности бит, значения которых равны NULL, для получения второй битовой последовательности.
В возможной реализации последовательность перемежения максимальной длины представляет собой любую последовательность в таблице 1, в данном описании.
В возможной реализации последовательность перемежения максимальной длины представляет собой любую последовательность в таблице 2, в данном описании.
В соответствии со вторым аспектом, настоящее изобретение обеспечивает устройство для кодирования, включающее в себя: первый модуль кодирования, выполненный с возможностью выполнять кодирование циклическим избыточным кодом CRC А информационных бит, подлежащих кодированию, для получения первой битовой последовательности, где первая битовая последовательность включает в себя L CRC биты и А информационные биты, и L и А являются положительными целыми числами; модуль перемежения, выполненный с возможностью выполнять операцию перемежения первой битовой последовательности для получения второй битовой последовательности, где первая последовательность перемежения, используемая для операции перемежения, получена на основании системно поддерживаемой последовательности перемежения максимальной длины и заданного правила, и длина первой последовательности перемежения равна A + L; или вторая последовательность перемежения, используемая для операции перемежения представляет собой последовательность перемежения максимальной длины, длина второй последовательности перемежения равна Kmax + L, и Kmax является максимальным количеством информационных бит, соответствующее последовательности перемежения максимальной длины; и второй модуль кодирования, выполненный с возможностью выполнять полярное кодирование второй битовой последовательности.
В возможной реализации заданное правило представляет собой: первая последовательность перемежения последовательно составлена посредством извлечения всех индексов больше или равные Kmax-A из последовательности перемежения максимальной длины и вычитания Kmax-A из каждого из всех извлеченных индексов; и модуль перемежения выполнен с возможностью выполнять операцию перемежения первой битовой последовательности с использованием первой последовательности перемежения для получения второй битовой последовательности.
В возможной реализации заданное правило представляет собой: первая последовательность перемежения составлена посредством последовательного извлечения всех индексов меньше, чем А или больше, чем или равно Kmax из последовательности перемежения максимальной длины и вычитания Kmax - A из индексов больше, чем или равно Kmax в извлеченных индексах; и модуль перемежения выполнен с возможностью: расположить информационные биты в первой битовой последовательности в порядке убывания индексов информационных битов для получения третьей битовой последовательности; и выполнять операцию перемежения на третьей битовой последовательности с использованием первой последовательности перемежения, для получения второй битовой последовательности.
th
В возможной реализации, когда вторая последовательность перемежения, используемая для операции перемежения, является последовательностью перемежения максимальной длины, модуль перемежения выполнен с возможностью: расширить первую битовую последовательность до четвертой битовой последовательности, включающей в себя Kмax + L биты, где значения первых Kmax-А битов в четвертой битовой последовательности устанавливают на NULL, и остальные биты последовательно соответствуют битам в первой битовой последовательности из (Kmax-A + 1) бит; выполнять операцию перемежения на четвертой битовой последовательности с использованием последовательности перемежения максимальной длины, для получения пятой битовой последовательности; и получать вторую битовую последовательность путем удаления битов, значения которых равно NULL, из пятой битовой последовательности.
В возможной реализации последовательность перемежения максимальной длины представляет собой любую последовательность в таблице 1, в данном описании.
В возможной реализации последовательность перемежения максимальной длины представляет собой любую последовательность в таблице 2, в данном описании.
Для получения полезных эффектов устройства для кодирования, представленное во втором аспекте и возможных реализациях второго аспекта, может быть сделана ссылка на полезные эффекты, описанные в первом аспекте и возможных реализациях первого аспекта. Подробности не описаны здесь снова.
В соответствии с третьим аспектом, настоящее изобретение обеспечивает устройство для кодирования, включающее в себя память и процессор, где
память выполнена с возможностью хранить инструкцию программы; и
процессор выполнен с возможностью вызывать инструкцию программы в памяти для выполнения способа кодирования в соответствии с первым аспектом и любой возможной реализацией первого аспекта.
В соответствии с четвертым аспектом, настоящее изобретение обеспечивает машиночитаемый носитель данных, включающий в себя машиночитаемый носитель данных и компьютерную программу, где компьютерная программа используется для реализации способа в соответствии с первым аспектом и любой возможной реализацией первого аспекта.
В соответствии с пятым аспектом, настоящее изобретение обеспечивает программный продукт, в котором программный продукт включает в себя компьютерную программу, компьютерная программа хранится на машиночитаемом носителе данных, по меньшей мере, один процессор устройства для кодирования может считывать компьютерную программу из машиночитаемого носителя данных и, по меньшей мере, один процессор выполняет компьютерную программу, таким образом, что устройство для кодирования реализует способ в соответствии с первым аспектом и любой возможной реализацией первого аспекта.
Краткое описание чертежей
Фиг. 1 представляет собой схему системной архитектуры, включающей в себя сторону передачи и сторону приема, в соответствии с настоящим изобретением;
фиг. 2 является блок-схемой последовательности операций системы связи;
фиг. 3 показывает блок-схему алгоритма варианта осуществления способа кодирования в соответствии с настоящим изобретением;
фиг. 4 представляет собой блок-схему последовательности операций способа кодирования в соответствии с настоящим изобретением;
фиг. 5 представляет собой блок-схему последовательности операций способа кодирования в соответствии с настоящим изобретением;
фиг. 6 представляет собой блок-схему последовательности операций способа кодирования в соответствии с настоящим изобретением;
фиг. 7 показывает схему варианта осуществления устройства для кодирования в соответствии с настоящим изобретением;
фиг. 8 представляет собой схему устройства для кодирования объекта в соответствии с настоящим изобретением; и
фиг. 9 представляет собой схему устройства для кодирования объекта в соответствии с настоящим изобретением.
Описание вариантов осуществления
Варианты осуществления настоящего изобретения могут быть применены к системе беспроводной связи. Следует отметить, что система беспроводной связи, упоминаемая в вариантах осуществления настоящего изобретения, включает в себя, но не ограничивается, систему узкополосного интернет вещей (Narrow band Internet of Things, NB-IoT), глобальную систему мобильной связи (Global System for Mobile Communications, GSM), систему с увеличенной скоростью передачи данных для GSM Evolution (Enhanced Data rate for GSM Evolution, EDGE), систему широкополосного множественного доступа с кодовым разделением (Wideband Code Division Multiple Access, WCDMA), систему множественного доступа кодовым разделением 2000 (Code Division Multiple Access 2000, CDMA2000), систему множественного доступа с синхронным кодовым и временным разделением (Time Division-Synchronous Code Division Multiple Access, TD-SCDMA), систему «Долгосрочное развитие» (Long Term Evolution, LTE) и три сценария применения в 5G системе мобильной связи следующего поколения: улучшенный мобильный широкополосный доступ (Enhanced Mobile Broadband, eMBB), URLLC и потоковая связь машинного типа (Massive Machine-Type Communications, mMTC).
Устройства связи, описанные в настоящем изобретении, главным образом, включают в себя сетевое устройство и оконечное устройство. В настоящем изобретении, если сторона передачи является сетевым устройством, то сторона приема является оконечным устройством. В настоящем изобретении, если сторона передачи является оконечным устройством, то сторона приема является сетевым устройством.
В вариантах осуществления настоящего изобретения оконечное устройство (terminal device) включает в себя, но не ограничивается, мобильную станцию (MS, Mobile station), мобильный терминал (Mobile Terminal), мобильный телефон (Mobile Telephone), телефон (handset), портативное оборудование (portable equipment) и тому подобное. Оконечное устройство может связываться с одной или более базовыми сетями с использованием сети радиодоступа (RAN, Radio Access Network). Например, оконечное устройство может представлять собой мобильный телефон (или упоминаются как «сотовый» телефон), или компьютер с функцией беспроводной связи. В качестве альтернативы, оконечное устройство может быть портативным, карманным, КПК, встроенным в компьютер или устройством, установленным в транспортном средстве.
Варианты осуществления настоящего изобретения описаны со ссылкой на сетевое устройство. Сетевое устройство может быть устройством, выполненным с возможностью обмена данными с оконечным устройством. Например, сетевое устройство может быть базовой приемопередающей станцией (Base Transceiver Station, BTS) в GSM или CDMA системе, может быть NodeB (NodeB, NB) в WCDMA системе, или может быть усовершенствованным NodeB (Evolved Node B, eNB или eNodeB) в LTE системе. В качестве альтернативы, сетевое устройство может быть ретрансляционной станцией, точкой доступа, устройством в транспортном средстве, носимым устройством, сетевым устройством в 5G сети последующего поколения, сетевым устройством в будущей усовершенствованной наземной сети мобильной связи общего пользования (Public Land Mobile Network, PLMN) или тому подобное. В качестве альтернативы, сетевое устройство может быть оконечным устройством, выполненным с возможностью выполнять функции сетевого устройства в D2D связи.
Система связи в настоящем изобретении может включать в себя сторону передачи и сторону приема. Фиг. 1 представляет собой схему архитектуры системы, включающей в себя сторону передачи и сторону приема в соответствии с настоящим изобретением. Как показано на фиг. 1, стороной передачи является сторона кодера, и может быть выполнена с возможностью выполнять кодирование и выводить кодированную информацию. Кодированная информация передается на сторону декодера по каналу. Стороной приема является сторона декодера, и может быть выполнена с возможностью: принимать закодированную информацию, отправленную стороной передачи, и декодировать кодированную информацию.
Фиг. 2 представляет собой блок-схему алгоритма работы системы связи. Как показано на фиг. 2, на стороне передачи последовательно выполняют процессы кодирования сигнала источника, кодирования канала, перемежения, согласования скорости и цифровую модуляцию. На стороне приема сигнал источника последовательно подвергают цифровой демодуляции, де-согласования скорости, канальному декодированию и декодированию сигнала источника, и выводят в приемник сигнала. Для канального кодирования/декодирования может быть использован полярный код или СА-полярный код. Для кодирования канала может быть использован способ кодирования, представленный в настоящем изобретении.
Настоящее изобретение обеспечивает способ и устройство для кодирования, так что во время распределенного CRC кодирования, когда количество информационных бит меньше максимального количества информационных бит, получают последовательность перемежения, необходимую для завершения процесса перемежения, на основании системно поддерживаемой последовательности перемежения максимальной длины, и может быть обеспечена более высокая производительность. Например, задержка кодирования уменьшается и вероятность ложной тревоги уменьшается. Количество информационных бит, соответствующее системно поддерживаемой последовательности перемежения максимальной длины, равно максимальному количеству информационных бит. Далее приведено подробное описание со ссылкой на прилагаемые чертежи способа и устройства для кодирования, которые предусмотрены в настоящем изобретении.
Следует отметить, что, для завершения функции перемежения используют два способа нумерации для последовательности перемежения: информационные биты пронумерованы в естественном порядке, или информационные биты пронумерованы в обратном порядке (далее по тексту кратко упоминается как естественный порядок нумерации и обратный порядок нумерации). Естественный порядок нумерации означает, что ранжирование индекса соответствующего информационного бита в последовательности перемежения является таким же, как ранжирование индекса информационного бита; конкретно, индекс 0 соответствует 0 информационному биту, индекс 1 соответствует первому информационному биту и так далее. Обратный порядок нумерации означает, что ранжирование индекса соответствующего информационного бита в последовательности перемежения является обратной ранжированию индекса информационного бита; чтобы быть конкретным, индекс 0 соответствует последнему информационному биту, индекс 1 соответствует предпоследнему информационному биту и так далее.
Дополнительно, минимальный индекс последовательности перемежения, относящийся к вариантам осуществления настоящего изобретения, является 0. Если минимальный индекс фактически используемой последовательности перемежения равен 1, то способ в настоящем изобретении, может быть просто скорректирован. Во всех примерах, приведенных в настоящем изобретении, последовательность перемежения начинается с индексом 0. Во время фактического применения, если последовательность перемежения начинается с индексом 1, каждый соответствующий индекс увеличивается на 1.
На фиг. 3 показана блок-схема алгоритма варианта осуществления способа кодирования в соответствии с настоящим изобретением. Как показано на фиг. 3, этот вариант осуществления выполняют стороной передачи (кодер). Способ в этом варианте осуществления может включать в себя следующие этапы.
S101. Сторона передачи выполняет CRC кодирование А информационных бит, подлежащих кодированию, для получения первой битовой последовательности, где первая битовая последовательность включает в себя L CRC бит и А информационные биты, и L и А являются положительными целыми числами.
В частности, после приема А информационных бит, подлежащих кодированию, сторона передачи добавляет L CRC биты для получения первой битовой последовательности.
S102. Сторона передачи выполняет операцию перемежения на первой битовой последовательности для получения второй битовой последовательности.
Для выполнения операции перемежения используют два типа последовательностей перемежения: первую последовательность перемежении и вторую последовательность перемежения. Различная последовательность перемежении соответствует различным операциям перемежения. Первую последовательность перемежения получают на основании системно поддерживаемой последовательности перемежения максимальной длины и заданного правила, и длина первой последовательности перемежения равна A + L. Второй последовательностью перемежения является последовательность перемежения максимальной длины, длина второй последовательности перемежения равна Kmax + L, и Kmax является максимальным количеством информационных бит, соответствующее последовательности перемежения максимальной длины. Системно поддерживаемая последовательность перемежения максимальной длины далее кратко называют последовательностью перемежения максимальной длины.
Системно поддерживаемая последовательность перемежения максимальной длины может быть предварительно сохранена, или может быть получена с помощью онлайн вычисления.
Первая последовательность перемежения может быть получена двумя способами, которые соответственно соответствуют двум типам заданных правил.
В способе 1, заданное правило заключается в следующем: первая последовательность перемежения составлена последовательным извлечением всех индексов больше или равно Kmax-A из последовательности перемежения максимальной длины и вычитанием Kмax-A из каждого из всех извлеченных индексов. Например, последовательность перемежения максимальной длины равна {2, 3, 5, 9, 10, 12, 4, 6, 11, 13, 0, 7, 14, 1, 8, 15}, максимальное количество Kmax информационных бит, соответствующее последовательности перемежения максимальной длины, равно 12, L = 4, А = 10 и Kmax-А = 2. Все индексы {2, 3, 5, 9, 10, 12, 4, 6, 11, 13, 7, 14, 8, 15} больше или равные 2, сначала последовательно извлекают из последовательности перемежения максимальной длины, и 2 вычитается из каждого из всех извлеченных индексов для формирования первой последовательности перемежения {0, 1, 3, 7, 8, 10, 2, 4, 9, 11, 5, 12, 6, 13}.
Соответственно, выполнение стороной передачи операции перемежения первой битовой последовательности может быть конкретно представлять собой следующее: выполнение стороной передачи операции перемежения на первой битовой последовательности с использованием первой последовательности перемежения для получения второй битовой последовательности.
В способе 1 для последовательности перемежения максимальной длины используют естественный порядок нумерации.
В способе 2 заданное правило является: первая последовательность перемежения составлена посредством последовательного извлечения всех индексов меньше, чем А или больше, чем или равно Kmax из последовательности перемежения максимальной длины и вычитания Kмax-A из индексов больше или равные Kmax в извлеченных индексах. Например, последовательность перемежения максимальной длины является {1, 2, 6, 8, 9, 12, 0, 5, 7, 13, 4, 11, 14, 3, 10, 15}, максимальное количество Kmax информационных бит, соответствующее последовательности перемежения максимальной длины, равно 12, L = 4, А = 10 и Kmax-А = 2. Все индексы {1, 2, 6, 8, 9, 12, 0, 5, 7, 13, 4, 14, 3, 15} меньше, чем 10 или больше или равны 12 сначала последовательно извлекают из последовательности перемежения максимальной длины, и 2 вычитается из индексов больше или равно 12 в извлеченных индексах, чтобы образовать первую последовательность перемежения {1, 2, 6, 8, 9, 10, 0, 5, 7, 11, 4, 12, 3, 13}.
Соответственно, выполнение стороной передачи операции перемежения на первой битовой последовательности может конкретно представлять собой следующее: расположение стороной передачи А информационных бит в первой битовой последовательности в порядке убывания индексов информационных бит для получения третьей битовой последовательности. Расположение в порядке убывания также упоминается как расположение в обратном порядке. Например, первая битовая последовательность является {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10} являются информационными битами и {11, 12, 13, 14} являются CRC битами. {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0} получают после расположения информационных бит в обратном порядке, и полученная третья битовая последовательность является {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 11, 12, 13, 14}. Затем, сторона передачи выполняет операцию перемежения на третьей битовой последовательности с использованием первой последовательности перемежения для получения второй битовой последовательности.
В способе 2 для последовательности перемежения максимальной длины используют обратный порядок нумерации.
Последовательность перемежения максимальной длины может быть непосредственно использована в качестве второй последовательности перемежения. Соответственно, выполнение стороной передачи операции перемежения на первой битовой последовательности может быть конкретно:
th
Расширение стороной передачи первой битовой последовательности до четвертой битовой последовательностью, включающей в себя Kmax + L биты, где значение первых Kmax-А бит в четвертой битовой последовательности устанавливают на NULL и остальные биты последовательно соответствуют битам в первой битовой последовательности из (Kmax-A + 1) бит.
Например, Kmax = 12, L = 4, А = 10 и Kmax-А = 2. Сторона передачи расширяет первый битовую последовательность (включающую в себя четырех CRC бита и 10 информационных битов) до четвертой битовой последовательности, включающую в себя 12 + 4 = 16 бит. Значения первых двух битов в четвертой битовой последовательности устанавливают на NULL и остальные биты последовательно соответствуют битам в первой битовой последовательности с третьего бита.
Сторона передачи выполняет операцию перемежения на четвертой битовой последовательности, используя последовательность перемежения максимальной длины, для получения пятой битовой последовательности.
Сторона передачи получает вторую битовую последовательность путем удаления битов, значения которых равны NULL, из пятой битовой последовательности.
При выполнении операции перемежения с использованием второй последовательности перемежения, необходимо расширить первую битовую последовательность до перемежения, и после перемежения, биты, значения которых равны NULL, нужно удалить из перемеженной битовой последовательности. Таким образом, задержка операции перемежения является относительно значительной. В сравнении с выполнением операции перемежения с использованием второй последовательности перемежения, когда выполняют операцию перемежения с использованием первой последовательности перемежения, параллельная обработка может быть использована во время операции получения первой последовательности перемежения на основании последовательности перемежения максимальной длины и заданного правила, и после получения первой последовательности перемежения может быть непосредственно получена вторая битовая последовательность путем выполнения операции перемежения с использованием первой последовательности перемежения, так что задержка может быть уменьшена, тем самым, сокращая задержку кодирования.
Таким образом, для последовательности перемежения максимальной длины используют естественный порядок нумерации.
S103. Сторона передачи выполняет полярное кодирование второй битовой последовательности.
Сторона передачи может выполнять полярное кодирование второй битовой последовательности с использованием существующего способа полярного кодирования. Подробности не описаны.
В соответствии со способом кодирования, представленном в данном варианте осуществления, сторона передачи выполняет CRC кодирование А информационных бит, подлежащих кодированию, для получения первой битовой последовательности, и затем выполняет операцию перемежения первой битовой последовательности для получения второй битовой последовательности. Первую последовательность перемежения, используемую для операции перемежения, получают на основании последовательности перемежения максимальной длины и заданным правилом, и длина первой последовательности перемежения соответствует количеству информационных бит, подлежащих кодированию. Альтернативно, вторая последовательность перемежения, используемая для операции перемежения, непосредственно является последовательностью перемежения максимальной длины. Наконец, сторона передачи выполняет полярное кодирование второй битовой последовательности. Таким образом, в ходе распределенного CRC кодирования, когда количество информационных бит меньше, чем максимальное количество информационных бит, получают последовательность перемежения, необходимую для завершения процесса перемежения, на основании системно поддерживаемой последовательности перемежения максимальной длины.
Далее приведено подробное описание технических решений в варианте осуществления способа, показанного на фиг. 3, с использованием нескольких конкретных вариантов осуществления.
0
1
А-1
На фиг. 4 показана блок-схема последовательности операций способа кодирования в соответствии с настоящим изобретением. В этом варианте осуществления, например, последовательность перемежения, используемая для выполнения операции перемежения, является первой последовательностью перемежения, полученной на основе заданного правила в способе 1, последовательность перемежения максимальной длины, используемая для распределенного CRC кодирования, представляет собой последовательность π1, для которой используют естественный порядок нумерации, последовательность перемежения максимальной длины, соответствующая последовательности перемежения π1, является Kmax, CRC полином равен g и CRC количество бит равно L. Другими словами, CRC длина является L. Предполагают, что А информационных бит, подлежащих кодированию, является {a, a, …, а}, и количество информационных бит A≤Kmax. Этот вариант осуществления выполняют стороной передачи (кодер). Как показано на фиг. 4, способ в этом варианте осуществления включает в себя следующие этапы.
0
1
A+L-1
S201. Выполнить CRC кодирование CRC А информационных бит, подлежащих кодированию, для получения первой битовой последовательности {b, b, …, b}.
0
1
А-1
А
А + 1
А + L-1
{b, b, …, b} являются A информационными битами, и {b, b, …, b} являются L CRC битами.
S202. Первая последовательность перемежение π1' образована путем последовательного извлечения всех индексов меньше, чем А или больше, чем или равно Kmax из последовательности перемежения максимальной длины и вычитая Kмax-A из индексов больше чем или равно Kmax в извлеченных индексах.
Например, как показано на фиг. 4, если последовательность перемежения максимальной длины π1 является {2, 3, 5, 9, 10, 12, 4, 6, 11, 13, 0, 7, 14, 1, 8, 15}, L = 4 и А = 10, максимальное количество информационных бит Kmax, соответствующее последовательность перемежения максимальной длины, равно 12, и Kmax-А = 2. Все индексы больше, чем или равно 2 сначала последовательно извлекают из π1 и извлеченная часть представляет собой {2, 3, 5, 9, 10, 12, 4, 6, 11, 13, 7, 14, 8, 15}. Затем, 2 вычитают из каждого из всех извлеченных индексов для образования первой последовательности перемежения π1' {0, 1, 3, 7, 8, 10, 2, 4, 9, 11, 5, 12, 6, 13}.
0
1
А + L-1
0
1
А + L-1
S203. Выполнить операцию перемежения первой битовой последовательности {b, b, …, b} с использованием первой последовательности перемежения π1' для получения второй битовой последовательности {c, c, …, C}.
0
1
13
0
1
2
3
4
5
6
7
8
9
10
11
12
13
В частности, первая битовая последовательность, показанная на фиг. 4, является {b, b, …, b}. После выполнения операции перемежения первой битовой последовательности {b, b, b, b, b, b, b, b, b, b, b, b, b, b} с использованием первой последовательности перемежения π1' {0, 1, 3, 7, 8, 10, 2, 4, 9, 11, 5, 12, 6, 13}, получают вторую битовую последовательность.
S204. Выполнить полярное кодирование второй битовой последовательности.
В этом варианте осуществления, как показано в следующей таблице 1, для последовательности перемежения в таблице 1 используют различные CRC полиномы и соответствующие последовательности перемежения, для которых применяют естественный порядок нумерации, с разными CRC длинами L и различными максимальными количествами Kmax информационных бит.
Таблица 1
K<sub>max</sub>
L
CRC полином
Последовательность перемежения для которой используют естественный порядок нумерации
200
19
0xA2B79
0, 1, 2, 5, 6, 7, 10, 11, 13, 14, 18, 19, 20, 22, 23, 24, 26, 31, 33, 35, 37, 39, 42, 44, 45, 47, 51, 52, 55, 56, 57, 58, 60, 61, 62, 64, 67, 69, 70, 72, 73, 76, 85, 86, 89, 90, 93, 94, 100, 103, 104, 105, 107, 109, 110, 112, 113, 125, 127, 128, 129, 130, 131, 133, 134, 137, 140, 144, 145, 148, 149, 152, 159, 161, 162, 163, 166, 169, 173, 175, 178, 182, 183, 186, 187, 189, 195, 196, 197, 200, 3, 4, 8, 9, 12, 15, 16, 21, 25, 28, 41, 46, 49, 53, 54, 59, 63, 66, 71, 74, 75, 78, 87, 88, 91, 92, 95, 96, 102, 106, 111, 114, 115, 132, 135, 136, 139, 142, 146, 147, 150, 151, 154, 164, 165, 168, 171, 177, 180, 184, 185, 188, 191, 198, 199, 202, 17, 27, 29, 34, 36, 38, 40, 48, 50, 65, 79, 97, 108, 116, 143, 155, 172, 176, 181, 190, 192, 203, 32, 43, 68, 77, 80, 98, 99, 101, 118, 121, 122, 126, 156, 160, 170, 179, 194, 209, 81, 119, 123, 138, 153, 157, 210, 82, 117, 120, 124, 141, 158, 167, 174, 193, 211, 30, 83, 212, 84, 201, 204, 205, 206, 207, 208, 213, 214, 215, 216, 217, 218
200
19
0xA2B79
197, 196, 195, 189, 187, 186, 183, 182, 178, 175, 173, 169, 166, 163, 162, 161, 159, 152, 149, 148, 145, 144, 140, 137, 134, 133, 131, 130, 129, 128, 127, 125, 113, 112, 110, 109, 107, 105, 104, 103, 100, 94, 93, 90, 89, 86, 85, 76, 73, 72, 70, 69, 67, 64, 62, 61, 60, 58, 57, 56, 55, 52, 51, 47, 45, 44, 42, 39, 37, 35, 33, 31, 26, 24, 23, 22, 20, 19, 18, 14, 13, 11, 10, 7, 6, 5, 2, 1, 0, 200, 199, 198, 191, 188, 185, 184, 180, 177, 171, 168, 165, 164, 154, 151, 150, 147, 146, 142, 139, 136, 135, 132, 115, 114, 111, 106, 102, 96, 95, 92, 91, 88, 87, 78, 75, 74, 71, 66, 63, 59, 54, 53, 49, 46, 41, 28, 25, 21, 16, 15, 12, 9, 8, 4, 3, 202, 192, 190, 181, 176, 172, 155, 143, 116, 108, 97, 79, 65, 50, 48, 40, 38, 36, 34, 29, 27, 17, 203, 194, 179, 170, 160, 156, 126, 122, 121, 118, 101, 99, 98, 80, 77, 68, 43, 32, 209, 157, 153, 138, 123, 119, 81, 210, 193, 174, 167, 158, 141, 124, 120, 117, 82, 211, 83, 30, 212, 84, 201, 204, 205, 206, 207, 208, 213, 214, 215, 216, 217, 218
200
19
0xA2B79
0, 1, 2, 3, 4, 7, 8, 9, 12, 13, 15, 16, 20, 21, 22, 24, 25, 26, 28, 33, 35, 37, 39, 41, 44, 46, 47, 49, 53, 54, 57, 58, 59, 60, 62, 63, 64, 66, 69, 71, 72, 74, 75, 78, 87, 88, 91, 92, 95, 96, 102, 105, 106, 107, 109, 111, 112, 114, 115, 127, 129, 130, 131, 132, 133, 135, 136, 139, 142, 146, 147, 150, 151, 154, 161, 163, 164, 165, 168, 171, 175, 177, 180, 184, 185, 188, 189, 191, 197, 198, 199, 202, 6, 11, 17, 18, 19, 27, 29, 31, 34, 36, 38, 40, 48, 50, 51, 52, 56, 65, 79, 85, 86, 90, 94, 97, 100, 104, 108, 116, 125, 143, 144, 145, 149, 155, 159, 172, 173, 176, 181, 182, 183, 187, 190, 192, 195, 196, 203, 23, 32, 43, 55, 61, 68, 76, 81, 89, 93, 98, 99, 101, 103, 110, 117, 118, 126, 134, 137, 140, 141, 148, 152, 157, 160, 169, 170, 179, 186, 194, 205, 5, 14, 30, 67, 77, 82, 119, 128, 138, 153, 158, 162, 174, 193, 206, 10, 70, 80, 121, 122, 156, 209, 42, 120, 123, 124, 167, 178, 211, 45, 83, 166, 212, 73, 84, 113, 200, 201, 204, 207, 208, 210, 213, 214, 215, 216, 217, 218
200
19
0xA2B79
199, 198, 197, 191, 189, 188, 185, 184, 180, 177, 175, 171, 168, 165, 164, 163, 161, 154, 151, 150, 147, 146, 142, 139, 136, 135, 133, 132, 131, 130, 129, 127, 115, 114, 112, 111, 109, 107, 106, 105, 102, 96, 95, 92, 91, 88, 87, 78, 75, 74, 72, 71, 69, 66, 64, 63, 62, 60, 59, 58, 57, 54, 53, 49, 47, 46, 44, 41, 39, 37, 35, 33, 28, 26, 25, 24, 22, 21, 20, 16, 15, 13, 12, 9, 8, 7, 4, 3, 2, 1, 0, 202, 196, 195, 192, 190, 187, 183, 182, 181, 176, 173, 172, 159, 155, 149, 145, 144, 143, 125, 116, 108, 104, 100, 97, 94, 90, 86, 85, 79, 65, 56, 52, 51, 50, 48, 40, 38, 36, 34, 31, 29, 27, 19, 18, 17, 11, 6, 203, 194, 186, 179, 170, 169, 160, 157, 152, 148, 141, 140, 137, 134, 126, 118, 117, 110, 103, 101, 99, 98, 93, 89, 81, 76, 68, 61, 55, 43, 32, 23, 205, 193, 174, 162, 158, 153, 138, 128, 119, 82, 77, 67, 30, 14, 5, 206, 156, 122, 121, 80, 70, 10, 209, 178, 167, 124, 123, 120, 42, 211, 166, 83, 45, 212, 73, 84, 113, 200, 201, 204, 207, 208, 210, 213, 214, 215, 216, 217, 218
200
19
0xA2B79
3, 4, 6, 7, 8, 9, 11, 16, 17, 18, 19, 20, 21, 24, 25, 27, 29, 31, 33, 34, 35, 36, 37, 38, 39, 40, 44, 48, 50, 51, 52, 54, 56, 57, 59, 62, 63, 65, 69, 75, 79, 85, 86, 88, 90, 92, 94, 96, 97, 100, 104, 105, 106, 108, 109, 115, 116, 125, 127, 129, 132, 136, 143, 144, 145, 147, 149, 151, 155, 159, 161, 163, 164, 165, 172, 173, 175, 176, 181, 182, 183, 185, 187, 190, 192, 195, 196, 197, 198, 199, 203, 0, 1, 2, 12, 13, 14, 23, 28, 30, 32, 41, 42, 47, 49, 53, 61, 66, 67, 72, 73, 80, 87, 91, 95, 98, 101, 103, 112, 113, 117, 126, 131, 134, 140, 146, 150, 156, 160, 169, 174, 177, 178, 184, 188, 189, 191, 193, 204, 15, 43, 55, 58, 60, 68, 74, 76, 81, 89, 93, 99, 102, 110, 114, 118, 133, 135, 137, 141, 148, 152, 157, 170, 179, 186, 194, 205, 5, 22, 77, 82, 107, 111, 119, 128, 138, 142, 153, 158, 162, 171, 180, 206, 10, 26, 45, 64, 70, 78, 84, 120, 121, 139, 167, 208, 71, 122, 123, 130, 166, 210, 46, 83, 213, 124, 154, 168, 200, 201, 202, 207, 209, 211, 212, 214, 215, 216, 217, 218
200
19
0xA2B79
199, 198, 197, 196, 195, 192, 190, 187, 185, 183, 182, 181, 176, 175, 173, 172, 165, 164, 163, 161, 159, 155, 151, 149, 147, 145, 144, 143, 136, 132, 129, 127, 125, 116, 115, 109, 108, 106, 105, 104, 100, 97, 96, 94, 92, 90, 88, 86, 85, 79, 75, 69, 65, 63, 62, 59, 57, 56, 54, 52, 51, 50, 48, 44, 40, 39, 38, 37, 36, 35, 34, 33, 31, 29, 27, 25, 24, 21, 20, 19, 18, 17, 16, 11, 9, 8, 7, 6, 4, 3, 203, 193, 191, 189, 188, 184, 178, 177, 174, 169, 160, 156, 150, 146, 140, 134, 131, 126, 117, 113, 112, 103, 101, 98, 95, 91, 87, 80, 73, 72, 67, 66, 61, 53, 49, 47, 42, 41, 32, 30, 28, 23, 14, 13, 12, 2, 1, 0, 204, 194, 186, 179, 170, 157, 152, 148, 141, 137, 135, 133, 118, 114, 110, 102, 99, 93, 89, 81, 76, 74, 68, 60, 58, 55, 43, 15, 205, 180, 171, 162, 158, 153, 142, 138, 128, 119, 111, 107, 82, 77, 22, 5, 206, 167, 139, 121, 120, 84, 78, 70, 64, 45, 26, 10, 208, 166, 130, 123, 122, 71, 210, 83, 46, 213, 124, 154, 168, 200, 201, 202, 207, 209, 211, 212, 214, 215, 216, 217, 218
200
20
0x191513
2, 3, 6, 10, 11, 15, 17, 18, 19, 21, 26, 27, 31, 32, 33, 36, 38, 40, 42, 44, 45, 48, 49, 50, 51, 53, 54, 58, 61, 62, 68, 69, 72, 73, 78, 80, 81, 83, 85, 88, 89, 90, 93, 94, 95, 96, 100, 101, 103, 105, 107, 108, 110, 111, 112, 114, 115, 116, 118, 121, 124, 126, 127, 130, 132, 133, 134, 139, 140, 141, 142, 143, 144, 146, 148, 149, 153, 154, 155, 156, 158, 160, 161, 164, 169, 176, 178, 179, 180, 181, 184, 185, 186, 188, 189, 193, 195, 197, 198, 199, 200, 0, 4, 7, 12, 16, 20, 22, 28, 34, 37, 39, 41, 43, 46, 52, 55, 59, 63, 70, 74, 79, 82, 84, 86, 91, 97, 102, 104, 106, 109, 113, 117, 119, 122, 125, 128, 131, 135, 145, 147, 150, 157, 159, 162, 165, 170, 177, 182, 187, 190, 194, 196, 201, 1, 5, 8, 13, 23, 29, 35, 47, 56, 60, 64, 71, 75, 87, 92, 98, 120, 123, 129, 136, 151, 163, 166, 171, 183, 191, 202, 9, 14, 24, 30, 57, 65, 76, 99, 137, 152, 167, 172, 192, 203, 25, 66, 77, 138, 168, 173, 204, 67, 174, 205, 175, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219
200
20
0x191513
199, 198, 197, 195, 193, 189, 188, 186, 185, 184, 181, 180, 179, 178, 176, 169, 164, 161, 160, 158, 156, 155, 154, 153, 149, 148, 146, 144, 143, 142, 141, 140, 139, 134, 133, 132, 130, 127, 126, 124, 121, 118, 116, 115, 114, 112, 111, 110, 108, 107, 105, 103, 101, 100, 96, 95, 94, 93, 90, 89, 88, 85, 83, 81, 80, 78, 73, 72, 69, 68, 62, 61, 58, 54, 53, 51, 50, 49, 48, 45, 44, 42, 40, 38, 36, 33, 32, 31, 27, 26, 21, 19, 18, 17, 15, 11, 10, 6, 3, 2, 200, 196, 194, 190, 187, 182, 177, 170, 165, 162, 159, 157, 150, 147, 145, 135, 131, 128, 125, 122, 119, 117, 113, 109, 106, 104, 102, 97, 91, 86, 84, 82, 79, 74, 70, 63, 59, 55, 52, 46, 43, 41, 39, 37, 34, 28, 22, 20, 16, 12, 7, 4, 0, 201, 191, 183, 171, 166, 163, 151, 136, 129, 123, 120, 98, 92, 87, 75, 71, 64, 60, 56, 47, 35, 29, 23, 13, 8, 5, 1, 202, 192, 172, 167, 152, 137, 99, 76, 65, 57, 30, 24, 14, 9, 203, 173, 168, 138, 77, 66, 25, 204, 174, 67, 205, 175, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219
200
21
0x2E2A69
1, 5, 6, 8, 9, 10, 12, 14, 15, 17, 19, 21, 23, 26, 27, 28, 29, 30, 32, 33, 35, 39, 41, 47, 49, 51, 52, 53, 55, 58, 59, 60, 61, 63, 66, 69, 72, 74, 76, 78, 79, 83, 87, 88, 89, 94, 96, 97, 101, 103, 105, 108, 109, 110, 111, 113, 114, 118, 125, 127, 131, 133, 134, 135, 136, 137, 138, 141, 142, 147, 150, 151, 156, 159, 160, 162, 163, 164, 168, 170, 171, 172, 173, 174, 177, 180, 181, 182, 184, 188, 190, 195, 197, 200, 0, 2, 7, 11, 13, 16, 18, 20, 22, 24, 31, 34, 36, 40, 42, 48, 50, 54, 56, 62, 64, 67, 70, 73, 75, 77, 80, 84, 90, 95, 98, 102, 104, 106, 112, 115, 119, 126, 128, 132, 139, 143, 148, 152, 157, 161, 165, 169, 175, 178, 183, 185, 189, 191, 196, 198, 201, 3, 25, 37, 43, 57, 65, 68, 71, 81, 85, 91, 99, 107, 116, 120, 129, 140, 144, 149, 153, 158, 166, 176, 179, 186, 192, 199, 202, 4, 38, 44, 82, 86, 92, 100, 117, 121, 130, 145, 154, 167, 187, 193, 203, 45, 93, 122, 146, 155, 194, 204, 46, 123, 205, 124, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220
200
21
0x2E2A69
197, 195, 190, 188, 184, 182, 181, 180, 177, 174, 173, 172, 171, 170, 168, 164, 163, 162, 160, 159, 156, 151, 150, 147, 142, 141, 138, 137, 136, 135, 134, 133, 131, 127, 125, 118, 114, 113, 111, 110, 109, 108, 105, 103, 101, 97, 96, 94, 89, 88, 87, 83, 79, 78, 76, 74, 72, 69, 66, 63, 61, 60, 59, 58, 55, 53, 52, 51, 49, 47, 41, 39, 35, 33, 32, 30, 29, 28, 27, 26, 23, 21, 19, 17, 15, 14, 12, 10, 9, 8, 6, 5, 1, 200, 198, 196, 191, 189, 185, 183, 178, 175, 169, 165, 161, 157, 152, 148, 143, 139, 132, 128, 126, 119, 115, 112, 106, 104, 102, 98, 95, 90, 84, 80, 77, 75, 73, 70, 67, 64, 62, 56, 54, 50, 48, 42, 40, 36, 34, 31, 24, 22, 20, 18, 16, 13, 11, 7, 2, 0, 201, 199, 192, 186, 179, 176, 166, 158, 153, 149, 144, 140, 129, 120, 116, 107, 99, 91, 85, 81, 71, 68, 65, 57, 43, 37, 25, 3, 202, 193, 187, 167, 154, 145, 130, 121, 117, 100, 92, 86, 82, 44, 38, 4, 203, 194, 155, 146, 122, 93, 45, 204, 123, 46, 205, 124, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220
200
22
0x552A55
1, 2, 3, 4, 12, 14, 15, 17, 19, 20, 22, 24, 27, 30, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 48, 49, 50, 51, 52, 56, 57, 58, 60, 61, 62, 65, 67, 68, 69, 72, 74, 75, 76, 80, 81, 82, 84, 85, 86, 87, 92, 93, 95, 102, 105, 106, 107, 108, 110, 111, 113, 116, 117, 119, 121, 122, 125, 129, 130, 131, 132, 134, 136, 138, 141, 142, 147, 148, 149, 150, 152, 159, 161, 165, 169, 170, 171, 172, 174, 175, 180, 182, 183, 185, 189, 190, 191, 192, 198, 200, 5, 13, 16, 18, 21, 23, 25, 28, 31, 42, 46, 53, 59, 63, 66, 70, 73, 77, 83, 88, 94, 96, 103, 109, 112, 114, 118, 120, 123, 126, 133, 135, 137, 139, 143, 151, 153, 160, 162, 166, 173, 176, 181, 184, 186, 193, 199, 201, 6, 26, 29, 32, 43, 47, 54, 64, 71, 78, 89, 97, 104, 115, 124, 127, 140, 144, 154, 163, 167, 177, 187, 194, 202, 0, 7, 33, 55, 79, 90, 98, 128, 145, 155, 164, 168, 178, 188, 195, 203, 8, 91, 99, 146, 156, 179, 196, 204, 9, 100, 157, 197, 205, 10, 101, 158, 206, 11, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221
200
22
0x552A55
198, 192, 191, 190, 189, 185, 183, 182, 180, 175, 174, 172, 171, 170, 169, 165, 161, 159, 152, 150, 149, 148, 147, 142, 141, 138, 136, 134, 132, 131, 130, 129, 125, 122, 121, 119, 117, 116, 113, 111, 110, 108, 107, 106, 105, 102, 95, 93, 92, 87, 86, 85, 84, 82, 81, 80, 76, 75, 74, 72, 69, 68, 67, 65, 62, 61, 60, 58, 57, 56, 52, 51, 50, 49, 48, 45, 44, 41, 40, 39, 38, 37, 36, 35, 34, 30, 27, 24, 22, 20, 19, 17, 15, 14, 12, 4, 3, 2, 1, 200, 199, 193, 186, 184, 181, 176, 173, 166, 162, 160, 153, 151, 143, 139, 137, 135, 133, 126, 123, 120, 118, 114, 112, 109, 103, 96, 94, 88, 83, 77, 73, 70, 66, 63, 59, 53, 46, 42, 31, 28, 25, 23, 21, 18, 16, 13, 5, 201, 194, 187, 177, 167, 163, 154, 144, 140, 127, 124, 115, 104, 97, 89, 78, 71, 64, 54, 47, 43, 32, 29, 26, 6, 202, 195, 188, 178, 168, 164, 155, 145, 128, 98, 90, 79, 55, 33, 7, 0, 203, 196, 179, 156, 146, 99, 91, 8, 204, 197, 157, 100, 9, 205, 158, 101, 10, 206, 11, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221
200
23
0x86F4A1
1, 3, 4, 5, 11, 12, 13, 14, 18, 20, 23, 24, 25, 28, 30, 31, 32, 33, 37, 39, 42, 45, 46, 47, 49, 50, 51, 53, 55, 57, 59, 60, 61, 64, 65, 67, 69, 70, 71, 72, 73, 74, 75, 77, 80, 83, 84, 85, 86, 87, 88, 89, 90, 93, 94, 99, 101, 102, 104, 106, 109, 111, 112, 113, 115, 116, 119, 121, 123, 124, 133, 134, 135, 137, 139, 140, 141, 142, 144, 145, 148, 149, 152, 153, 154, 157, 159, 162, 164, 166, 168, 169, 175, 176, 178, 179, 180, 181, 182, 187, 188, 193, 195, 200, 0, 2, 6, 15, 19, 21, 26, 29, 34, 38, 40, 43, 48, 52, 54, 56, 58, 62, 66, 68, 76, 78, 81, 91, 95, 100, 103, 105, 107, 110, 114, 117, 120, 122, 125, 136, 138, 143, 146, 150, 155, 158, 160, 163, 165, 167, 170, 177, 183, 189, 194, 196, 201, 7, 16, 22, 27, 35, 41, 44, 63, 79, 82, 92, 96, 108, 118, 126, 147, 151, 156, 161, 171, 184, 190, 197, 202, 8, 17, 36, 97, 127, 172, 185, 191, 198, 203, 9, 98, 128, 173, 186, 192, 199, 204, 10, 129, 174, 205, 130, 206, 131, 207, 132, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222
200
23
0x86F4A1
195, 193, 188, 187, 182, 181, 180, 179, 178, 176, 175, 169, 168, 166, 164, 162, 159, 157, 154, 153, 152, 149, 148, 145, 144, 142, 141, 140, 139, 137, 135, 134, 133, 124, 123, 121, 119, 116, 115, 113, 112, 111, 109, 106, 104, 102, 101, 99, 94, 93, 90, 89, 88, 87, 86, 85, 84, 83, 80, 77, 75, 74, 73, 72, 71, 70, 69, 67, 65, 64, 61, 60, 59, 57, 55, 53, 51, 50, 49, 47, 46, 45, 42, 39, 37, 33, 32, 31, 30, 28, 25, 24, 23, 20, 18, 14, 13, 12, 11, 5, 4, 3, 1, 200, 196, 194, 189, 183, 177, 170, 167, 165, 163, 160, 158, 155, 150, 146, 143, 138, 136, 125, 122, 120, 117, 114, 110, 107, 105, 103, 100, 95, 91, 81, 78, 76, 68, 66, 62, 58, 56, 54, 52, 48, 43, 40, 38, 34, 29, 26, 21, 19, 15, 6, 2, 0, 201, 197, 190, 184, 171, 161, 156, 151, 147, 126, 118, 108, 96, 92, 82, 79, 63, 44, 41, 35, 27, 22, 16, 7, 202, 198, 191, 185, 172, 127, 97, 36, 17, 8, 203, 199, 192, 186, 173, 128, 98, 9, 204, 174, 129, 10, 205, 130, 206, 131, 207, 132, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222
200
24
0x1D11A9B
0, 2, 3, 5, 6, 8, 11, 12, 13, 16, 19, 20, 22, 24, 28, 32, 33, 35, 37, 38, 39, 40, 41, 42, 44, 46, 47, 49, 50, 54, 55, 57, 59, 60, 62, 64, 67, 69, 74, 79, 80, 84, 85, 86, 88, 91, 94, 102, 105, 109, 110, 111, 113, 114, 116, 118, 119, 121, 122, 125, 126, 127, 129, 130, 131, 132, 136, 137, 141, 142, 143, 147, 148, 149, 151, 153, 155, 158, 161, 164, 166, 168, 170, 171, 173, 175, 178, 179, 180, 182, 183, 186, 187, 189, 192, 194, 198, 199, 200, 1, 4, 7, 9, 14, 17, 21, 23, 25, 29, 34, 36, 43, 45, 48, 51, 56, 58, 61, 63, 65, 68, 70, 75, 81, 87, 89, 92, 95, 103, 106, 112, 115, 117, 120, 123, 128, 133, 138, 144, 150, 152, 154, 156, 159, 162, 165, 167, 169, 172, 174, 176, 181, 184, 188, 190, 193, 195, 201, 10, 15, 18, 26, 30, 52, 66, 71, 76, 82, 90, 93, 96, 104, 107, 124, 134, 139, 145, 157, 160, 163, 177, 185, 191, 196, 202, 27, 31, 53, 72, 77, 83, 97, 108, 135, 140, 146, 197, 203, 73, 78, 98, 204, 99, 205, 100, 206, 101, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223
200
24
0x1D11A9B
199, 198, 194, 192, 189, 187, 186, 183, 182, 180, 179, 178, 175, 173, 171, 170, 168, 166, 164, 161, 158, 155, 153, 151, 149, 148, 147, 143, 142, 141, 137, 136, 132, 131, 130, 129, 127, 126, 125, 122, 121, 119, 118, 116, 114, 113, 111, 110, 109, 105, 102, 94, 91, 88, 86, 85, 84, 80, 79, 74, 69, 67, 64, 62, 60, 59, 57, 55, 54, 50, 49, 47, 46, 44, 42, 41, 40, 39, 38, 37, 35, 33, 32, 28, 24, 22, 20, 19, 16, 13, 12, 11, 8, 6, 5, 3, 2, 0, 200, 195, 193, 190, 188, 184, 181, 176, 174, 172, 169, 167, 165, 162, 159, 156, 154, 152, 150, 144, 138, 133, 128, 123, 120, 117, 115, 112, 106, 103, 95, 92, 89, 87, 81, 75, 70, 68, 65, 63, 61, 58, 56, 51, 48, 45, 43, 36, 34, 29, 25, 23, 21, 17, 14, 9, 7, 4, 1, 201, 196, 191, 185, 177, 163, 160, 157, 145, 139, 134, 124, 107, 104, 96, 93, 90, 82, 76, 71, 66, 52, 30, 26, 18, 15, 10, 202, 197, 146, 140, 135, 108, 97, 83, 77, 72, 53, 31, 27, 203, 98, 78, 73, 204, 99, 205, 100, 206, 101, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223
1000
11
0x94F
0, 1, 4, 5, 6, 8, 13, 14, 15, 17, 18, 22, 24, 26, 29, 30, 32, 33, 34, 38, 39, 40, 43, 44, 47, 50, 52, 53, 58, 59, 62, 63, 65, 67, 72, 73, 75, 76, 78, 79, 82, 85, 86, 88, 89, 90, 91, 95, 97, 100, 104, 105, 108, 112, 113, 115, 116, 118, 124, 126, 127, 128, 129, 130, 132, 133, 134, 135, 141, 142, 145, 147, 148, 149, 151, 153, 154, 156, 159, 161, 164, 167, 168, 169, 170, 173, 175, 176, 177, 181, 185, 189, 191, 193, 194, 195, 196, 198, 200, 202, 203, 205, 207, 211, 212, 213, 214, 215, 217, 218, 222, 223, 224, 228, 230, 231, 232, 233, 234, 235, 236, 237, 239, 240, 241, 243, 245, 246, 247, 248, 250, 251, 252, 255, 256, 267, 270, 272, 273, 275, 279, 280, 281, 282, 285, 288, 289, 290, 292, 295, 297, 299, 300, 302, 303, 306, 307, 309, 314, 320, 322, 324, 325, 330, 335, 336, 343, 346, 347, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 362, 364, 366, 369, 370, 371, 372, 373, 376, 377, 378, 380, 385, 386, 387, 389, 390, 394, 396, 398, 401, 402, 404, 405, 406, 410, 411, 412, 415, 416, 419, 422, 424, 425, 430, 431, 434, 435, 437, 439, 444, 445, 447, 448, 450, 451, 454, 457, 458, 460, 461, 462, 463, 467, 469, 472, 476, 477, 480, 484, 485, 487, 488, 490, 496, 498, 499, 500, 501, 502, 504, 505, 506, 507, 513, 514, 517, 519, 520, 521, 523, 525, 526, 528, 531, 533, 536, 539, 540, 541, 542, 545, 547, 548, 549, 553, 557, 561, 563, 565, 566, 567, 568, 570, 572, 574, 575, 577, 579, 583, 584, 585, 586, 587, 589, 590, 594, 595, 596, 600, 602, 603, 604, 605, 606, 607, 608, 609, 611, 612, 613, 615, 617, 618, 619, 620, 622, 623, 624, 627, 628, 639, 642, 644, 645, 647, 651, 652, 653, 654, 657, 660, 661, 662, 664, 667, 669, 671, 672, 674, 675, 678, 679, 681, 686, 692, 694, 696, 697, 702, 707, 708, 715, 718, 719, 720, 721, 722, 723, 724, 725, 728, 729, 730, 731, 732, 734, 736, 738, 741, 742, 743, 744, 745, 748, 749, 750, 752, 757, 758, 759, 761, 762, 766, 768, 770, 773, 774, 776, 777, 778, 782, 783, 784, 787, 788, 791, 794, 796, 797, 802, 803, 806, 807, 809, 811, 816, 817, 819, 820, 822, 823, 826, 829, 830, 832, 833, 834, 835, 839, 841, 844, 848, 849, 852, 856, 857, 859, 860, 862, 868, 870, 871, 872, 873, 874, 876, 877, 878, 879, 885, 886, 889, 891, 892, 893, 895, 897, 898, 900, 903, 905, 908, 911, 912, 913, 914, 917, 919, 920, 921, 925, 929, 933, 935, 937, 938, 939, 940, 942, 944, 946, 947, 949, 951, 955, 956, 957, 958, 959, 961, 962, 966, 967, 968, 972, 974, 975, 976, 977, 978, 979, 980, 981, 983, 984, 985, 987, 989, 990, 991, 992, 994, 995, 996, 999, 1000, 2, 7, 9, 16, 19, 23, 25, 27, 31, 35, 41, 45, 48, 51, 54, 60, 64, 66, 68, 74, 77, 80, 83, 87, 92, 96, 98, 101, 106, 109, 114, 117, 119, 125, 131, 136, 143, 146, 150, 152, 155, 157, 160, 162, 165, 171, 174, 178, 182, 186, 190, 192, 197, 199, 201, 204, 206, 208, 216, 219, 225, 229, 238, 242, 244, 249, 253, 257, 268, 271, 274, 276, 283, 286, 291, 293, 296, 298, 301, 304, 308, 310, 315, 321, 323, 326, 331, 337, 344, 354, 361, 363, 365, 367, 374, 379, 381, 388, 391, 395, 397, 399, 403, 407, 413, 417, 420, 423, 426, 432, 436, 438, 440, 446, 449, 452, 455, 459, 464, 468, 470, 473, 478, 481, 486, 489, 491, 497, 503, 508, 515, 518, 522, 524, 527, 529, 532, 534, 537, 543, 546, 550, 554, 558, 562, 564, 569, 571, 573, 576, 578, 580, 588, 591, 597, 601, 610, 614, 616, 621, 625, 629, 640, 643, 646, 648, 655, 658, 663, 665, 668, 670, 673, 676, 680, 682, 687, 693, 695, 698, 703, 709, 716, 726, 733, 735, 737, 739, 746, 751, 753, 760, 763, 767, 769, 771, 775, 779, 785, 789, 792, 795, 798, 804, 808, 810, 812, 818, 821, 824, 827, 831, 836, 840, 842, 845, 850, 853, 858, 861, 863, 869, 875, 880, 887, 890, 894, 896, 899, 901, 904, 906, 909, 915, 918, 922, 926, 930, 934, 936, 941, 943, 945, 948, 950, 952, 960, 963, 969, 973, 982, 986, 988, 993, 997, 1001, 3, 10, 20, 28, 36, 42, 46, 49, 55, 61, 69, 81, 84, 93, 99, 102, 107, 110, 120, 137, 144, 158, 163, 166, 172, 179, 183, 187, 209, 220, 226, 254, 258, 269, 277, 284, 287, 294, 305, 311, 316, 327, 332, 338, 345, 355, 368, 375, 382, 392, 400, 408, 414, 418, 421, 427, 433, 441, 453, 456, 465, 471, 474, 479, 482, 492, 509, 516, 530, 535, 538, 544, 551, 555, 559, 581, 592, 598, 626, 630, 641, 649, 656, 659, 666, 677, 683, 688, 699, 704, 710, 717, 727, 740, 747, 754, 764, 772, 780, 786, 790, 793, 799, 805, 813, 825, 828, 837, 843, 846, 851, 854, 864, 881, 888, 902, 907, 910, 916, 923, 927, 931, 953, 964, 970, 998, 1002, 11, 21, 37, 56, 70, 94, 103, 111, 121, 138, 180, 184, 188, 210, 221, 227, 259, 278, 312, 317, 328, 333, 339, 383, 393, 409, 428, 442, 466, 475, 483, 493, 510, 552, 556, 560, 582, 593, 599, 631, 650, 684, 689, 700, 705, 711, 755, 765, 781, 800, 814, 838, 847, 855, 865, 882, 924, 928, 932, 954, 965, 971, 1003, 12, 57, 71, 122, 139, 260, 313, 318, 329, 334, 340, 384, 429, 443, 494, 511, 632, 685, 690, 701, 706, 712, 756, 801, 815, 866, 883, 1004, 123, 140, 261, 319, 341, 495, 512, 633, 691, 713, 867, 884, 1005, 262, 342, 634, 714, 1006, 263, 635, 1007, 264, 636, 1008, 265, 637, 1009, 266, 638, 1010
1000
11
0x94F
999, 996, 995, 994, 992, 991, 990, 989, 987, 985, 984, 983, 981, 980, 979, 978, 977, 976, 975, 974, 972, 968, 967, 966, 962, 961, 959, 958, 957, 956, 955, 951, 949, 947, 946, 944, 942, 940, 939, 938, 937, 935, 933, 929, 925, 921, 920, 919, 917, 914, 913, 912, 911, 908, 905, 903, 900, 898, 897, 895, 893, 892, 891, 889, 886, 885, 879, 878, 877, 876, 874, 873, 872, 871, 870, 868, 862, 860, 859, 857, 856, 852, 849, 848, 844, 841, 839, 835, 834, 833, 832, 830, 829, 826, 823, 822, 820, 819, 817, 816, 811, 809, 807, 806, 803, 802, 797, 796, 794, 791, 788, 787, 784, 783, 782, 778, 777, 776, 774, 773, 770, 768, 766, 762, 761, 759, 758, 757, 752, 750, 749, 748, 745, 744, 743, 742, 741, 738, 736, 734, 732, 731, 730, 729, 728, 725, 724, 723, 722, 721, 720, 719, 718, 715, 708, 707, 702, 697, 696, 694, 692, 686, 681, 679, 678, 675, 674, 672, 671, 669, 667, 664, 662, 661, 660, 657, 654, 653, 652, 651, 647, 645, 644, 642, 639, 628, 627, 624, 623, 622, 620, 619, 618, 617, 615, 613, 612, 611, 609, 608, 607, 606, 605, 604, 603, 602, 600, 596, 595, 594, 590, 589, 587, 586, 585, 584, 583, 579, 577, 575, 574, 572, 570, 568, 567, 566, 565, 563, 561, 557, 553, 549, 548, 547, 545, 542, 541, 540, 539, 536, 533, 531, 528, 526, 525, 523, 521, 520, 519, 517, 514, 513, 507, 506, 505, 504, 502, 501, 500, 499, 498, 496, 490, 488, 487, 485, 484, 480, 477, 476, 472, 469, 467, 463, 462, 461, 460, 458, 457, 454, 451, 450, 448, 447, 445, 444, 439, 437, 435, 434, 431, 430, 425, 424, 422, 419, 416, 415, 412, 411, 410, 406, 405, 404, 402, 401, 398, 396, 394, 390, 389, 387, 386, 385, 380, 378, 377, 376, 373, 372, 371, 370, 369, 366, 364, 362, 360, 359, 358, 357, 356, 353, 352, 351, 350, 349, 348, 347, 346, 343, 336, 335, 330, 325, 324, 322, 320, 314, 309, 307, 306, 303, 302, 300, 299, 297, 295, 292, 290, 289, 288, 285, 282, 281, 280, 279, 275, 273, 272, 270, 267, 256, 255, 252, 251, 250, 248, 247, 246, 245, 243, 241, 240, 239, 237, 236, 235, 234, 233, 232, 231, 230, 228, 224, 223, 222, 218, 217, 215, 214, 213, 212, 211, 207, 205, 203, 202, 200, 198, 196, 195, 194, 193, 191, 189, 185, 181, 177, 176, 175, 173, 170, 169, 168, 167, 164, 161, 159, 156, 154, 153, 151, 149, 148, 147, 145, 142, 141, 135, 134, 133, 132, 130, 129, 128, 127, 126, 124, 118, 116, 115, 113, 112, 108, 105, 104, 100, 97, 95, 91, 90, 89, 88, 86, 85, 82, 79, 78, 76, 75, 73, 72, 67, 65, 63, 62, 59, 58, 53, 52, 50, 47, 44, 43, 40, 39, 38, 34, 33, 32, 30, 29, 26, 24, 22, 18, 17, 15, 14, 13, 8, 6, 5, 4, 1, 0, 1000, 997, 993, 988, 986, 982, 973, 969, 963, 960, 952, 950, 948, 945, 943, 941, 936, 934, 930, 926, 922, 918, 915, 909, 906, 904, 901, 899, 896, 894, 890, 887, 880, 875, 869, 863, 861, 858, 853, 850, 845, 842, 840, 836, 831, 827, 824, 821, 818, 812, 810, 808, 804, 798, 795, 792, 789, 785, 779, 775, 771, 769, 767, 763, 760, 753, 751, 746, 739, 737, 735, 733, 726, 716, 709, 703, 698, 695, 693, 687, 682, 680, 676, 673, 670, 668, 665, 663, 658, 655, 648, 646, 643, 640, 629, 625, 621, 616, 614, 610, 601, 597, 591, 588, 580, 578, 576, 573, 571, 569, 564, 562, 558, 554, 550, 546, 543, 537, 534, 532, 529, 527, 524, 522, 518, 515, 508, 503, 497, 491, 489, 486, 481, 478, 473, 470, 468, 464, 459, 455, 452, 449, 446, 440, 438, 436, 432, 426, 423, 420, 417, 413, 407, 403, 399, 397, 395, 391, 388, 381, 379, 374, 367, 365, 363, 361, 354, 344, 337, 331, 326, 323, 321, 315, 310, 308, 304, 301, 298, 296, 293, 291, 286, 283, 276, 274, 271, 268, 257, 253, 249, 244, 242, 238, 229, 225, 219, 216, 208, 206, 204, 201, 199, 197, 192, 190, 186, 182, 178, 174, 171, 165, 162, 160, 157, 155, 152, 150, 146, 143, 136, 131, 125, 119, 117, 114, 109, 106, 101, 98, 96, 92, 87, 83, 80, 77, 74, 68, 66, 64, 60, 54, 51, 48, 45, 41, 35, 31, 27, 25, 23, 19, 16, 9, 7, 2, 1001, 998, 970, 964, 953, 931, 927, 923, 916, 910, 907, 902, 888, 881, 864, 854, 851, 846, 843, 837, 828, 825, 813, 805, 799, 793, 790, 786, 780, 772, 764, 754, 747, 740, 727, 717, 710, 704, 699, 688, 683, 677, 666, 659, 656, 649, 641, 630, 626, 598, 592, 581, 559, 555, 551, 544, 538, 535, 530, 516, 509, 492, 482, 479, 474, 471, 465, 456, 453, 441, 433, 427, 421, 418, 414, 408, 400, 392, 382, 375, 368, 355, 345, 338, 332, 327, 316, 311, 305, 294, 287, 284, 277, 269, 258, 254, 226, 220, 209, 187, 183, 179, 172, 166, 163, 158, 144, 137, 120, 110, 107, 102, 99, 93, 84, 81, 69, 61, 55, 49, 46, 42, 36, 28, 20, 10, 3, 1002, 971, 965, 954, 932, 928, 924, 882, 865, 855, 847, 838, 814, 800, 781, 765, 755, 711, 705, 700, 689, 684, 650, 631, 599, 593, 582, 560, 556, 552, 510, 493, 483, 475, 466, 442, 428, 409, 393, 383, 339, 333, 328, 317, 312, 278, 259, 227, 221, 210, 188, 184, 180, 138, 121, 111, 103, 94, 70, 56, 37, 21, 11, 1003, 883, 866, 815, 801, 756, 712, 706, 701, 690, 685, 632, 511, 494, 443, 429, 384, 340, 334, 329, 318, 313, 260, 139, 122, 71, 57, 12, 1004, 884, 867, 713, 691, 633, 512, 495, 341, 319, 261, 140, 123, 1005, 714, 634, 342, 262, 1006, 635, 263, 1007, 636, 264, 1008, 637, 265, 1009, 638, 266, 1010
22
3
0xD
1, 4, 5, 6, 8, 11, 12, 13, 0, 19, 2, 3, 15, 18, 20, 7, 9, 22, 10, 21, 16, 14, 23, 17, 24
22
3
0xD
4, 5, 6, 8, 1, 12, 11, 13, 2, 19, 0, 3, 15, 18, 20, 7, 9, 22, 10, 21, 16, 14, 23, 17, 24
22
3
0xD
1, 4, 5, 6, 8, 12, 11, 13, 0, 19, 2, 3, 15, 18, 20, 7, 9, 22, 10, 21, 16, 14, 23, 17, 24
22
3
0xD
1, 4, 5, 6, 12, 11, 13, 8, 0, 19, 2, 3, 15, 18, 20, 7, 9, 22, 10, 21, 16, 14, 23, 17, 24
0
1
82
0
1
82
0
1
82
1
4
8
9
12
13
16
23
25
26
27
30
33
37
39
42
46
47
50
51
53
59
60
61
64
2
5
10
14
17
24
28
31
34
38
40
43
48
52
54
62
65
0
3
6
11
15
18
29
32
35
41
44
49
55
63
66
7
19
36
45
56
67
20
57
68
21
58
69
22
70
71
72
73
74
75
76
77
78
79
80
81
82
Например, L = 19, полином равен 0xA2B79 и последовательность перемежения π1 = {0, 1, 2, 5, 6, 7, 10, 11, 13, 14, 18, 19, 20, 22, 23, 24, 26, 31, 33, 35, 37, 39, 42, 44, 45, 47, 51, 52, 55, 56, 57, 58, 60, 61, 62, 64, 67, 69, 70, 72, 73, 76, 85, 86, 89, 90, 93, 94, 100, 103, 104, 105, 107, 109, 110, 112, 113, 125, 127, 128, 129, 130, 131, 133, 134, 137, 140, 144, 145, 148, 149, 152, 159, 161, 162, 163, 166, 169, 173, 175, 178, 182, 183, 186, 187, 189, 195, 196, 197, 200, 3, 8, 12, 15, 21, 25, 27, 32, 34, 36, 38, 40, 43, 46, 48, 53, 59, 63, 65, 68, 71, 74, 77, 87, 91, 95, 101, 106, 108, 111, 114, 126, 132, 135, 138, 141, 146, 150, 153, 160, 164, 167, 170, 174, 176, 179, 184, 188, 190, 198, 201, 4, 9, 16, 28, 41, 49, 54, 66, 75, 78, 88, 92, 96, 102, 115, 136, 139, 142, 147, 151, 154, 165, 168, 171, 177, 180, 185, 191, 199, 202, 17, 29, 50, 79, 97, 116, 143, 155, 172, 181, 192, 203, 30, 80, 98, 117, 156, 193, 204, 81, 99, 118, 157, 194, 205, 82, 119, 158, 206, 83, 120, 207, 84, 12 1, 208, 122, 209, 123, 210, 124, 211, 212, 213, 214, 215, 216, 217, 218}. Например, если длина А текущей последовательности информационных битов равна 64, битовая последовательность, полученная после CRC кодирования, является {b, b, …, b}. Требуемую текущую последовательность перемежения π1' = {1, 4, 8, 9, 12, 13, 16, 23, 25, 26, 27, 30, 33, 37, 39, 42, 46, 47, 50, 51, 53, 59, 60, 61, 64, 2, 5, 10, 14, 17, 24, 28, 31, 34, 38, 40, 43, 48, 52, 54, 62, 65, 0, 3, 6, 11, 15, 18, 29, 32, 35, 41, 44, 49, 55, 63, 66, 7, 19, 36, 45, 56, 67, 20, 57, 68, 21, 58, 69, 22, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82} извлекают из последовательности перемежения π1, основанной на S202. Последовательность {b, b, …, b} перемежается на основании S203, чтобы получить {с, с, …,с} = {b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b}.
В таблице 1, при Kmax = 200, L = 19 и полином CRC является 0xA2B79, есть шесть соответствующих последовательностей перемежения, для которых используют естественный порядок нумерации. Более быстрый эффект достигают, когда первая последовательность перемежения, третья последовательность перемежения или пятая последовательность перемежения используются для низкоскоростного полярного кода. Более быстрый эффект достигаются, когда вторая последовательность перемежения, четвертая последовательность перемежения или шестая последовательность перемежения используются для высокоскоростного полярного кодирования. Более быстрый эффект достигается, когда первая последовательность перемежения или вторая последовательность перемежения используется для полярного кода SC декодирования. Более быстрый эффект достигается, когда третья последовательность перемежения или четвертая последовательность перемежения используются для полярного кода с длинной длиной кода. Более быстрый эффект достигается, когда пятая последовательность перемежения или шестая последовательность перемежения используются для полярного кода с короткой длиной кода.
Когда Kmax = 200, L = 20, полином CRC является 0x191513, есть две соответствующие последовательности перемежения, для которых используют естественный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для низкоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для высокоскоростного полярного кода.
Когда Kmax = 200, L = 21, полином CRC является 0x2E2A69, есть две соответствующие последовательности перемежения, для которых используется естественный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для низкоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для высокоскоростного полярного кода.
Когда Kmax = 200, L = 22, полином CRC является 0x552A55, есть две соответствующие последовательности перемежения, для которых используется естественный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для низкоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для высокоскоростного полярного кода.
Когда Kmax = 200, L = 23, полином CRC является 0x86F4A1, есть две соответствующие последовательности перемежения, для которых используется естественный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для низкоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для высокоскоростного полярного кода.
Когда Kmax = 200, L = 24, полином CRC является 0x1D11A9B, есть две соответствующие последовательности перемежения, для которых используется естественный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для низкоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для высокоскоростного полярного кода.
При Kmax = 1000, L = 11, полином CRC является 0x94F, есть две соответствующие последовательности перемежения, для которых используется естественный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для низкоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для высокоскоростного полярного кода.
Когда Kmax = 22, L = 3, полином CRC является 0xD, существует четыре соответствующих последовательностей перемежения, для которых используются естественный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для полярного кода, длина которого составляет 32 после кодирования. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для полярного кода, длина которого равна 64 после кодирования. Более быстрый эффект достигается, когда третья последовательность перемежения используются для полярного кода, длина которого равна 128 после кодирования. Более быстрый эффект достигается, когда четвертая последовательность перемежения используется для полярного кода с длиной 256 после кодирования.
∧
∧
∧
∧
∧
∧
∧
∧
∧
∧
Следует отметить, что для полинома CRC в таблице 1 и полинома CRC в следующей таблице 2 используют шестнадцатеричное обозначение бита в обратном порядке и явное +1. Например, полином 0xA2B79 соответствует бинарному полиному (1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1) и соответствует полиному D  19 + D  16 + D 15 + D  14 + D 13  + D  11 + D  10+ D  8 + D  6 + D  2 + 1.
0
1
А-1
На фиг. 5 показана блок-схема последовательности операций способа кодирования в соответствии с настоящим изобретением. В этом варианте осуществления, например, последовательность перемежения, используемая для операции перемежения, является первой последовательностью перемежения, полученной на основе заданного правила в способе 2, последовательность перемежения максимальной длины, используемая для распределенного CRC кодирования, представляет собой последовательность π2, для которой используют обратный порядок нумерация, максимальная длина информационного бита, соответствующая π2, равна Kmax, CRC полином равен g и CRC количество бит равно L. Другими словами, длина CRC является L. Предполагают, что А информационные биты, подлежащие кодированию, равны {a, a, …, а}, и количество информационных бит A≤Kmax. Этот вариант осуществления выполняется посредством стороны передачи (кодер). Как показано на фиг. 5, способ в этом варианте осуществления включает в себя следующие этапы.
0
1
А + L-1
S301. Выполнить CRC кодирование А информационных бит, подлежащих кодированию, для получения первой битовой последовательности {b, b, …, b}.
0
1
А-1
A
A+1
А+L-1
{b, b, …, b} является A информационными битами и {b, b, …, b} представляют собой L CRC биты.
S302. Первая последовательность перемежения π2' образована путем последовательного извлечения всех индексов меньше, чем А или больше, чем или равно Kmax из последовательности перемежения максимальной длины и вычитанием Kмax-A из индексов больше чем или равно Kmax в извлеченных индексах.
Например, как показано на фиг. 5, если последовательность перемежения максимальной длины π2 равна {1, 2, 6, 8, 9, 12, 0, 5, 7, 13, 4, 11, 14, 3, 10, 15}, L = 4 и А = 10, то максимальное количество информационных бит Kmax, соответствующее последовательности перемежения максимальной длины, равно 12, Kmax-А = 2. Все индексы меньше, чем 10, или больше или равные 12 сначала последовательно извлекают из π2, и извлеченная часть равна {1, 2, 6, 8, 9, 12, 0, 5, 7, 13, 4, 14, 3, 15}. Затем, 2 вычитают из индексов больше или равные 12 в извлеченных индексах, чтобы образовать первую последовательность перемежение π2' {1, 2, 6, 8, 9, 10, 0, 5, 7, 11, 4, 12, 3, 13}.
S303. Расположить информационные биты в первой битовой последовательности в порядке убывания индексов информационных бит для получения третьей битовой последовательности.
0
1
А+L-1
0
1
А+L-1
k
А-1-k
k
k
В частности, А информационные биты в первой битовой последовательности {b, b, …, b} расположены в порядке убывания индексов информационных битов для получения третьей битовой последовательности {b', b', …, b'}. При k = 0, 1, …, A-1, b' = b. При k = А, А + 1, …, A + L-1, b' = b.
0
1
A+L-1
S304. Выполнить операцию перемежения третьей битовой последовательности {b', b, …, b} с использованием первой последовательности перемежения π2', чтобы получить вторую битовую последовательность.
0
1
13
0
1
13
9
8
7
6
5
4
3
2
1
0,
10
11
12
13
9
8
7
6
5
4
3
2
1
0,
10
11
12
13
8
7
3
1
0
10
9
4
2
11
5
12
6
13
В частности, первая битовая последовательность, показанной на фиг. 5, равна {b, b, …, b}. 10 информационных битов в первом битовой последовательности {b, b, …, b} расположены в порядке убывания индексов информационных битов для получения третьей битовой последовательности {b, b, b, b, b, b, b, b, b, bb, b, b, b}. Вторая битовая последовательность, полученная после операции перемежения, выполненная на третьей битовой последовательности {b, b, b, b, b, b, b, b, b, b b, b, b, b} с использованием первой последовательности перемежения π2' {1, 2, 6, 8, 9, 10, 0, 5, 7, 11, 4, 12, 3, 13}, является {b, b, b, b, b, b, b, b, b, b, b, b, b, b}.
S305. Выполнить полярное кодирование второй битовой последовательности.
В этом варианте осуществления, как показано в следующей таблице 2, для последовательности перемежения в таблице 2 используют различные CRC полиномы и соответствующие последовательности перемежения, для которых применяют обратный порядок нумерации, с разными CRC длинами L и различными максимальными количествами Kmax информационных бит.
Таблица 2
K<sub>max</sub>
L
CRC полином
Последовательность перемежения для которой используют обратный порядок нумерации
200
19
0xA2B79
2, 3, 4, 10, 12, 13, 16, 17, 21, 24, 26, 30, 33, 36, 37, 38, 40, 47, 50, 51, 54, 55, 59, 62, 65, 66, 68, 69, 70, 71, 72, 74, 86, 87, 89, 90, 92, 94, 95, 96, 99, 105, 106, 109, 110, 113, 114, 123, 126, 127, 129, 130, 132, 135, 137, 138, 139, 141, 142, 143, 144, 147, 148, 152, 154, 155, 157, 160, 162, 164, 166, 168, 173, 175, 176, 177, 179, 180, 181, 185, 186, 188, 189, 192, 193, 194, 197, 198, 199, 200, 0, 1, 8, 11, 14, 15, 19, 22, 28, 31, 34, 35, 45, 48, 49, 52, 53, 57, 60, 63, 64, 67, 84, 85, 88, 93, 97, 103, 104, 107, 108, 111, 112, 121, 124, 125, 128, 133, 136, 140, 145, 146, 150, 153, 158, 171, 174, 178, 183, 184, 187, 190, 191, 195, 196, 202, 7, 9, 18, 23, 27, 44, 56, 83, 91, 102, 120, 134, 149, 151, 159, 161, 163, 165, 170, 172, 182, 203, 5, 20, 29, 39, 43, 73, 77, 78, 81, 98, 100, 101, 119, 122, 131, 156, 167, 209, 42, 46, 61, 76, 80, 118, 210, 6, 25, 32, 41, 58, 75, 79, 82, 117, 211, 116, 169, 212, 115, 201, 204, 205, 206, 207, 208, 213, 214, 215, 216, 217, 218
200
19
0xA2B79
199, 198, 197, 194, 193, 192, 189, 188, 186, 185, 181, 180, 179, 177, 176, 175, 173, 168, 166, 164, 162, 160, 157, 155, 154, 152, 148, 147, 144, 143, 142, 141, 139, 138, 137, 135, 132, 130, 129, 127, 126, 123, 114, 113, 110, 109, 106, 105, 99, 96, 95, 94, 92, 90, 89, 87, 86, 74, 72, 71, 70, 69, 68, 66, 65, 62, 59, 55, 54, 51, 50, 47, 40, 38, 37, 36, 33, 30, 26, 24, 21, 17, 16, 13, 12, 10, 4, 3, 2, 200, 196, 195, 191, 190, 187, 184, 183, 178, 174, 171, 158, 153, 150, 146, 145, 140, 136, 133, 128, 125, 124, 121, 112, 111, 108, 107, 104, 103, 97, 93, 88, 85, 84, 67, 64, 63, 60, 57, 53, 52, 49, 48, 45, 35, 34, 31, 28, 22, 19, 15, 14, 11, 8, 1, 0, 202, 182, 172, 170, 165, 163, 161, 159, 151, 149, 134, 120, 102, 91, 83, 56, 44, 27, 23, 18, 9, 7, 203, 167, 156, 131, 122, 119, 101, 100, 98, 81, 78, 77, 73, 43, 39, 29, 20, 5, 209, 118, 80, 76, 61, 46, 42, 210, 117, 82, 79, 75, 58, 41, 32, 25, 6, 211, 169, 116, 212, 115, 201, 204, 205, 206, 207, 208, 213, 214, 215, 216, 217, 218
200
19
0xA2B79
0, 1, 2, 8, 10, 11, 14, 15, 19, 22, 24, 28, 31, 34, 35, 36, 38, 45, 48, 49, 52, 53, 57, 60, 63, 64, 66, 67, 68, 69, 70, 72, 84, 85, 87, 88, 90, 92, 93, 94, 97, 103, 104, 107, 108, 111, 112, 121, 124, 125, 127, 128, 130, 133, 135, 136, 137, 139, 140, 141, 142, 145, 146, 150, 152, 153, 155, 158, 160, 162, 164, 166, 171, 173, 174, 175, 177, 178, 179, 183, 184, 186, 187, 190, 191, 192, 195, 196, 197, 198, 199, 202, 3, 4, 7, 9, 12, 16, 17, 18, 23, 26, 27, 40, 44, 50, 54, 55, 56, 74, 83, 91, 95, 99, 102, 105, 109, 113, 114, 120, 134, 143, 147, 148, 149, 151, 159, 161, 163, 165, 168, 170, 172, 180, 181, 182, 188, 193, 203, 5, 13, 20, 29, 30, 39, 42, 47, 51, 58, 59, 62, 65, 73, 81, 82, 89, 96, 98, 100, 101, 106, 110, 118, 123, 131, 138, 144, 156, 167, 176, 205, 6, 25, 37, 41, 46, 61, 71, 80, 117, 122, 132, 169, 185, 194, 206, 43, 77, 78, 119, 129, 189, 209, 21, 32, 75, 76, 79, 157, 211, 33, 116, 154, 212, 86, 115, 126, 200, 201, 204, 207, 208, 210, 213, 214, 215, 216, 217, 218
200
19
0xA2B79
199, 198, 197, 196, 195, 192, 191, 190, 187, 186, 184, 183, 179, 178, 177, 175, 174, 173, 171, 166, 164, 162, 160, 158, 155, 153, 152, 150, 146, 145, 142, 141, 140, 139, 137, 136, 135, 133, 130, 128, 127, 125, 124, 121, 112, 111, 108, 107, 104, 103, 97, 94, 93, 92, 90, 88, 87, 85, 84, 72, 70, 69, 68, 67, 66, 64, 63, 60, 57, 53, 52, 49, 48, 45, 38, 36, 35, 34, 31, 28, 24, 22, 19, 15, 14, 11, 10, 8, 2, 1, 0, 202, 193, 188, 182, 181, 180, 172, 170, 168, 165, 163, 161, 159, 151, 149, 148, 147, 143, 134, 120, 114, 113, 109, 105, 102, 99, 95, 91, 83, 74, 56, 55, 54, 50, 44, 40, 27, 26, 23, 18, 17, 16, 12, 9, 7, 4, 3, 203, 176, 167, 156, 144, 138, 131, 123, 118, 110, 106, 101, 100, 98, 96, 89, 82, 81, 73, 65, 62, 59, 58, 51, 47, 42, 39, 30, 29, 20, 13, 5, 205, 194, 185, 169, 132, 122, 117, 80, 71, 61, 46, 41, 37, 25, 6, 206, 189, 129, 119, 78, 77, 43, 209, 157, 79, 76, 75, 32, 21, 211, 154, 116, 33, 212, 86, 115, 126, 200, 201, 204, 207, 208, 210, 213, 214, 215, 216, 217, 218
200
19
0xA2B79
0, 1, 2, 3, 4, 7, 9, 12, 14, 16, 17, 18, 23, 24, 26, 27, 34, 35, 36, 38, 40, 44, 48, 50, 52, 54, 55, 56, 63, 67, 70, 72, 74, 83, 84, 90, 91, 93, 94, 95, 99, 102, 103, 105, 107, 109, 111, 113, 114, 120, 124, 130, 134, 136, 137, 140, 142, 143, 145, 147, 148, 149, 151, 155, 159, 160, 161, 162, 163, 164, 165, 166, 168, 170, 172, 174, 175, 178, 179, 180, 181, 182, 183, 188, 190, 191, 192, 193, 195, 196, 203, 6, 8, 10, 11, 15, 21, 22, 25, 30, 39, 43, 49, 53, 59, 65, 68, 73, 82, 86, 87, 96, 98, 101, 104, 108, 112, 119, 126, 127, 132, 133, 138, 146, 150, 152, 157, 158, 167, 169, 171, 176, 185, 186, 187, 197, 198, 199, 204, 5, 13, 20, 29, 42, 47, 51, 58, 62, 64, 66, 81, 85, 89, 97, 100, 106, 110, 118, 123, 125, 131, 139, 141, 144, 156, 184, 205, 19, 28, 37, 41, 46, 57, 61, 71, 80, 88, 92, 117, 122, 177, 194, 206, 32, 60, 78, 79, 115, 121, 129, 135, 154, 173, 189, 208, 33, 69, 76, 77, 128, 210, 116, 153, 213, 31, 45, 75, 200, 201, 202, 207, 209, 211, 212, 214, 215, 216, 217, 218
200
19
0xA2B79
196, 195, 193, 192, 191, 190, 188, 183, 182, 181, 180, 179, 178, 175, 174, 172, 170, 168, 166, 165, 164, 163, 162, 161, 160, 159, 155, 151, 149, 148, 147, 145, 143, 142, 140, 137, 136, 134, 130, 124, 120, 114, 113, 111, 109, 107, 105, 103, 102, 99, 95, 94, 93, 91, 90, 84, 83, 74, 72, 70, 67, 63, 56, 55, 54, 52, 50, 48, 44, 40, 38, 36, 35, 34, 27, 26, 24, 23, 18, 17, 16, 14, 12, 9, 7, 4, 3, 2, 1, 0, 203, 199, 198, 197, 187, 186, 185, 176, 171, 169, 167, 158, 157, 152, 150, 146, 138, 133, 132, 127, 126, 119, 112, 108, 104, 101, 98, 96, 87, 86, 82, 73, 68, 65, 59, 53, 49, 43, 39, 30, 25, 22, 21, 15, 11, 10, 8, 6, 204, 184, 156, 144, 141, 139, 131, 125, 123, 118, 110, 106, 100, 97, 89, 85, 81, 66, 64, 62, 58, 51, 47, 42, 29, 20, 13, 5, 205, 194, 177, 122, 117, 92, 88, 80, 71, 61, 57, 46, 41, 37, 28, 19, 206, 189, 173, 154, 135, 129, 121, 115, 79, 78, 60, 32, 208, 128, 77, 76, 69, 33, 210, 153, 116, 213, 31, 45, 75, 200, 201, 202, 207, 209, 211, 212, 214, 215, 216, 217, 218
200
20
0x191513
0, 1, 2, 4, 6, 10, 11, 13, 14, 15, 18, 19, 20, 21, 23, 30, 35, 38, 39, 41, 43, 44, 45, 46, 50, 51, 53, 55, 56, 57, 58, 59, 60, 65, 66, 67, 69, 72, 73, 75, 78, 81, 83, 84, 85, 87, 88, 89, 91, 92, 94, 96, 98, 99, 103, 104, 105, 106, 109, 110, 111, 114, 116, 118, 119, 121, 126, 127, 130, 131, 137, 138, 141, 145, 146, 148, 149, 150, 151, 154, 155, 157, 159, 161, 163, 166, 167, 168, 172, 173, 178, 180, 181, 182, 184, 188, 189, 193, 196, 197, 200, 3, 5, 9, 12, 17, 22, 29, 34, 37, 40, 42, 49, 52, 54, 64, 68, 71, 74, 77, 80, 82, 86, 90, 93, 95, 97, 102, 108, 113, 115, 117, 120, 125, 129, 136, 140, 144, 147, 153, 156, 158, 160, 162, 165, 171, 177, 179, 183, 187, 192, 195, 199, 201, 8, 16, 28, 33, 36, 48, 63, 70, 76, 79, 101, 107, 112, 124, 128, 135, 139, 143, 152, 164, 170, 176, 186, 191, 194, 198, 202, 7, 27, 32, 47, 62, 100, 123, 134, 142, 169, 175, 185, 190, 203, 26, 31, 61, 122, 133, 174, 204, 25, 132, 205, 24, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219
200
20
0x191513
197, 196, 193, 189, 188, 184, 182, 181, 180, 178, 173, 172, 168, 167, 166, 163, 161, 159, 157, 155, 154, 151, 150, 149, 148, 146, 145, 141, 138, 137, 131, 130, 127, 126, 121, 119, 118, 116, 114, 111, 110, 109, 106, 105, 104, 103, 99, 98, 96, 94, 92, 91, 89, 88, 87, 85, 84, 83, 81, 78, 75, 73, 72, 69, 67, 66, 65, 60, 59, 58, 57, 56, 55, 53, 51, 50, 46, 45, 44, 43, 41, 39, 38, 35, 30, 23, 21, 20, 19, 18, 15, 14, 13, 11, 10, 6, 4, 2, 1, 0, 200, 199, 195, 192, 187, 183, 179, 177, 171, 165, 162, 160, 158, 156, 153, 147, 144, 140, 136, 129, 125, 120, 117, 115, 113, 108, 102, 97, 95, 93, 90, 86, 82, 80, 77, 74, 71, 68, 64, 54, 52, 49, 42, 40, 37, 34, 29, 22, 17, 12, 9, 5, 3, 201, 198, 194, 191, 186, 176, 170, 164, 152, 143, 139, 135, 128, 124, 112, 107, 101, 79, 76, 70, 63, 48, 36, 33, 28, 16, 8, 202, 190, 185, 175, 169, 142, 134, 123, 100, 62, 47, 32, 27, 7, 203, 174, 133, 122, 61, 31, 26, 204, 132, 25, 205, 24, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219
200
21
0x2E2A69
2, 4, 9, 11, 15, 17, 18, 19, 22, 25, 26, 27, 28, 29, 31, 35, 36, 37, 39, 40, 43, 48, 49, 52, 57, 58, 61, 62, 63, 64, 65, 66, 68, 72, 74, 81, 85, 86, 88, 89, 90, 91, 94, 96, 98, 102, 103, 105, 110, 111, 112, 116, 120, 121, 123, 125, 127, 130, 133, 136, 138, 139, 140, 141, 144, 146, 147, 148, 150, 152, 158, 160, 164, 166, 167, 169, 170, 171, 172, 173, 176, 178, 180, 182, 184, 185, 187, 189, 190, 191, 193, 194, 198, 200, 1, 3, 8, 10, 14, 16, 21, 24, 30, 34, 38, 42, 47, 51, 56, 60, 67, 71, 73, 80, 84, 87, 93, 95, 97, 101, 104, 109, 115, 119, 122, 124, 126, 129, 132, 135, 137, 143, 145, 149, 151, 157, 159, 163, 165, 168, 175, 177, 179, 181, 183, 186, 188, 192, 197, 199, 201, 0, 7, 13, 20, 23, 33, 41, 46, 50, 55, 59, 70, 79, 83, 92, 100, 108, 114, 118, 128, 131, 134, 142, 156, 162, 174, 196, 202, 6, 12, 32, 45, 54, 69, 78, 82, 99, 107, 113, 117, 155, 161, 195, 203, 5, 44, 53, 77, 106, 154, 204, 76, 153, 205, 75, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220
200
21
0x2E2A69
198, 194, 193, 191, 190, 189, 187, 185, 184, 182, 180, 178, 176, 173, 172, 171, 170, 169, 167, 166, 164, 160, 158, 152, 150, 148, 147, 146, 144, 141, 140, 139, 138, 136, 133, 130, 127, 125, 123, 121, 120, 116, 112, 111, 110, 105, 103, 102, 98, 96, 94, 91, 90, 89, 88, 86, 85, 81, 74, 72, 68, 66, 65, 64, 63, 62, 61, 58, 57, 52, 49, 48, 43, 40, 39, 37, 36, 35, 31, 29, 28, 27, 26, 25, 22, 19, 18, 17, 15, 11, 9, 4, 2, 200, 199, 197, 192, 188, 186, 183, 181, 179, 177, 175, 168, 165, 163, 159, 157, 151, 149, 145, 143, 137, 135, 132, 129, 126, 124, 122, 119, 115, 109, 104, 101, 97, 95, 93, 87, 84, 80, 73, 71, 67, 60, 56, 51, 47, 42, 38, 34, 30, 24, 21, 16, 14, 10, 8, 3, 1, 201, 196, 174, 162, 156, 142, 134, 131, 128, 118, 114, 108, 100, 92, 83, 79, 70, 59, 55, 50, 46, 41, 33, 23, 20, 13, 7, 0, 202, 195, 161, 155, 117, 113, 107, 99, 82, 78, 69, 54, 45, 32, 12, 6, 203, 154, 106, 77, 53, 44, 5, 204, 153, 76, 205, 75, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220
200
22
0x552A55
1, 7, 8, 9, 10, 14, 16, 17, 19, 24, 25, 27, 28, 29, 30, 34, 38, 40, 47, 49, 50, 51, 52, 57, 58, 61, 63, 65, 67, 68, 69, 70, 74, 77, 78, 80, 82, 83, 86, 88, 89, 91, 92, 93, 94, 97, 104, 106, 107, 112, 113, 114, 115, 117, 118, 119, 123, 124, 125, 127, 130, 131, 132, 134, 137, 138, 139, 141, 142, 143, 147, 148, 149, 150, 151, 154, 155, 158, 159, 160, 161, 162, 163, 164, 165, 169, 172, 175, 177, 179, 180, 182, 184, 185, 187, 195, 196, 197, 198, 200, 0, 6, 13, 15, 18, 23, 26, 33, 37, 39, 46, 48, 56, 60, 62, 64, 66, 73, 76, 79, 81, 85, 87, 90, 96, 103, 105, 111, 116, 122, 126, 129, 133, 136, 140, 146, 153, 157, 168, 171, 174, 176, 178, 181, 183, 186, 194, 201, 5, 12, 22, 32, 36, 45, 55, 59, 72, 75, 84, 95, 102, 110, 121, 128, 135, 145, 152, 156, 167, 170, 173, 193, 202, 4, 11, 21, 31, 35, 44, 54, 71, 101, 109, 120, 144, 166, 192, 199, 203, 3, 20, 43, 53, 100, 108, 191, 204, 2, 42, 99, 190, 205, 41, 98, 189, 206, 188, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221
200
22
0x552A55
198, 197, 196, 195, 187, 185, 184, 182, 180, 179, 177, 175, 172, 169, 165, 164, 163, 162, 161, 160, 159, 158, 155, 154, 151, 150, 149, 148, 147, 143, 142, 141, 139, 138, 137, 134, 132, 131, 130, 127, 125, 124, 123, 119, 118, 117, 115, 114, 113, 112, 107, 106, 104, 97, 94, 93, 92, 91, 89, 88, 86, 83, 82, 80, 78, 77, 74, 70, 69, 68, 67, 65, 63, 61, 58, 57, 52, 51, 50, 49, 47, 40, 38, 34, 30, 29, 28, 27, 25, 24, 19, 17, 16, 14, 10, 9, 8, 7, 1, 200, 194, 186, 183, 181, 178, 176, 174, 171, 168, 157, 153, 146, 140, 136, 133, 129, 126, 122, 116, 111, 105, 103, 96, 90, 87, 85, 81, 79, 76, 73, 66, 64, 62, 60, 56, 48, 46, 39, 37, 33, 26, 23, 18, 15, 13, 6, 0, 201, 193, 173, 170, 167, 156, 152, 145, 135, 128, 121, 110, 102, 95, 84, 75, 72, 59, 55, 45, 36, 32, 22, 12, 5, 202, 199, 192, 166, 144, 120, 109, 101, 71, 54, 44, 35, 31, 21, 11, 4, 203, 191, 108, 100, 53, 43, 20, 3, 204, 190, 99, 42, 2, 205, 189, 98, 41, 206, 188, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221
200
23
0x86F4A1
4, 6, 11, 12, 17, 18, 19, 20, 21, 23, 24, 30, 31, 33, 35, 37, 40, 42, 45, 46, 47, 50, 51, 54, 55, 57, 58, 59, 60, 62, 64, 65, 66, 75, 76, 78, 80, 83, 84, 86, 87, 88, 90, 93, 95, 97, 98, 100, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 119, 122, 124, 125, 126, 127, 128, 129, 130, 132, 134, 135, 138, 139, 140, 142, 144, 146, 148, 149, 150, 152, 153, 154, 157, 160, 162, 166, 167, 168, 169, 171, 174, 175, 176, 179, 181, 185, 186, 187, 188, 194, 195, 196, 198, 200, 3, 5, 10, 16, 22, 29, 32, 34, 36, 39, 41, 44, 49, 53, 56, 61, 63, 74, 77, 79, 82, 85, 89, 92, 94, 96, 99, 104, 108, 118, 121, 123, 131, 133, 137, 141, 143, 145, 147, 151, 156, 159, 161, 165, 170, 173, 178, 180, 184, 193, 197, 199, 201, 2, 9, 15, 28, 38, 43, 48, 52, 73, 81, 91, 103, 107, 117, 120, 136, 155, 158, 164, 172, 177, 183, 192, 202, 1, 8, 14, 27, 72, 102, 163, 182, 191, 203, 0, 7, 13, 26, 71, 101, 190, 204, 25, 70, 189, 205, 69, 206, 68, 207, 67, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222
200
23
0x86F4A1
198, 196, 195, 194, 188, 187, 186, 185, 181, 179, 176, 175, 174, 171, 169, 168, 167, 166, 162, 160, 157, 154, 153, 152, 150, 149, 148, 146, 144, 142, 140, 139, 138, 135, 134, 132, 130, 129, 128, 127, 126, 125, 124, 122, 119, 116, 115, 114, 113, 112, 111, 110, 109, 106, 105, 100, 98, 97, 95, 93, 90, 88, 87, 86, 84, 83, 80, 78, 76, 75, 66, 65, 64, 62, 60, 59, 58, 57, 55, 54, 51, 50, 47, 46, 45, 42, 40, 37, 35, 33, 31, 30, 24, 23, 21, 20, 19, 18, 17, 12, 11, 6, 4, 200, 199, 197, 193, 184, 180, 178, 173, 170, 165, 161, 159, 156, 151, 147, 145, 143, 141, 137, 133, 131, 123, 121, 118, 108, 104, 99, 96, 94, 92, 89, 85, 82, 79, 77, 74, 63, 61, 56, 53, 49, 44, 41, 39, 36, 34, 32, 29, 22, 16, 10, 5, 3, 201, 192, 183, 177, 172, 164, 158, 155, 136, 120, 117, 107, 103, 91, 81, 73, 52, 48, 43, 38, 28, 15, 9, 2, 202, 191, 182, 163, 102, 72, 27, 14, 8, 1, 203, 190, 101, 71, 26, 13, 7, 0, 204, 189, 70, 25, 205, 69, 206, 68, 207, 67, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222
200
24
0x1D11A9B
0, 1, 5, 7, 10, 12, 13, 16, 17, 19, 20, 21, 24, 26, 28, 29, 31, 33, 35, 38, 41, 44, 46, 48, 50, 51, 52, 56, 57, 58, 62, 63, 67, 68, 69, 70, 72, 73, 74, 77, 78, 80, 81, 83, 85, 86, 88, 89, 90, 94, 97, 105, 108, 111, 113, 114, 115, 119, 120, 125, 130, 132, 135, 137, 139, 140, 142, 144, 145, 149, 150, 152, 153, 155, 157, 158, 159, 160, 161, 162, 164, 166, 167, 171, 175, 177, 179, 180, 183, 186, 187, 188, 191, 193, 194, 196, 197, 199, 200, 4, 6, 9, 11, 15, 18, 23, 25, 27, 30, 32, 34, 37, 40, 43, 45, 47, 49, 55, 61, 66, 71, 76, 79, 82, 84, 87, 93, 96, 104, 107, 110, 112, 118, 124, 129, 131, 134, 136, 138, 141, 143, 148, 151, 154, 156, 163, 165, 170, 174, 176, 178, 182, 185, 190, 192, 195, 198, 201, 3, 8, 14, 22, 36, 39, 42, 54, 60, 65, 75, 92, 95, 103, 106, 109, 117, 123, 128, 133, 147, 169, 173, 181, 184, 189, 202, 2, 53, 59, 64, 91, 102, 116, 122, 127, 146, 168, 172, 203, 101, 121, 126, 204, 100, 205, 99, 206, 98, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223
200
24
0x1D11A9B
199, 197, 196, 194, 193, 191, 188, 187, 186, 183, 180, 179, 177, 175, 171, 167, 166, 164, 162, 161, 160, 159, 158, 157, 155, 153, 152, 150, 149, 145, 144, 142, 140, 139, 137, 135, 132, 130, 125, 120, 119, 115, 114, 113, 111, 108, 105, 97, 94, 90, 89, 88, 86, 85, 83, 81, 80, 78, 77, 74, 73, 72, 70, 69, 68, 67, 63, 62, 58, 57, 56, 52, 51, 50, 48, 46, 44, 41, 38, 35, 33, 31, 29, 28, 26, 24, 21, 20, 19, 17, 16, 13, 12, 10, 7, 5, 1, 0, 200, 198, 195, 192, 190, 185, 182, 178, 176, 174, 170, 165, 163, 156, 154, 151, 148, 143, 141, 138, 136, 134, 131, 129, 124, 118, 112, 110, 107, 104, 96, 93, 87, 84, 82, 79, 76, 71, 66, 61, 55, 49, 47, 45, 43, 40, 37, 34, 32, 30, 27, 25, 23, 18, 15, 11, 9, 6, 4, 201, 189, 184, 181, 173, 169, 147, 133, 128, 123, 117, 109, 106, 103, 95, 92, 75, 65, 60, 54, 42, 39, 36, 22, 14, 8, 3, 202, 172, 168, 146, 127, 122, 116, 102, 91, 64, 59, 53, 2, 203, 126, 121, 101, 204, 100, 205, 99, 206, 98, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223
1000
11
0x94F
0, 3, 4, 5, 7, 8, 9, 10, 12, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 27, 31, 32, 33, 37, 38, 40, 41, 42, 43, 44, 48, 50, 52, 53, 55, 57, 59, 60, 61, 62, 64, 66, 70, 74, 78, 79, 80, 82, 85, 86, 87, 88, 91, 94, 96, 99, 101, 102, 104, 106, 107, 108, 110, 113, 114, 120, 121, 122, 123, 125, 126, 127, 128, 129, 131, 137, 139, 140, 142, 143, 147, 150, 151, 155, 158, 160, 164, 165, 166, 167, 169, 170, 173, 176, 177, 179, 180, 182, 183, 188, 190, 192, 193, 196, 197, 202, 203, 205, 208, 211, 212, 215, 216, 217, 221, 222, 223, 225, 226, 229, 231, 233, 237, 238, 240, 241, 242, 247, 249, 250, 251, 254, 255, 256, 257, 258, 261, 263, 265, 267, 268, 269, 270, 271, 274, 275, 276, 277, 278, 279, 280, 281, 284, 291, 292, 297, 302, 303, 305, 307, 313, 318, 320, 321, 324, 325, 327, 328, 330, 332, 335, 337, 338, 339, 342, 345, 346, 347, 348, 352, 354, 355, 357, 360, 371, 372, 375, 376, 377, 379, 380, 381, 382, 384, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 397, 399, 403, 404, 405, 409, 410, 412, 413, 414, 415, 416, 420, 422, 424, 425, 427, 429, 431, 432, 433, 434, 436, 438, 442, 446, 450, 451, 452, 454, 457, 458, 459, 460, 463, 466, 468, 471, 473, 474, 476, 478, 479, 480, 482, 485, 486, 492, 493, 494, 495, 497, 498, 499, 500, 501, 503, 509, 511, 512, 514, 515, 519, 522, 523, 527, 530, 532, 536, 537, 538, 539, 541, 542, 545, 548, 549, 551, 552, 554, 555, 560, 562, 564, 565, 568, 569, 574, 575, 577, 580, 583, 584, 587, 588, 589, 593, 594, 595, 597, 598, 601, 603, 605, 609, 610, 612, 613, 614, 619, 621, 622, 623, 626, 627, 628, 629, 630, 633, 635, 637, 639, 640, 641, 642, 643, 646, 647, 648, 649, 650, 651, 652, 653, 656, 663, 664, 669, 674, 675, 677, 679, 685, 690, 692, 693, 696, 697, 699, 700, 702, 704, 707, 709, 710, 711, 714, 717, 718, 719, 720, 724, 726, 727, 729, 732, 743, 744, 747, 748, 749, 751, 752, 753, 754, 756, 758, 759, 760, 762, 763, 764, 765, 766, 767, 768, 769, 771, 775, 776, 777, 781, 782, 784, 785, 786, 787, 788, 792, 794, 796, 797, 799, 801, 803, 804, 805, 806, 808, 810, 814, 818, 822, 823, 824, 826, 829, 830, 831, 832, 835, 838, 840, 843, 845, 846, 848, 850, 851, 852, 854, 857, 858, 864, 865, 866, 867, 869, 870, 871, 872, 873, 875, 881, 883, 884, 886, 887, 891, 894, 895, 899, 902, 904, 908, 909, 910, 911, 913, 914, 917, 920, 921, 923, 924, 926, 927, 932, 934, 936, 937, 940, 941, 946, 947, 949, 952, 955, 956, 959, 960, 961, 965, 966, 967, 969, 970, 973, 975, 977, 981, 982, 984, 985, 986, 991, 993, 994, 995, 998, 999, 1000, 2, 6, 11, 13, 17, 26, 30, 36, 39, 47, 49, 51, 54, 56, 58, 63, 65, 69, 73, 77, 81, 84, 90, 93, 95, 98, 100, 103, 105, 109, 112, 119, 124, 130, 136, 138, 141, 146, 149, 154, 157, 159, 163, 168, 172, 175, 178, 181, 187, 189, 191, 195, 201, 204, 207, 210, 214, 220, 224, 228, 230, 232, 236, 239, 246, 248, 253, 260, 262, 264, 266, 273, 283, 290, 296, 301, 304, 306, 312, 317, 319, 323, 326, 329, 331, 334, 336, 341, 344, 351, 353, 356, 359, 370, 374, 378, 383, 385, 389, 398, 402, 408, 411, 419, 421, 423, 426, 428, 430, 435, 437, 441, 445, 449, 453, 456, 462, 465, 467, 470, 472, 475, 477, 481, 484, 491, 496, 502, 508, 510, 513, 518, 521, 526, 529, 531, 535, 540, 544, 547, 550, 553, 559, 561, 563, 567, 573, 576, 579, 582, 586, 592, 596, 600, 602, 604, 608, 611, 618, 620, 625, 632, 634, 636, 638, 645, 655, 662, 668, 673, 676, 678, 684, 689, 691, 695, 698, 701, 703, 706, 708, 713, 716, 723, 725, 728, 731, 742, 746, 750, 755, 757, 761, 770, 774, 780, 783, 791, 793, 795, 798, 800, 802, 807, 809, 813, 817, 821, 825, 828, 834, 837, 839, 842, 844, 847, 849, 853, 856, 863, 868, 874, 880, 882, 885, 890, 893, 898, 901, 903, 907, 912, 916, 919, 922, 925, 931, 933, 935, 939, 945, 948, 951, 954, 958, 964, 968, 972, 974, 976, 980, 983, 990, 992, 997, 1001, 1, 29, 35, 46, 68, 72, 76, 83, 89, 92, 97, 111, 118, 135, 145, 148, 153, 156, 162, 171, 174, 186, 194, 200, 206, 209, 213, 219, 227, 235, 245, 252, 259, 272, 282, 289, 295, 300, 311, 316, 322, 333, 340, 343, 350, 358, 369, 373, 401, 407, 418, 440, 444, 448, 455, 461, 464, 469, 483, 490, 507, 517, 520, 525, 528, 534, 543, 546, 558, 566, 572, 578, 581, 585, 591, 599, 607, 617, 624, 631, 644, 654, 661, 667, 672, 683, 688, 694, 705, 712, 715, 722, 730, 741, 745, 773, 779, 790, 812, 816, 820, 827, 833, 836, 841, 855, 862, 879, 889, 892, 897, 900, 906, 915, 918, 930, 938, 944, 950, 953, 957, 963, 971, 979, 989, 996, 1002, 28, 34, 45, 67, 71, 75, 117, 134, 144, 152, 161, 185, 199, 218, 234, 244, 288, 294, 299, 310, 315, 349, 368, 400, 406, 417, 439, 443, 447, 489, 506, 516, 524, 533, 557, 571, 590, 606, 616, 660, 666, 671, 682, 687, 721, 740, 772, 778, 789, 811, 815, 819, 861, 878, 888, 896, 905, 929, 943, 962, 978, 988, 1003, 116, 133, 184, 198, 243, 287, 293, 298, 309, 314, 367, 488, 505, 556, 570, 615, 659, 665, 670, 681, 686, 739, 860, 877, 928, 942, 987, 1004, 115, 132, 286, 308, 366, 487, 504, 658, 680, 738, 859, 876, 1005, 285, 365, 657, 737, 1006, 364, 736, 1007, 363, 735, 1008, 362, 734, 1009, 361, 733, 1010
1000
11
0x94F
999, 998, 995, 994, 993, 991, 986, 985, 984, 982, 981, 977, 975, 973, 970, 969, 967, 966, 965, 961, 960, 959, 956, 955, 952, 949, 947, 946, 941, 940, 937, 936, 934, 932, 927, 926, 924, 923, 921, 920, 917, 914, 913, 911, 910, 909, 908, 904, 902, 899, 895, 894, 891, 887, 886, 884, 883, 881, 875, 873, 872, 871, 870, 869, 867, 866, 865, 864, 858, 857, 854, 852, 851, 850, 848, 846, 845, 843, 840, 838, 835, 832, 831, 830, 829, 826, 824, 823, 822, 818, 814, 810, 808, 806, 805, 804, 803, 801, 799, 797, 796, 794, 792, 788, 787, 786, 785, 784, 782, 781, 777, 776, 775, 771, 769, 768, 767, 766, 765, 764, 763, 762, 760, 759, 758, 756, 754, 753, 752, 751, 749, 748, 747, 744, 743, 732, 729, 727, 726, 724, 720, 719, 718, 717, 714, 711, 710, 709, 707, 704, 702, 700, 699, 697, 696, 693, 692, 690, 685, 679, 677, 675, 674, 669, 664, 663, 656, 653, 652, 651, 650, 649, 648, 647, 646, 643, 642, 641, 640, 639, 637, 635, 633, 630, 629, 628, 627, 626, 623, 622, 621, 619, 614, 613, 612, 610, 609, 605, 603, 601, 598, 597, 595, 594, 593, 589, 588, 587, 584, 583, 580, 577, 575, 574, 569, 568, 565, 564, 562, 560, 555, 554, 552, 551, 549, 548, 545, 542, 541, 539, 538, 537, 536, 532, 530, 527, 523, 522, 519, 515, 514, 512, 511, 509, 503, 501, 500, 499, 498, 497, 495, 494, 493, 492, 486, 485, 482, 480, 479, 478, 476, 474, 473, 471, 468, 466, 463, 460, 459, 458, 457, 454, 452, 451, 450, 446, 442, 438, 436, 434, 433, 432, 431, 429, 427, 425, 424, 422, 420, 416, 415, 414, 413, 412, 410, 409, 405, 404, 403, 399, 397, 396, 395, 394, 393, 392, 391, 390, 388, 387, 386, 384, 382, 381, 380, 379, 377, 376, 375, 372, 371, 360, 357, 355, 354, 352, 348, 347, 346, 345, 342, 339, 338, 337, 335, 332, 330, 328, 327, 325, 324, 321, 320, 318, 313, 307, 305, 303, 302, 297, 292, 291, 284, 281, 280, 279, 278, 277, 276, 275, 274, 271, 270, 269, 268, 267, 265, 263, 261, 258, 257, 256, 255, 254, 251, 250, 249, 247, 242, 241, 240, 238, 237, 233, 231, 229, 226, 225, 223, 222, 221, 217, 216, 215, 212, 211, 208, 205, 203, 202, 197, 196, 193, 192, 190, 188, 183, 182, 180, 179, 177, 176, 173, 170, 169, 167, 166, 165, 164, 160, 158, 155, 151, 150, 147, 143, 142, 140, 139, 137, 131, 129, 128, 127, 126, 125, 123, 122, 121, 120, 114, 113, 110, 108, 107, 106, 104, 102, 101, 99, 96, 94, 91, 88, 87, 86, 85, 82, 80, 79, 78, 74, 70, 66, 64, 62, 61, 60, 59, 57, 55, 53, 52, 50, 48, 44, 43, 42, 41, 40, 38, 37, 33, 32, 31, 27, 25, 24, 23, 22, 21, 20, 19, 18, 16, 15, 14, 12, 10, 9, 8, 7, 5, 4, 3, 0, 1000, 997, 992, 990, 983, 980, 976, 974, 972, 968, 964, 958, 954, 951, 948, 945, 939, 935, 933, 931, 925, 922, 919, 916, 912, 907, 903, 901, 898, 893, 890, 885, 882, 880, 874, 868, 863, 856, 853, 849, 847, 844, 842, 839, 837, 834, 828, 825, 821, 817, 813, 809, 807, 802, 800, 798, 795, 793, 791, 783, 780, 774, 770, 761, 757, 755, 750, 746, 742, 731, 728, 725, 723, 716, 713, 708, 706, 703, 701, 698, 695, 691, 689, 684, 678, 676, 673, 668, 662, 655, 645, 638, 636, 634, 632, 625, 620, 618, 611, 608, 604, 602, 600, 596, 592, 586, 582, 579, 576, 573, 567, 563, 561, 559, 553, 550, 547, 544, 540, 535, 531, 529, 526, 521, 518, 513, 510, 508, 502, 496, 491, 484, 481, 477, 475, 472, 470, 467, 465, 462, 456, 453, 449, 445, 441, 437, 435, 430, 428, 426, 423, 421, 419, 411, 408, 402, 398, 389, 385, 383, 378, 374, 370, 359, 356, 353, 351, 344, 341, 336, 334, 331, 329, 326, 323, 319, 317, 312, 306, 304, 301, 296, 290, 283, 273, 266, 264, 262, 260, 253, 248, 246, 239, 236, 232, 230, 228, 224, 220, 214, 210, 207, 204, 201, 195, 191, 189, 187, 181, 178, 175, 172, 168, 163, 159, 157, 154, 149, 146, 141, 138, 136, 130, 124, 119, 112, 109, 105, 103, 100, 98, 95, 93, 90, 84, 81, 77, 73, 69, 65, 63, 58, 56, 54, 51, 49, 47, 39, 36, 30, 26, 17, 13, 11, 6, 2, 1001, 996, 989, 979, 971, 963, 957, 953, 950, 944, 938, 930, 918, 915, 906, 900, 897, 892, 889, 879, 862, 855, 841, 836, 833, 827, 820, 816, 812, 790, 779, 773, 745, 741, 730, 722, 715, 712, 705, 694, 688, 683, 672, 667, 661, 654, 644, 631, 624, 617, 607, 599, 591, 585, 581, 578, 572, 566, 558, 546, 543, 534, 528, 525, 520, 517, 507, 490, 483, 469, 464, 461, 455, 448, 444, 440, 418, 407, 401, 373, 369, 358, 350, 343, 340, 333, 322, 316, 311, 300, 295, 289, 282, 272, 259, 252, 245, 235, 227, 219, 213, 209, 206, 200, 194, 186, 174, 171, 162, 156, 153, 148, 145, 135, 118, 111, 97, 92, 89, 83, 76, 72, 68, 46, 35, 29, 1, 1002, 988, 978, 962, 943, 929, 905, 896, 888, 878, 861, 819, 815, 811, 789, 778, 772, 740, 721, 687, 682, 671, 666, 660, 616, 606, 590, 571, 557, 533, 524, 516, 506, 489, 447, 443, 439, 417, 406, 400, 368, 349, 315, 310, 299, 294, 288, 244, 234, 218, 199, 185, 161, 152, 144, 134, 117, 75, 71, 67, 45, 34, 28, 1003, 987, 942, 928, 877, 860, 739, 686, 681, 670, 665, 659, 615, 570, 556, 505, 488, 367, 314, 309, 298, 293, 287, 243, 198, 184, 133, 116, 1004, 876, 859, 738, 680, 658, 504, 487, 366, 308, 286, 132, 115, 1005, 737, 657, 365, 285, 1006, 736, 364, 1007, 735, 363, 1008, 734, 362, 1009, 733, 361, 1010
22
3
0xD
20, 17, 16, 15, 13, 10, 9, 8, 21, 2, 19, 18, 6, 3, 1, 14, 12, 22, 11, 0, 5, 7, 23, 4, 24
22
3
0xD
17, 16, 15, 13, 20, 9, 10, 8, 19, 2, 21, 18, 6, 3, 1, 14, 12, 22, 11, 0, 5, 7, 23, 4, 24
22
3
0xD
20, 17, 16, 15, 13, 9, 10, 8, 21, 2, 19, 18, 6, 3, 1, 14, 12, 22, 11, 0, 5, 7, 23, 4, 24
22
3
0xD
20, 17, 16, 15, 9, 10, 8, 13, 21, 2, 19, 18, 6, 3, 1, 14, 12, 22, 11, 0, 5, 7, 23, 4, 24
0
1
82
0
1
82
0
1
82
61
60
59
53
51
50
47
46
42
39
37
33
30
27
26
25
23
16
13
12
9
8
4
1
64
62
54
52
48
43
40
38
34
31
28
24
17
14
10
5
2
65
63
55
49
44
41
35
32
29
18
15
11
6
3
0
66
56
45
36
19
7
67
57
20
68
58
21
69
22
70
71
72
73
74
75
76
77
78
79
80
81
82
Например, L = 19, полином равен 0xA2B79 и последовательность перемежения π2 = {2, 3, 4, 10, 12, 13, 16, 17, 21, 24, 26, 30, 33, 36, 37, 38, 40, 47, 50, 51, 54, 55, 59, 62, 65, 66, 68, 69, 70, 71, 72, 74, 86, 87, 89, 90, 92, 94, 95, 96, 99, 105, 106, 109, 110, 113, 114, 123, 126, 127, 129, 130, 132, 135, 137, 138, 139, 141, 142, 143, 144, 147, 148, 152, 154, 155, 157, 160, 162, 164, 166, 168, 173, 175, 176, 177, 179, 180, 181, 185, 186, 188, 189, 192, 193, 194, 197, 198, 199, 200, 1, 9, 11, 15, 20, 23, 25, 29, 32, 35, 39, 46, 49, 53, 58, 61, 64, 67, 73, 85, 88, 91, 93, 98, 104, 108, 112, 122, 125, 128, 131, 134, 136, 140, 146, 151, 153, 156, 159, 161, 163, 165, 167, 172, 174, 178, 184, 187, 191, 196, 201, 0, 8, 14, 19, 22, 28, 31, 34, 45, 48, 52, 57, 60, 63, 84, 97, 103, 107, 111, 121, 124, 133, 145, 150, 158, 171, 183, 190, 195, 202, 7, 18, 27, 44, 56, 83, 102, 120, 149, 170, 182, 203, 6, 43, 82, 101, 119, 169, 204, 5, 42, 81, 100, 118, 205, 41, 80, 117, 206, 79, 116, 207, 78, 115, 208, 77, 209, 76, 210, 75, 211, 212, 213, 214, 215, 216, 217, 218}. Например, если длина А текущей последовательности информационных битов равна 64, то битовая последовательность, полученная после CRC кодирования, является {b, b, …, b}. Текущая требуемая последовательность перемежения π2' = {2, 3, 4, 10, 12, 13, 16, 17, 21, 24, 26, 30, 33, 36, 37, 38, 40, 47, 50, 51, 54, 55, 59, 62, 64, 1, 9, 11, 15, 20, 23, 25, 29, 32, 35, 39, 46, 49, 53, 58, 61, 65, 0, 8, 14, 19, 22, 28, 31, 34, 45, 48, 52, 57, 60, 63, 66, 7, 18, 27, 44, 56, 67, 6, 43, 68, 5, 42, 69, 41, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82} извлекается из последовательности перемежения π2 на основании S302. Последовательность {b, b, …, b} перемежается на основании S303 и S304, чтобы получить {с, с, …, с} = {b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b}.
В таблице 2, при Kmax = 200, L = 19, полином CRC является 0xA2B79, есть шесть соответствующих последовательностей перемежения, для которых используется обратный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения, третья последовательность перемежения или пятая последовательность перемежения используются для высокоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения, четвертая последовательность перемежения или шестая последовательность перемежения используются для низкоскоростного полярного кода. Более быстрый эффект достигается, когда первая последовательность перемежения или вторая последовательность перемежения используется для полярного кода SC декодирования. Более быстрый эффект достигается, когда третья последовательность перемежения или четвертая последовательность перемежения используются для полярного кода с длинной длиной коды. Более быстрый эффект достигается, когда пятая последовательность перемежения или шестая последовательность перемежения используются для полярного кода с короткой длиной коды. Например, длинная длина кода является длиной кода больше, чем 512, и короткая длина кода является длиной кода меньше, чем 512.
Когда Kmax = 200, L = 20, полином CRC является 0x191513, есть две соответствующие последовательности перемежения, для которых используется обратный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для высокоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для низкоскоростного полярного кода.
Когда Kmax = 200, L = 21, полином CRC является 0x2E2A69, есть две соответствующие последовательности перемежения, для которых используют обратный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения последовательность перемежения используются для высокоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для низкоскоростного полярного кода.
Когда Kmax = 200, L = 22, полином CRC является 0x552A55, есть две соответствующие последовательности перемежения, для которых используют обратный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для высокоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для низкоскоростного полярного кода.
Когда Kmax = 200, L = 23, полином CRC является 0x86F4A1, есть две соответствующие последовательности перемежения, для которых используют обратный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для высокоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для низкоскоростного полярного кода.
Когда Kmax = 200, L = 24, полином CRC является 0x1D11A9B, есть две соответствующие последовательности перемежения, для которых используют обратный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для высокоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для низкоскоростного полярного кода.
При Kmax = 1000, L = 11, полином CRC является 0x94F, есть две соответствующие последовательности перемежения, для которых используют обратный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для высокоскоростного полярного кода. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для низкоскоростного полярного кода.
Когда Kmax = 22, L = 3, полином CRC является 0xD, существует четыре соответствующих последовательности перемежения, для которых используют обратный порядок нумерации. Более быстрый эффект достигается, когда первая последовательность перемежения используются для полярного кода, длина которого составляет 32 после кодирования. Более быстрый эффект достигается, когда вторая последовательность перемежения используются для полярного кода, длина которого равна 64 после кодирования. Более быстрый эффект достигается, когда третья последовательность перемежения используются для полярного кода, длина которого равна 128 после кодирования. Более быстрый эффект достигается, когда четвертая последовательность перемежения используется для полярного кода, длина которого равна 256 после кодирования.
0
1
А-1
На фиг. 6 показана блок-схема последовательности операций способа кодирования в соответствии с настоящим изобретением. В этом варианте осуществления, например, последовательность перемежения, используемая для выполнения операции перемежения, является последовательностью перемежения максимальной длины, последовательность перемежения максимальной длины, используемая для распределенного CRC кодирования, представляет собой последовательность π3, для которой используют естественный порядок нумерации, максимальной длиной информационных бит, соответствующая π3, является Kmax, CRC полином равен g и CRC количество бит равно L. Другими словами, длина CRC является L. Предполагают, что А информационные биты, подлежащие кодированию, являются {а, а, …, а}, и количество информационных бит A≤Kmax. Этот вариант осуществления выполняется посредством стороны передачи (кодер). Как показано на фиг. 6, способ в этом варианте осуществления включает в себя следующие этапы.
0
1
A+L-1
S401. Выполнить CRC кодирование А информационных бит, подлежащих кодированию, для получения первой битовой последовательности {b, b, …, b}.
0
1
A+L-1
А
А+1
A+L-1
{b, b, …, b} являются A информационными битами и {b, b, …, b} являются L CRC битами.
0
1
A+L-1
0,
1
Kmax+L-1
th
S402. Расширить первую битовую последовательность {b, b, …, b} до четвертой битовой последовательности {c c, …, c}, включающей в себя Kmax + L биты, где значения первых Kmax-A битов в четвертой битовой последовательности устанавливают на NULL и остальные биты последовательно соответствуют битам в первой битовой последовательности из (Kmax-A + 1) бит.
0
1
A+L-1
0,
1
Kmax+L-1
k
k
(k- (Kmax-А)).
В частности, расширяют первую битовую последовательность {b, b, …, b} для получения четвертой битовой последовательности {c c, …, c}. При k = 0, 1, …, Kmax-A-1, с = NULL. При k = Kmax-А, Kmax-А + 1, …, Kmax + L-1, с= b
0
1
13
0
1
13
Например, как показано на фиг. 6, первая битовая последовательность, показанная на фиг. 6, является {b, b, …, b}, и полученная четвертая битовая последовательность является {NULL, NULL, b, b, …, b}.
0,
1
Kmax+L-1
0
1
Kmax + L-1
S403. Выполнить операцию перемежения четвертой битовой последовательности {c c, …, c}, используя последовательность перемежения максимальной длины π3, чтобы получить пятую битовую последовательность битов {d, d, …, d}.
0
1
13
0
1
3
7
8
10
2
4
9
11
5
12
6
13
Например, как показано на фиг. 6, π3 является {2, 3, 5, 9, 10, 12, 4, 6, 11, 13, 0, 7, 14, 1, 8, 15}. Выполняют операцию перемежения четвертой битовой последовательности {NULL, NULL, b, b, …, b}, как показано на фиг. 6, с использованием π3, чтобы получить пятую битовую последовательность {b, b, b, b, b, b, b, b, b, b, NULL, b, b, NULL, b, b}.
0
1
А+L-1
0
1
Kmax + L-1
S404. Получить вторую битовую последовательность {e, e, …, е} посредством удаления бит, значения которых равны NULL, из пятой битовой последовательности {d, d, …, d}.
0
1
3
7
8
10
2
4
9
11
5
12
6
13
n
0
1
3
7
8
10
2
4
9
11
5
12
6
13
Например, как показано на фиг. 6, биты, значения которых равны NULL, удаляются из пятой битовой последовательности {b, b, b, b, b, b, b, b, b, b, NULL, b, b, NULL, b, b}, чтобы получить вторую битовую последовательность е {b, b, b, b, b, b, b, b, b, b, b, b, b, b}.
S405. Выполнять полярное кодирование второй битовой последовательности.
В этом варианте осуществления, как показано в приведенной выше таблице 1, для последовательности перемежения в таблице 1, различные CRC полиномы и соответствующие последовательности перемежения, для которой используют естественный порядок нумерации, предусмотрена для различных CRC длины L и различных максимальному количеству Kmax информационных бит. Для получения дополнительной информации обратитесь к таблице 1. Различные последовательности перемежения применимы к другому сценарию. Для получения дополнительной информации, обратитесь к описанию последовательностей в таблице 1. Детали, не описанные здесь снова.
0
1
82
0
1
Kmax + L-1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
0
1
Kmax + L-1
0
1
Kmax + L-1
1
4
8
9
12
13
16
23
25
26
27
30
33
37
39
42
46
47
50
51
53
59
60
61
64
2
5
10
14
17
24
28
31
34
38
40
43
48
52
54
62
65
0
3
6
11
15
18
29
32
35
41
44
49
55
63
66
7
19
36
45
56
67
20
57
68
21
58
69
22
70
71
72
73
74
75
76
77
78
79
80
81
82
0
1
Kmax + L-1
0
1
A + L-1
1
4
8
9
12
13
16
23
25
26
27
30
33
37
39
42
46
47
50
51
53
59
60
61
64
2
5
10
14
17
24
28
31
34
38
40
43
48
52
54
62
65
0
3
6
11
15
18
29
32
35
41
44
49
55
63
66
7
19
36
45
56
67
20
57
68
21
58
69
22
70
71
72
73
74
75
76
77
78
79
80
81
82
Например, L = 19, полином является 0xA2B79 и последовательность перемежения π3 = {0, 1, 2, 5, 6, 7, 10, 11, 13, 14, 18, 19, 20, 22, 23, 24, 26, 31, 33, 35, 37, 39, 42, 44, 45, 47, 51, 52, 55, 56, 57, 58, 60, 61, 62, 64, 67, 69, 70, 72, 73, 76, 85, 86, 89, 90, 93, 94, 100, 103, 104, 105, 107, 109, 110, 112, 113, 125, 127, 128, 129, 130, 131, 133, 134, 137, 140, 144, 145, 148, 149, 152, 159, 161, 162, 163, 166, 169, 173, 175, 178, 182, 183, 186, 187, 189, 195, 196, 197, 200, 3, 8, 12, 15, 21, 25, 27, 32, 34, 36, 38, 40, 43, 46, 48, 53, 59, 63, 65, 68, 71, 74, 77, 87, 91, 95, 101, 106, 108, 111, 114, 126, 132, 135, 138, 141, 146, 150, 153, 160, 164, 167, 170, 174, 176, 179, 184, 188, 190, 198, 201, 4, 9, 16, 28, 41, 49, 54, 66, 75, 78, 88, 92, 96, 102, 115, 136, 139, 142, 147, 151, 154, 165, 168, 171, 177, 180, 185, 191, 199, 202, 17, 29, 50, 79, 97, 116, 143, 155, 172, 181, 192, 203, 30, 80, 98, 117, 156, 193, 204, 81, 99, 118, 157, 194, 205, 82, 119, 158, 206, 83, 120, 207, 84, 12 1, 208, 122, 209, 123, 210, 124, 211, 212, 213, 214, 215, 216, 217, 218}. Например, если длина А текущей последовательности информационных битов равна 64, битовая последовательность, полученная после CRC кодирования, является {b, b, …, b}. Последовательность {c, c, …, c} = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b} сначала получают на основании S402. {с, c, …, c} перемежается на основе S403 и последовательности перемежения π3, чтобы получить {d, d, …, d} = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, NULL, NULL, NULL, NULL, NULL, NULL, b, b, b, b, b, b, NULL, NULL, NULL, NULL, b, b, b, NULL, NULL, NULL, b, b, b, NULL, NULL, b, b, NULL, NULL, b, NULL, NULL, b, NULL, b, NULL, b, NULL, b, b, b, b, b, b, b, b}. NULL биты удаляются из {d, d, …, d} на основе S404, чтобы получить последовательность {e, e, …, e} = {b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b}.
Следует отметить, что сторона приема (сторона декодера) должна выполнить операцию де-перемежения после приема информационных бит, подлежащих декодированию. Процесс, в котором сторона приема (декодер) получает последовательность перемежения во время операции де-перемежения, согласуется с процессом, в котором сторона передачи (сторона кодера) получает последовательность перемежения во время перемежения. Для получения дополнительной информации обратитесь к описанию кодера. Детали не описаны в данном документе.
В настоящем изобретении сторона передачи может быть разделена на функциональные модули на основании приведенных выше примеров способа. Например, каждый функциональный модуль может быть получен путем деления на соответствующие функции, или две или более функции могут быть объединены в один модуль обработки. Интегрированный модуль может быть реализован в виде аппаратных средств или может быть реализован в виде функции программного модуля. Следует отметить, что модульное разделение в вариантах осуществления настоящего изобретения является просто примером и является лишь логической функцией разделения, и может быть иным делением в ходе фактической реализации.
На фиг. 7 схематично показана структурная схема варианта осуществления устройства для кодирования в соответствии с настоящим изобретением. Как показано на фиг. 7, устройство в этом варианте осуществления может включать в себя первый модуль 11 кодирования, модуль 12 перемежения и второй модуль 13 кодирования. Первый модуль 11 кодирования выполнен с возможностью выполнять кодирование циклическим избыточным кодом CRC А информационных бит, подлежащих кодированию, для получения первой битовой последовательности. Первая битовая последовательность включает в себя L CRC битов и А информационных битов, и L и А являются положительными целыми числами. Модуль 12 перемежения выполнен с возможностью выполнять операцию перемежения первой битовой последовательности для получения второй битовой последовательности. Первую последовательность перемежения, используемую для операции перемежения, получают на основании системно поддерживаемой последовательности перемежения максимальной длины и заданного правила, и длина первой последовательности перемежения равна A + L. Альтернативно, вторая последовательность перемежения, используемая для операции перемежения, представляет собой последовательность перемежения максимальной длины, длина второй последовательности перемежения равна Kmax + L, и Kmax является максимальным количеством информационных бит, соответствующее последовательности перемежения максимальной длины. Второй модуль 13 кодирования выполнен с возможностью выполнять полярное кодирование второй битовой последовательности.
Возможно, заданное правило заключается в следующем: первая последовательность перемежении составлена последовательным извлечением всех индексов больше или равно Kmax-A из последовательности перемежения максимальной длины и вычитанием Kmax-A из каждого всех извлеченных индексов. Модуль 12 перемежения выполнен с возможностью выполнять операцию перемежения на первой битовой последовательности с использованием первой последовательности перемежения, чтобы получить вторую битовую последовательность. Последовательность перемежения максимальной длины представляет собой любую последовательность в вышеизложенной таблице 1.
Возможно, заданное правило представляет собой: первая последовательность перемежения состоит из последовательно извлеченных всех индексов меньше, чем А или больше, чем или равно Kmax из последовательности перемежения максимальной длины и вычитания Kмax-A из индексов больше или равно Kмax в извлеченных индексах. Модуль 12 перемежения выполнен с возможностью: расположить информационные биты в первой битовой последовательности в порядке убывания индексов информационных битов для получения третьей битовой последовательности; и выполнять операцию перемежения на третьей битовой последовательности с использованием первой последовательности перемежения, для получения второй битовой последовательности. Последовательность перемежения максимальной длины представляет собой любую последовательность в вышеизложенной таблице 2.
th
Возможно, когда второй последовательность перемежения, используемая для операции перемежения, представляет собой последовательность перемежения максимальной длины, то модуль 12 перемежения выполнен с возможностью: расширить первую битовую последовательность до четвертой битовой последовательности, включающую в себя Kmax + L биты, где значение первых Kmax-А бит в четвертой битовой последовательности устанавливают на NULL, и остальные биты последовательно соответствуют битам в первой битовой последовательности из (Kmax-A + 1) бит; выполнить операцию перемежения на четвертой битовой последовательности с использованием последовательности перемежения максимальной длины для получения пятой битовой последовательности; и получить вторую битовую последовательность путем удаления битов, значения которых равны NULL, из пятой битовой последовательности. Последовательность перемежения максимальной длины представляет собой любую последовательность в вышеизложенной таблице 1.
Устройство в этом варианте осуществления может быть выполнено с возможностью реализовать технические решения в варианте осуществления способа, показанного на фиг. 3. Принцип реализации и технические эффекты устройства аналогичны тем, которые указаны в варианте осуществления способа. Подробности не описаны здесь снова.
Фиг. 8 представляет собой схему устройства для кодирования объекта в соответствии с настоящим изобретением. Устройство 1100 включает в себя память 1101 и процессор 1102.
Память 1101 выполнена с возможностью хранить инструкцию программы. Память может быть флэш-памятью (flash memory).
Процессор 1102 выполнен с возможностью: вызывать и исполнять инструкцию программы в памяти, чтобы выполнить действия, описанные в способе кодирования, показанном на фиг. 3. Для получения дополнительной информации, обратитесь к соответствующему описанию в варианте осуществления вышеупомянутого способа.
Возможно, память 1101 может быть независимой или может быть расположена, как показано на фиг. 9. Фиг. 9 представляет собой схему устройства для кодирования объекта в соответствии с настоящим изобретением. Память 1101 встроена в процессор 1102.
Устройство может быть выполнено с возможностью выполнять этапы и/или процедуры, которые соответствуют стороне передачи в варианте осуществления вышеупомянутого способа.
Настоящее изобретение дополнительно обеспечивает компьютерную систему, включающую в себя машиночитаемый носитель данных и компьютерную программу. Компьютерная программа выполнена с возможностью выполнять способ кодирования, представленный в приведенных выше вариантах осуществления.
Настоящее изобретение дополнительно содержит программный продукт. Программный продукт включает в себя компьютерную программу, и компьютерная программа хранится на машиночитаемом носителе данных. По меньшей мере, один процессор устройства для кодирования может считывать компьютерную программу из машиночитаемого носителя данных и, по меньшей мере, один процессор выполняет компьютерную программу, таким образом, что устройство для кодирования выполняет способ кодирования, описанный в приведенных выше вариантах осуществления.
Специалист в данной области техники может понять, что все или некоторые из приведенных выше вариантов осуществления, могут быть реализованы с помощью программного обеспечения, аппаратных средств, встроенного программного обеспечения, или любой их комбинации. Когда варианты осуществления реализуют с помощью программного обеспечения, все или некоторые из вариантов осуществления могут быть реализованы в виде компьютерного программного продукта. Компьютерный программный продукт включает в себя одну или несколько инструкций компьютера. Когда инструкции компьютерной программы загружаются и выполняются на компьютере, генерируют все или некоторые из процедур или функций в соответствии с вариантами осуществления настоящего изобретения. Компьютер может быть компьютером общего назначения, выделенным компьютером, компьютерной сетью или другим программируемым устройством. Инструкции компьютера могут быть сохранены на машиночитаемом носителе данных или могут быть переданы из машиночитаемого носителя хранения данных на другой машиночитаемый носитель данных. Например, на компьютере инструкции могут передаваться с веб-сайта, компьютера, сервера или центра обработки данных на другой веб-сайт, компьютер, сервер или центр обработки данных по проводной связи (например, коаксиальный кабель, оптическое волокно или цифровая абонентская линия (DSL)) или по беспроводной связи (например, в инфракрасном диапазоне, радиосвязи или в микроволновом диапазоне). Машиночитаемый носитель данных может быть любой полезной средой доступной для компьютера, или может представлять собой устройство для хранения данных, таким как сервер или центр обработки данных, интегрирующие одну или более медиа-информацию. Полезная среда может представлять собой магнитный носитель (например, флоппи-диск, жесткий диск или магнитную ленту), оптический носитель (например, DVD), полупроводниковую среду (например, твердотельный диск (SSD)) или т.п.