Научная статья на тему 'Кодирование и декодирование цифрового потока MPEG-2 с широким диапазоном исправляемых случайных ошибок'

Кодирование и декодирование цифрового потока MPEG-2 с широким диапазоном исправляемых случайных ошибок Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1079
70
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОД / КОДИРОВАНИЕ / ПЕРЕМЕЖЕНИЕ / ДЕПЕРЕМЕЖЕНИЕ / ПАКЕТ ОШИБОК / СЛУЧАЙНАЯ ОШИБКА / СКОРОСТЬ КОДА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Быков В. В.

Рассмотрен метод помехоустойчивого кодирования и декодирования пакетов транспортного потока MPEG-2 с использованием символьного перемежения, обеспечивающий высокую корректирующую способность с восстановлением пакетов ошибочно принятых символов и отдельных символов, малую задержку обрабатываемой информации и высокую скорость цифрового информационного потока. Найден короткий систематический циклический код Файра, информационная часть которого кратна информационной части пакетов MPEG-2, что позволяет построить систематический циклический код (1680,1504) методом символьного перемежения, предназначенный для кодирования пакетов MPEG-2. На приемной стороне этот длинный код распараллеливается на короткие исходные коды Файра, которые в свою очередь декодируются с исправлением ошибок. Затем исходные исправленные коды Файра подвергаются деперемежению и формируется переданный код с исправленными ошибками. Описанный метод кодирования декодирования пакетов MPEG-2 позволяет исправлять пакеты шибок длиной 64 символа и менее, большое число более коротких пакетов ошибок и одиночные случайные ошибки.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Кодирование и декодирование цифрового потока MPEG-2 с широким диапазоном исправляемых случайных ошибок»

Кодирование и декодирование цифрового потока МРЕС-2 с широким диапазоном исправляемых случайных ошибок

Рассмотрен метод помехоустойчивого кодирования и декодирования пакетов транспортного потока МРЕ&2 с использованием символьного перемежения, обеспечивающий высокую корректирующую способность с восстановлением пакетов ошибочно принятых символов и отдельных символов, малую задержку обрабатываемой информации и высокую скорость цифрового информационного потока. Найден короткий систематический циклический код Файра, информационная часть которого кратна информационной части пакетов МРЕ&2, что позволяет построить систематический циклический код (1680,1504) методом символьного перемежения, предназначенный для кодирования пакетов МРЕ&2. На приемной стороне этот длинный код распараллеливается на короткие исходные коды Файра, которые в свою очередь декодируются с исправлением ошибок. Затем исходные исправленные коды Файра Ключевые слова: код ко^рэва^е, подвергаются деперемежению и формируется переданный код с исправленными ошибками. Описанный

перемежение, ^пе/зешже^, ткетошибок, метод кодирования-декодирования пакетов МРЕЭ-2 позволяет исправлять пакеты шибок длиной спучайная ошибка, ск°р°стъ к°да 64 символа и менее, большое число более коротких пакетов ошибок и одиночные случайные ошибки.

Быков В.В.,

к.т.н, доцент МТУСИ

Особенности калов с символьным перемажем нем

В системах 13\'В-Т и П\''В-Т2 применяется каскадное кодирование с внешним и внутренним кодами. Сверточйые коды и 1_[)РС [1] исправляют одиночные случайные ошибки, а коды Рида-Соломона [2, 3] и БЧХ - пакеты ошибок. Однако при низком отношении сигнал/шум, когда много пакетов ошибок, код 1£>РС, как и сверточный код в ГУУВ-Т, может давать даже увеличение числа этих ошибок.

