WikiDer > Распределенное исходное кодирование
Теория информации |
---|
Распределенное исходное кодирование (DSC) является важной проблемой в теория информации и коммуникация. Проблемы DSC касаются сжатия нескольких коррелированных источников информации, которые не взаимодействуют друг с другом.[1] Путем моделирования корреляции между несколькими источниками на стороне декодера вместе с коды каналов, DSC может переносить вычислительную сложность со стороны кодера на сторону декодера, поэтому предоставляет соответствующие структуры для приложений с отправителем с ограниченной сложностью, например сенсорные сети и сжатие видео / мультимедиа (см. распределенное кодирование видео[2]). Одним из основных свойств кодирования с распределенным источником является то, что вычислительная нагрузка в кодерах перекладывается на совместный декодер.
История
В 1973 г. Давид Слепян и Джек Кейл Вольф предложил теоретический предел сжатия информации без потерь при распределенном сжатии двух коррелированных i.i.d. источники X и Y.[3] После этого эта оценка была расширена на случаи с более чем двумя источниками Томас М. Обложка в 1975 г.[4] в то время как теоретические результаты в случае сжатия с потерями представлены Аарон Д. Уайнер и Джейкоб Зив в 1976 г.[5]
Хотя теоремы о DSC были предложены в 1970-х годах, примерно через 30 лет были начаты попытки практических методов, основанных на идее, что DSC тесно связан с кодированием каналов, предложенным в 1974 году. Аарон Д. Уайнер.[6] Проблема асимметричного DSC была рассмотрена С. С. Прадханом и К. Рамчандраном в 1999 г., которые сосредоточились на статистически зависимых бинарных и гауссовых источниках и использовали скалярные и решетчатые диаграммы. смежный конструкции для решения проблемы.[7] Они далее расширили работу на симметричный случай DSC.[8]
Расшифровка синдрома технология была впервые использована в распределенном исходном коде ОБСУЖДЕНИЕ система С.С. Прадхана и К. Рамачандрана (Распределенное исходное кодирование с использованием синдромов).[7] Они сжимают данные двоичного блока из одного источника в синдромы и передают данные из другого источника без сжатия как дополнительная информация. Такая схема DSC обеспечивает асимметричную степень сжатия для каждого источника и приводит к асимметричный DSC. Эта асимметричная схема DSC может быть легко расширена на случай более чем двух коррелированных источников информации. Есть также некоторые схемы DSC, которые используют биты четности а не синдромные биты.
Корреляция между двумя источниками в DSC была смоделирована как виртуальный канал который обычно называют двоичный симметричный канал.[9][10]
Начиная с ОБСУЖДЕНИЕ, DSC привлекла значительную исследовательскую деятельность, и более сложные методы кодирования каналов были приняты в структуры DSC, такие как Турбо-код, LDPC Код и так далее.
Подобно предыдущей структуре кодирования без потерь, основанной на теореме Слепяна – Вольфа, были предприняты усилия для случаев с потерями, основанных на теореме Винера – Зива. Теоретические результаты по конструкции квантователей были предоставлены Р. Замиром и С. Шамаи,[11] в то время как различные структуры были предложены на основе этого результата, в том числе вложенный решетчатый квантователь и решетчатый квантователь.
Более того, DSC использовался при сжатии видео для приложений, требующих кодирования видео низкой сложности, таких как сенсорные сети, многовидовые видеокамеры и т. Д.[12]
На основе детерминированного и вероятностного обсуждения модели корреляции двух коррелированных источников информации были разработаны схемы DSC с более общими сжатыми скоростями.[13][14][15] В этих неасимметричный схем, оба из двух коррелированных источников сжимаются.
При определенном детерминированном предположении о корреляции между источниками информации X. Cao и M. Kuijper продемонстрировали структуру DSC, в которой любое количество источников информации может быть сжато распределенным образом.[16] Этот метод выполняет неасимметричное сжатие с гибкой скоростью для каждого источника, достигая той же общей скорости сжатия, что и при многократном применении асимметричного DSC для более чем двух источников. Затем, исследуя уникальную связь между синдромами и дополнительными кодовыми словами линейных кодов, они преобразовали основные этапы совместного декодирования DSC в декодирование синдрома с последующим канальным кодированием с помощью линейного блочного кода, а также с помощью его дополнительного кода,[17] который теоретически проиллюстрировал способ сборки объединенного декодера DSC из кодеров и декодеров линейного кода.
Теоретические оценки
Ограничение теоретического сжатия информации без потерь на DSC ( Слепиан – Волк) был впервые задуман Давид Слепян и Джек Кейл Вольф по энтропии коррелированных источников информации в 1973 г.[3] Они также показали, что два изолированных источника могут сжимать данные так же эффективно, как если бы они общались друг с другом. Эта оценка была расширена на случай более чем двух коррелированных источников Томас М. Обложка в 1975 г.[4]
Аналогичные результаты были получены в 1976 г. Аарон Д. Уайнер и Джейкоб Зив в отношении кодирования с потерями совместных гауссовских источников.[5]
Слепиан – Волк
Распределенное кодирование - это кодирование двух или более зависимых источников с помощью отдельных кодеров и совместного декодера. Учитывая два статистически зависимых i.i.d. Случайные последовательности X и Y с конечным алфавитом, теорема Слепяна – Вольфа включает теоретическую границу скорости кодирования без потерь для распределенного кодирования двух источников, как показано ниже:[3]
Если и кодер, и декодер двух источников независимы, наименьшая скорость, которую мы можем достичь для сжатия без потерь, будет и за и соответственно, где и энтропии и . Однако при совместном декодировании, если для длинных последовательностей принимается исчезающая вероятность ошибки, теорема Слепяна – Вольфа показывает, что может быть достигнута гораздо лучшая степень сжатия. Пока общая ставка и больше их совместной энтропии и ни один из источников не кодируется со скоростью, превышающей его энтропию, распределенное кодирование может обеспечить сколь угодно малую вероятность ошибки для длинных последовательностей.
Особым случаем распределенного кодирования является сжатие с дополнительной информацией декодера, где источник доступен на стороне декодера, но недоступен на стороне кодера. Это можно рассматривать как условие, при котором уже использовался для кодирования , а мы намерены использовать закодировать . Вся система работает асимметрично (степень сжатия для двух источников асимметрична).
Граница Винера – Зива
Вскоре после того, как была опубликована теорема Слепяна – Вольфа о распределенном сжатии без потерь, было предложено расширение сжатия с потерями с дополнительной информацией декодера в виде теоремы Винера – Зива.[5] Как и в случае без потерь, два статистически зависимых i.i.d. источники и даны, где доступен на стороне декодера, но недоступен на стороне кодера. Вместо сжатия без потерь в теореме Слепяна – Вольфа в теореме Виннера – Зива рассматривается случай сжатия с потерями.
Теорема Винера – Зива представляет собой достижимую нижнюю границу скорости передачи данных при данном искажении . Было обнаружено, что для гауссовых источников без памяти и искажения среднеквадратической ошибки нижняя граница скорости передачи остаются неизменными независимо от того, доступна ли дополнительная информация в кодировщике или нет.
Виртуальный канал
Детерминированный модель
Вероятностный модель
Асимметричный ДСК против симметричного ДСК
Асимметричный DSC означает, что при кодировании входных источников используются разные битрейты, а в симметричном DSC используется один и тот же битрейт. Возьмем, к примеру, схему DSC с двумя источниками. и два дискретных, равномерно распределенных источника без памяти, которые генерируют набор переменных и длиной 7 бит и расстояние Хэмминга между и самое большее. Путь Слепяна – Волка для них:
Это означает, что теоретическая оценка а симметричный DSC означает 5 бит для каждого источника. Другие пары с являются асимметричными случаями с различным распределением битовой скорости между и , куда , и , представляют два крайних случая, называемых декодированием с дополнительной информацией.
Практическое кодирование с распределенным исходным кодом
Кодирование Слепяна – Вольфа - распределенное кодирование без потерь
Было понятно, что Кодирование Слепяна – Вольфа тесно связан с кодированием каналов в 1974 г.,[6] и примерно через 30 лет практический ЦИВ начал реализовываться с использованием различных канальных кодов. Мотивация использования кодов каналов исходит из случая двух источников, корреляция между входными источниками может быть смоделирована как виртуальный канал, который имеет вход в качестве источника. и вывод как источник . В ОБСУЖДЕНИЕ Система, предложенная С.С. Прадханом и К. Рамчандраном в 1999 г., реализовала DSC с расшифровка синдрома, который работал для асимметричного случая и был расширен на симметричный случай.[7][8]
Базовая структура DSC на основе синдромов состоит в том, что для каждого источника его входное пространство делится на несколько смежных классов в соответствии с конкретным используемым методом кодирования канала. Каждый вход каждого источника получает выходные данные, указывающие, к какому классу смежности принадлежит вход, и объединенный декодер может декодировать все входы по полученным индексам смежного класса и зависимости между источниками. При разработке кодов каналов следует учитывать корреляцию между входными источниками.
Группа кодов может использоваться для создания разделов смежных классов,[18] такие как решетчатые коды и решеточные коды. Прадхан и Рамчандран разработали правила для построения субкодов для каждого источника и представили результат построения смежных классов на основе решеток в DSC, который основан на код свертки и установить правила разделения, как в Модуляция решетки, а также ЦИВ на основе решеточного кода.[7][8] После этого для асимметричного кодирования был предложен встроенный решетчатый код в качестве улучшения их результатов.[19]
После того, как система DISCUS была предложена, более сложные коды каналов были адаптированы к системе DSC, например Турбо-код, LDPC Код и итеративный код канала. Кодеры этих кодов обычно просты и легки в реализации, в то время как декодеры имеют гораздо более высокую вычислительную сложность и могут получить хорошую производительность за счет использования статистики источника. Со сложными канальными кодами, производительность которых приближается к пропускной способности корреляционного канала, соответствующая система DSC может приблизиться к границе Слепяна – Вольфа.
Хотя большинство исследований было сосредоточено на DSC с двумя зависимыми источниками, кодирование Слепяна – Вольфа было распространено на более чем два случая входных источников, а методы генерации субкодов из одного канального кода были предложены В. Станковичем, А.Д. Ливерисом и др. С учетом конкретных особенностей. корреляционные модели.[20]
Общая теорема кодирования Слепяна – Вольфа с синдромами для двух источников
Теорема: Любая пара коррелированных равномерно распределенных источников, , с , можно сжимать отдельно с парой скоростей такой, что , куда и целые числа, и . Этого можно добиться с помощью двоичный линейный код.
Доказательство: Граница Хэмминга для двоичный линейный код , и у нас есть код Хэмминга, достигающий этой границы, поэтому у нас есть такой двоичный линейный код с матрица генератора . Далее мы покажем, как построить синдромное кодирование на основе этого линейного кода.
Позволять и формироваться путем принятия первых ряды из , пока формируется из оставшихся ряды . и - подкоды кода Хэмминга, порожденные и соответственно, с и в качестве их проверочных матриц.
Для пары ввода , кодировщик задается и . Это означает, что мы можем представить и в качестве , , куда являются представителями смежных классов в отношении к соответственно. Поскольку у нас есть с . Мы можем получить , куда , .
Предположим, есть две разные входные пары с одинаковыми синдромами, это означает, что есть две разные строки , так что и . Таким образом, у нас будет . Поскольку минимальный вес Хэмминга кода является , расстояние между и является . С другой стороны, согласно вместе с и , у нас будет и , что противоречит . Следовательно, у нас не может быть более одной входной пары с одинаковыми синдромами.
Следовательно, мы можем успешно сжать два зависимых источника с помощью построенных субкодов из двоичный линейный код с парой скоростей такой, что , куда и целые числа, и . Бревно указывает Бревно2.
Пример кодирования Слепяна – Вольфа
Возьмите тот же пример, что и в предыдущем Асимметричный DSC против симметричного DSC В этой части представлены соответствующие схемы DSC с кодами смежных классов и синдромами, включая асимметричный случай и симметричный случай. Граница Слепяна – Вольфа для расчета DSC показана в предыдущей части.
Асимметричный корпус
В случае, когда и , длина входной переменной из источника составляет 7 бит, поэтому его можно отправлять без потерь с 7 битами, независимо от любых других бит. Основываясь на знании того, что и иметь расстояние Хэмминга не больше единицы, для ввода из источника , поскольку у получателя уже есть , единственно возможное находятся на расстоянии не более 1 от . Если мы смоделируем корреляцию между двумя источниками как виртуальный канал, который имеет вход и вывод , пока мы получаем , все, что нам нужно для успешного «декодирования» это «биты четности» с определенной способностью исправления ошибок, принимая разницу между и как ошибка канала. Мы также можем смоделировать проблему с разбиением смежных классов. То есть мы хотим найти код канала, который может разделить пространство ввода на несколько смежных классов, где каждый смежный класс имеет связанный с ним уникальный синдром. С заданным классом смежности и , здесь только один это может быть входом, учитывая корреляцию между двумя источниками.
В этом примере мы можем использовать двоичный Код Хэмминга , с матрицей проверки на четность . Для входа из источника , только синдром, заданный передается, что составляет 3 бита. С полученным и , предположим, есть два входа и с таким же синдромом . Это означает , который . Поскольку минимальный вес Хэмминга Код Хэмминга равен 3, . Следовательно, вход можно восстановить, так как .
Аналогично распределение битов с , можно добиться, поменяв роли и .
Симметричный случай
В симметричном случае нам нужен равный битрейт для двух источников: по 5 бит каждый с отдельным кодером и совместным декодером. Мы по-прежнему используем линейные коды для этой системы, как мы использовали для несимметричного случая. Основная идея аналогична, но в этом случае нам нужно выполнить разделение смежных классов для обоих источников, в то время как для пары полученных синдромов (соответствует одному смежному классу) возможна только одна пара входных переменных с учетом корреляции между двумя источниками.
Предположим, у нас есть пара линейный код и и пара кодер-декодер, основанная на линейных кодах, которые могут обеспечивать симметричное кодирование. Выход энкодера определяется следующим образом: и . Если существует две пары допустимых входов и генерируя одни и те же синдромы, т.е. и , мы можем получить следующие ( представляет собой вес Хэмминга):
, куда
, куда
Таким образом:
куда и . Это означает, что если минимальное расстояние между двумя кодами больше, чем , мы можем добиться безошибочного декодирования.
Два кода и могут быть построены как подкоды Код Хэмминга и, следовательно, имеет минимальное расстояние . Учитывая матрица генератора исходного кода Хэмминга порождающая матрица за строится путем взятия любых двух строк из , и строится оставшимися двумя рядами . Соответствующие матрица проверки на четность для каждого субкода может быть сгенерирован согласно матрице генератора и использован для генерации битов синдрома.
Кодирование Винера – Зива - распределенное кодирование с потерями
В общем, схема кодирования Виннера – Зива получается путем добавления квантователя и деквантизатора к схеме кодирования Слепяна – Вольфа. Следовательно, при разработке кодера Винера-Зива можно было бы сосредоточить внимание на квантователе и соответствующем методе реконструкции. Было предложено несколько конструкций квантователей, таких как квантователь с вложенной решеткой,[21] квантователь решетчатого кода[22] и метод квантования Ллойда.[23]
Распределенное квантование в большом масштабе
К сожалению, вышеупомянутые подходы не масштабируются (по требованиям к конструкции или сложности эксплуатации) для сенсорных сетей больших размеров, сценарий, в котором распределенное сжатие является наиболее полезным. Если есть N источников, передающих по R бит каждый (с некоторой схемой распределенного кодирования), количество возможных реконструкций масштабируется . Даже для умеренных значений N и R (например, N = 10, R = 2) предыдущие схемы проектирования становятся непрактичными. В последнее время подход,[24] с использованием идей, заимствованных из Fusion Coding of Correlated Sources, было предложено, где конструктивная и операционная сложность противопоставляется производительности декодера. Это позволило разработать распределенный квантователь для сетей размером до 60 источников со значительным преимуществом по сравнению с традиционными подходами.
Основная идея заключается в наличии селектора подмножества битов, который поддерживает определенное подмножество принятых (биты NR в приведенном выше примере) бит для каждого источника. Позволять быть набором всех подмножеств битов NR, т.е.
Затем мы определяем отображение селектора подмножества битов как
Обратите внимание, что каждый выбор селектора подмножества битов налагает требование хранения (C), которое экспоненциально зависит от мощности набора выбранных битов.
Это позволяет разумно выбирать биты, которые минимизируют искажение, учитывая ограничения на хранение декодера. По-прежнему необходимы дополнительные ограничения на набор допустимых подмножеств. Эффективная функция затрат, которую необходимо минимизировать, представляет собой взвешенную сумму искажений и памяти декодера.
Проектирование системы выполняется путем итеративной (и постепенной) оптимизации кодеров, декодера и селектора битовых подмножеств до сходимости.
Неасимметричный ДСК
Этот раздел пуст. Вы можете помочь добавляя к этому. (Июнь 2010 г.) |
Неасимметричный DSC для более чем двух источников
Синдромный подход все еще можно использовать более чем для двух источников. Учитывать бинарные источники длины- . Позволять - соответствующие матрицы кодирования размеров . Затем входные двоичные источники сжимаются в всего биты. По-видимому, два исходных кортежа не могут быть восстановлены одновременно, если они имеют один и тот же синдром. Другими словами, если все интересующие исходные кортежи имеют разные синдромы, то их можно восстановить без потерь.
Общетеоретического результата, похоже, не существует. Однако для ограниченного типа источника так называемого источника Хэмминга [25] который имеет не более одного источника, отличного от остальных, и не более одного местоположения бита, не все идентичные, практическое использование DSC без потерь, как показано, существует в некоторых случаях. Для случая, когда имеется более двух источников, количество исходных кортежей в источнике Хэмминга равно . Следовательно, упаковка ограничивает, что очевидно должен удовлетворять. Когда граница упаковки удовлетворяется равенству, мы можем назвать такой код идеальным (аналог совершенного кода в коде с исправлением ошибок).[25]
Самый простой набор для выполнения оценки упаковки с равенством . Однако оказывается, что такого кода синдрома не существует.[26] Самый простой (идеальный) код синдрома с более чем двумя источниками имеет и . Позволять