Изобретение касается маскировки видеоданных, которые теряются в процессе передачи сигнала.
Международная организация по стандартизации разрабатывает в настоящее время стандарт, определяющий кодированное представление видеосигналов для цифровых средств хранения информации, обеспечивающих непрерывную передачу данных со скоростью 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 строк изображения. Каждая вырезка разбивается на макроблоки, каждый из которых представляет матрицу, например, размером 16•16 элементов изображения. Каждый макроблок разбивается на 6 блоков, в число которых входят четыре блока информации, относящихся к сигналу яркости, и два блока информации, относящихся к сигналу цветности. Информация о яркости и цветности кодируется по-отдельности и затем объединяется для передачи. Блоки яркости содержат данные, относящиеся к соответствующим матрицам размером 8•8 элементов изображения. Каждый блок цветности содержит матрицу размером 8•8 из данных, относящихся ко всей матрице из 16•16 элементов изображения, представленных макроблоком.
Блоки данных, кодированных в соответствии с внутрикадровым кодированием, состоят из матриц коэффициентов дискретного косинусного преобразования (ДКП). То есть соответствующие блоки размером 8•8 элементов изображения подвергаются ДКП для получения кодированного сигнала. Коэффициенты подвергаются адаптивному квантованию, и перед подачей на процессор приоритета кодируются по методам кодирования длин серий и кодирования с переменной длиной слова. Поэтому соответствующие блоки переданных данных могут содержать меньше кодовых слов, чем матрица размером 8•8. Макроблоки данных, кодированных по методу внутрикадрового кодирования, будут содержать в дополнение к коэффициентам ДКП такую информацию, как использованный уровень квантования, адрес макроблока или указатель положения и тип макроблока.
Блоки данных, кодированных по методу межкадрового кодирования P или B, также состоят из матриц коэффициентов ДКП. Однако в этом случае коэффициенты представляют собой остатки или разности между предсказанной матрицей размером 8•8 элементов изображения и фактической матрицей размером 8•8 элементов изображения. Эти коэффициенты также подвергаются квантованию и кодированию по методам кодирования длин серий и кодирования с переменной длиной слова. В последовательности кадров кадры 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 нулевое значение и обратно преобразованные коэффициенты ДКП пропускаются сумматором 312 без изменений в память с произвольным доступом видеодисплея, где они хранятся для считывания в соответствии с нормальной растровой разверткой. Декодированные значения элементов изображения записываются также в одно из буферных ЗУ 314 или 316 для использования при формировании значений предсказанного изображения для декодирования кадров (B или P) с компенсацией движения.
Если поле/кадр входных данных соответствует полю/кадру Р с компенсацией движения "вперед", то обратно преобразованные коэффициенты соответствуют остаткам или разностям между текущим полем/кадром и пришедшим самым последним кадром I. Предсказатель 304, реагируя на декодированные векторы перемещения, считывает соответствующий блок данных кадра I, хранящийся в буферном ЗУ 314 или 316, и подает этот блок данных на сумматор, в котором блоки остатков, формируемые схемой 310 обратного ДКП, суммируются с соответствующим блоком данных изображения, выдаваемых предсказателем 304. Образованные сумматором 312 суммы соответствуют значениям элементов изображения для соответствующих блоков поля/кадра P; эти значения элементов изображения подаются в память 318 с произвольным доступом видеодисплея для обновления информации в соответствующих ячейках. Кроме того, значения элементов изображения, сформированные сумматором 312, записываются в одно из буферных ЗУ 314 или 316, которое не хранит поле/кадр I данных элементов изображения, использованных для образования предсказанных данных элементов изображения.
Для кодированных с двумерным предсказанием полей/кадров (В) операции являются аналогичными за исключением того, что предсказанные значения считываются из записанных опорных кадров (I или P) в обоих буферных ЗУ 314 и 316 в соответствии с тем, являются ли векторы перемещения векторами перемещения вперед или назад или и теми, и другими. Образованные значения элементов изображения поля/кадра В подаются в память 318 с произвольным доступом видеодисплея, но не хранятся ни в одном из буферных ЗУ, так как данные поля/кадра B для образования других полей/кадров видеоданных не используются.
Фактом, заслуживающим внимания в формате сигнала, подобного MPEG, является то, что для кодированных кадров P и B макроблоки могут быть пропущены. Эта особенность обеспечивает некоторую гибкость в маскировке ошибок. Для макроблоков, которые пропускаются, декодер эффективно копирует данные из предыдущего изображения в текущее изображение, или иначе, для пропущенных макроблоков соответствующие области памяти 318 видеодисплея просто не обновляются. Пропуск макроблока может выполняться путем кодирования векторов перемещения нулевыми значениями и всех коэффициентов ДКП нулевыми значениями. С другой стороны, в кодированных кадрах I макроблоки не пропускаются, т. е. , декодер ожидает данные для всех макроблоков в кадрах I. Таким образом, отсутствующие макроблоки не могут быть просто заменены данными из предыдущего кадра.
Вторым моментом, который необходимо отметить, является то, что при кодировании коэффициентов ДКП после последнего коэффициента, не равного нулю, находится код конца блока EOB. Декодер программируется так, чтобы принимать сколько бы ни было много коэффициентов с нулевым значением, находящихся между последним коэффициентом, не равным нулю, и последним возможным коэффициентом в соответствующем блоке.
Третьим моментом, который следует подчеркнуть, является то, что для кадров Р и В в канале низкого приоритета будет передаваться больший, чем для кадров I, объем данных, соответствующих данным с более высоким положением в иерархии.
Далее будут рассмотрены примеры заменяющих данных, формируемых генератором имитирующих данных. Вид заменяющих данных зависит от того, какого вида кадр обрабатывается в текущий момент, в каком канале - высокого или низкого приоритета - произошла ошибка, и где в потоке данных возникла ошибка. Предположим, что ошибка возникла в канале низкого приоритета кадра I и что в этом канале передаются только коэффициенты AC (точка разделения по приоритету больше или равна 5). В этом случае соответствующие коды "конец блока" EOB могут заменить коэффициенты AC, которые ожидались в канале низкого приоритета для каждого блока в макроблоке и каждого макроблока, который был вырезан в канале низкого приоритета. Изображение, получающееся в результате замены данных, будет иметь недостатки структуры, но надлежащее значение яркости. Таким образом, образованные из заменяющих видеоданных элементы изображения, хотя и будут иметь некоторые ошибки, но не будут создавать паразитные узоры (артефакты) на изображении, которые являются особенно заметными. В качестве альтернативы, если точка разделения по приоритету меньше чем 5, коэффициент DC ДКП передается в канале низкого приоритета. В таком случае замена потерянных данных низкого приоритета кодом "конец блока" EOB предоставит декомпрессору слишком мало данных для того, чтобы избежать возникновения неприятных для восприятия паразитных узоров. В этом случае и при ошибках в данных канала высокого приоритета заменяющие данные должны содержать достаточно информации для декомпрессора, чтобы выполнить функцию декодирования на уровне макроблоков. То есть, декомпрессор обеспечивается достаточными данными, чтобы помешать его переходу в нерабочее состояние, однако воспроизведенное изображение в областях, где заменяются данные, могут не иметь отношения к действительному изображению. Заменяющие данные могут включать адрес макроблока, тип макроблока, коэффициенты DC ДКП, соответствующие средней составляющей яркости отдельных блоков в макроблоке, и коды конца блока EOB для соответствующих блоков в макроблоке. Заметим, что такие ошибки в кадрах I будут распространяться по группам кадров, если не инициируются дополнительные процессы, рассмотренные ниже.
Заменяющие данные, формируемые для кадров P и B, могут иметь аналогичную форму. Например, предположим, что в канале низкого приоритета потеряны только данные, соответствующие коэффициентам AC ДКП. Как и в случае с кадрами I, вместо этих потерянных данных может быть поставлен код конца блока EOB. В качестве другого варианта предположим, что потеряны векторы перемещения и иерархически менее важные данные в одном из двух или в обоих каналах высокого и низкого приоритета. Могут быть использованы по меньшей мере две альтернативные формы замены данных. Согласно первой из них можно вырезанные макроблоки заменить сжатыми заменяющими макроблоками с векторами перемещения, имеющими нулевое значение, и коэффициентами ДКП с нулевыми значениями. Это приведет к эффективной замене потерянных макроблоков данными элементов изображения из предыдущего кадра. Часть воспроизведенного изображения, соответствующая замененным макроблокам, будет содержать данные, обеспечивающие высокое разрешение, но может иметь недостатки в отношении воспроизведения движения, т. к. остальная часть изображения может перемещаться относительно области, данные которой были заменены. Согласно второй форме замены данных обеспечиваются заменяющие макроблоки, имеющие векторы перемещения, выбранные из смежных по вертикали макроблоков, и индикация того, что текущий макроблок не кодирован; это означает, что все значения остатков считаются равными нулю. В данном случае замененная область изображения скорее всего будет перемещаться синхронно с остальным изображением, однако детали действительного изображения этой области могут иметь незначительные ошибки. Компромисс из этих альтернатив должен быть рассмотрен разработчиком системы при выборе определенных заменяющих сигналов для различных видов потерянных данных. Заметим, что векторы перемещения от смежных по вертикали макроблоков циклически записываются в ЗУ 66 и выводятся из него.
Примем во внимание также то, что коэффициенты DC дискретного косинусного преобразования (ДКП) могут быть кодированы от макроблока к макроблоку с помощью дифференциальной импульсно-кодовой модуляции (ДИКМ). В этом случае последний макроблок последовательности заменяющих макроблоков не будет иметь правильного значения коэффициента DC в качестве опорного для первого незамененного макроблока. Генератор имитирующих данных может быть поэтому запрограммирован так, чтобы заменять коэффициент DC ДКП в таких последних заменяющих макроблоках из смежного по вертикали макроблока (например, взятого из ЗУ 66) или из макроблока, расположенного с временным смещением (полученного из расширенного ЗУ 66, предназначенного для хранения выбранных сжатых данных, например, для всего кадра).
Обратимся снова к фиг.7. Выше было указано, что для кадров I и некоторых видов потерянных данных заменяющие данные поставлялись только для того, чтобы декомпрессор продолжал работать, даже если образуемые декодированные данные изображения будут иметь тенденцию становиться неприемлемыми. Запись этих данных в память 318 с произвольным доступом видеодисплея предотвращается с помощью карты ошибок, формируемой генератором имитирующих данных. Во время обработки кадров I этот генератор создает карту ошибок всех заменяющих данных, которые, как предполагается, создадут потенциально неприемлемые изображения. Эта карта ошибок может содержать комбинацию двоичных единиц и нулей, соответствующую тем элементам изображения (или блокам или макроблокам), которые формируются из определенных заменяющих данных, и тем, которые не формируются. Эта комбинация, содержащая информацию об ошибках, выводится в ЗУ 313 по адресам ячеек, соответствующим адресам ячеек соответствующих элементов изображения в памяти с произвольным доступом видеодисплея. Когда адреса записи подаются на память видеодисплея, эти же значения адресов подаются и на ЗУ 313 для адресации комбинации ошибок. Если ячейка по некоторому адресу содержит индикацию ошибки, запоминающее устройство запрещает запись новых данных в соответствующую ячейку памяти с произвольным доступом видеодисплея.
На фиг. 8 показан еще один вариант осуществления изобретения, в котором устройство отмены приоритета и декомпрессор совместно используют декодер кода переменной длины. Эта схема не только устраняет потребность в двух декодерах кода переменной длины в системе, но и позволяет исключить ЗУ 313, показанное на фиг.7. Элементы схемы на фиг.8, которые обозначены теми же позициями, что и элементы на фиг.6 и 7. выполняют аналогичные функции. Однако в схеме на фиг.8 выходные слова, формируемые декодером 64 кода переменной длины, представлены в виде декодированного кода переменной длины, а таблица заменяющих данных, включенная в состав генератора 65 имитирующих данных, изменена так, что содержит, например, пропущенные макроблоки для кадров I. Алгоритм декомпрессии для этого устройства фактически соответствует алгоритму декомпрессии согласно MPEG, но с одним исключением, дающим преимущество. Таким исключением является возможность ввода пропущенных макроблоков в кадрах I. Возможность распознавания декодером пропущенных макроблоков для кадров I означает, что данные кадра I не будут обновляться в памяти 318 с произвольным доступом видеодисплея или буферных ЗУ (314, 316) для областей, соответствующих пропущенным макроблокам. Эта особенность позволяет исключить ЗУ 313, показанное на фиг.7, и функцию формирования карты ошибок в генераторе 65 имитирующих данных. Таким образом, в отличие от прежней схемы, где заменяющие данные кадра I имеют такую конфигурацию, чтобы выполнить требование обеспечения данных для каждого макроблока, в схеме на фиг.8 генератор 65 имитирующих данных формирует заменяющие данные, которые указывают на наличие пропущенных макроблоков, а потерянные данные эффективно заменяются соотнесенными данными с временным смещением. Индикация пропущенных макроблоков может быть в виде простого включения в поток данных следующего обнаруженного правильного заголовка вырезки.
Схема на фиг.8 содержит контроллер 370 системы и контроллер 360 декомпрессора. Контроллер 370 системы управляет работой всей приемной системы и реагирует на сигналы с входа пользователя. Этот контроллер устанавливает декодер 64 кода переменной длины, устройство задания последовательности состояний, генератор 65 имитирующих данных и контроллер 360 декомпрессора в начальное состояние при пуске системы, заставляет их игнорировать некоторые последовательности декодирования для получения специальных эффектов, управляет изменениями канала и т.д. Контроллер 360 декомпрессии управляет схемой декомпрессии и памятью 318 с произвольным доступом видеодисплея. Видеоданные от декодера 64 кода переменной длины подаются на контроллер 360, который запрограммирован так, чтобы распознавать различные данные заголовка MPEG и, реагируя на них, задавать последовательность соответствующих данных посредством соответствующих декодирующих функций. В ответ на адреса макроблоков контроллер заставляет память 318 видеодисплея записывать соответствующие декодированные значения элементов изображения в предназначенные для них области растра. Ячейки памяти 318 видеодисплея, которые соответствуют областям растра, представленным пропущенными макроблоками, периодически обновляются контроллером 360, осуществляющим временную замену в этих областях.
Поскольку система на фиг.8 предназначена для того, чтобы обрабатывать (или, точнее, не обрабатывать) пропущенные макроблоки в кадрах I, P и B, то с помощью генератора имитирующих данных могут быть получены некоторые специальные эффекты. Пользователем может быть введена функция стопкадра просто благодаря тому, что контроллер 370 системы отменяет прежний режим работы генератора 65 имитирующих данных и заставляет его заменять видеоданными, соответствующими пропущенным макроблокам, все макроблоки во всех кадрах, или же благодаря отмене прежнего режима работы контроллера 360 декомпрессии и переводу его в режим обработки всех макроблоков так, как если бы они были пропущены. Стробоскопический эффект может быть обеспечен, например, отменой всех кадров P и B с пропущенными макроблоками. Частичный стробоскопический эффект может быть реализован программированием контроллера 370 на перевод генератора 65 имитирующих данных в режим формирования данных, соответствующих пропущенным макроблокам в чередующихся сериях вырезок.
Генератор 65 имитирующих данных может быть реализован так, чтобы формировать специальные заменяющие видеоданные, не связанные с маскировкой ошибок. Таблица заменяющих данных может содержать заменяющие данные для формирования определенных изображений при известных условиях. Когда приемник синхронизируется по определенному каналу вещания и из транспортного процессора не поступает данных заголовка, которые можно распознать, генератор 65 имитирующих данных может быть переведен в режим формирования заменяющих данных, соответствующих, например, экрану синего цвета или шахматному полю и т. п. В качестве альтернативы при смене канала генератор имитирующих данных может быть переведен в режим "замораживания" последнего кадра прежнего канала, который будет наблюдаться до тех пор, пока система не будет пересинхронизирована на новый канал.
Данное изобретение было описано на примере использования в двухуровневой или канальной системе. Однако специалистам ясно, что оно может быть применено и в одноканальных системах, при различных форматах сжатого сигнала, и в свете этого следует рассматривать приведенную ниже формулу изобретения.
Изобретение относится к системам маскировки видеоданных, которые теряются в процессе передачи. Телевизионная система для преобразования сжатых данных, представляющих изображения и размещенных в блоках, в несжатые данные, содержит устройство приема сжатых данных, устройство обнаружения ошибок в сжатых данных, подаваемых из устройства приема, и средства декомпрессии, средства формирования заменяющих данных, средства замены блоков сжатых данных, подаваемых из устройства приема, заменяющими данными, подаваемыми из средств формирования заменяющих данных, при обнаружении ошибок устройством обнаружения ошибок, причем средства декомпрессии, на которые подаются данные из средств замены блоков сжатых данных, выполнены с возможностью замены декомпрессированных данных, соответствующих указанным заменяющим данным, ранее декомпрессированными данными изображения. Система для обработки сжатых видеоданных, передаваемых в виде боков, включает средства декомпрессии, устройство обнаружения ошибок в указанных блоках сжатых видеоданных, устройство формирования заменяющих данных, имитирующих сжатые видеоданные, устройство замены блоков сжатых видеоданных, в которых обнаружены ошибки устройством обнаружения ошибок, указанными заменяющими данными, соединенные со средствами декомпрессии и устройством обнаружения ошибок средства замены декомпрессированных видеоданных, соответствующих указанным заменяющим данным, декомпрессированными видеоданными, имеющими такое же пространственное положение со сдвигом во времени. Технический результат - данные разной степени важности передаются с разным уровнем мощности. 2 с. и 6 з.п.ф-лы, 8 ил.
EP, заявка, 0240242, кл | |||
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
EP, заявка, 0369682, кл | |||
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
WO, заявка, 91/10328, кл | |||
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды | 1921 |
|
SU4A1 |
GB, заявка, 2219463, кл | |||
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды | 1921 |
|
SU4A1 |
SU, авторское свидетельство, 1681385, кл | |||
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
Signal Processing Image communication, v | |||
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
Авторы
Даты
1998-09-20—Публикация
1992-10-13—Подача