Относительная скорость цифрового потока каскадного кодирования в системе [5УВ-Т2 весьма низкая -32400/64800—0,5. Число исправляемы\ ошибок в пакете кодом ЬЧХ - всего 12. Сверточные коды также снижают скорость передачи информации. Поэтому желательно найти коды для пакетов \lPEG-2 и МРЕО-4, которые позволяют корректировать большое число ошибок и обеспечивают более высокую относительную скорость потока, чем при каскадном кодировании.

В некоторых каналах желательно применять коды, которые могут исправлять более чем ОДИН пакет ошибок в каждом блоке. Однако, циклический код (в частности ЕЧХ), исправляющий случайные ошибки, можно применять для исправления как одиночных случайных ошибок, так и пакетов ошибок, ио не для исправления одновременно тех и других [3, с.398].

Эту проблему можно решить е помощью символьного перемежения циклических систематических кодов [3, с.39!-3921. Приведенная в этой книге теорема 1!.!. показывает, что длинный циклический код с хорошей корректирующей способностью для пакетов ошибок может быть построен путем применения метода символьного перемежения к более короткому коду.

Слово с символьным перемежением формируется следующим образом. Ьсли имеются, например, три слова хцх^ л'13 ; Л'2| л':2-^23 ; *32-*33. го слово с символьным перемежением степени 3 для этих трех кодов имеет вид :

I ДГт 1 А-з I ^22 ^32-^13 ^23 '^33 ■

Для циклических кодов такой метод перемежения приводит также к циклическим кодам. Пусть образующий полином дчя циклического кода без перемежения имеет вид ^фг). Тогда образующий полином для кода с перемежением имеет вид^.т^), где /- степень перемежения.

Т-Сотт #12-2014

Кодовые слова с(.г) с перемежением можно получить умножением информационного слова ¿(х) на образующий многочлен кода с перемежением х}): с(х)= i(x)-g{ х1).

Например, в таблице 5.1 [4, с.138] приведены простые циклические коды, из которых можно построить более длинные коды методом перемежения. Чтобы из (л,А')-кода получить (J-n,j-k)~код с перемежением степени j, выберем из исходного ко,та j произвольных кодовых слов и укрупним кодовые слова, чередуя их символы. Если исходный код исправлял произвольный пакет ошибок длины 1, то, результирующий код будет исправлять все пакеты ошибок длины j t Например, применяя метод перемежения к четырем копиям циклического кода (34,22), исправляющего пакеты с 6 ошибками, получаем (136,88)-код [3, с.393). В лих обозначениях первое число - общее число символов в коде, а второе - число информационных символов. Новый код с перемежением будет исправлять любой пакет ошибок длины 6-4 = 24.

Предположим, что исходный код формируется многочленом gix). Тогда образующий многочлен кода, получаемого перемежением, равен g(xj).

Это показано в [4, с.139]. Кодовые слова с(д:) с перемежением получаем умножением информационного слова Цх) на порождающий многочлен g{-vJ):

ф")= i(x)-g{xJ) (1)

Для формирования слова кода-перемежения каждое из выбранных информационных кодовых слов сначала растягивается вставкой (/-1) пулей между всеми соседними символами. Затем получается кодовое слово с перемежением путем задержки п сложением растянутых исходных слов: с{х)= c¡(xJ) + x-c,(xj) +...+ xj~' iсу (г^ = = ' g(XJ) + х- ¡2(xj) • g(xJ )+...+í,{xJ) ■ g(xJ) = = [M + ЛГ- Ь(У ) +... + /МЫ*7)- (2)

Т.о. кодовое слово с перемежением степени j можно формировать путем умножения суммарного информационного слова

+ (3)

на образующий полином g{ х' ).

Многочлен (3) представляет собой информационное слово, составленное из исходных информационных слов методом перемежения. Это слово можно заменить любым информационным словом Цх), предназначенным для кодирования. В результате перемножения этих двух полиномов получаем кодовое слово с(.т) = i(xygix') с перемежением степени j [4, с. 139].

Из представленных вычислений следует, что если для Получения удлиненного кода проводится перемежение степени j циклического кода, то удлиненный код можно декодировать тем же способом, что и циклический код. При этом, каждое из j принятых коротких слов можно декодировать независимо |3, с.403]. Это свойство и будет использовано и дальнейшем для построения декодера (рис. 1.)

Коррекции ошибок кодами, сформированными

перемежением

Корректирующую возможность кодов с перемежен нем c(xl можно оценить по сумме корректирующих возможностей кодовых слов гД-г), которые сначала кодируются, а затем перемежаются ( ) ).

