Cross-Interleaved Reed-Solomon Code¶
Cross-Interleaved Reed-Solomon Code (CIRC) — это метод помехоустойчивого кодирования, основанный на каскадном применении двух кодов Рида — Соломона с перемежением (интерливингом) данных. Разработан компанией Philips и Sony в начале 1980-х годов для использования в цифровых аудиодисках (Compact Disc, CD). CIRC обеспечивает высокую корректирующую способность при относительно низкой избыточности, что позволяет восстанавливать данные, повреждённые царапинами, пылью и производственными дефектами оптических носителей.
¶История создания
С появлением компакт-дисков в конце 1970-х годов возникла необходимость в надёжном кодировании, способном исправлять как случайные ошибки (например, шум считывания), так и пакетные ошибки (вызванные механическими повреждениями диска). Коды Рида — Соломона, предложенные Ирвингом Ридом и Гюставом Соломоном в 1960 году, обладали хорошими корректирующими свойствами, но для борьбы с длинными пакетами ошибок требовалось перемежение данных.
В 1980 году инженеры Philips и Sony, работавшие над стандартом «Красная книга» (Red Book) для CD, объединили два кода Рида — Соломона с разными параметрами и добавили перемежение. Полученная схема получила название Cross-Interleaved Reed-Solomon Code. Она была впервые применена в коммерческих CD-плеерах, выпущенных в 1982 году. Впоследствии CIRC лёг в основу многих других систем хранения данных, включая MiniDisc, DVD и некоторые форматы цифрового вещания.
¶Принцип работы
CIRC является каскадным (concatenated) кодом, где два кода Рида — Соломона работают последовательно: первый (C1) исправляет случайные ошибки, второй (C2) — пакетные. Между ними выполняется перемежение данных, которое «размазывает» пакетные ошибки по разным кодовым словам, делая их исправимыми.
¶Параметры кодов
- C1 (внутренний код): код Рида — Соломона (32, 28, 5) над полем GF(2^8). Длина кодового слова — 32 символа, из которых 28 — информационные, 4 — проверочные. Минимальное кодовое расстояние d_min = 5, что позволяет исправлять до 2 ошибок или обнаруживать до 4 ошибок в одном кодовом слове.
- C2 (внешний код): код Рида — Соломона (28, 24, 5) над полем GF(2^8). Длина — 28 символов, информационных — 24, проверочных — 4. Также имеет d_min = 5, исправляет до 2 ошибок.
¶Перемежение (интерливинг)
Перемежение в CIRC выполняется на двух уровнях:
- Перемежение между C1 и C2: данные, закодированные C2, распределяются по нескольким кадрам C1 с задержкой (обычно 4 кадра). Это делается с помощью регистров сдвига.
- Перемежение внутри C1: символы внутри кодового слова C1 дополнительно перемешиваются для защиты от коротких пакетных ошибок.
Конкретная схема перемежения в CIRC использует задержки от 1 до 4 кадров, что создаёт «перекрёстное» (cross) расположение данных — отсюда название.
¶Процесс кодирования и декодирования
- Исходные аудиоданные (24 байта на кадр) сначала кодируются внешним кодом C2, добавляя 4 проверочных байта.
- Выполняется перемежение: полученные 28 байт распределяются по четырём последовательным кадрам с задержками.
- Каждый кадр (28 байт) кодируется внутренним кодом C1, добавляя ещё 4 проверочных байта.
- Итоговый кадр содержит 32 байта, которые записываются на диск.
Декодирование:
- Считывание кадра (32 байта) и декодирование C1: исправление до 2 ошибок. Если ошибок больше 2, кадр помечается как «стирание» (erasure).
- Обратное перемежение: данные из разных кадров собираются в исходный порядок.
- Декодирование C2: исправление ошибок с использованием информации о стираниях от C1. C2 может исправить до 2 ошибок или до 4 стираний.
¶Корректирующая способность
CIRC способен исправлять:
- До 3500 бит (около 2,5 мм дорожки) пакетных ошибок — это соответствует царапине длиной до 2,5 мм.
- До 12 000 бит (около 8,5 мм) ошибок с использованием интерполяции (восстановление данных по соседним отсчётам).
При этом избыточность CIRC составляет около 25% (4 проверочных байта на 24 информационных в каждом каскаде, но с учётом перемежения — примерно 33% от общего потока). Для сравнения, коды с аналогичной корректирующей способностью без перемежения потребовали бы значительно большей избыточности.
¶Применение
¶Компакт-диски (CD)
CIRC является обязательной частью стандарта «Красная книга» для всех аудио-CD. Он обеспечивает воспроизведение даже при наличии царапин, отпечатков пальцев и других дефектов. В сочетании с восьми-четырнадцати-модуляцией (EFM) CIRC образует физический уровень записи CD.
¶MiniDisc
В формате MiniDisc (1992) используется модификация CIRC под названием CIRC-7 (или CIRC-7/3), где параметры кодов изменены для работы с магнитооптическими носителями.
¶DVD
В DVD применяется более сложный вариант — RS-PC (Reed-Solomon Product Code), который является двухмерным каскадным кодом, основанным на тех же принципах, что и CIRC.
¶Другие системы
CIRC также используется в некоторых системах цифрового радиовещания (DAB), спутниковой связи и в ранних цифровых видеомагнитофонах.
¶Критика и ограничения
Несмотря на эффективность, CIRC имеет ряд недостатков:
- Задержка: перемежение вносит задержку в несколько миллисекунд, что критично для систем реального времени (например, видеоконференций).
- Сложность декодирования: требуется два этапа декодирования с обратным перемежением, что увеличивает вычислительные затраты.
- Ограниченная эффективность при очень длинных пакетах ошибок: при царапинах длиннее 8,5 мм CIRC может не справиться, и данные теряются.
Современные системы (например, Blu-ray) используют более совершенные коды, такие как LDPC (Low-Density Parity-Check), которые обеспечивают лучшую корректирующую способность при меньшей избыточности.
¶Интересные факты
- Название «Cross-Interleaved» отражает перекрёстное расположение данных между двумя кодами, а не просто последовательное перемежение.
- В процессе разработки CIRC инженеры Sony и Philips тестировали прототипы, процарапывая диски гвоздями и покрывая их пылью — код должен был гарантировать воспроизведение даже в таких условиях.
- CIRC не является единственным кодом в CD: дополнительно используется EFM (Eight-to-Fourteen Modulation) для синхронизации и снижения постоянной составляющей сигнала.
¶Источники
- Immink, K. A. S. (1998). Coding Techniques for Digital Recorders. Prentice Hall.
- Pohlmann, K. C. (2005). Principles of Digital Audio. McGraw-Hill.
- Стандарт «Красная книга» (IEC 60908).
- Документация Philips/Sony по CIRC (1980–1982).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


