УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ДАННЫХ И НОСИТЕЛЬ ЗАПИСИ, СОДЕРЖАЩИЙ ПРОГРАММУ
DATA PROCESSING DEVICE AND METHOD AND RECORDING MEDIUM CONTAINING PROGRAM

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству и способу обработки данных и к программе, а в частности - к устройству и способу обработки данных и программе, которые позволяют рассредоточивать пакетные ошибки по отношению к обоим кодам композиционного кода.
Уровень техники
В случае записи сигнала на носитель записи, такой как магнитный диск или оптический диск, в записывающем устройстве запись производится после выполнения предварительного модулирующего кодирования, чтобы управление амплитудой сигнала считывания и восстановление синхронизации выполнялись в момент воспроизведения должным образом. Затем в этом случае для воспроизведения применяется, например, способ воспроизведения, такой как PRML (максимальное правдоподобие при частичном отклике). PRML является способом воспроизведения, который воспроизводит исходную форму сигнала с учетом такого свойства носителя, что на воспроизведенный сигнал влияет непосредственно ему предшествующий сигнал, и считывает наиболее правдоподобные данные с воспроизведенного сигнала на основе характеристик записанного сигнала.
Когда в воспроизведенном сигнале содержатся ошибки, эти ошибки могут быть исправлены с помощью кода с исправлением ошибок. Следует отметить, однако, что если в воспроизведенном сигнале встречаются пакетные ошибки, скорость исправления ошибок при помощи кода с исправлением ошибок становится ниже, и, следовательно, желательно рассредоточить пакетные ошибки перед декодированием.
Для пакетных ошибок на оптических дисках возможны два вида причин. Одна из этих причин состоит в том, что ошибки, распределенные случайным образом, в момент считывания становятся короткой пакетной ошибкой примерно в несколько битов из-за распространения ошибок при PRML, декодировании Витебри или тому подобном. Другая причина состоит в том, что при считывании файлов из-за царапин, пыли или тому подобного возникают длинные пакетные ошибки примерно в 1000 битов.
Схема, называемая композиционным кодом, существует как схема для борьбы с этими пакетными ошибками. Композиционный код является схемой, которая выполняет исправление ошибок с помощью двух видов кода и используется в случаях, когда допустима некоторая задержка в декодировании и, далее, когда желаемого выполнения операции невозможно достичь, используя единичный код. Кроме того, схема композиционного кода может обеспечить высокоэффективную способность к исправлению ошибок при относительно простом техническом обеспечении и принята в качестве схемы исправления ошибок для CD-ROM (постоянного запоминающего устройства на компакт-диске) и DVD (универсального цифрового диска) (см., например, PTL 1).
Фиг.1 представляет собой пример конфигурации данных композиционного кода. Композиционный код составлен из пользовательских данных, четности внешнего кода, четности внутреннего кода и четности для четности (внешнего кода).
В композиционном коде, показанном на фиг.1, кодирование внутреннего кода выполняется после того, как выполнено кодирование внешнего кода. То есть кодирование внешнего кода выполняется в направлении строк сверху вниз на чертеже, как показывает стрелка вниз, обозначающая направление кодирования внешнего кода. В результате в композиционном коде четность добавляется под пользовательскими данными. После этого выполняется кодирование внутреннего кода в направлении столбцов слева направо на чертеже, как показывает стрелка направо, обозначающая направление кодирования внутреннего кода. В результате в композиционном коде четность для четности добавляется справа от четности внешнего кода.
Декодирование композиционного кода, выполненного таким образом, начинается прежде всего с декодирования внутреннего кода, то есть первого вида кода. Даже если декодировать внутренний код не удается, итоговая ошибка рассредоточивается по множеству кодовых слов внешнего кода, то есть второго вида кода. Поэтому даже в случае длинной пакетной ошибки эта пакетная ошибка может быть исправлена как несистематическая ошибка относительно внешнего кода.
При этом в качестве кодов с исправлением ошибок для выполнения побитового декодирования имеются турбокод, код LDPC (проверок на четность с низкой плотностью) и подобные, в качестве высокопроизводительных кодов с исправлением ошибок, реализации которых продвинулись до таких применений, как связь и широковещание. Использование этих кодов может обеспечить большой выигрыш кодирования, тем самым позволяя выполнять передачу высокого качества.
В качестве кода с исправлением ошибок для выполнения посимвольного декодирования имеются код RC (Рида-Соломона) и подобные. Код RC (n, k) (n - длина кода, k - длина данных), который кодирует k символов в n символов, способен исправлять ошибки вплоть до (n-k)/2 исправлений символов путем декодирования с ограниченным расстоянием.
Следовательно, в случае, когда в качестве внутреннего кода в композиционном коде используется код с исправлением ошибок для выполнения побитового декодирования, а в качестве внешнего кода используется код с исправлением ошибок для выполнения посимвольного декодирования, освобождение от ошибок достигается путем снижения числа ошибок после декодирования внутреннего кода так, чтобы оно было равным или меньшим, чем число исправлений внешнего кода. Благодаря этому возможно высокоэффективное исправление ошибок.
Канальный перемежитель используется для преобразования пакетных ошибок в несистематические ошибки перед декодированием любого из этих кодов, чтобы тем самым усилить вероятность декодирования.
Фиг.2 представляет собой пример перемежения с помощью перемежителя согласно существующему уровню техники и пример деперемежения, выполненного в соответствии с этим перемежением. Следует отметить, что часть А на Фиг.2 представляет собой пример перемежения. Часть В на Фиг.2 представляет собой пример деперемежения в случае, когда после перемежения в части А по Фиг.2 возникла короткая пакетная ошибка. Часть С на Фиг.2 представляет собой пример деперемежения в случае, когда после перемежения в части А по Фиг.2 возникла длинная пакетная ошибка.
В примере в части А по Фиг.2 для удобства описания перед перемежением биты группируются в блоки по 8 битов и блоки называются, соответственно, блок А, блок В, блок С, блок D и т.д. по порядку слева направо. Аналогично, после перемежения биты группируются в блоки по 5 битов, и блоки называются, соответственно, блок а, блок b, блок с, блок d и т.д. по порядку слева направо.
Например, канальный перемежитель выполняет перемежение так, что первый бит блока А, первый бит блока В, первый бит блока С и первый бит блока D перед перемежением становятся с первого по четвертый битами блока а, соответственно. Канальный перемежитель выполняет перемежение так, что второй бит блока А, второй бит блока В, второй бит блока С и второй бит блока D перед перемежением становятся с первого по четвертый битами блока b, соответственно.
С другой стороны, деперемежение является переупорядочиванием в направлении, противоположном этому перемежению. То есть с первого по четвертый биты из первого блока а подвергаются деперемежению так, что становятся первым битом блока А, первым битом блока В, первым битом блока С и первым битом блока D, соответственно.
Таким образом, как показано на Фиг.2, даже если короткая пакетная ошибка возникла после перемежения в первых шести битах, после деперемежения биты с первого по шестой, в которых возникла короткая пакетная ошибка, переупорядочиваются каждый в свое исходное положение и рассредоточиваются. Следовательно, ошибка может быть преобразована в несистематическую ошибку относительно внешнего кода для выполнения декодирования кластеров блоков.
Однако, как показано в части С по Фиг.2, в случае, если длинная пакетная ошибка возникла после перемежения (35 битов в случае с частью С по Фиг.2), ошибка остается длинной пакетной ошибкой даже после деперемежения, и преобразовать ошибку в несистематическую ошибку относительно внешнего кода трудно. Следовательно, в случае возникновения длинной пакетной ошибки существует высокая вероятность того, что исправление ошибок с помощью внутреннего кода будет неудачным, и, следовательно, существует потребность в канальном перемежителе, который преобразует длинную пакетную ошибку в несистематическую ошибку в наибольшем возможном соответствии с внутренним кодом.
С другой стороны, существует также канальный перемежитель, который рассредоточивает длинную пакетную ошибку относительно только внутреннего кода.
Фиг.3 представляет собой пример перемежения с помощью канального перемежителя, который рассредоточивает длинную пакетную ошибку относительно только внутреннего кода, и деперемежения, соответствующего перемежению.
Композиционный код в примере по Фиг.3 составлен из фрагментов внутреннего кода с первого по пятый, и каждый фрагмент внутреннего кода имеет длину кода, равную 35 битам. На Фиг.3 показаны, в порядке сверху вниз, композиционный код перед перемежением, композиционный код после перемежения, композиционный код после перемежения в случае, если возникла длинная пакетная ошибка, и композиционный код после деперемежения в случае, если возникла длинная пакетная ошибка.
В композиционном коде перед перемежением круглые значки, показанные в первом внутреннем коде, обозначают биты первого внутреннего кода, а значки ×, показанные во втором внутреннем коде, обозначают биты второго внутреннего кода. Аналогично, значки в виде треугольника вершиной вверх, показанные в третьем внутреннем коде, обозначают биты третьего внутреннего кода, квадратные значки, показанные в четвертом внутреннем коде, обозначают биты четвертого внутреннего кода, а значки в виде треугольника вершиной вниз, показанные в пятом внутреннем коде, обозначают биты пятого внутреннего кода.
Как показывают сплошные стрелки, обозначающие направление ввода, канальный перемежитель по Фиг.3 вводит биты первого внутреннего кода по порядку слева в буфер для накопления битов, а затем вводит биты второго внутреннего кода по порядку слева в буфер для накопления битов. В дальнейшем, аналогично, относительно фрагментов внутреннего кода с третьего по пятый, канальный перемежитель вводит биты по порядку слева в буфер для накопления битов.
Затем канальный перемежитель выводит биты в порядке, показанном пунктирными стрелками, обозначающими направление вывода. То есть канальный перемежитель выводит бит в начале каждого из фрагментов внутреннего кода с первого по пятый по порядку, затем выводит второй от начала бит каждого из фрагментов внутреннего кода с первого по пятый по порядку, и выводит третий от начала бит каждого из фрагментов внутреннего кода с первого по пятый по порядку. В дальнейшем, аналогично, с четвертого по тридцать пятый биты от начала каждого из фрагментов внутреннего кода с первого по пятый по порядку.
Перемежение выполняется описанным выше образом, и в результате биты переупорядочиваются, как показано в перемеженном композиционном коде. Однако предположим, что после выполнения перемежения, как показано литерой Е, возникла длинная пакетная ошибка в периоде с первого бита от начала до тридцать первого бита верхней строки.
В этом случае, когда выполняется деперемежение, соответствующее упомянутому выше перемежению, как показано в композиционном коде, подвергнутом деперемежению, пакетная ошибка может быть рассредоточена до некоторой степени относительно фрагментов внутреннего кода с первого по пятый. Однако в столбцах с первого по пятый слева пакеты распределяются плотными кластерами в направлении строк сверху вниз.
То есть, хотя способ перемежения по Фиг.3 позволяет до некоторой степени рассредоточить длинную пакетную ошибку относительно только внутреннего кода, невозможно рассредоточить пакетную ошибку относительно внешнего кода для выполнения декодирования в направлении строк сверху вниз. По этой причине ошибка становится пакетной ошибкой относительно внешнего кода, что повышает вероятность неудачи при исправлении ошибок с помощью внешнего кода.
Следовательно, существует потребность в перемежителе, который может преобразовывать короткую пакетную ошибку в несистематическую ошибку перед декодированием внутреннего кода, и преобразовывать, насколько возможно, длинную пакетную ошибку в несистематическую ошибку перед декодированием внутреннего кода, чтобы даже в случае неудачи при исправления ошибок с помощью внутреннего кода ошибку можно было обработать как несистематическую ошибку относительно внешнего кода.
Список ссылок
Патентная литература
PTL 1: выложенная заявка на патент Японии №2007-149340
Раскрытие изобретения
Техническая задача
Как описано выше, в случае применения композиционного кода, который использует код для выполнения посимвольного декодирования в качестве внутреннего кода, а код для выполнения побитового декодирования в качестве внешнего кода, желательно, чтобы ошибки были рассредоточены перед декодированием каждого из кодов. По этой причине возникла потребность в перемежителе, который может преобразовывать короткую пакетную ошибку в несистематическую ошибку перед декодированием внутреннего кода, и преобразовывать, насколько возможно, длинную пакетную ошибку в несистематическую ошибку перед декодированием внутреннего кода, так что даже в случае неудачи при исправления ошибок с помощью внутреннего кода ошибку можно было обработать как несистематическую ошибку относительно внешнего кода.
Однако до настоящего времени не было предложено перемежителя, который может преобразовывать короткую пакетную ошибку в несистематическую ошибку относительно внутреннего кода и также преобразовывать длинную пакетную ошибку в несистематическую ошибку относительно обоих кодов.
Настоящее изобретение сделано в свете упомянутых выше обстоятельств и дает возможность рассредоточивать пакетные ошибки относительно обоих кодов композиционного кода.
Решение задачи
Устройство обработки данных согласно первому объекту настоящего изобретения включает в себя средство перемежения для выполнения перемежения по отношению к композиционному коду для изменения порядка записи, причем композиционный код кодируется в порядке внешнего кода и внутреннего кода путем использования в качестве внешнего кода такого кода, который выполняет исправление ошибок в блоках символов с n битами в качестве одного символа, и путем использования в качестве внутреннего кода такого кода, который выполняет исправление ошибок в группах битов, причем в порядке записи после выполнения перемежения с помощью средства перемежения одно и то же кодовое слово внутреннего кода не включено в i последовательных битов, и j (j>i) последовательных битов не перекрывают некоторое множество символов одного и того же кодового слова внешнего кода.
Средство перемежения может включать в себя первое перемежающее средство для выполнения первого перемежения NA×NC блоков, где NB (NB=n) битов составляют один блок, путем использования NA фрагментов внутреннего кода, и второе перемежающее средство для выполнения второго перемежения NA×NB битов NC раз в группах битов после первого перемежения с помощью первого перемежающего средства.
Первое перемежающее средство может выполнять первое перемежение путем вывода NA×NC блоков, которые вводятся по порядку в одном направлении, по порядку в диагональном направлении.
Первое перемежение с помощью первого перемежающего средства включает в себя перемежение в группах по ND×NB×NA битов (ND×NB ≥ длины данных внутреннего кода), и перемежение сегмента, отличного от этого, и первое перемежающее средство может выполнять первое перемежение путем вывода NA×ND блоков, которые введены по порядку в одном направлении, по порядку в диагональном направлении, относительно отрезка из ND×NB×NA битов, и затем вывода NA×(NC-ND) блоков, которые введены по порядку в одном направлении, по порядку в другом направлении, относительно отрезка (NC-ND)×NB×NA битов.
NA и ND являются взаимно простыми.
Обозначив блоки, выработанные делением внутреннего кода на группы по NB битов, как х=0, 1, …, ND-1 в линейном порядке, обозначив внутренний код как y=0, 1, …, NA-1 в линейном порядке, обозначив блок под номером х внутреннего кода под номером у как (х, y) и полагая k переменной, которая подчитывает число блоков, подлежащих считыванию, относительно отрезка ND×NB×NA битов, первое перемежающее средство может выводить, начиная с внутреннего кода, обозначенного наименьшим числом, блоки, введенные в порядке возрастания чисел, которыми обозначены блоки, в порядке блоков (х, y), представленные:
х=(k mod ND)
y=(k mod NA)
k=0, 1, 2, …, N-1.
Второе перемежающее средство может выполнять второе перемежение путем выполнения обработки в линейном порядке групп по NA блоков, относительно блоков, порядок записи которых был изменен с помощью первого перемежающего средства, и вывода, внутри отрезка из NA блоков, первого бита каждого из блоков по порядку, затем вывода второго бита каждого из блоков по порядку, после этого повторения той же операции и, наконец, вывода бита под номером NB каждого из блоков по порядку.
Цикл перемежения меньше, чем одно кодовое слово композиционного кода.
Способ обработки данных согласно объекту настоящего изобретения включает в себя этап выполнения устройством обработки данных перемежения по отношению к композиционному коду, кодированному в порядке внешнего кода и внутреннего кода путем использования в качестве внешнего кода такого кода, который выполняет исправление ошибок в группах символов с n битами в качестве одного символа, и путем использования в качестве внутреннего кода такого кода, который выполняет исправление ошибок в группах битов: выполняют перемежение по отношению к композиционному коду для изменения порядка записи, чтобы в порядке записи после выполнения перемежения одно и то же кодовое слово внутреннего кода не было включено в i последовательных битов, и чтобы j (j>i) последовательных битов не перекрывали множество символов одного и того же кодового слова внешнего кода.
Программа согласно объекту настоящего изобретения заставляет устройство обработки данных выполнять обработку, причем устройство обработки данных выполняет перемежение по отношению к композиционному коду, кодированному в порядке внешнего кода и внутреннего кода путем использования в качестве внешнего кода такого кода, который выполняет исправление ошибок в группах символов с n битами в качестве одного символа, и путем использования в качестве внутреннего кода такого кода, который выполняет исправление ошибок в группах битов, причем обработка включает в себя этап, на котором выполняют перемежение по отношению к композиционному коду для изменения порядка записи, чтобы в порядке записи после того, как выполнено перемежение, одно и то же кодовое слово внутреннего кода не было включено в i последовательных битов, и чтобы j (j>i) последовательных битов не перекрывали множество символов одного и того же кодового слова внешнего кода.
Устройство обработки данных согласно другому объекту настоящего изобретения включает в себя средство деперемежения для выполнения деперемежения по отношению к данным, считанным с носителя записи, на который записаны данные, для переупорядочивания данных с получением исходного порядка, причем указанные данные получены путем выполнения перемежения по отношению к композиционному коду, который кодирован в порядке внешнего кода и внутреннего кода путем использования в качестве внешнего кода такого кода, который выполняет исправление ошибок в группах символов с n битами в качестве одного символа, и путем использования в качестве внутреннего кода такого кода, который выполняет исправление ошибок в группах битов, чтобы в порядке записи после выполнения перемежения одно и то же кодовое слово внутреннего кода не было включено в i последовательных битов, и чтобы j (j>i) последовательных битов не перекрывали множество символов одного и того же кодового слова внешнего кода.
Средство деперемежения может включать в себя первое деперемежающее средство для выполнения первого деперемежения NA×NB битов NC раз в группах битов, и второе деперемежающее средство для выполнения второго деперемежения NA×NC блоков, где NB (NB=n) битов составляют один блок, путем использования NA фрагментов внутреннего кода, после первого деперемежения с помощью первого деперемежающего средства.
Второе деперемежающее средство может выполнять первое деперемежение путем вывода NA×NC блоков, которые введены по порядку в диагональном направлении, по порядку в одном направлении.
Второе деперемежение с помощью второго деперемежающего средства включает в себя деперемежение в группах по ND×NB×NA битов (ND×NB ≥ длины данных внутреннего кода), и деперемежение сегмента, отличного от этого, а второе деперемежающее средство может выполнять первое деперемежение путем вывода NA×NC блоков, которые введены по порядку в диагональном направлении, по порядку в одном направлении, относительно отрезка ND×NB×NA битов, и затем вывода NA×(NC-ND) блоков, которые введены по порядку в другом направлении, по порядку в одном направлении, относительно отрезка (NC-ND)×NB×NA битов.
NA и ND являются взаимно простыми.
Обозначив блоки, выработанные делением внутреннего кода в группах по NB битов, как х=0, 1, …, ND-1 в линейном порядке, обозначив внутренний код как y=0, 1, …, NA-1 в линейном порядке, обозначив блок под номером х внутреннего кода под номером у как (х, y) и полагая k переменной, которая учитывает число блоков, подлежащих вводу, относительно отрезка ND×NB×NA битов, второе деперемежающее средство может вводить блоки (х, y), представленные
х=(k mod ND)
y=(k mod NA)
k=0, 1, 2, …, N-1,
по порядку, и выводить их в порядке возрастания чисел, которыми обозначены блоки, начиная с внутреннего кода, обозначенного наименьшим числом.
Первое деперемежающее средство может выполнять второе деперемежение путем выполнения обработки в последовательном порядке группами по NB блоков, где NA битов составляют один блок, и вывода, внутри отрезка из NB блоков, первого бита каждого из блоков по порядку, затем вывода второго бита каждого из блоков по порядку, после этого повторения той же операции и, наконец, вывода бита под номером NA каждого из блоков по порядку.
Цикл перемежения меньше, чем одно кодовое слово композиционного кода.
Способ обработки данных согласно другому объекту настоящего изобретения включает в себя этап обработки устройством обработки данных, данных, считываемых с носителя записи, на который записаны данные, причем данные получены путем выполнения перемежения по отношению к композиционному коду, кодированному в порядке внешнего кода и внутреннего кода путем использования в качестве внешнего кода такого кода, который выполняет исправление ошибок в группах символов с n битами в качестве одного символа, и путем использования в качестве внутреннего кода такого кода, который выполняет исправление ошибок в группах битов: выполняют деперемежение по отношению к данным для переупорядочивания данных с получением исходного порядка, причем данные считывают с носителя записи и подвергают перемежению, так чтобы в порядке записи после выполнения перемежения одно и то же кодовое слово внутреннего кода не было включено в i последовательных битов, и чтобы j (j>i) последовательных битов не перекрывали множество символов одного и того же кодового слова внешнего кода.
Программа согласно другому объекту настоящего изобретения вызывает выполнение обработки устройством обработки данных, причем устройство обработки данных обрабатывает данные, считываемые с носителя записи, на который записаны данные, причем данные получены путем выполнения перемежения по отношению к композиционному коду, кодированному в порядке внешнего кода и внутреннего кода путем использования в качестве внешнего кода такого кода, который выполняет исправление ошибок в группах символов с n битами в качестве одного символа, и путем использования в качестве внутреннего кода такого кода, который выполняет исправление ошибок в группах битов, причем обработка включает в себя этап, на котором выполняют деперемежение по отношению к данным для переупорядочивания данных в исходном порядке, причем данные считывают с носителя записи и подвергают перемежению, чтобы в порядке записи после выполнения перемежения, одно и то же кодовое слово внутреннего кода не было включено в i последовательных битов, и чтобы j (j>i) последовательных битов не перекрывали множество символов одного и того же кодового слова внешнего кода.
Согласно одному объекту настоящего изобретения перемежение выполняется по отношению к композиционному коду, кодированному в порядке внешнего кода и внутреннего кода, чтобы в порядке записи после выполнения перемежения одно и то же кодовое слово внутреннего кода не было включено в i последовательных битов, и чтобы j (j>i) последовательных битов не перекрывали множество символов одного и того же кодового слова внешнего кода, тем самым изменяя порядок записи.
Согласно другому объекту настоящего изобретения деперемежение выполняется по отношению к данным, полученным путем выполнения перемежения по отношению к композиционному коду, кодированному в порядке внешнего кода и внутреннего кода, чтобы в порядке записи после того, как выполнено перемежение, одно и то же кодовое слово внутреннего кода не было включено в i последовательных битов, и чтобы j (j>i) последовательных битов не перекрывали множество символов одного и того же кодового слова внешнего кода, тем самым переупорядочивая данные с получением исходного порядка.
Полезные эффекты изобретения
Согласно одному объекту настоящего изобретения порядок записи композиционного кода может быть изменен. Кроме того, согласно объекту настоящего изобретения, пакетные ошибки могут быть рассредоточены относительно обоих кодов композиционного кода.
Согласно другому объекту настоящего изобретения, композиционный код, порядок записи которого был изменен, может быть возвращен к исходному порядку. Кроме того, согласно другому объекту настоящего изобретения, пакетные ошибки могут быть рассредоточены относительно обоих кодов композиционного кода.
Краткое описание чертежей
Фиг.1 является схемой, иллюстрирующей пример конфигурации данных композиционного кода.
Фиг.2 является схемой, иллюстрирующей пример перемежения и деперемежения согласно существующему уровню техники.
Фиг.3 является схемой, иллюстрирующей другой пример перемежения и деперемежения согласно существующему уровню техники.
Фиг.4 является блок-схемой, иллюстрирующей пример конфигурации варианта осуществления устройства записи-воспроизведения, к которому применено настоящее изобретение.
Фиг.5 является схемой, иллюстрирующей пример конфигурации перемежителя.
Фиг.6 является блок-схемой для объяснения процесса записи в устройстве записи-воспроизведения по Фиг.4.
Фиг.7 является схемой для объяснения примера обработки данных поблоковым перемежителем.
Фиг.8 является схемой для объяснения другого примера обработки данных поблоковым перемежителем.
Фиг.9 является схемой для объяснения примера обработки данных побитовым перемежителем.
Фиг.10 является блок-схемой, иллюстрирующей пример конфигурации деперемежителя.
Фиг.11 является блок-схемой для объяснения процесса воспроизведения в устройстве записи-воспроизведения по Фиг.4.
Фиг.12 является схемой, иллюстрирующей пример перемежения с помощью устройства записи-воспроизведения.
Фиг.13 является схемой для объяснения воздействия в случае, когда возникли короткие пакетные ошибки.
Фиг.14 является схемой для объяснения воздействия в случае, когда возникла длинная пакетная ошибка.
Фиг.15 является схемой, иллюстрирующей другой пример перемежения с помощью устройства записи-воспроизведения.
Фиг.16 является схемой для объяснения действия в случае, когда возникли короткие пакетные ошибки.
Фиг.17 является схемой для объяснения действия в случае, когда возникла длинная пакетная ошибка.
Фиг.18 является блок-схемой, иллюстрирующей пример конфигурации аппаратного обеспечения компьютера.
Описание вариантов осуществления
Пример конфигурации устройства записи-воспроизведения
Фиг.4 является блок-схемой, иллюстрирующей пример конфигурации варианта осуществления устройства записи-воспроизведения в качестве устройства обработки данных, к которому применено настоящее изобретение. Это устройство 1 записи-воспроизведения выполняет модулирующее кодирование данных, поданных заранее с предыдущего этапа, и записывает данные на носитель 2 записи, который установлен, а также считывает сигнал с носителя 2 записи, воспроизводит исходный сигнал и подает данные, полученные в результате, на последующий этап.
В примере по Фиг.4 устройство 1 записи-воспроизведения включает в себя кодирующий блок 11, канал 12 связи и декодирующий блок 13. Носитель 2 записи состоит из, например, оптического диска, такого как диск Blu-ray (зарегистрированный товарный знак фирмы Sony) или DVD (универсальный цифровой диск), магнитооптический диск или магнитный диск.
Кодирующий блок 11 включает в себя секцию 21 кодирования внешнего кода, секцию 22 кодирования внутреннего кода, перемежитель 23 и модулирующую секцию 24, и проводит заранее заданную операцию кодирования данных, поданных с непоказанного предыдущего этапа.
Секция 21 кодирования внешнего кода выполняет над данными, поданными с предыдущего этапа, кодирование внешнего кода, используя в качестве внешнего кода код с исправлением ошибок для выполнения декодирования в группах символов с n битами в качестве одного символа, и подает итоговые данные на секцию 22 кодирования внутреннего кода. В качестве внешнего кода используется, например, код RC (Рида-Соломона), который является кодом с исправлением ошибок для выполнения посимвольного декодирования. Используя код RC (n, k) (n - длина кода, k - длина данных), который кодирует k символов в n символов, можно исправлять ошибки вплоть до числа корректировок (n-k)/2 символов путем декодирования с ограниченным расстоянием.
Секция 22 кодирования внутреннего кода выполняет над данными от секции 21 кодирования внешнего кода кодирование внутреннего кода, используя в качестве внутреннего кода код с исправлением ошибок для выполнения кодирования в группах битов. В качестве внутреннего кода используется, например, турбокод, код LDPC (низкой плотности проверок на четкость) и т.п., который является кодом с исправлением ошибок для выполнения декодирования в группах битов. Использование этих кодов может обеспечить большую эффективность кодирования, тем самым позволяя выполнять передачу высокого качества. Секция 22 кодирования внутреннего кода подает композиционный код, который является кодом, кодированным с помощью секции 22 кодирования внутреннего кода после того, как он был кодирован с помощью секции 21 кодирования внешнего кода, на перемежитель 23.
Перемежитель 23 выполняет перемежение (переупорядочивание) композиционного кода с секции 22 кодирования внутреннего кода, чтобы изменить его порядок записи, и подает перемеженные данные на модулирующую секцию 24. Перемежитель 23 изменяет порядок записи таким образом, что в перемеженных данных одно и то же кодовое слово внутреннего кода не включено в i последовательных битов, a j (j>i) последовательных битов не перекрывают множество символов одного и того же кодового слова внешнего кода. Кроме того, цикл перемежения с помощью перемежителя 23 меньше, чем одно кодовое слово композиционного кода.
Модулирующая секция 24 применяет заранее заданное модулирование к данным, порядок записи которых был изменен с помощью перемежителя 23, и подает сигнал, полученный в результате, в канал 12 связи.
Канал 12 связи включает в себя секцию 31 записи-воспроизведения и секцию 32 компенсации и выполняет, например, процесс записи-воспроизведения на канале записи-воспроизведения PR2 (частичного отклика класса 2). Секция 31 записи-воспроизведения выполняет, например, кодирование NRZI (без возврата к нулю с инверсией) сигнала, поданного с кодирующего блока 11, и записывает сигнал, кодированный NRZI, на установленный носитель 2 записи, используя, например, способ записи с маркировкой края.
Кроме того, секция 31 записи-воспроизведения считывает запись кодированного сигнала на носителе 2 записи на канале PR2 и подает считанный сигнал на секцию 32 выравнивания. Секция 32 выравнивания применяет выравнивание PR к поданному сигналу, используя наложение формы сигнала, чтобы достичь заранее заданных целевых характеристик выравнивания, и подает сигнал на декодирующий блок 13.
Декодирующий блок 13 включает в себя демодулирующую секцию 41, деперемежитель 42, секцию 43 декодирования внутреннего кода и секцию 44 декодирования внешнего кода, и выполняет процесс декодирования сигнала из канала 12 связи.
Демодулирующая секция 41 выполняет демодуляцию сигнала из канала 12 связи в соответствии с модуляцией, примененной модулирующей секцией 24, и подает демодулированные данные на деперемежитель 42.
Деперемежитель 42 выполняет деперемежение данных с демодулирующей секции 41 в направлении, противоположном перемежению перемежителя 23, чтобы тем самым вернуть порядок записи, измененный перемежителем 23, к исходному порядку, и подает композиционный код в виде деперемеженных данных на секцию 43 декодирования внутреннего кода.
Секция 43 декодирования внутреннего кода выполняет по отношению к композиционному коду с деперемежителя 42 декодирование внутреннего кода в соответствии с кодированием с помощью секции 22 кодирования внутреннего кода, и подает декодированные данные на секцию 44 декодирования внешнего кода. Секция 44 декодирования внешнего кода выполняет по отношению к данным с секции 43 декодирования внутреннего кода декодирование внешнего кода в соответствии с кодированием с помощью секции 21 кодирования внешнего кода, и подает декодированные данные на непоказанный последующий этап.
Пример конфигурации перемежителя
Фиг.5 представляет собой пример конфигурации перемежителя по Фиг.4.
В примере по Фиг.5 перемежитель 23 выполняет перемежение в два этапа. То есть, перемежитель 23 включает в себя поблоковый перемежитель 51, который выполняет первый этап перемежения в группах блоков, и побитовый перемежитель 52, который выполняет второй этап перемежения в группах битов.
Поблоковый перемежитель 51 обрабатывает данные в группах по NB битов. Другими словами, в поблоковом перемежителе 51 обработка выполняется в группах блоков, где один блок составляют NB битов. Поблоковый перемежитель 51 накапливает биты, эквивалентные NA фрагментам внутреннего кода, то есть, NA×NB×NC битов, во встроенном ОЗУ (оперативном запоминающем устройстве). Следует отметить, что NC представляет собой число битов одного фрагмента внутреннего кода/NB битов, то есть число блоков в одном фрагменте внутреннего кода.
Первый этап перемежения с помощью поблокового перемежителя 51 включает в себя перемежение А в группах по ND×n×NA битов и перемежение В остатка в группах по ((NA×NB×NC) - (ND×n×NA)) битов.
Здесь n - число битов, представляющих собой один символ внешнего кода, и оно равно числу битов NB одного блока поблокового перемежителя 51. Кроме того, NA и NB являются взаимно простыми, a ND×n, то есть ND×NB, должно быть равно или больше длины данных внутреннего кода.
Поблоковый перемежитель 51 сначала выполняет перемежение А по отношению к NA×NB×NC битов, выполняет перемежение В по отношению к (NC-ND)×NB×NA битов и передает данные D51, полученные после перемежения, на побитовый перемежитель 52. То есть поблоковый перемежитель 51 прежде всего пропускает на побитовый перемежитель 52 блоки, по отношению к которым было выполнено перемежение А, а затем пропускает блоки, по отношению к которым было выполнено перемежение В.
Побитовый перемежитель 52 выполняет второй этап перемежения NA×NB битов NC раз в группах битов, используя встроенное ОЗУ. Данные, по отношению к которым было выполнено перемежение с помощью побитового перемежителя 52, подаются на модулирующую секцию 24.
Процесс записи в устройстве записи-воспроизведения
Далее будет описан процесс записи в устройстве записи-воспроизведения со ссылкой на блок-схему по Фиг.6.
Данные подаются на секцию 21 кодирования внешнего кода с непоказанного предыдущего этапа. На этапе S11 секция 21 кодирования внешнего кода выполняет по отношению к введенным данным кодирование внешнего кода, используя в качестве внешнего кода код с исправлением ошибок для выполнения декодирования в группах символов с n битами в качестве одного символа.
Данные, по отношению к которым было выполнено кодирование внешнего кода, подаются на секцию 22 кодирования внутреннего кода.
На этапе S12 секция 22 кодирования внутреннего кода выполняет по отношению к данным с секции 21 кодирования внешнего кода кодирование внутреннего кода, используя в качестве внутреннего кода код с исправлением ошибок для выполнения декодирования в группах битов. Секция 22 кодирования внутреннего кода подает композиционный код, который является кодом, кодированным с помощью секции 22 кодирования внутреннего кода после того, как он был кодирован секцией 21 кодирования внешнего кода, на перемежитель 23.
На этапе S 13 поблоковый перемежитель 51 выполняет первый этап перемежения в группах блоков по отношению к композиционному коду с секции 22 кодирования внутреннего кода. Подробности этого процесса перемежения с помощью поблокового перемежителя 51 будут описаны ниже со ссылкой на Фиг.7.
Данные D51, полученные после перемежения с помощью поблокового перемежителя 51, подаются на побитовый перемежитель 52.
На этапе S14 побитовый перемежитель 52 выполняет второй этап перемежения в группах битов по отношению к данным, по отношению к которым было выполнено перемежение поблоковым перемежителем 51. Подробности этого процесса перемежения с помощью устройства 51 побитового перемежения будут описаны ниже со ссылкой на Фиг.9.
Данные, полученные после того, как выполнено перемежение в порядке этапов S13 и S14, переупорядочены в таком порядке записи, что одно и то же кодовое слово внутреннего кода не включено в i последовательных битов, a j (j>i) последовательных битов не перекрывают множество символов одного и того же кодового слова внешнего кода. Данные, по отношению к которым выполнено перемежение побитовым перемежителем 52, подаются на модулирующую секцию 24.
На этапе S15 модулирующая секция 24 применяет заранее заданную модуляцию к данным, порядок записи которых изменен поблоковым перемежителем 51 и побитовым перемежителем 52, и подает полученный в результате сигнал на секцию 31 записи-воспроизведения.
На этапе S16 секция 31 записи-воспроизведения выполняет кодирование NRZI сигнала, поданного с модулирующей секции 24, и записывает NRZI-кодированный сигнал на установленный носитель 2 записи.
В описанном выше способе данные записываются на носитель 2 записи в таком порядке записи, что одно и то же кодовое слово внутреннего кода не включено в i последовательных битов, a j (j>i) последовательных битов не перекрывают множество символов одного и того же кодового слова внешнего кода.
Подробное описание устройства поблокового перемежения
Фиг.7 является схемой, иллюстрирующей пример первого этапа перемежения с помощью поблокового перемежителя 51. В примере по Фиг.7 показан композиционный код с порядком ввода в прикрепленное ОЗУ и его порядок вывода в случае, когда NA=5, NB=n=4, NC=0 и ND=7.
В случае примера по Фиг.7 композиционный код включает в себя NC=10 блоков внешнего кода в направлении столбцов (направление слева направо на чертеже) и включает в себя NA=5 фрагментов внутреннего кода в направлении строк (направление сверху вниз на чертеже). Круглые значки, показанные в первом внутреннем коде, обозначают биты первого внутреннего кода, а значки ×, показанные во втором внутреннем коде, обозначают биты второго внутреннего кода. Аналогично, значки в виде треугольника вершиной вверх, показанные в третьем внутреннем коде, обозначают биты третьего внутреннего кода, квадратные значки, показанные в четвертом внутреннем коде, обозначают биты четвертого внутреннего кода, а значки в виде треугольника вершиной вниз, показанные в пятом внутреннем коде, обозначают биты пятого внутреннего кода.
То есть длина кода одного фрагмента внутреннего кода составляет 40 битов, он состоит из NC=10 блоков, где NB=4 бита составляют один блок в каждом фрагменте внутреннего кода. Номера, указанные в блоках, обозначают порядок ввода в ОЗУ. Кроме того, ND=7 блоков из NC=10 блоков внешнего кода, которые формируют каждый фрагмент внутреннего кода, являются сегментом пользовательских данных, a NC-ND (=3) блока, указанных литерой Р, являются сегментом четности внутреннего кода.
Секция 51 поблокового перемежения выполняет перемежение А по отношению к ND×NB×NA (=7×4×5) битам, который представляют собой сегмент пользовательских данных композиционного кода по Фиг.7.
Во время перемежения А, как указано порядком ввода, данные вводятся группами по NB битов (поблочно) в порядке направления столбцов в качестве одного направления. То есть блоки, которым присвоены номера с 1 по 50, вводятся в порядке возрастания номеров. Затем, например, данные в ОЗУ считываются по порядку в диагональном направлении направо вниз таким образом, что за первым по порядку ввода блоком считывается двенадцатый блок. Следует отметить, что направление, в котором считываются данные, может быть любым диагональным направлением, и не ограничено строго направлением по диагонали направо вниз.
Конкретнее, обозначим блоки, выработанные путем деления внутреннего кода на группы по NB битов, как х=0, 1, …, ND-1 в последовательном порядке, обозначим внутренний код как y=0, 1, …, NA-1 в последовательном порядке, и обозначим блок под номером х во внутреннем коде под номером у как (х, y). Например, первый блок по порядку ввода обозначен (0,0). В этом случае считывание вследствие перемежения А будет производиться в порядке блоков (х, y), представленном формулой (1).
Здесь A mod В представляет собой остаток от деления А на В, k является переменной, которая считает число блоков, подлежащих считыванию, а N является числом считанных блоков NA×ND.
В результате этого перемежения А блоки в диапазоне ND×B×NA битов, которые являются сегментом пользовательских данных, выводятся из поблокового перемежителя 51 в следующем последовательном порядке, как указано их порядком вывода.
Сначала первый по порядку ввода блок (0,0) первого внутреннего кода выводится первым, двенадцатый по порядку ввода блок (1,1) второго внутреннего кода выводится вторым, а двадцать третий по порядку ввода блок (2,2) третьего внутреннего кода выводится третьим. Тридцать четвертый по порядку ввода блок (3,3) четвертого внутреннего кода выводится четвертым, а сорок пятый по порядку ввода блок (4,4) пятого внутреннего кода выводится пятым.
После этого шестой по порядку ввода блок (5,0) первого внутреннего кода выводится шестым, семнадцатый по порядку ввода блок (6,1) второго внутреннего кода выводится седьмым, а двадцать первый по порядку ввода блок (0,2) третьего внутреннего кода выводится восьмым. Тридцать второй по порядку ввода блок (1,3) четвертого внутреннего кода выводится девятым, а сорок третий по порядку ввода блок (2,4) пятого внутреннего кода выводится десятым. Затем четвертый по порядку ввода блок (3,0) первого внутреннего кода выводится одиннадцатым, пятнадцатый по порядку ввода блок (4,1) второго внутреннего кода выводится двенадцатым, а двадцать шестой по порядку ввода блок (5,2) третьего внутреннего кода выводится тринадцатым. Двадцать седьмой по порядку ввода блок (6,3) четвертого внутреннего кода выводится четырнадцатым, а сорок первый по порядку ввода блок (4,0) пятого внутреннего кода выводится пятнадцатым.
Далее, второй по порядку ввода блок (1,0) первого внутреннего кода выводится шестнадцатым, тринадцатый по порядку ввода блок (2,1) второго внутреннего кода выводится семнадцатым, а двадцать четвертый по порядку ввода блок (3,2) третьего внутреннего кода выводится восемнадцатым. Тридцать пятый по порядку ввода блок (4,3) четвертого внутреннего кода выводится девятнадцатым, а сорок шестой по порядку ввода блок (5,4) пятого внутреннего кода выводится двадцатым. Далее, седьмой по порядку ввода блок (6,0) первого внутреннего кода выводится двадцать первым, одиннадцатый по порядку ввода блок (0,1) второго внутреннего кода выводится двадцать вторым, а двадцать второй по порядку ввода блок (1,2) первого внутреннего кода выводится двадцать третьим. Тридцать третий по порядку ввода блок (2,3) четвертого внутреннего кода выводится двадцать четвертым, а сорок четвертый по порядку ввода блок (3,4) пятого внутреннего кода выводится двадцать пятым.
После этого пятый по порядку ввода блок (4,0) первого внутреннего кода выводится двадцать шестым, шестнадцатый по порядку ввода блок (5,1) второго внутреннего кода выводится двадцать седьмым, а двадцать седьмой по порядку ввода блок (6,2) третьего внутреннего кода выводится двадцать восьмым. Тридцать третий по порядку ввода блок (0,3) четвертого внутреннего кода выводится двадцать девятым, а сорок второй по порядку ввода блок (1,4) пятого внутреннего кода выводится тридцатым. Далее, третий по порядку ввода блок (2,0) первого внутреннего кода выводится тридцать первым, четырнадцатый по порядку ввода блок (3,1) второго внутреннего кода выводится тридцать вторым, а двадцать пятый по порядку ввода блок (4,2) третьего внутреннего кода выводится тридцать третьим. Тридцать шестой по порядку ввода блок (5,3) четвертого внутреннего кода выводится тридцать четвертым, а сорок седьмой по порядку ввода блок (6,4) пятого внутреннего кода выводится тридцать пятым.
В результате считывания данных в описанном выше порядке в данных, которые считаны, последовательность данных изменяется таким образом, что блок, принадлежащий к одному и тому же кодовому слову внутреннего кода, не появляется дважды в i=NA=5 последовательных блоках при просмотре в порядке вывода. В то же время последовательность данных изменяется таким образом, что разные символы одного и того же кодового слова внешнего кода не появляются в NA×NE последовательных блоках. Здесь NE - наибольшее целое число, удовлетворяющее неравенству NA×NE≤ND. То есть в случае примера по Фиг.6 NE=1, а последовательность данных изменяется таким образом, что разные символы одного и того де кодового слова внешнего кода не появляются в NA×NE=5 последовательных блоках.
Таким образом, даже когда на участке, подвергнутом перемежению А, возникает короткая пакетная ошибка, эта короткая пакетная ошибка может быть преобразована в несистематическую ошибку относительно как внешнего кода, так и внутреннего кода. С другой стороны, даже когда возникает длинная пакетная ошибка, эта ошибка может быть рассредоточена до некоторой степени относительно внутреннего кода и, в то же время, эта ошибка может быть обработана как пакетная ошибка относительно внешнего кода. Подробности этого действия будут описаны ниже со ссылкой на Фиг.12-17.
В связи с этим предположим диапазон, полученный путем повторения ND блоков множество раз (например, NA раз), и повторения NA фрагментов внутреннего кода множество раз (например, ND раз). Можно также сказать, что в этом диапазоне перемежение А достигается путем выведения NA×ND блоков в порядке таким образом, что блок, расположенный по диагонали под блоком, подлежащим выводу, становится следующим блоком, подлежащим выводу.
Далее, поблоковый перемежитель 51 выполняет перемежение В по отношению к сегменту композиционного кода по Фиг.7, исключая сегмент пользовательских данных, то есть, (NC-ND)×NB×NA(=2×4×5) битов, который является сегментом четности внутреннего кода, обозначенный литерой Р.
При перемежении В данные вводятся в ОЗУ группами по NB битов (поблочно) в порядке направления столбцов (горизонтальное направление на чертеже) в качестве одного направления, а введенные данные в ОЗУ считываются в порядке направления строк (вертикальное направление на чертеже) в качестве другого направления.
При этом перемежении В с поблокового перемежителя 51 после блоков в сегменте пользовательских данных блоки внутри отрезка (NC-ND)×NB×NA битов, который является сегментом четности внутреннего кода, выводятся в следующем последовательном порядке, как указано порядком вывода.
Вначале восьмой по порядку ввода блок первого внутреннего кода выводится тридцать шестым, восемнадцатый по порядку ввода блок второго внутреннего кода выводится тридцать седьмым, а двадцать восьмой по порядку ввода блок третьего внутреннего кода выводится тридцать восьмым. Тридцать восьмой по порядку ввода блок четвертого внутреннего кода выводится тридцать девятым, а сорок восьмой по порядку ввода блок пятого внутреннего кода выводится сороковым.
Кроме того, девятый по порядку ввода блок первого внутреннего кода выводится сорок первым, девятнадцатый по порядку ввода блок второго внутреннего кода выводится сорок вторым, а двадцать девятый по порядку ввода блок третьего внутреннего кода выводится сорок третьим. Тридцать девятый по порядку ввода блок четвертого внутреннего кода выводится сорок четвертым, а сорок девятый по порядку ввода блок пятого внутреннего кода выводится сорок пятым. Далее, десятый по порядку ввода блок первого внутреннего кода выводится сорок шестым, двадцатый по порядку ввода блок второго внутреннего кода выводится сорок седьмым, а тридцатый по порядку ввода блок третьего внутреннего кода выводится сорок восьмым. Сороковой по порядку ввода блок четвертого внутреннего кода выводится сорок девятым, а пятидесятый по порядку ввода блок пятого внутреннего кода выводится пятидесятым.
В результате считывания данных в описанном выше порядке в данных, которые считаны, последовательность данных изменяется таким образом, что блок, принадлежащий к одному и тому же кодовому слову внутреннего кода, не появляется дважды в NA=5 последовательных блоках при просмотре в порядке вывода.
Таким образом, даже когда на участке, подвергнутом перемежению В, возникает короткая пакетная ошибка, эта короткая пакетная ошибка может быть преобразована в несистематическую ошибку относительно и внешнего кода, и внутреннего кода.
Следует отметить что, в отличие от участка, подвергнутого перемежению А, этот участок, подвергнутый перемежению В, является сегментом без кодовых слов при просмотре из внешнего кода, и, таким образом, он достаточен для того, чтобы короткая пакетная ошибка стал несистематической ошибкой в момент декодирования внутреннего кода.
Кроме того, обозначим блоки, полученные путем деления внутреннего кода групп по NB битов, как х=0, 1, …, NC-1 в линейном порядке, обозначим внутренний код как у=0, 1, …, NA-1 в линейном порядке, и обозначим блок под номером х во внутреннем коде под номером у как (х, у).
В этом случае можно также сказать, что поблоковый перемежитель 51 реализует перемежение В путем выполнения преобразования по отношению к отрезку из (NC-ND)×NB×NA битов таким образом, что, для сигналов перед перемежением:
(ND, 0), (ND+1,0), …, (NC-1,0),
(ND, 1), (ND+1,1), …, (NC-1,1),
…,
(ND, NA-1), (1, NA-1), …, (NC-1, NA-1),
после перемежения сигналы становятся такими:
(ND, 0), (ND, 1), …, (ND, NA-1),
(ND+1,0), (ND+1,1), …, (ND+1, NA-1),
…,
(NC-1,0), (NC-1,1), …, (NC-1, NA-1).
Далее, другими словами, можно сказать, что перемежение В реализуется путем вывода блока под номером (ND+1) в каждом фрагменте внутреннего кода по порядку, вывода блока под номером (ND+2) в каждом фрагменте внутреннего кода по порядку, и в дальнейшем, аналогично, вывода блока под номером NC в каждом фрагменте внутреннего кода по порядку, относительно диапазона из (NC-ND)×NB×NA битов.
Другое описание поблокового перемежителя
Фиг.8 является схемой, иллюстрирующей другой пример первого этапа перемежения с помощью поблокового перемежителя 51. В примере по Фиг.8 показан композиционный код с закрепленным порядком ввода в ОЗУ и его порядок вывода в случае, когда NA=5, NB=n=4, NC=7 и ND=7.
В примере по Фиг.8 единственным отличием от примера по Фиг.7 является отсутствие сегмента, подлежащего обработке путем перемежения В, а в остальном основной процесс перемежения А тот же, что в случае примера по Фиг.7. То есть в примере по Фиг.8 то же перемежение А, как в сегменте пользовательских данных, также выполняется по отношению к непоказанному сегменту четности внутреннего кода. Следует отметить, что в случае примера по Фиг.8 условия, что ND=NC, a NA и NC взаимно простые числа, являются необходимыми.
То есть в случае примера по Фиг.8 поблоковый перемежитель 51 вводит данные группами по NB битов (=блок за блоком) в порядке направления столбцов, по отношению к NC×NB×NA (=7×4×5) битов. Затем поблоковый перемежитель 51 считывает данные в ОЗУ по порядку в диагональном направлении направо вниз в том же линейном порядке, что в случае с ND×NB×NA битов по Фиг.7, так что вслед за первым по порядку ввода блоком считывается девятый блок.
В результате этого перемежения с поблокового перемежителя 51 блоки внутри отрезка NC×NB×NA битов выводятся в следующем линейном порядке, как указано порядком их вывода.
Сначала первый по порядку ввода блок (0,0) первого внутреннего кода выводится первым, девятый по порядку ввода блок (1,1) второго внутреннего кода выводится вторым, а семнадцатый по порядку ввода блок (2,2) третьего внутреннего кода выводится третьим. Затем двадцать пятый по порядку ввода блок (3,3) четвертого внутреннего кода выводится четвертым, а тридцать третий по порядку ввода блок (4,4) пятого внутреннего кода выводится пятым.
Кроме того, шестой по порядку ввода блок (5,0) первого внутреннего кода выводится шестым, четырнадцатый по порядку ввода блок (6,1) второго внутреннего кода выводится седьмым, а пятнадцатый по порядку ввода блок (0,2) третьего внутреннего кода выводится восьмым. Двадцать третий по порядку ввода блок (1,3) четвертого внутреннего кода выводится девятым, а тридцать первый по порядку ввода блок (2,4) пятого внутреннего кода выводится десятым. Далее, четвертый по порядку ввода блок (3,0) первого внутреннего кода выводится одиннадцатым, двенадцатый по порядку ввода блок (4,1) второго внутреннего кода выводится двенадцатым, а двадцатый по порядку ввода блок (5,2) третьего внутреннего кода выводится тринадцатым. Двадцать восьмой по порядку ввода блок (6,3) четвертого внутреннего кода выводится четырнадцатым, а двадцать девятый по порядку ввода блок (0,4) пятого внутреннего кода выводится пятнадцатым.
Далее, второй по порядку ввода блок (1,0) первого внутреннего кода выводится шестнадцатым, десятый по порядку ввода блок (2,1) второго внутреннего кода выводится семнадцатым, а восемнадцатый по порядку ввода блок (3,2) третьего внутреннего кода выводится восемнадцатым. Двадцать шестой по порядку ввода блок (4,3) четвертого внутреннего кода выводится девятнадцатым, а тридцать четвертый по порядку ввода блок (5,4) пятого внутреннего кода выводится двадцатым. Далее, седьмой по порядку ввода блок (6,0) первого внутреннего кода выводится двадцать первым, восьмой по порядку ввода блок (0,1) второго внутреннего кода выводится двадцать вторым, а шестнадцатый по порядку ввода блок (1,2) третьего внутреннего кода выводится двадцать третьим. Двадцать четвертый по порядку ввода блок (2,3) четвертого внутреннего кода выводится двадцать четвертым, а тридцать второй по порядку ввода блок (3,4) пятого внутреннего кода выводится двадцать пятым.
Кроме того, пятый по порядку ввода блок (4,0) первого внутреннего кода выводится двадцать шестым, шестнадцатый по порядку ввода блок (5,1) второго внутреннего кода выводится двадцать седьмым, а двадцать первый по порядку ввода блок (6,2) третьего внутреннего кода выводится двадцать восьмым. Двадцать второй по порядку ввода блок (0,3) четвертого внутреннего кода выводится двадцать девятым, а тридцатый по порядку ввода блок (1,4) пятого внутреннего кода выводится тридцатым. Далее, третий по порядку ввода блок (2,0) первого внутреннего кода выводится тридцать первым, одиннадцатый по порядку ввода блок (3,1) второго внутреннего кода выводится тридцать вторым, а девятнадцатый по порядку ввода блок (4,2) третьего внутреннего кода выводится тридцать третьим. Двадцать седьмой по порядку ввода блок (5,3) четвертого внутреннего кода выводится тридцать четвертым, а тридцать пятый по порядку ввода блок (6,4) пятого внутреннего кода выводится тридцать пятым.
Как описано выше, первый этап перемежения с помощью поблокового перемежителя 51 также может быть скомпонован только из перемежения А.
Подробное описание побитового перемежителя
Фиг.9 является схемой, иллюстрирующей пример второго этапа перемежения с помощью побитового перемежителя 52. В примере по Фиг.9 показаны порядок ввода в ОЗУ и порядок вывода в случае, если NA=5 и NB=4.
Побитовый перемежитель 52 выполняет побитовое перемежение, которое изменяет порядок битов NC раз для каждых NA блоков как группы из NA блоков (NB битов), порядок которых был изменен с помощью поблокового перемежителя 51.
То есть, побитовый перемежитель 52 выполняет перемежение для каждых 5 блоков, состоящих каждый из 4 битов. Объясним это, используя номера, присвоенные блокам на Фиг.7 (номера, указывающие порядок ввода в поблоковый перемежитель 51). Побитовый перемежитель 52 вводит биты (круглые значки) первого по порядку блока и вводит биты (значки ×) двенадцатого по порядку блока. Далее, побитовый перемежитель 52 вводит биты (значки в виде треугольника вершиной вверх) двадцать третьего по порядку блока, вводит биты (квадратные значки) тридцать четвертого по порядку блока и вводит биты (значки в виде треугольника вершиной вниз) сорок пятого по порядку блока.
Затем побитовый перемежитель 52 выводит первый бит каждого блока по порядку и выводит второй бит каждого блока по порядку. Далее побитовый перемежитель 52 выводит третий бит каждого блока по порядку, выводит четвертый бит каждого блока по порядку и выводит пятый бит каждого блока по порядку, тем самым выполняя перемежение.
То есть, как указано порядком вывода на Фиг.9, первыми по порядку выводятся первый бит первого блока, первый бит двенадцатого блока, первый бит двадцать третьего блока, первый бит тридцать четвертого блока и первый бит сорок пятого блока. Далее по порядку выводятся второй бит первого блока, второй бит двенадцатого блока, второй бит двадцать третьего блока, второй бит тридцать четвертого блока и второй бит сорок пятого блока. Затем, аналогично, по порядку выводятся с третьего по четвертый биты каждого из блоков.
В дальнейшем такой процесс повторяется NC-1 раз для блоков, отличных от блоков, упомянутых выше, и перемежение с помощью устройства 51 побитового перемежения завершается.
Как описано выше, в устройстве 1 записи-воспроизведения выполняются перемежение с помощью поблокового перемежителя 51, упомянутое выше со ссылкой на Фиг.7, и перемежение с помощью побитового перемежителя 52, упомянутое выше со ссылкой на Фиг.9.
Таким образом, композиционные данные, кодированные в порядке внешнего кода и внутреннего кода, могут быть переупорядочены в данные в таком порядке, что одно и то же кодовое слово внутреннего кода не включено в i (=NA) последовательных битов, a j (j=NA×NB×NE>i) последовательных битов не перекрывают множество символов одного и того же кодового слова внешнего кода.
Пример конфигурации деперемежителя
Фиг.10 представляет собой пример конфигурации деперемежителя по Фиг.4.
В примере по Фиг.10 деперемежитель 42 выполняет деперемежение в два этапа, скомпонованных способом, обратным перемежителю 23 по Фиг.5. То есть деперемежитель 42 включает в себя побитовый деперемежитель 71, который выполняет первый этап деперемежения в группах битов, и поблоковый деперемежитель 72, который выполняет второй этап деперемежения в группах блоков. Следует отметить, что первый этап деперемежения с помощью побитового деперемежителя 71 соответствует второму этапу перемежения. Также, второй этап деперемежения с помощью поблокового деперемежителя 72 соответствует первому этапу перемежения.
Побитовый деперемежитель 71 выполняет деперемежение NA×NB битов NC раз в направлении, противоположном второму этапу перемежения, упомянутому выше со ссылкой на Фиг.9. То есть, ссылаясь для пояснения вновь на Фиг.9, биты вводятся в порядке вывода по Фиг.9 в ОЗУ побитового деперемежителя 71. Затем из ОЗУ выводится по порядку первый бит каждого из NB(=4) блоков, составленных каждый из NA(=5) битов, и выводится по порядку второй бит каждого из блоков. Далее выводятся по порядку третий бит каждого из блоков, четвертый бит каждого из блоков и пятый бит каждого из блоков.
В результате, как указано порядком ввода по Фиг.9, порядок упорядочивания данных меняется на порядок первого, двенадцатого, двадцать третьего, тридцать четвертого и сорок пятого блоков, составленных каждый из 4 битов, и данные D71, порядок упорядочивания которых изменен, пропускаются на поблоковый деперемежитель 72.
В дальнейшем такой процесс повторяется NC-1 раз для блоков, отличных от блоков, упомянутых выше, и деперемежение с помощью побитового деперемежителя 71 завершается.
Поблоковый деперемежитель 72 выполняет поблоковое деперемежение, причем NB битов составляют один блок. Образом, соответствующим первому этапу перемежения, упомянутым выше со ссылкой на Фиг.7, деперемежение с помощью поблокового деперемежителя 72, также включает в себя деперемежение А в группах по ND×NB×NA битов и деперемежение В остатка в группах по (NC-ND)×NB×NA битов.
Поблоковый деперемежитель 72 сначала выполняет деперемежение А, выполняет деперемежение В и подает композиционный код как деперемеженные данные на элемент 43 декодирования внутреннего кода. То есть поблоковый деперемежитель 72 сначала подает блоки, по отношению к которым было выполнено деперемежение А, а затем подает блоки, по отношению к которым было выполнено деперемежение В, на элемент 43 декодирования внутреннего кода.
При деперемежении А выполняется переупорядочивание в направлении, противоположном перемежению А, упомянутому выше со ссылкой на Фиг.7. То есть при деперемежении А данные вводятся по порядку в диагональном направлении направо вниз, который является порядком вывода при перемежении А. Конкретнее, данные вводятся в порядке блоков (х, у), представленном формулой (1). Затем данные в ОЗУ выводятся в порядке направления столбцов, который является порядком ввода при перемежении А.
При деперемежении В выполняется переупорядочивание в направлении, противоположном перемежению В, упомянутому выше со ссылкой на Фиг.7. То есть, при деперемежении В данные вводятся в порядке направления строк, который является порядком вывода при перемежении В, а введенные в ОЗУ данные считываются в порядке направления столбцов, который является порядком ввода при перемежении В.
Следует отметить, что в случае, если поблоковый перемежитель 51 выполняет только перемежение А соответствующим образом, упомянутом выше со ссылкой на Фиг.8, в поблоковом деперемежителе 72 также выполняется только деперемежение А.
Процесс воспроизведения в устройстве записи-воспроизведения
Далее со ссылкой на блок-схему по Фиг.11 будет описан процесс воспроизведения в устройстве 1 записи-воспроизведения. Кодированные сигналы записываются на носитель 2 записи в порядке записи, который был изменен таким образом, что одно и то же кодовое слово внутреннего кода не включено в i последовательных битов, a j (j>i) последовательных битов не перекрывают множество символов одного и того же кодового слова внешнего кода.
На этапе S31 секция 31 записи-воспроизведения считывает кодированный сигнал, записанный на носитель 2 записи, на канале PR2, и подает считанный сигнал на секцию 32 выравнивания. На этапе S32 секция 32 выравнивания применяет выравнивание PR к поданному сигналу с помощью наложения формы сигнала для достижения заранее заданных целевых характеристик выравнивания, и подает сигнал на декодирующий блок 13.
На этапе S33 демодулирующая секция 41 выполняет по отношению к сигналу с секции 32 выравнивания демодуляцию, соответствующую модуляции, примененной модулирующей секций 24, и выводит демодулированные данные на побитовый деперемежитель 71.
На этапе S34 побитовый деперемежитель 71 выполняет первый этап деперемежения в группах битов, который соответствует второму этапу перемежения. То есть побитовый деперемежитель 71 выполняет деперемежение NA×NB битов, подробно описанных выше со ссылкой на Фиг.10, NC раз, в направлении, противоположном второму этапу перемежения, упомянутому выше со ссылкой на Фиг.9.
Данные D71, полученные после деперемежения с помощью побитового деперемежителя 71, выводятся в поблоковый деперемежитель 72.
На этапе S35 поблоковый деперемежитель 72 выполняет второй этап деперемежения в группах блоков, который соответствует первому этапу перемежения.
Как упомянуто выше в подробностях со ссылкой на Фиг.10, поблоковый деперемежитель 72 сначала выполняет деперемежение А, выполняет деперемежение В и подает композиционный код как деперемеженные данные на секцию 43 декодирования внутреннего кода. То есть поблоковый деперемежитель 72 сначала подает блоки, по отношению к которым выполнено деперемежение А, а затем подает блоки, по отношению к которым выполнено деперемежение В, в секцию 43 декодирования внутреннего кода.
На этапе S36 секция 43 декодирования внутреннего кода выполняет по отношению к композиционному коду из поблокового деперемежителя 72 декодирование внутреннего кода в соответствии с кодированием с помощью секции 22 кодирования внутреннего кода и выводит декодированные данные в секцию 44 декодирования внешнего кода.
На этапе S37 секция 44 декодирования внешнего кода выполняет по отношению, к данным из секции 43 декодирования внутреннего кода декодирование внешнего кода в соответствии с кодированием с помощью секции 21 кодирования внешнего кода и выводит декодированные данные на непоказанный следующий этап.
Описанным выше образом воспроизводятся данные, записанные на носитель 2 записи.
Частный пример результата
Далее со ссылкой на Фиг.12-14 будут описаны результаты перемежения и деперемежения с помощью устройства 1 записи-воспроизведения. На Фиг.12-14 показан пример в случае, когда NA=5, NB=n=4, NC=13 и ND=11.
Фиг.12 является схемой, иллюстрирующей композиционный код, введенный в ОЗУ поблокового перемежителя 52 в порядке направления столбцов, и данные, полученные в результате перемежения, выполненного по отношению к композиционному коду (то есть в порядке записи на носитель 2 записи). Фиг.13 является схемой, иллюстрирующей данные, в которых возникли короткие пакетные ошибки после того, как данные подверглись перемежению по Фиг.12, записаны на носитель 2 записи и считаны с носителя 2 записи, и композиционный код, полученный в результате того, что данные деперемежены и переупорядочены в исходном порядке. Фиг.14 является схемой, иллюстрирующей данные, в которых возникли длинные пакетные ошибки после того, как данные подверглись перемежению по Фиг.12, записаны на носитель 2 записи и считаны с носителя 2 записи, и композиционный код, полученный в результате того, что данные деперемежены и переупорядочены в исходном порядке.
В случае с примером по Фиг.12 композиционный код включает в себя NC=13 блоков внешнего кода в направлении столбцов (горизонтальное направление на чертеже), а также включает в себя NA=5 фрагментов внутреннего кода в направлении строк. Круглые значки, показанные в первом внутреннем коде, обозначают биты первого внутреннего кода, а значки ×, показанные во втором внутреннем коде, обозначают биты второго внутреннего кода. Аналогично, значки в виде треугольника вершиной вверх, показанные в третьем внутреннем коде, обозначают биты третьего внутреннего кода, квадратные значки, показанные в четвертом внутреннем коде, обозначают биты четвертого внутреннего кода, а значки в виде треугольника вершиной вниз, показанные в пятом внутреннем коде, обозначают биты пятого внутреннего кода.
То есть, длина кода одного фрагмента внутреннего кода составляет 52 бита, он состоит из NC=13 блоков, где один блок составляют NB=4 бита в каждом фрагменте внутреннего кода. Кроме того, ND=11 блоков из NC=13 блоков внешнего кода, которые составляют каждый фрагмент внутреннего кода, являются сегментом пользовательских данных, a NC-ND(=2) блоков, обозначенные литерой Р, являются сегментом четности внутреннего кода.
Поблоковый перемежитель 51 выполняет перемежение А по отношению к ND×NB×NA(=11×4×5) битам, которые представляют собой сегмент пользовательских данных этого композиционного кода. При перемежении А данные вводятся группами по NB=4 бита (= поблочно) в ОЗУ в порядке направления столбцов в качестве одного направления. Затем данные, введенные в ОЗУ, считываются по порядку в диагональном направлении направо вниз на чертеже.
Далее поблоковый перемежитель 51 выполняет перемежение В по отношению к сегменту этого композиционного кода за исключением сегмента пользовательских данных, то есть (NC-ND)×NB×NA(=2×4×5) битов, представляющих собой сегмент четности внутреннего кода, обозначенный литерой Р. При перемежении В данные вводятся группами по NB=4 бита (= поблочно) в ОЗУ в порядке направления столбцов (горизонтальное направление на чертеже) в качестве одного направления, и данные, введенные в ОЗУ, считываются в порядке направления рядов (вертикальное направление на чертеже) в качестве другого направления.
Затем, далее, побитовый перемежитель 52 выполняет побитовое перемежение, которое изменяет порядок битов, NC=13 раз для каждых 5 блоков как группы NA=5 блоков (NB=4 бита), порядок которых изменен с помощью поблокового перемежителя 51. То есть относительно блоков, порядок которых изменен с помощью поблокового перемежителя 51, побитовый перемежитель 52 выполняет обработку в последовательном порядке для каждых 5 блоков, и внутри диапазона из 5 блоков выводит первый бит каждого из блоков по порядку, затем выводит второй бит каждого из блоков по порядку, после этого повторяет ту же операцию и, наконец, выводит бит под номером (NB=4) каждого из блоков по порядку, тем самым изменяя порядок записи.
Когда первый и второй этап перемежения выполнены описанным выше образом, в данных, полученных в результате (то есть в порядке записи на носитель 2 записи) последовательность данных изменена таким образом, что одно и то же кодовое слово внутреннего кода не появляется дважды в i=NA=5 последовательных блоках.
Кроме того, в это же самое время в сегменте пользовательских данных последовательность данных изменена таким образом, что разные символы одного и того же кодового слова внешнего кода не появляются в j=NA×NB×NE последовательных битов (NE является наибольшим целым числом, которое удовлетворяет условию NA×NE≤ND). То есть в случае с примером по Фиг.12 NE=2, и последовательность данных изменена таким образом, что разные символы одного и того же кодового слова внешнего кода не появляются в j=NA×NB×NE=4×5×2=40 последовательных битах.
Теперь предположим, что, как показано на Фиг.13, в данных, полученных в результате выполнения перемежения по Фиг.12, возникли короткие пакетные ошибки из-за распространения ошибок в PRML или подобного. Например, в примере по Фиг.13 короткая пакетная ошибка, обозначенная Е1, возникла в 4 битах в сегменте пользовательских данных в перемеженных данных. Кроме того, короткая пакетная ошибка, обозначенный Е2, возникла в 5 битах сегмента четности внутреннего кода, обозначенном литерой Р.
Относительно данных, в которых таким образом возникли короткие пакетные ошибки, обозначенные Е1 и Е2, побитовый деперемежитель 71 выполняет деперемежение NA×NB(=5×4) битов NC (=13) раз. То есть побитовый деперемежитель 71 выполняет обработку в линейном порядке для каждых NB=4 блоков, где один блок составляют NA=5 битов, и внутри отрезка из NB=4 блоков выводит первый бит каждого из блоков по порядку, затем выводит второй бит каждого из блоков по порядку, и после этого повторяет ту же операцию и, наконец, выводит бит под номером (NA=5) каждого из блоков по порядку, тем самым переупорядочивая данные.
Далее поблоковый деперемежитель 72 выполняет деперемежение А и выполняет деперемежение В по отношению к блокам, порядок которых изменен с помощью побитового деперемежителя 71. То есть при деперемежении А данные вводятся по порядку в диагональном направлении направо вниз, который является порядком вывода при перемежении А, и данные в ОЗУ выводятся в порядке направления столбцов, который является порядком ввода при перемежении А. Кроме того, при деперемежении В данные вводятся в порядке направления строк, который является порядком вывода при перемежении В, и введенные в ОЗУ данные считываются в порядке направления столбцов, который является порядком ввода при перемежении В.
В результате описанного выше деперемежения в композиционном коде, который переупорядочен в исходный порядок, короткая пакетная ошибка, обозначенная Е1, которая возникла в сегменте пользовательских данных после перемежения, становится несистематической ошибкой относительно как внутреннего кода, упорядоченного в направлении строк, так и внешнего кода, упорядоченного в направлении столбцов, как обозначено е1.
Кроме того, короткая пакетная ошибка, обозначенная Е2, которая возникла в сегменте четности внутреннего кода, становится несистематической ошибкой только относительно внутреннего кода, упорядоченного в направлении строк, и не становится несистематической ошибкой относительно внешнего кода, как обозначено е2.
Следует отметить, однако, что, как упомянуто выше со ссылкой на Фиг.7, этот сегмент четности внутреннего кода является сегментом, где не выполняется декодирование с помощью внешнего кода, и, таким образом, ошибку не нужно обязательно преобразовывать в несистематическую ошибку. То есть, хотя NA×ND×NB битов, подвергнутых перемежению А, включают в себя биты, по отношению к которым нужно выполнить декодирование с помощью внешнего кода, декодирование с помощью внешнего кода не выполняется для оставшихся битов ((NC-ND)×NA×NB битов, подвергнутых перемежению В).
Следовательно, в действительности тот факт, что в данных в порядке записи j последовательных битов не перекрывают множество символов одного и того же кодового слова внешнего кода, является истинным только для первых NA×ND×NB битов. Однако, поскольку остающиеся биты вообще не подвергаются декодированию как целое с помощью внешнего кода, это тождественно тому, что j последовательных битов не перекрывают множество символов одного и того же кодового слова внешнего кода.
С другой стороны, предположим, что, как показано на Фиг.14, в данных, полученных в результате выполнения перемежения по Фиг.12, возникла длинная пакетная ошибка из-за царапин, пыли и т.п. на диске.
В примере по Фиг.14 длинная пакетная ошибка, обозначенная Е3, возникла в 38 битах в сегменте пользовательских данных перемеженных данных.
Относительно данных, в которых таким образом возникла длинная пакетная ошибка, обозначенная Е3, побитовый деперемежитель 71 выполняет деперемежение NA×NB битов NC раз. Далее, поблоковый деперемежитель 72 выполняет деперемежение А и выполняет деперемежение В по отношению к блокам, порядок которых изменен с помощью побитового деперемежителя 71. Следует отметить, что подробности этого деперемежения опускаются, чтобы избежать повторений, поскольку выполняется в основном та же обработка, что деперемежение, упомянутое выше со ссылкой на Фиг.13.
В результате описанного выше деперемежения в композиционном коде, который переупорядочен в исходный порядок, как обозначено е3, длинная пакетная ошибка, обозначенная Е3, которая возникла в сегменте пользовательских данных после перемежения, рассредоточивается до некоторой степени относительно внутреннего кода, упорядоченного в направлении строк, и становится ошибкой одного символа относительно внешнего кода, упорядоченного в направлении столбцов. То есть длинная пакетная ошибка может быть преобразована в несистематическую ошибку относительно внешнего кода.
Следовательно, даже когда декодирование внутреннего кода оказывается неудачным из-за длинной пакетной ошибки, для внешнего кода декодирование может быть выполнено эффективно в качестве несистематической ошибки.
Далее со ссылкой на Фиг.15-17 будет описано действие перемежителя 23 и деперемежителя 42. На Фиг.15-17 показан пример в случае, если NA=5, NB=n=8, NC=7 и ND=5.
Фиг.15 является схемой, иллюстрирующей композиционный код, введенный в ОЗУ поблокового перемежителя 51 в порядке направления столбцов, и данные, полученные в результате перемежения, выполненного по отношению к композиционному коду (то есть в порядке записи на носитель 2 записи). Фиг.16 является схемой, иллюстрирующей данные, в которых возникли короткие пакетные ошибки после того, как данные были подвергнуты перемежению по Фиг.15, записаны на носитель 2 записи и считаны с носителя 2 записи, и композиционный код, полученный в результате того, что данные были перемежены и переупорядочены в исходный порядок. Фиг.17 является схемой, иллюстрирующей данные, в которых возникла длинная пакетная ошибка после того, как данные подверглись перемежению по Фиг.15, записаны на носитель 2 записи и считаны с носителя 2 записи, и композиционный код, полученный в результате того, что данные деперемежены и переупорядочены в исходный порядок.
В случае с примером по Фиг.15 композиционный код включает в себя NC=7 блоков внешнего кода в направлении столбцов (горизонтальное направление на чертеже), и включает в себя NA=5 фрагментов внутреннего кода в направлении строк. Круглые значки, показанные в первом внутреннем коде, обозначают биты первого внутреннего кода, а значки ×, показанные во втором внутреннем коде, обозначают биты второго внутреннего кода. Аналогично, значки в виде треугольника вершиной вверх, показанные в третьем внутреннем коде, обозначают биты третьего внутреннего кода, квадратные значки, показанные в четвертом внутреннем коде, обозначают биты четвертого внутреннего кода, а значки в виде треугольника вершиной вниз, показанные в пятом внутреннем коде, обозначают биты пятого внутреннего кода.
То есть, длина кода одного фрагмента внутреннего кода составляет 56 битов, он состоит из NC=7 блоков с NB=8 битами в качестве одного блока в каждом фрагменте внутреннего кода. Кроме того, ND=5 блоков из NC=7 блоков внешнего кода, которые составляют каждый фрагмент внутреннего кода, являются сегментом пользовательских данных, a NC-ND (=2) блоков, обозначенные литерой Р, являются сегментом четности внутреннего кода.
Поблоковый перемежитель 51 выполняет перемежение А по отношению к ND×NB×NA(=5×8×5) битам, которые представляют собой сегмент пользовательских данных этого композиционного кода. При перемежении А данные вводятся группами по NB=8 битов (= поблочно) в ОЗУ в порядке направления столбцов в качестве одного направления. Затем данные, введенные в ОЗУ, например, считываются по порядку в диагональном направлении направо вниз на чертеже.
Далее поблоковый перемежитель 51 выполняет перемежение В по отношению к сегменту этого композиционного кода за исключением сегмента пользовательских данных, то есть (NC-ND)×NB×NA(=2×8×5) битов, которые являются сегментом четности внутреннего кода, обозначенным литерой Р. При перемежении В данные вводятся группами по NB=8 битов (= поблочно) в ОЗУ в порядке направления столбцов (горизонтальное направление на чертеже) в качестве одного направления, и данные, введенные в ОЗУ, считываются в порядке направления строк (вертикальное направление на чертеже) в качестве другого направления.
Затем, далее, побитовый перемежитель 52 выполняет побитовое перемежение, которое изменяет порядок битов, NC=7 раз для каждых 5 блоков как группы NA=5 блоков (NB=8 битов), порядок которых изменен с помощью поблокового перемежителя 51. То есть, относительно блоков, порядок которых изменен с помощью поблокового перемежителя 51, побитовый перемежитель 52 выполняет обработку в линейном порядке для каждых 5 блоков, и внутри отрезка из 5 блоков выводит первый бит каждого из блоков по порядку, затем выводит второй бит каждого из блоков по порядку, после этого повторяет ту же операцию и, наконец, выводит бит под номером (NB=4) каждого из блоков по порядку, тем самым изменяя порядок записи.
Когда первый и второй этап перемежения выполнены по порядку описанным выше образом, в полученных в результате данных (то есть в порядке записи на носитель 2 записи) последовательность данных изменена таким образом, что одно и то же кодовое слово внутреннего кода не появляется дважды в i=NA=5 последовательных блоках.
Кроме того, в это же самое время в сегменте пользовательских данных последовательность данных изменена таким образом, что разные символы одного и того же кодового слова внешнего кода не появляются в j=NA×NB×NE последовательных битов (NE является наибольшим целым числом, которое удовлетворяет условию NA×NE≤ND). То есть в случае с примером по Фиг.15 NE=1, и последовательность данных изменена таким образом, что разные символы одного и того же кодового слова внешнего кода не появляются в j=NA×NB×NE=8×5×1=40 последовательных битах.
Теперь предположим, что, как показано на Фиг.16, в данных, полученных в результате выполнения перемежения по Фиг.15, возникли короткие пакетные ошибки из-за распространения ошибок в PRML или подобного. Например, в примере по Фиг.16 короткая пакетная ошибка, обозначенная Е4, возникла в 4 битах в сегменте пользовательских данных в перемеженных данных. Кроме того, короткая пакетная ошибка, обозначенная Е5, возникла в 5 битах сегмента четности внутреннего кода, обозначенного литерой Р.
Относительно данных, в которых таким образом возникли короткие пакетные ошибки, обозначенные Е4 и Е5, побитовый деперемежитель 71 выполняет деперемежение NA×NB (=5×8) битов NC (=7) раз. То есть побитовый деперемежитель 71 выполняет обработку в линейном порядке для каждых NB=8 блоков с NA=5 битами в качестве одного блока, и внутри отрезка из NB=8 блоков выводит первый бит каждого из блоков по порядку, затем выводит второй бит каждого из блоков по порядку, и после этого повторяет ту же операцию и, наконец, выводит бит под номером (NA=5) каждого из блоков по порядку, тем самым переупорядочивая данные.
Далее поблоковый деперемежитель 72 выполняет деперемежение А и выполняет деперемежение В по отношению к блокам, порядок которых изменен с помощью побитового деперемежителя 71. То есть при деперемежении А данные вводятся по порядку в диагональном направлении направо вниз, который является порядком вывода при перемежении А, и данные в ОЗУ выводятся в порядке направления столбцов, который является порядком ввода при перемежении А. Кроме того, при деперемежении В данные вводятся в порядке направления строк, который является порядком вывода при перемежении В, и введенные в ОЗУ данные считываются в порядке направления столбцов, который является порядком ввода при перемежении В.
В результате описанного выше деперемежения в композиционном коде, который переупорядочен в исходный порядок, короткая пакетная ошибка, обозначенная Е4, которая возникла в сегменте пользовательских данных, становится несистематической ошибкой относительно как внутреннего кода, упорядоченного, в направлении строк, так и внешнего кода, упорядоченного в направлении столбцов, что обозначено е4.
Кроме того, как в упомянутом выше примере по Фиг.23, короткая пакетная ошибка, обозначенная Е5, которая возникла в сегменте четности внутреннего кода, становится несистематической ошибкой только относительно внутреннего кода, упорядоченного в направлении строк, что обозначено е5.
С другой стороны, предположим, что, как показано на Фиг.17, в данных, полученных в результате выполнения перемежения по Фиг.15, возникла длинная пакетная ошибка из-за царапин, пыли и т.п. на диске. В примере по Фиг.17 длинная пакетная ошибка, обозначенная Е6, возникла в 38 битах в сегменте пользовательских данных перемеженных данных.
Относительно данных, в которых таким образом возникла длинная пакетная ошибка, обозначенная Е6, побитовый деперемежитель 71 выполняет деперемежение NA×NB битов NC раз. Далее поблоковый деперемежитель 72 выполняет деперемежение А и выполняет деперемежение В по отношению к блокам, порядок которых изменен с помощью побитового деперемежителя 71. Следует отметить, что подробности этого деперемежения опускаются, чтобы избежать повторений, поскольку выполняется в основном та же обработка, что и деперемежение, упомянутое выше со ссылкой на Фиг.16.
В результате описанного выше деперемежения в композиционном коде, который переупорядочен в исходный порядок, как обозначено е6, длинная пакетная ошибка, обозначенная Е6, возникшая в сегменте пользовательских данных после перемежения, рассредоточивается до некоторой степени относительно внутреннего кода, упорядоченного в направлении строк и может быть преобразована в несистематическую ошибку относительно внешнего кода, упорядоченного в направлении столбцов.
Следовательно, даже когда декодирование внутреннего кода оказывается неудачным из-за длинной пакетной ошибки, для внешнего кода декодирование может быть выполнено эффективно в качестве несистематической ошибки.
Как описано выше, в соответствии с перемежителем 23 и деперемежителем 42 устройства 1 записи-воспроизведения может быть выполнено очень эффективное исправление ошибок. Следует отметить, что хотя пример, упомянутый выше со ссылкой на Фиг 12-17, является примером, в котором длина кода внутреннего кода очень коротка, если установить длинную длину кода для внутреннего кода, то даже в случае возникновения длинной пакетной ошибки также возможно преобразовать ошибку в несистематическую ошибку относительно внешнего кода.
Кроме того, выполняя перемежение и деперемежение описанным выше образом, можно сделать цикл перемежения маленьким относительно цены одного кода в композиционном коде.
Упомянутая выше серия процессов, может осуществляться аппаратным обеспечением или осуществляться программным обеспечением. Если серия процессов должна осуществляться программным обеспечением, программа, составляющая программное обеспечение, устанавливается на компьютер, встроенный в специализированное аппаратное обеспечение, персональный компьютер общего назначения или подобный носитель записи программ.
Фиг.18 является блок-схемой, показывающей пример конфигурации аппаратного обеспечения компьютера, который осуществляет упомянутую выше серию процессов.
ЦП (центральный процессор) 101, ПЗУ (постоянно запоминающее устройство) 102 и ОЗУ (оперативное запоминающее устройство) 103 соединены друг с другом шиной 104.
Шина 104 далее соединена с интерфейсом 105 ввода-вывода. Интерфейс 105 ввода-вывода соединен с элементом 106 ввода, образованным клавиатурой, мышью или тому подобным, элементом 107 вывода, образованным дисплеем, динамиком или тому подобным. Кроме того, шина 104 соединена с запоминающей секцией 108, образованной жестким диском, энергонезависимой памятью или тому подобным, секцией 109 связи, образованной сетевым интерфейсом или тому подобным, и приводом 110 для управления съемным носителем 111.
В компьютере, сконфигурированном, как описано выше, упомянутая выше серия процессов выполняется, когда ЦП 101 загружает программу, сохраненную в запоминающей секции 108, в ОЗУ 103 через интерфейс 105 ввода-вывода и шину 104, и выполняет программу, например.
Программа, выполненная ЦП 101, предоставляется, будучи записанной на съемный носитель 111, или через проводное или беспроводное средство передачи, такое как локальная сеть, Интернет или цифровое спутниковое вещание, и устанавливается в запоминающей секции 108, например.
Следует отметить, что программа, осуществляемая компьютером, может быть программой, в которой процессы выполняются последовательно в порядке, описанном в этом описании, или может быть программой, в которой процессы выполняются параллельно или в нужное время, например в момент запуска.
Варианты осуществления настоящего изобретения не ограничены упомянутыми выше вариантами осуществления, и возможны различные модификации, не отходящие от объема настоящего изобретения.
Список ссылочных позиций
1 - Устройство записи-воспроизведения
2 - Носитель записи
21 - Секция кодирования внешнего кода
22 - Секция кодирования внутреннего кода
23 - Перемежитель
31 - Секция записи-воспроизведения
32 - Секция выравнивания
42 - Деперемежитель
43 - Секция декодирования внутреннего кода
44 - Секция декодирования внешнего кода
51 - Поблоковый перемежитель
52 - Побитовый перемежитель
71 - Побитовый деперемежитель
72 - Поблоковый деперемежитель