Телевизионная система для преобразования сжатых данных, представляющих изображения и размещенных в блоках, в несжатые данные и система для обработки сжатых видеоданных, передаваемых в виде блоков

Реферат

 

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

Изобретение касается маскировки видеоданных, которые теряются в процессе передачи сигнала.

Международная организация по стандартизации разрабатывает в настоящее время стандарт, определяющий кодированное представление видеосигналов для цифровых средств хранения информации, обеспечивающих непрерывную передачу данных со скоростью 1,5 Мбит/с. Этот стандарт описан в документе ISO-IEC JTC1/SC2/WG11; CODING OF MOVING PICTURES AND ASSOCIATED AUDIO: MPEG 90/176 Rev. 2, December 18, 1990. (Кодирование движущихся изображений и звукового сопровождения.) Данный формат получил известность под названием MPEG. В соответствии с этим форматом последовательности кадров разбиваются на группы и соответственные кадры в каждой группе, кодируются согласно одному из нескольких методов кодирования. Обычно методы кодирования включают внутрикадровое кодирование (кадры I) и два вида межкадрового кодирования с предсказанием (кадры P и B). Во всех методах кодируются только нечетные поля, четные поля отбрасываются.

Консорциум по усовершенствованным телевизионным системам (ATRC) в США модифицировал формат MPEG для передачи в цифровой форме сигналов телевидения высокой четкости (ТВВЧ). Кодирование исходного сигнала ТВВЧ в общем соответствует стандарту MPEG, за исключением того, что разрешающая способность, определяемая элементами изображения, и скорость передачи данных увеличены и что кодируются оба, четное и нечетное поля каждого кадра. В системе ТВВЧ для передачи кодированный сигнал разделяется согласно приоритету между каналами высокого и низкого приоритетов. Кодированные данные, имеющие бесспорно большую важность для воспроизведения изображения, передаются с данным уровнем мощности, а данные меньшей важности передаются с меньшим уровнем мощности, чтобы минимизировать внутриканальные помехи.

На фиг. 1 графически представлен формат кодирования до разделения по приоритету. Последовательность кадров приведена только для примера. Буквы I, P и B над отдельными кадрами обозначают метод кодирования соответствующего кадра. Последовательность кадров разбивается на группы кадров (GOF), каждая из которых содержит одинаковые кодируемые последовательности. Каждый кадр кодированных данных разбивается на вырезки, представляющие, например, 16 строк изображения. Каждая вырезка разбивается на макроблоки, каждый из которых представляет матрицу, например, размером 1616 элементов изображения. Каждый макроблок разбивается на 6 блоков, в число которых входят четыре блока информации, относящихся к сигналу яркости, и два блока информации, относящихся к сигналу цветности. Информация о яркости и цветности кодируется по-отдельности и затем объединяется для передачи. Блоки яркости содержат данные, относящиеся к соответствующим матрицам размером 88 элементов изображения. Каждый блок цветности содержит матрицу размером 88 из данных, относящихся ко всей матрице из 1616 элементов изображения, представленных макроблоком.

Блоки данных, кодированных в соответствии с внутрикадровым кодированием, состоят из матриц коэффициентов дискретного косинусного преобразования (ДКП). То есть соответствующие блоки размером 88 элементов изображения подвергаются ДКП для получения кодированного сигнала. Коэффициенты подвергаются адаптивному квантованию, и перед подачей на процессор приоритета кодируются по методам кодирования длин серий и кодирования с переменной длиной слова. Поэтому соответствующие блоки переданных данных могут содержать меньше кодовых слов, чем матрица размером 88. Макроблоки данных, кодированных по методу внутрикадрового кодирования, будут содержать в дополнение к коэффициентам ДКП такую информацию, как использованный уровень квантования, адрес макроблока или указатель положения и тип макроблока.