Например, циклический код ЬЧХ (п, к)=(169, 155) позволяет исправлять пакеты с h=6 ошибками и меньше [3, с.393|. Если для этого кода использовано перемежение со степенью У =10. то в результате получен код (1690, 1550), который может исправлять пакеты с 6-10=60 ошибок.

Но этот код (1690, 1550), может исправлять также п вее ошибки, исправляемые исходным кодом ( 169, 155) - пакеты с 6-ю ошибками и меньше. Это следует из приведенных выше вычислений (1-4) и идентичности кодов, полученных двумя способами. Мри этом, поскольку степень перемеже-ния /=10, то код (1690, 1550) может исправлять не один, а 10 пакетов с числом ошибок 6 и менее.

Такие возможности исправления ошибок описаны в [3, с.406)]. Код, исправляющий пакеты с t ошибками, после перемежен и я степени j может исправлять все одиночные пакеты длины j-t или меньше, два произвольных пакета длины {j t П ) или меньше и так далее, вплоть до исправления j произвольных пакетов длины t или меньше. Это эффективный подход к исправлению многократных пакетов ошибок.

Следовательно, коды с персмсжением позволяют исправлять не только единичные пакеты ошибок, но и несколько пакетов в кодовом слове. А поскольку пакет ошибок может содержать и 1, 2... / ошибок, то коды с леремежением позволяют исправлял, не только пакеты, но и одиночные случайные ошибки (до j штук).

Помехоустойчивый код для передачи пакетов

транспортпого потока MPEG-2

Транспортный поток пакетов MPEG-2 представляет собой последовательность пакетов фиксированной длины ¡88 байт (1504 бит). Чтобы осуществить помехоустойчивое кодирование этих пакетов методом символьного перемеже-ния, найдем систематический [5] циклический код, содержащий 1504 информационных символа. Такой код можно получить из короткого кода Фабра (105.94) [4, с.142] с ем-мольным перемещением его со степенью/=16 (9416=1504). Тогда более длинный код принимает вид систематического циклического кода (1680,1504). Поскольку код (105,94) исправляет пакеты ошибок длины 4 и менее, то код (1680,1504} исправляет пакеты ошибок, содержащий 64 ошибочных символа и менее (4-16=64). Таким образом, код (1680,1504), полученный символьным леремежением короткого кода Файра (105,94), можно использовать для кодирования пакетов транспортного потока MPEG-2. В этом коде 1680 - общее число символов (я), а 1504 — число информационных символов (к).

Отмстим, что коды Файра по свойствам подобны кодам БЧХ.

Декодирование кодов, сформированных не ре меже и и ем

Для построения декодера кода (1680,1504) воспользуется тем, что каждое из j принятых коротких слов кода (105,94) можно декодировать независимо [3, с,403]. То есть, сначала

необходимо распараллелить принятое слово на исходные кодовые слова кода (105,94). Будем называть их полсловами (рис. 1). Затем следует декодировать их с исправлением ошибок, а потом - восстановить принятое кодовое слово Кода (1680,1504) путем суммирования исправленных исходных полслов (105,94). 13 результате получим переданное кодовое слово, по с исправленными символами.

11ри таком декодировании код, исправляющий пакет с ! ошибками, после псрсмсжсния степени < может исправлять вее одиночные пакеты длины Н или меньше, два произвольных пакета длины НИ или меньше и так далее, вплоть до / произвольных пакетов длины / или меньше. Это эффективный с практической точки зрения подход к исправлению многократных пакетов ошибок в реальных каналах [3, с.406].

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

Декодирование кодового слова с неремежением путем распараллеливания его на исходные кодовые полслова

Описание схемы декодера

Обобщенная структурная схема декодера представлена на рис.1. Принятый цифровой поток МРЕО-2 или МРЕС-4 с кодовыми словами (1680,1504) поступает на схему депере-межения. Она распараллеливает поток на ¡6 низкоскоростных потоков, состоящих уже из подслов кода Файра (105,94), Дачее каждое из этих подслов анализируется и обрабатываются своим декодером Файра, в которых исправляются символы с ошибками.

