Распределенное исходное кодирование
Теория информации |
---|
Распределенное исходное кодирование ( DSC ) является важной проблемой в теории информации и коммуникации . Проблемы DSC связаны со сжатием нескольких коррелированных источников информации, которые не взаимодействуют друг с другом. [1] Моделируя корреляцию между несколькими источниками на стороне декодера вместе с кодами каналов , DSC может переносить вычислительную сложность со стороны кодера на сторону декодера, тем самым обеспечивая соответствующие структуры для приложений с ограниченной сложностью отправителя, таких как сенсорные сети и видео/ сжатие мультимедиа (см. распределенное кодирование видео [2] ). Одним из основных свойств кодирования с распределенным исходным кодом является то, что вычислительная нагрузка в кодировщиках переносится на объединенный декодер.
История
[ редактировать ]В 1973 году Дэвид Слепиан и Джек Кейл Вольф предложили теоретическое сжатие информации без потерь, основанное на распределенном сжатии двух коррелированных источников iid X и Y. [3] После этого эта граница была распространена на случаи с более чем двумя источниками Томасом М. Ковером в 1975 году: [4] в то время как теоретические результаты в случае сжатия с потерями представлены Аароном Д. Винером и Джейкобом Зивом в 1976 году. [5]
Хотя теоремы о DSC были предложены в 1970-х годах, примерно через 30 лет были предприняты попытки применить практические методы, основанные на идее о том, что DSC тесно связана с канальным кодированием, предложенным в 1974 году Аароном Д. Вайнером . [6] Проблема асимметричного ДСК была рассмотрена С. С. Прадханом и К. Рамчандраном в 1999 году, которые сосредоточились на статистически зависимых бинарных и гауссовых источниках и использовали скалярные и решетчатые смежных классов для решения этой проблемы. конструкции [7] Они далее расширили работу на симметричный случай ДСК. [8]
Технология синдромного декодирования была впервые использована в распределенном кодировании исходного кода системой DISCUS С.С. Прадхана и К. Рамачандрана (Кодирование с распределенным исходным кодом с использованием синдромов). [7] Они сжимают данные двоичного блока из одного источника в синдромы и передают данные из другого источника в несжатом виде в качестве дополнительной информации . Этот тип схемы DSC обеспечивает асимметричную степень сжатия на источник и приводит к асимметричному DSC. Эту асимметричную схему DSC можно легко расширить на случай более чем двух коррелированных источников информации. Существуют также некоторые схемы DSC, в которых используются биты четности вместо битов синдрома .
Корреляция между двумя источниками в DSC моделировалась как виртуальный канал , который обычно называют двоичным симметричным каналом . [9] [10]
Начиная с DISCUS , DSC привлек значительную исследовательскую деятельность, и более сложные методы кодирования каналов были внедрены в структуры DSC, такие как Turbo Code , LDPC Code и так далее.
Подобно предыдущей системе кодирования без потерь, основанной на теореме Слепиана-Вольфа, были предприняты усилия для случаев с потерями на основе теоремы Винера-Зива. Теоретические результаты по конструкциям квантователей были предоставлены Р. Замиром и С. Шамаи. [11] в то время как на основе этого результата были предложены различные структуры, включая вложенный решеточный квантователь и квантователь с решетчатым кодированием.
Более того, DSC использовался при сжатии видео в приложениях, требующих кодирования видео низкой сложности, таких как сенсорные сети, многоракурсные видеокамеры и т. д. [12]
На основе детерминистических и вероятностных обсуждений корреляционной модели двух коррелированных источников информации были разработаны схемы DSC с более общими сжатыми показателями. [13] [14] [15] В этих неасимметричных схемах оба двух коррелированных источника сжаты.
При определенном детерминированном предположении о корреляции между источниками информации X. Цао и М. Куйпер продемонстрировали структуру DSC, в которой любое количество источников информации может быть сжато распределенным образом. [16] Этот метод выполняет неасимметричное сжатие с гибкими скоростями для каждого источника, достигая той же общей скорости сжатия, что и многократное применение асимметричного DSC для более чем двух источников. Затем, исследуя уникальную связь между синдромами и дополнительными кодовыми словами линейных кодов, они перевели основные этапы совместного декодирования DSC в синдромное декодирование с последующим канальным кодированием через линейный блочный код, а также через его дополнительный код. [17] где теоретически проиллюстрирован метод сборки совместного декодера DSC из кодеров и декодеров линейного кода.
Теоретические границы
[ редактировать ]Теоретико-информационное ограничение сжатия без потерь на DSC ( ограничение Слепиана-Вольфа ) было впервые использовано Дэвидом Слепианом и Джеком Кейлом Вольфом с точки зрения энтропии коррелированных источников информации в 1973 году. [3] Они также показали, что два изолированных источника могут сжимать данные так же эффективно, как если бы они общались друг с другом. Эта граница была распространена на случай более чем двух коррелирующих источников Томасом М. Ковером в 1975 году. [4]
Аналогичные результаты были получены в 1976 году Аароном Д. Винером и Джейкобом Зивом в отношении кодирования с потерями совместных гауссовских источников. [5]
Слепян-Вольф
[ редактировать ]Распределенное кодирование — это кодирование двух и более зависимых источников с помощью отдельных кодеров и совместного декодера. Учитывая две статистически зависимые случайные последовательности X и Y с конечным алфавитом iid, теорема Слепиана-Вольфа включает теоретическую оценку скорости кодирования без потерь для распределенного кодирования двух источников, как показано ниже: [3]
Если и кодер, и декодер двух источников независимы, наименьшая скорость, которую мы можем достичь для сжатия без потерь, равна и для и соответственно, где и являются энтропиями и . Однако при совместном декодировании, если принять исчезающую вероятность ошибки для длинных последовательностей, теорема Слепиана-Вольфа показывает, что можно достичь гораздо большей степени сжатия. Пока общая ставка и больше, чем их совместная энтропия и ни один из источников не кодируется со скоростью, превышающей его энтропию, распределенное кодирование может обеспечить сколь угодно малую вероятность ошибки для длинных последовательностей.
Особым случаем распределенного кодирования является сжатие с использованием информации на стороне декодера, где источник доступен на стороне декодера, но недоступен на стороне кодера. Это можно рассматривать как условие, уже использовался для кодирования , хотя мы намерены использовать кодировать . Вся система работает асимметрично (степень сжатия для двух источников асимметрична).
Граница Винера – Зива
[ редактировать ]Вскоре после того, как была опубликована теорема Слепиана-Вольфа о распределенном сжатии без потерь, расширение сжатия с потерями с использованием дополнительной информации декодера было предложено как теорема Винера-Зива. [5] Как и в случае без потерь, два статистически зависимых источника iid и даны, где доступен на стороне декодера, но недоступен на стороне кодера. Вместо сжатия без потерь в теореме Слепиана-Вольфа теорема Винера-Зива рассматривала случай сжатия с потерями.
Теорема Винера-Зива представляет достижимую нижнюю границу скорости передачи данных. при заданном искажении . Было обнаружено, что для гауссовских источников без памяти и среднеквадратических искажений нижняя граница скорости передачи данных остаются неизменными независимо от того, доступна ли дополнительная информация в кодере или нет.
Виртуальный канал
[ редактировать ]Детерминированная модель
Вероятностная модель
Асимметричный DSC против симметричного DSC
[ редактировать ]Асимметричный DSC означает, что при кодировании входных источников используются разные битрейты, тогда как в симметричном DSC используется один и тот же битрейт. Например, в этом примере рассмотрим проект DSC с двумя источниками. и два дискретных, без памяти, равномерно распределенных источника, которые генерируют набор переменных и длиной 7 бит и расстоянием Хэмминга между и не более одного. К ним направляется Слепьян-Волк:
Это означает, что теоретическая граница равна а симметричный DSC означает 5 бит для каждого источника. Другие пары с являются асимметричными случаями с различным распределением скорости передачи данных между и , где , и , представляют собой два крайних случая, называемых декодированием с дополнительной информацией.
Практическое распределенное кодирование исходного кода
[ редактировать ]Кодирование Слепяна – Вольфа – распределенное кодирование без потерь
[ редактировать ]В 1974 году стало понятно, что кодирование Слепяна-Вольфа тесно связано с канальным кодированием. [6] и примерно через 30 лет на практике DSC начал реализовываться с использованием различных кодов каналов. Мотивация использования канальных кодов связана со случаем двух источников: корреляция между источниками входных данных может быть смоделирована как виртуальный канал, который имеет входные данные в качестве источника. и вывести как источник . Система DISCUS, предложенная С. С. Прадханом и К. Рамчандраном в 1999 году, реализовала DSC с синдромным декодированием , которое работало для асимметричного случая и в дальнейшем было расширено до симметричного случая. [7] [8]
Базовая структура синдромного DSC заключается в том, что для каждого источника его входное пространство разделяется на несколько смежных классов в соответствии с конкретным используемым методом канального кодирования. Каждый вход каждого источника получает выходной сигнал, указывающий, к какому смежному классу принадлежит входной класс, и совместный декодер может декодировать все входные данные по полученным индексам смежного класса и зависимости между источниками. При разработке канальных кодов следует учитывать корреляцию между источниками входного сигнала.
Группа кодов может использоваться для создания разделов смежных классов, [18] такие как решетчатые коды и решетчатые коды. Прадхан и Рамчандран разработали правила построения субкодов для каждого источника и представили результат построения смежных классов на основе решетчатого кода в DSC, который основан на сверточном коде и правилах разделения множеств, как в решетчатой модуляции , а также DSC на основе решетчатого кода. . [7] [8] После этого для асимметричного кодирования был предложен встроенный решетчатый код как улучшение их результатов. [19]
После того, как была предложена система DISCUS, к системе DSC были адаптированы более сложные коды каналов, такие как турбокод , код LDPC и итеративный канальный код. Кодировщики этих кодов обычно просты и легки в реализации, в то время как декодеры имеют гораздо более высокую вычислительную сложность и способны получить хорошую производительность за счет использования исходной статистики. При использовании сложных канальных кодов, производительность которых приближается к пропускной способности корреляционного канала, соответствующая система ЦИВ может приближаться к границе Слепиана-Вольфа.
Хотя большинство исследований было сосредоточено на ДСК с двумя зависимыми источниками, кодирование Слепиана-Вольфа было распространено на случай более чем двух входных источников, а методы генерации субкодов из одного канального кода были предложены В. Станковичем, А. Д. Ливерисом и др. с учетом конкретных корреляционные модели. [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 г. ) |
Неасимметричный ДСК для более чем двух источников
[ редактировать ]Синдромный подход по-прежнему можно использовать для более чем двух источников. Учитывать бинарные источники длины- . Позволять — соответствующие матрицы кодирования размеров . Затем входные двоичные источники сжимаются в общего количества биты. Очевидно, что два исходных кортежа невозможно восстановить одновременно, если они имеют один и тот же синдром. Другими словами, если все интересующие кортежи источников имеют разные синдромы, то их можно восстановить без потерь.
Общетеоретического результата, похоже, не существует. Однако для ограниченного типа источника, так называемого источника Хэмминга. [25] который имеет не более одного источника, отличного от остальных, и не более одного бита, не все одинаковые, в некоторых случаях показано, что на практике существует DSC без потерь. В случае, когда источников более двух, количество исходных кортежей в источнике Хэмминга равно . Следовательно, упаковка связана, что очевидно, должен удовлетворить. Когда граница упаковки удовлетворяет равенству, мы можем назвать такой код совершенным (аналог идеального кода в коде с исправлением ошибок). [25]
Самый простой набор для удовлетворения упаковки, связанной с равенством, - это . Однако оказывается, что такого синдромного кода не существует. [26] Самый простой (идеальный) код синдрома с более чем двумя источниками имеет и . Позволять
,и такой, что являются ли какие-либо разделы .
может сжимать источник Хэмминга (т. е. источники, которые отличаются не более чем на один бит, будут иметь разные синдромы). [25] Например, для симметричного случая возможный набор матриц кодирования:
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Распределенное исходное кодирование для сенсорных сетей» З. Сюн, А.Д. Ливерис и С. Ченг
- ^ «Распределенное кодирование видео в беспроводных сенсорных сетях» Пури, Р. Маджумдар, А. Ишвар, П. Рамчандран, К.
- ^ Jump up to: а б с «Бесшумное кодирование коррелированных источников информации» Д. Слепяна и Дж. Вольфа
- ^ Jump up to: а б «Доказательство теоремы Слепиана и Вольфа о сжатии данных для эргодических источников» Т. Ковер
- ^ Jump up to: а б с «Функция искажения скорости для исходного кодирования с дополнительной информацией в декодере» А. Винера и Дж. Зива.
- ^ Jump up to: а б «Последние результаты теории Шеннона» А.Д. Винера
- ^ Jump up to: а б с д «Распределенное исходное кодирование с использованием синдромов (DISCUS): проектирование и построение» С. С. Прадхана и К. Рамчандрана.
- ^ Jump up to: а б с «Распределенное исходное кодирование: симметричные скорости и приложения для сенсорных сетей» С. С. Прадхан и К. Рамчандран.
- ^ «Конструкции распределенного кода для всей области скоростей Слепиана-Вольфа для произвольно коррелированных источников» Шенберг, Д. Рамчандран, К. Прадхан, СС
- ^ «Обобщенные коды смежных классов для распределенного группирования» Прадхана, С.С. Рамчандрана, К.
- ^ «Вложенные линейные/решетчатые коды для кодирования Винера – Зива» Р. Замира и С. Шамаи
- ^ «Распределенное кодирование видео» Б. Жиро и др.
- ^ «О разработке кода для задачи Слепиана-Вольфа и многотерминальных сетей без потерь» Станкович, В. Ливерис, А.Д. Цзысян Сюн Георгиадес, CN
- ^ «Общая и оптимальная основа для достижения всей области скорости кодирования Слепиана-Вольфа» П. Тан и Дж. Ли
- ^ «Распределенное исходное кодирование с использованием совместимых по скорости кодов LDPC короткой и средней длины: вся область скорости Слепиана-Вольфа» Сартипи, М. Фекри, Ф.
- ^ «Среда распределенного исходного кодирования для нескольких источников» Сяомин Цао и Куйпер, М.
- ^ [1] «Кодирование с распределенным исходным кодом с помощью линейных блочных кодов: общая структура для нескольких источников», Сяомин Цао и Куиджпер, М.
- ^ «Косет-коды. I. Введение и геометрическая классификация» Г. Д. Форни.
- ^ «Разработка решетчатых кодов для исходного кодирования с дополнительной информацией в декодере» X. Ванга и М. Орчарда
- ^ «Разработка кодов Слепиана-Вольфа путем разделения канального кода» В. Станковича, А. Д. Ливериса, З. Сюн и К. Н. Георгиадеса
- ^ «Вложенное квантование и кодирование Слепиана-Вольфа: парадигма кодирования Винера-Зива для источников iid» З. Сюн, А.Д. Ливерис, С. Ченг и З. Лю
- ^ «Кодирование Винера-Зива на основе кодов TCQ и LDPC» Ю. Янга, С. Ченга, З. Сюн и В. Чжао
- ^ «Разработка оптимальных квантователей для распределенного исходного кодирования» Д. Реболло-Монедеро, Р. Чжан и Б. Жирод.
- ^ « На пути к крупномасштабному распределенному кодированию исходного кода» С. Рамасвами, К. Вишванатха, А. Саксена и К. Роуз» (PDF) . Архивировано из оригинала (PDF) 1 апреля 2011 г. Проверено 19 января 2011 г.
- ^ Jump up to: а б с «Коды Хэмминга для нескольких источников» Р. Ма и С. Ченга.
- ^ «Несуществование кодов Слепиана-Вольфа длиной 5 из трех источников» С. Ченга и Р. Ма. Архивировано 25 апреля 2012 г., в Wayback Machine.