Блоки данных, кодированных по методу межкадрового кодирования P или B, также состоят из матриц коэффициентов ДКП. Однако в этом случае коэффициенты представляют собой остатки или разности между предсказанной матрицей размером 88 элементов изображения и фактической матрицей размером 88 элементов изображения. Эти коэффициенты также подвергаются квантованию и кодированию по методам кодирования длин серий и кодирования с переменной длиной слова. В последовательности кадров кадры I и P обозначают опорные кадры. Каждый кадр P предсказывается по последнему появившемуся опорному кадру. Каждый кадр B предсказывается по одному или обоим опорным кадрам, между которыми он расположен. Процесс кодирования с предсказанием включает формирование векторов перемещения, которые показывают, какой блок опорного кадра наиболее точно соответствует блоку предсказанного кадра, кодируемому в текущий момент. Данные элементов изображения этого соответствующего блока в опорном кадре вычитаются на уровне элементов изображения из блока кодируемого кадра, чтобы получить остатки. Преобразованные остатки и векторы содержат кодированные данные для предсказываемых кадров. Как и для кадров, кодированных по методу внутрикадрового кодирования, макроблоки содержат информацию о квантовании, адресе и типе. Заметим, что, если даже блок кодирован с предсказанием, но не может быть найден приемлемый соответствующий блок, то данный блок или макроблок в предсказываемом кадре может кодироваться по методу внутрикадрового кодирования. К тому же некоторые макроблоки могут и не кодироваться. Макроблоки пропускаются с помощью увеличения адреса следующего кодируемого макроблока.

После кодирования видеоданных они размещаются в соответствии с протоколом, подобным пртоколу MPEG. Иерархический формат MPEG состоит из множества уровней, каждый с соответствующей информацией заголовка, как показано на фиг.2. Номинально каждый заголовок содержит код начала, данные, относящиеся к соответствующему уровню, и резервное поле для добавления расширений заголовка. Большая часть информации заголовка (как указано в документе MPEG) необходима для синхронизации в системах MPEG. Для получения сжатого видеосигнала для цифровой одновременной системы ТВВЧ необходима только описательная информация заголовка, то есть начальные коды и необязательные расширения могут быть исключены.

Создаваемый настоящей системой сигнал, подобный сигналу по стандарту MPEG, характеризуется тем, что: а) последовательные поля/кадры видеосигнала кодируются в соответствии с последовательностью кодирования I, P, B и б) кодированные данные на уровне изображения кодируются в подобные MPEG вырезки или группы блоков, хотя число вырезок в поле/кадре может быть разным и число макроблоков в вырезке может быть разным.

Кодированный выходной сигнал настоящей системы делится на группы полей/кадров (GOF), изображенные прямоугольниками L1 (фиг.2). Каждая группа полей/кадров GOF (L2) содержит заголовок, за которым следуют сегменты данных изображения. Заголовок GOF содержит данные, касающиеся горизонтального и вертикального размера изображения, формата изображения, частоты полей/кадров, скорости передачи битов и т.п.

Данные изображения (L3), соответствующие определенным полям/кадрам, состоят из заголовка, за которым следуют данные вырезки (L4). Заголовок изображения содержит номер поля/кадра и тип кода изображения. Каждая вырезка (L4) содержит заголовок, за которым следует множество блоков данных MBi. Заголовок вырезки включает номер группы и параметр квантования.

Каждый блок MBi (L5) представляет собой макроблок и содержит заголовок, за которым следуют векторы перемещения и кодированные коэффициенты. Заголовки макроблоков MBi содержат адрес макроблока, тип макроблока и параметр квантования. Кодированные коэффициенты показаны на уровне L6. Заметим, что макроблок состоит из 6 блоков, включая четыре блока яркости, один блок цветности U и один блок цветности V.

Коэффициенты блока образуют один блок во время выполнения дискретного косинусного преобразования, при этом коэффициент DC появляется первым, за ним следуют соответствующие коэффициенты AC в порядке их относительной важности. К концу каждого из следующих один за другим блоков данных прибавляется код конца блока EOB.

Иерархически отформатированные, как показано на фиг.2, сжатые видеоданные подаются на процессор приоритета, в котором кодированные данные анализируются и распределяются между каналом высокого приоритета и каналом низкого приоритета. Информацией с высоким приоритетом является такая информация, потеря или разрушение которой создает наибольшие ухудшения в воспроизведенных изображениях. Говоря иначе, она представляет собой наименьшее количество данных, которые необходимы для создания изображения, хотя и худшего качества, чем идеальное изображение. Информацией с низким приоритетом является остальная информация. Информация с высоким приоритетом включает фактически всю информацию заголовков на различных иерархических уровнях плюс коэффициенты DC соответствующих блоков и часть коэффициентов AC (уровень 6 на фиг. 2).