Затем все 16 потоков поступают в блок суммирования (персмежсння) всех 16 подслов. Здесь восстанавливается исходное переданное слово с исправленными символами. При суммировании каждое подслово запаздывает относительно предыдущего на один бит, как и при деперемеженни.

Ночгра ЭДШНб \

Вход Цифрового

Дспхрсисхогас

фшятос

лргаитотр сюм

tri 16

мремежгшкм соспшшоащх 1ХДО9М

1-й декодер кода ФаГфа Î105/M)

Вы.ч t-го itwiciofca to ошибки

Bun 2-го подсюьа to ounifiwi

2-й декодер коза Файрц

(]Û5r9-l)

Мб

f Чсча яы.клгииа тактом«

ItpUHIMUl t.1a№ It HI кислиукии« и вот oiitibif il IIH

LJ

ФМрв 11«,« I

Елок суммирования

16-11 Полслов дли формирования переданного кода

16-11 деигяср кода ф-ii'pj

([05.М

Вш 16-m гщелоьа С« ошибки

Рис.1. Схема исправления ошибок в кодовом слове с символьным перемежением, посредством разделения его на кодовые подслова

Корректирующие возможности метода

декодирован и »1 кода с неремежением

Рассмотрим процесс воздействия помех на кодовые слова кода (1680,1504), полученного перемеженнем из кода Файра (105,94). Код (1680,1504) исправляет пакеты ошибок длины до 64, а исходный код (105,94) - пакеты ошибок длины до 4. Тогда, для гарантированного исправления ошибок необходимо, чтобы в одном полслове длиной 105 бит (после деие-ремежепия) не оказалось пакетов ошибок длиной больше 4.

11а рис.2а покачаны 4 группы по 16 символов кода 1680,1504. Каждая группа содержит 16 бит - по одному биту

18

T-Comm #12-2014

на каждое подслово: в первой группе содержатся 16 первых символов каждого из 16 поде лов; во второй группе - 16 вторых символов каждого из 16 подслов; в третьей группе - 16 третьих символов каждого из 16 подслов; в четвертой группе- 16 четвертых символов каждого из 16 подслов.

i i J * i и 1 : . i ■■ " | , ' < • ;>.-■'

.............,............ N1:111' ,

v V Вр&ия

Первые символы Вторые символы Третьи символы Четвертые символы

каждого из каждого из каждого из каждого из

16-ти подслое 16-ти подспов 16-ти подслой 16-ти подслое

1 г J i li 1в 1 3 3 4.-15 И 1 J 1 4 15 15 1 3 1 4 (i 16 t J 1 4 15 Itt

I I M I и I Mill..................ill ,

б) ^T-v—"—' Время

Пакет ошибок 16 символов

1 2 S i 15 1« 1 3 1 4,15 16 1 1 J 4 15 1в 1 3 I 4 R 16 t 3 I 4 If IB

LI II Щ I i I II,II I I I 1,1 i I I i,i I LLUJ-LLU

a) !---1 Время

Пакет ошибок W сицюлэ

Рис,2. Воздействие пакетов ошибок на кодовое слово {1680.1504) с перемежением степениу=!6, исправляющего пакеты ошибок ДЛИНОЙ 64 и менее

Пусть в принятом кодовом слове появился пакет ошибок длиной 16 символов (рис. 26). Тогда, после деперемежения по схеме (рис. 1), в каждом из подслов появится только одна ошибка и она будет исправлена в блоке исправления ошибки.

Если пакет ошибок имеет длину 64 символа (рис. 2в), то после деперемежения в каждом из 16 подслов окажется не более четырех ошибок. Они также будут гарантированно исправлены, так как код (105,94) исправляет пакеты длиной 4 и менее.

Очевидно, если пакет ошибок содержит меньше 64 ошибочных символа, то все ошибки также будут гарантированно исправлены, поскольку в каждом из 16 подслов окажется не более 4-х ошибок.

Следовательно представленный метод кодирования и декодирования позволяет исправлять:

- один пакет ошибок длиной 64 и менее;

-два пакета ошибок, каждый длиной 32 и меньше; -четыре пакета ошибок, каждый длиной 16 и меньше;

- 16 пакетов ошибок, каждый длиной 4 и менее;

- по меньше мере 16 одиночных ошибок, разбросанных по коду (1680,1504),

и многие другие варианты ошибок. Таким образом, использование рассмотренной методики кодирования и декодирования для коррекции ошибок в цифровом транспортном потоке MPEG-2 и MPEG-4 позволяет одновременно устранить большое число возможных вариантов случайных коротких ошибок (до 16 штук) и групповые ошибки до 64 ошибок в группе.

Преимущества предложенною метода кодировании и декодирования

Рассмотренное кодирование с перемежением кодом (1680,1504) позволяет исправлять многократные ошибки, возникшие в одном кодовом слове при передаче. Они исправляют пакеты ошибок и, фактически, случайные одиночные, распределенные по всему слову длиной 1680 символов.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

каскадного кодирования, которые обычно применяется в системах DVB-T и DVB-T2.

Поскольку число операций и размер декодера растут как /г-log 2 и [3, С.ЗЗО], то применение нескольких простых декодеров (рис.1) обеспечивает существенное сокращение числа операции и размера декодера.

Сложность декодирования кодов Файра и БЧХ-кодов при большом значении п очень велика. Поэтому использование Декодеров короткого кода Файра (105,94) существенно снижает сложность декодирования исходного кода (1680,1504) и увеличивает скорость обработки принимаемых кодовых слов, существенно уменьшая задержку цифрового потока. Это объясняется тем, что операции исправления ошибок выполняются одновременно па 16 коротких кодах с и=105, а не на одном длинном коде с jí=I680 символов. Схема предложенного декодера сокращает задержку более чем на порядок.

Обеспечивается высокая относительная скорость кода R= 1504/1680—0,895. При каскадном кодировании в системе DVB-T2 R=32400/6480№=0,5. Число исправляемых ошибок в пакете кодом БЧХ — всего 12. При чем снижение скорости потока происходит в основном за счет LDPC-кодирования, а в DVB-T - за счет сверточного кодирования. В DVB-T свертсч-нын код сокращает скорость основной информации в два раза.

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

Конечно, эта ошибки могут распределиться по другому и все попасть с символы одного из подслов. Тогда они не будут исправлены, так как код (105,94) исправляет четыре ошибки и менее. Но вероятность этого меньше, чем вероятность распределения ошибок по нескольким символам. Отсюда очевидно, что код с перемежением эффективен при воздействии импульсных помех, которые создают пакеты ошибок. Код (1680,1504) сможет исправлять не только короткие пакеты ошибок, одиночные ошибки, но и пакеты ошибок длиной до 64. Например, он может исправлять 16 пакетов, содержащих от 1 до 4 ошибок на каждые 105 символов (1680/16=105).

Рассмотренный метод помехоустойчивого кодирования и декодирования пакетов транспортного потока MPEG-2 с использованием символьного перемежения обеспечивает высокую корректирующую способность. Исправляет длинные пакеты ошибок, группы пакетов ошибок и одиночные ошибки. Обеспечивает высокую относительную скорость информационной части цифрового потока MPEG-2 и малую задержу обрабатываемой информации.

Литература

1. Шахнович И. 0\'Г!-Т2 — новый стандарт цифрового телевизионного вещания // Электроника: Паука, Технология, Бизнес, 2009, №6,

2. Морелос-Сарагоса Р. Искусство помехоустойчивою кодирования. - М.: Техносфера, 2005.

3. Патерсон У., Уэлдон Э. Коды, исправляющие ошибки / Пер. с англ. - М.: Мир, 1976. - 600 с.

4. Блейхут Р. Теория н практика кодов, контролирующих ошибки. Под ред. К.Ш. Зигангирова. - М.: Мир, 1986. - 578 с.

5. Вернер М. Основы кодирования. - М.: Техносфера, 2004.

T-Comm #12-2014

19

i Надоели баннеры? Вы всегда можете отключить рекламу.