В процессоре приоритета соответствующим видам кодированных данных назначаются классы или типы приоритета. Например, всей информации выше информации заголовка вырезки (включая идентификатор вырезки, параметр квантования вырезки и т.п.) назначается тип приоритета "0". Данным заголовка макроблока назначается тип приоритета "1". Векторам перемещения присваивается тип приоритета "2". Тип приоритета "3" может быть зарезервирован. Комбинации кодированного блока назначается тип приоритета "4". Коэффициентам DC дискретного косинусного преобразования назначается тип приоритета "5", а последовательным кодовым словам, представляющим коэффициенты дискретного косинусного преобразования более высокого порядка, присваиваются типы приоритета от "6" до "68". Процессор приоритета определяет в соответствии с относительными объемами данных с более высоким и с более низким приоритетом типы приоритета, которые будут распределены в каналы высокого и низкого приоритетов. Заметим, что классификация приоритетов указывает на относительную важность отдельных видов данных; данные с типом приоритета "0" являются самыми важными. В сущности процессор определяет точку разделения по приоритету, которая соответствует номеру класса или типа, выше которого все данные назначаются в канал низкого приоритета. Данные остальных типов распределяются в канал высокого приоритета. Рассмотрим в качестве примера фиг.2 и предположим, что для определенного макроблока точка разделения по приоритету соответствует "5", так что коэффициенты DC и все иерархически более высокие данные распределяются в канал высокого приоритета, а все коэффициенты AC и коды конца блока EOB назначаются в каналы низкого приоритета. Для передачи все кодовые слова с высоким приоритетом сцепляются в последовательной по битам форме без разграничения данных из соответствующих блоков. Кроме того, кодовые слова кодируются с переменной длиной слова и между кодовыми словами отсутствуют разделения (с тем, чтобы реализовать наибольшую эффективную полосу пропускания в канале с ограниченной полосой частот). Точка разделения по приоритету соответствующих макроблоков передается, поэтому приемник имеет необходимую информацию для выделения данных высокого приоритета из соответствующих блоков. В канале низкого приоритета данные соответствующих блоков разделяются кодами EOB.

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

Формат сигнала, формируемый транспортным процессором, иллюстрируется на фиг. 3. Транспортные блоки могут содержать больше или меньше, чем одну вырезку данных. Таким образом, отдельный транспортный блок может включать данные из конца одной вырезки и данные из начала следующей вырезки. Транспортные блоки, содержащие видеоданные, могут чередоваться с транспортными блоками, содержащими другие данные, например, звукового сопровождения. Каждый транспортный блок включает в себя заголовок типа служебных данных ST, который указывает вид информации, содержащейся в соответствующем транспортном блоке. В данном примере заголовок типа служебных данных ST представляет собой 8-битовое слово, которое указывает, являются ли данные данными высокого или низкого приоритета и является ли информация данными звукового сопровождения, видеоданными или вспомогательными данными.

Каждый транспортный блок содержит транспортный заголовок ТН, следующий непосредственно за заголовком типа служебных данных ST. Транспортный заголовок для канала низкого приоритета содержит 7-битовый указатель макроблока, 18-битовый идентификатор и 7-битовый указатель заголовка записи (RH). Транспортный заголовок для канала высокого приоритета включает только 8-битовый указатель заголовка записи (RH). Указатель макроблока используется для составляющих сегментированного макроблока или заголовка записи и указывает на начало следующей составляющей, которая может быть декодирована. Например, если данный транспортный блок содержит данные макроблока, связанные с концом вырезки n и началом вырезки n+1, то данные из вырезки n размещаются вблизи транспортного заголовка, а указатель показывает, что следующие данные, которые можно декодировать, примыкают к транспортному заголовку TH. Наоборот, если заголовок записи RH примыкает к транспортному заголовку ТН, то первый указатель указывает позицию байта, следующего за заголовком записи RH. Указатель макроблока с нулевым значением показывает, что транспортный блок не имеет точки входа макроблока.

Транспортный блок может не содержать заголовка записи или содержать один или более заголовков записи. Заголовок записи встречается в начале каждой вырезки данных макроблока в канале высокого или низкого приоритета. В транспортных блоках, которые содержат только информацию заголовка видеоданных, заголовков записи нет. Указатель заголовка записи (RH) указывает на положение байта, содержащего начало первого заголовка записи в транспортном блоке. Указатель записи RH с нулевым значением указывает на то, что в транспортном блоке нет заголовков записей. Если оба указателя, указатель заголовка и указатель макроблока, имеют нулевое значение, то это означает, что транспортный блок содержит только информацию заголовка видеоданных.

18-разрядный идентификатор в транспортном заголовке низкого приоритета идентифицирует тип текущего кадра, номер кадра (по модулю 32), номер текущей вырезки и первый макроблок, содержащийся в транспортном блоке.

За транспортным заголовком следует или заголовок записи RH, или данные. Как показано на фиг.3, заголовок записи для видеоданных в канале высокого приоритета включает следующую информацию: 1-битовый признак ФЛАГ, который указывает, присутствует ли расширение заголовка. За ФЛАГом следует идентификатор ИДЕНТИЧНОСТb, указывающий: а) тип поля/кадра - I, B или P; б) номер поля/кадра (по модулю 32) ИДЕНТИЧНОСТb КАДРА и в) номер вырезки (по модулю 64) ИДЕНТИЧНОСТb ВЫРЕЗКИ. За идентификатором в заголовке записи следует указатель точки разделения по приоритету макроблока. Точка разделения по приоритету указывает класс кодового слова, выработанный анализатором 152 селектора приоритета, для разделения кодовых слов между каналами высокого и низкого приоритета. Наконец, в заголовок записи высокого приоритета может быть включено необязательное расширение заголовка.

Заголовок записи в канале низкого приоритета содержит только идентификатор ИДЕНТИЧНОСТb, аналогичный идентификатору, примененному в канале высокого приоритета.

Каждый транспортный блок заканчивается 16-битовой последовательностью для проверки кадра - FCS, которая подсчитывается по всем разрядам в транспортном блоке. FCS может быть образована с использованием циклического избыточного кода.

Транспортные блоки информации подаются на соответствующие элементы кодирования с прямым исправлением ошибок, которые а) независимо от соответствующих потоков данных выполняют кодирование с прямым исправлением ошибок и применением кода Рида-Соломона; б) перемежают блоки данных, чтобы большие пакеты ошибок не разрушали значительные смежные области воспроизводимого изображения и в) добавляют к данным, например, коды Баркера для синхронизации потока данных в приемнике.

Приемник, реагирующий на переданные сигналы, которые форматированы, как указано выше, содержит устройство для выполнения операций, обратных назначению приоритета и обратных кодированию. Операция, обратная назначению приоритета, или объединение данных высокого и низкого приоритета должна выполняться прежде, чем можно будет завершить декодирование, так как на декодер должны подаваться данные заданного формата (аналогично показанному на фиг. 2). Очевидно, что по меньшей мере часть принятого сигнала разрушена в процессе передачи. Предположим, что потерян код точки разделения по приоритету в транспортном блоке высокого приоритета. Без этого кода не может быть разделена информация, соответствующая отдельным блокам макроблока. В результате этого существенная часть информации, содержащейся в транспортном блоке высокого приоритета, может стать бесполезной. Кроме того, информация в транспортном блоке низкого приоритета, соответствующая блокам, содержащимся в транспортном блоке высокого приоритета, также становится бесполезной. Фактически потеря одного кодового слова точки разделения по приоритету, содержавшегося в транспортном блоке высокого приоритета, может сделать бесполезными данные для всей вырезки, которые являются правильными при отсутствии этой потери. Вторым примером является потеря кодового слова в заголовке изображения, которое обозначает вид кодирования кадра. Без этого кодового слова весь кадр кодированных данных становится бесполезным или по меньшей мере недостоверным.

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

В соответствии с одной из форм осуществления изобретения принятые данные доставляются в двух потоках кодовых слов с переменной длиной (без границ между кодовыми словами); эти потоки данных образованы из одного потока данных в соответствии с особой иерархией. Первый и второй потоки принятых данных содержат данные большей и меньшей важности соответственно. Данные в каждом из двух потоков находятся в соответствующих сегментах, независимо проверяются на наличие ошибок и удаляются, если имеются ошибки. Два потока данных подаются на декодер кода с переменной длиной для определения границ кодовых слов и объединения двух потоков данных в единый поток. Декодер кода с переменной длиной, реагируя на сигналы об ошибках, указывающие, что удалены сегменты данных меньшей важности, обеспечивает данные, соответствующие заданному значению, вместо удаленных данных в потоке вновь объединенных данных.

Описание изобретения сопровождается чертежами, где на фиг.1 графически представлена иерархическая структура кодирования сигнала, подобная стандарту MPEG; на фиг.2 схематически показан формат сигнала, подобный MPEG; на фиг.3 показана схема сегмента сигнала, подготовленного для передачи; на фиг.4 показана блок-схема части приемника телевидения высокой четкости с устройством маскировки ошибок; на фиг.5 приведена блок-схема устройства для обработки принятых транспортных блоков и формирования сигнала об ошибках; на фиг.6 показана блок-схема объединителя сигналов высокого и низкого приоритетов; на фиг. 7 представлен пример блок-схемы схемы 27 декомпрессии, показанный на фиг. 4, и на фиг.8 показана схема блока объединителя/декомпрессора объединенного сигнала.

Как показано на фиг.4, переданный сигнал поступает на демодулятор 20, на выходе которого получаются два сигнала, соответствующие видеоданным высокого (HP) и низкого (LP) приоритета. Эти два сигнала подаются на соответствующие декодеры 21 и 22 кода Рида-Соломона с исправлением ошибок. Сигналы с исправленными ошибками поступают на буферы 23 и 24 изменения скорости, которые принимают данные с постоянной скоростью передачи и выдают на выходе данные с переменной скоростью, соответствующей требованиям последующей схемы декомпрессии. Данные высокого HP и низкого LP приоритетов с переменной скоростью подаются на транспортный процессор 25, который осуществляет дополнительный контроль ошибок, разделяет переданные данные по типам (вспомогательные, аудио- и видео-) и отделяет заголовки соответствующих транспортных блоков от служебных данных. Служебные видеоданные, соответствующие данные об ошибках и данные транспортного заголовка подаются на процессор 26 отмены приоритета, который переформатирует данные высокого HP и низкого LP приоритетов в сигнал с иерархической структурой, подаваемый на декомпрессор 27. Декомпрессор 27 преобразует сжатый сигнал в сигнал, пригодный для отображения или хранения.

Фиг. 5 иллюстрирует транспортный процессор 25, входящий в состав приемной части системы. Необходимы два таких процессора - один для канала высокого приоритета HP и один для канала низкого приоритета LP. Если априори известно, что аудиоданные или вспомогательные данные никогда не будут передаваться в определенном канале, то соответствующие элементы могут быть исключены из транспортного процессора такого канала.

Как показано на фиг.5, данные из буфера 23 или 24 изменения скорости подаются на обнаружитель 250 ошибок в последовательности для контроля кадров (FCS) и элемент 251 задержки. Элемент 251 задержки обеспечивает задержку на интервал одного транспортного блока, чтобы позволить обнаружителю 250 определить, присутствуют ли какие-либо ошибки в соответствующем транспортном блоке. Обнаружитель 250 определяет, имеются ли ошибки, которые не могут быть исправлены декодерами 21 и 22 кода Рида-Соломона, и формирует сигнал E об ошибке, указывающей на наличие или отсутствие ошибок в транспортном блоке. Сигнал об ошибке подается на входной порт демультиплексора 253 1:3. Задержанные данные транспортного блока также поступают на входной порт мультиплексора 253. Кроме того, задержанные данные транспортного блока подаются на обнаружитель 252 типа служебных данных, который проверяет заголовок ST и в соответствии с ним заставляет мультиплексор 253 пропустить данные транспортного блока и соответствующий сигнал об ошибке на один из трактов обработки сигналов: звукового сопровождения, вспомогательного или видео.

В тракте обработки видеосигнала данные транспортного блока и сигнал об ошибке поступают на элемент 256 обработки, который вырезает код последовательности контроля кадров FCS и заголовки транспортного блока ST, ТН и RH из потока данных. Этот элемент также может удалять целые транспортные блоки видеоданных, в которых обнаружены ошибки. Элемент 256 подает по отдельным шинам видеоданные с вырезанными заголовками транспортных блоков, данные об ошибках и транспортные заголовки на процессор 26 отмены приоритета.

Схемы 21 и 22 с прямым исправлением ошибок подают принятые данные в виде слов фиксированной длины, соответствующих словам фиксированной длины, подаваемым на схемы с прямым исправлением ошибок в кодере. По существу данные заголовка транспортного блока появляются на границах байтов, которые или заранее заданы (S, ТН и FCS) или идентифицируются (RH) транспортным заголовком. Таким образом, сравнительно просто идентифицировать и выделить необходимые заголовки транспортных блоков из соответствующих транспортных блоков.

Фиг. 6 иллюстрирует пример выполнения процессора отмены приоритета. Этот процессор принимает данные от транспортного процессора приемника и снова размещает данные высокого HP и низкого LP приоритетов в виде единого потока данных. Для того чтобы выполнить это, следует идентифицировать соответствующие кодовые слова в каждом блоке, т. е., необходимо, чтобы классы или типы кодовых слов в каждом блоке поддавались обнаружению. Поскольку данные представлены в виде сцепленных кодов с переменной длиной слова, то для определения границ и типов кодовых слов эти данные должны быть по меньшей мере частично декодированы с помощью декодера кода переменной длины. Когда определены границы и типы кодовых слов, могут быть определены точки разделения данных по приоритету (в канале HP высокого приоритета). После этого данные высокого приоритета HP могут быть распределены между отдельными блоками и преобразованы в виде кода переменной длины с параллельными разрядами. Данные низкого приоритета LP, соответствующие последовательным блокам, могут различаться с помощью кодов конца блока EOB. Однако декодирование кода переменной длины данных низкого приоритета необходимо для распознавания кодов конца блока EOB и для разбора сцепленных данных на отдельные кодовые слова. Обнаружение кодов EOB заставляет процессор возвратиться к каналу высокого приоритета. Кроме того, путем подсчета появлений кодов конца блока EOB процессор может определить, когда следует ожидать новые данные заголовка для макроблока, вырезки, кадра и т.п.

В зависимости от конфигурации декомпрессора 27 выходные данные, формируемые устройством отмены приоритета, будут иметь разные данные из канала высокого приоритета и так далее. Если рассмотреть более подробно, то схема декодирования кода переменной длины содержит машину состояний (устройство задания последовательности состояний декодера), которая программируется для управления последовательностью декодирования. Устройство задания последовательности состояний запрограммировано так, чтобы управлять декодером кода переменной длины согласно ожидаемой входной последовательности данных, например, соответствующей формату данных, показанному на фиг.2. Данные заголовка от транспортного процессора подаются на устройство задания последовательности состояний для инициализации одной из управляющих последовательностей, запрограммированных в устройстве. При синхронизации устройства задания последовательности в определенной точке в последовательности данных, например в начале кадра или начале вырезки и т.п., оно формирует необходимые управляющие функции для декодирования последовательно приходящих данных. Кроме того, устройство задания последовательности программируется так, что когда декодируются соответствующие кодовые слова, на его выходе образуется сигнал, указывающий ожидаемый класс или тип следующего поступающего кодового слова. Сигнал "тип" подается на первый вход компаратора 63. На второй вход компаратора 63 подается код точки разделения по приоритету от транспортного процессора. Выходной сигнал компаратора заставляет мультиплексор 62 пропускать данные высокого приоритета на схему 64 декодирования кода переменной длины до тех пор, пока сигнал "тип" от устройства задания последовательности состояний меньше, чем сигнал точки разделения по приоритету, а в противном случае пропускать сигнал низкого приоритета.

Вновь объединенные видеоданные высокого HP и низкого LP приоритетов со схемы 64 декодирования кода переменной длины подаются на мультиплексор 67 и выводятся на декомпрессор 27 при отсутствии индикации каких-либо ошибок. Если были обнаружены ошибки, то с выхода мультиплексора 67 подаются заменяющие видеоданные, сформированные генератором 65 имитирующих данных.

Генератор 65 имитирующих данных представляет собой, например, микропроцессор, который программируется так, чтобы реагировать на информацию заголовка, содержащуюся в транспортных блоках, состояние схемы декодирования кода переменной длины и индикацию ошибок. Генератор 65 может содержать таблицу заменяющих данных, которые имитируют сжатые видеоданные. Эти данные аналогичны специальным данным, которые могут распознаваться декомпрессором, подобным MPEG. Генератор имитирующих данных может также получать данные из запоминающего устройства 66, которые могут быть введены вместо вырезанных видеоданных. В частности, запоминающее устройство 66, реагирующее на сигналы устройства задания последовательности состояний схемы декодирования кода переменной длины, загружается векторами перемещения, соответствующими, например, векторам перемещения макроблоков в предыдущей вырезке данных.

Перемещение объектов изображения будет происходить через границы макроблока. Кроме того, ошибки будут распространяться или появляться по горизонтальному направлению. Таким образом, вероятно, что векторы перемещения из смежных по вертикали блоков будут сходными и подстановка векторов перемещения из смежных по вертикали макроблоков даст в результате приемлемую маскировку ошибок. Аналогично можно ожидать, что будут сходными коэффициенты DC дискретного косинусного преобразования из смежных по вертикали блоков. Как таковые, они также могут храниться в запоминающем устройстве 66 для замены потерянных коэффициентов DC.

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

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

Перед рассмотрением характерных примеров заменяющих данных, подаваемых генератором 65, целесообразно описать декомпрессор, соответствующий стандарту MPEG. Обратимся к фиг.7, на которой показана общая структура типичного декомпрессора согласно MPEG.

Видеоданные, подаваемые мультиплексором 67 процессора отмены приоритета, поступают в буферное ЗУ 300. Эти данные считываются контроллером 302 декомпрессии и подаются на декодер 303 кода переменной длины, который декодирует поданные на него данные, имеющие код переменной длины. Данные заголовка выделяются для программирования контроллера 302. Декодированные кодовые слова, соответствующие коэффициентам дискретного косинусного преобразования, выделяются и поддаются на декодер 308, а кодовые слова переменной длины, соответствующие векторам перемещения, подаются на декодер 306. Декодер 308 содержит устройство для выполнения обратного декодирования длин серий и обратного кодирования, реализуемого дифференциальной импульсно-кодовой модуляцией (ДИКМ), под управлением контроллера 302. Декодированные данные от декодера 308 поступают на схему 310 обратного дискретного косинусного преобразования, которая содержит схемы для выполнения операций, обратных квантованию, над соответствующими коэффициентами дискретного косинусного преобразования и преобразования этих коэффициентов в матрицу данных элементов изображения. Затем данные элементов изображения подаются на вход сумматора 312, выход которого соединен с памятью 318 видеодисплея и с буферными запоминающими устройствами 314 и 316.

Декодер 306 содержит схемы для выполнения обратного ДИКМ-кодирования векторов перемещения под управлением контроллера 302. Декодированные векторы перемещения подаются на предсказатель 304 с компенсацией движения. В ответ на получаемые векторы перемещения предсказатель считывает соответствующие блоки элементов изображения, хранящиеся в одном (перемещение "вперед") или обоих (перемещение "вперед" и "назад") буферных запоминающих устройствах 314 и 316. Предсказатель подает блок данных (из одного из буферных запоминающих устройств) или интерполированный блок данных (полученный из соответствующих блоков из обоих буферных ЗУ) на второй вход сумматора 312.

Декомпрессия осуществляется следующим образом. Если поле/кадр входных видеоданных кодирован внутрикадровым методом, то векторы перемещения отсутствуют и декодированные или обратно преобразованные коэффициенты дискретного косинусного преобразования (ДКП) соответствуют блокам значений элементов изображения. Таким образом, для данных, кодированных внутрикадровым методом, предсказатель 304 подает на сумматор 312 нулевое значение и обратно преобразованные коэффициенты ДКП