Системы и способы для переключения каналов

Иллюстрации

Показать все

Изобретение относится к обработке мультимедийного сигнала, в частности к способу видеокодирования и видеодекодирования кадров переключения каналов (CSF) для разрешения захвата и ресинхронизации видеопотока. Техническим результатом является обеспечение видеокодирования и видеодекодирования кадров переключения каналов (CSF), позволяющих обеспечить захват и ресинхронизацию видеопотока при сохранении эффективности сжатия. Указанный технический результат достигается тем, что создают CSF с одним или несколькими блоками уровня сетевой абстракции (NAL) в качестве кадра точки произвольного доступа (RAP) и передают смежные кадры, которые включают в себя CSF и кадр, не являющийся кадром RAP, причем каждый из них имеет одинаковый идентификационный номер. 10 н. и 36 з.п. ф-лы, 21 ил., 13 табл.

Реферат

Перекрестные ссылки на родственные заявки

Данная патентная заявка претендует на положительный эффект принадлежащей тому же правообладателю предварительной заявки США №60/865822 под заголовком «SYSTEMS AND METHODS FOR CHANNEL SWITCHING», поданной 14 ноября 2006 года. Эта предварительная патентная заявка включена в настоящий документ посредством ссылки.

Данная заявка во всех отношениях полностью включает посредством ссылки принадлежащие тому же правообладателю патентные заявки США № 11/527306, поданную 25 сентября 2006 года, и № 11/528303, поданную 26 сентября 2006 года.

Область техники, к которой относится изобретение

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

Уровень техники

Системы мультимедийной обработки, такие как видеокодеры, могут кодировать мультимедийные данные с использованием способов кодирования на основе международных стандартов, таких как стандарты Экспертной группы по кинематографии (MPEG)-1, -2 и -4, стандарт H.263 Международного союза электросвязи (ITU)-Т, стандарт ITU-T H.264 и его аналог, ISO/IEC MPEG-4, часть 10, то есть стандарт усовершенствованного видеокодирования (AVC), каждый из которых целиком включен в настоящий документ посредством ссылки. Указанные способы кодирования в общем случае имеют своей целью сжатие мультимедийных данных для передачи и/или хранения. Сжатие в широком смысле слова можно рассматривать как процесс устранения избыточности из мультимедийных данных.

Видеосигнал можно описать на основе последовательности изображений, которые включают в себя кадры (целое изображение) или поля (например, чересстрочный видеопоток содержит поля чередующихся нечетных или четных строк изображения). Используемый здесь термин «кадр» относится к изображению, кадру или полю. Способы видеокодирования обеспечивают сжатие видеосигналов путем использования алгоритма сжатия без потерь или с потерями для сжатия каждого кадра. Внутрикадровое кодирование относится к кодированию кадра с использованием только данного кадра. Межкадровое кодирование относится к кодированию кадра на основе других, так называемых «опорных» кадров. Например, видеосигналы часто отличаются временной избыточностью, при которой близлежащие кадры во временной последовательности кадров имеют по меньшей мере несколько участков, которые полностью или по меньшей мере частично совпадают друг с другом.

Мультимедийные процессоры, такие как видеокодеры, могут кодировать кадр, разбивая его на блоки или «макроблоки», состоящие, например, из 16×16 пикселей. Кодер может дополнительно разбить каждый макроблок на субблоки. Каждый субблок может также содержать дополнительные субблоки. Например, субблоки макроблока могут включать в себя субблоки 16×8 и 8×16. Субблоки из субблоков 8×16 могут включать в себя субблоки 8×8, которые могут содержать субблоки 4×4 и т.д. Используемый здесь термин «блок» относится либо к макроблоку, либо к субблоку.

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

Межкадровое кодирование позволяет обеспечить более эффективное сжатие, чем внутрикадровое кодирование. Однако межкадровое кодирование может создать проблемы, связанные с потерей опорных данных (например, опорных кадров или опорных полей) из-за канальных ошибок и т.п. Вдобавок к потерям опорных данных из-за ошибок эти опорные данные также могут оказаться недоступными из-за начального захвата или повторного захвата видеосигнала в кадре с межкадровым кодированием. В таких случаях декодирование данных, закодированных способом межкадрового кодирования, может оказаться невозможным или может привести к нежелательным ошибкам и их распространению. Эти сценарии могут привести к потере синхронизации видеопотока.

Наиболее общей формой кадра, которая предоставляет возможность ресинхронизации видеосигнала, является независимо декодируемый кадр с внутрикадровым кодированием. В стандартах MPEG-x и H.26x используется так называемая «группа изображений» (GOP), содержащая кадр с внутрикадровым кодированием (называемый также I-кадром) и P-кадры, кодированные на основе временного предсказания, или B-кадры, кодированные на основе предсказания «вперед/назад», которые обращаются к I-кадру и/или другим P- и/или В кадрам в группе GOP. Для увеличения степени сжатия желательно иметь более длинные группы GOP; но следует иметь в виду, что более короткие группы GOP позволяют обеспечить более быстрый захват и ресинхронизацию. Увеличение количества I-кадров позволяет обеспечить более быстрый захват и ресинхронизацию, правда, за счет меньшего сжатия.

Следовательно, имеется потребность в способах видеокодирования и видеодекодирования кадров переключения каналов (CSF), позволяющих обеспечить захват и ресинхронизацию видеопотока при сохранении эффективности сжатия.

Сущность изобретения

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

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

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

Дополнительные аспекты изобретения станут более очевидными из подробного описания изобретения, в частности, взятого вместе с прилагаемыми чертежами.

Краткое описание чертежей

Фиг.1 - блок-схема примерной системы мультимедийной связи согласно конкретным конфигурациям;

фиг.2А - блок-схема примерного кодирующего устройства, которое можно использовать в системе по фиг.1;

фиг.2В - блок-схема примерного декодирующего устройства, которое можно использовать в системе по фиг.1;

фиг.3 - примерная взаимосвязь между сообщениями уровня синхронизации и медиапотоком реального времени, который выводится на устройство или выводится устройством в сети FLO;

фиг.4 - примерные уровни протокола для услуги реального времени в сети FLO;

фиг.5А-5В - примерные альтернативные взаимосвязи между пакетами уровня синхронизации и медиакадрами;

фиг.6 - примерный конечный автомат для обработки уровня синхронизации для отдельного потока в устройстве;

фиг.7 - примерный кадр переключения каналов (CSF);

фиг.8 - примерный кадр (CSF) с 3 блоками NAL;

фиг.9 - генератор кадра переключения каналов;

фиг.10 - процесс декодирования битового потока с кадрами CSF;

фиг.11 - генератор заголовка синхронизации, создающий заголовок синхронизации;

фиг.12А - генератор дополнительных полей генератора заголовка синхронизации;

фиг.12В - генератор типа адаптации генератора заголовка синхронизации;

фиг.13А - ассемблер общего медиазаголовка;

фиг.13В - ассемблер заголовка, отражающего специфику медиа;

фиг.14 - ассемблер каталога уровня синхронизации видео;

фиг.15 - ассемблер записи VSL;

фиг.16 - блок-схема процесса обработки с уровня синхронизации на медиауровень в устройстве;

фиг.17 - пример битового потока, созданного сетью с одинаковыми идентификационными номерами смежных кадров.

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

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

Подробное описание изобретения

Сокращения

В последующем описании применяются следующие сокращения:

FLO - Связь только в прямом направлении;

IDR - мгновенное обновление декодирования;

IEC - Международная электротехническая комиссия;

IETF - Инженерная группа по развитию Интернет;

ISO - Международная организации по стандартизации;

ITU - Международный союз электросвязи;

ITU-T - Сектор стандартизации электросвязи ITU;

NAL - уровень сетевой абстракции;

RBSP - полезная нагрузка необработанной байтовой последовательности;

TIA - Ассоциации промышленности средств связи;

TM3 - Наземная мобильная мультимедийная многоадресная передача;

UINT - целое число без знака;

RAP - точка произвольного доступа;

PTS - отметка времени представления.

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

Описанные здесь способы можно использовать для беспроводной связи, обработки данных, персональных электронных устройств и т.д. Примерное использование этих способов для беспроводной связи описано ниже.

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

Видеосигналы можно охарактеризовать на основе последовательности изображений, кадров и/или полей, каждый из которых может дополнительно включать в себя один или несколько сегментов (слайсов). Используемый здесь термин «кадр» имеет широкий смысл и может охватывать один или несколько кадров, полей, изображений и/или слайсов.

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

На фиг.1 показана блок-схема примерной системы 100 мультимедийной связи согласно некоторым конфигурациям. Система 100 включает в себя кодирующее устройство 110, связанное с декодирующим устройством 150 через сеть 140. В одном примере кодирующее устройство 110 принимает мультимедийный сигнал от внешнего источника 102 и кодирует этот сигнал для передачи по сети 140.

В данном примере кодирующее устройство 110 содержит процессор 112, связанный с памятью 114 и приемопередатчиком 116. Процессор 112 кодирует данные от источника мультимедийных данных и подает их в приемопередатчик 116 для передачи по сети 140.

В этом примере декодирующее устройство 150 содержит процессор 152, связанный с памятью 154 и приемопередатчиком 156. Хотя декодирующее устройство 150 может иметь приемопередатчик 156 как для передачи, так и для приема, декодирующему устройству 150 необходим только приемник, такой как приемник 158. Процессор 152 может включать в себя один или несколько процессоров общего назначения и/или цифровой процессор сигналов. Память 154 может включать в себя одно или несколько запоминающих устройств на твердотельной основе или на дисках. Приемопередатчик 156 сконфигурирован для приема мультимедийных данных по сети 140 и предоставления их процессору 152 для декодирования. В одном примере приемопередатчик 16 включает в себя беспроводный приемопередатчик. Сеть 140 может содержать одну или несколько систем проводной или беспроводной связи, включая одно или несколько из следующего: сеть Ethernet, телефонные (например, обычные старые телефонные системы (POTS)) и кабельные системы, системы связи по линиям электросети и оптоволоконные системы, и/или беспроводную систему, содержащую одну или несколько из следующих систем: систему связи с множественным доступом и кодовым разделением каналов (CDMA или CDMA2000), систему с множественным доступом и частотным разделением каналов (FDMA), систему с множественным доступом и ортогональным частотным разделением каналов (OFDM), систему с множественным доступом и временным разделением каналов (TDMA), например GSM/GPRS (Пакетная радиосвязь общего назначения)/EDGE (усовершенствованная среда GSM для высокоскоростной передачи данных), система мобильной телефонной связи TETRA (наземная магистральная радиосвязь), широкополосная система с множественным доступом и кодовым разделением каналов (WCDMA), высокоскоростная система передачи данных (1xEV-DO или 1xEV-DO Gold multicast), система IEEE 802.11, система mediaFLO, система DMB, система DVB-H и т.п.

На фиг.2А показана блок-схема примерного кодирующего устройства 110, которое можно использовать в системе 100 по фиг.1 согласно некоторым конфигурациям. В данной конфигурации кодирующее устройство 110 содержит элемент 118 для межкадрового кодирования, элемент 120 для внутрикадрового кодирования, элемент 122, создающий опорные данные, и передающий элемент 124. Элемент 118 для межкадрового кодирования кодирует части видеоданных с использованием межкадрового кодирования с временным предсказанием (например, с использованием предсказания с компенсацией движения), обращаясь к другим частям видеоданных, расположенных в других временных кадрах. Элемент 120 для внутрикадрового кодирования кодирует части видеоданных, используя внутрикадровое кодирование, причем эти части могут декодироваться независимо без обращения к другим временно привязанным видеоданным. В некоторых конфигурациях элемент 120 для внутрикадрового кодирования может использовать пространственное предсказание для реализации преимуществ избыточности в других видеоданных, находящихся в том же временном кадре.

Генератор 122 опорных данных согласно одному аспекту создает данные, которые указывают, где находятся видеоданные, закодированные путем внутрикадрового кодирования и межкадрового кодирования, которые были созданы кодирующими элементами 120 и 118 соответственно. Например, опорные данные могут включать в себя идентификаторы субблоков и/или макроблоков, которые используются декодером для определения местоположения в кадре. Опорные данные могут также включать в себя порядковый номер кадра, используемый для определения местоположения кадра в последовательности видеокадров.

Передатчик 124 передает данные, закодированные путем межкадрового кодирования, данные, закодированные путем внутрикадрового кодирования, а в некоторых конфигурациях, и опорные данные по сети, такой как сеть 140 на фиг.1. Данные могут передаваться по одной или нескольким линиям связи. Термин «линии связи» используется в общем смысле и может включать в себя любые каналы связи, в том числе, но не только: проводные или беспроводные сети, виртуальные каналы, оптические линии связи и т.п. В некоторых конфигурациях данные, закодированные путем внутрикадрового кодирования, передаются по линии связи базового уровня, а данные, закодированные путем межкадрового кодирования, передаются по линии связи уровня улучшения. В некоторых конфигурациях данные, закодированные путем внутрикадрового кодирования, и данные, закодированные путем межкадрового кодирования, передаются по одной и той же линии связи. В некоторых конфигурациях один или несколько из следующих видов данных: данные, закодированные путем межкадрового кодирования, данные, закодированные путем внутрикадрового кодирования, и/или опорные данные, - могут передаваться по линии связи на боковой полосе частот. Например, можно использовать линию связи на боковой полосе частот, такую как сообщения SEI (формат дополнительной информационной поддержки) в стандарте H.264 или сообщения user_data в стандарте MPEG-2. В некоторых конфигурациях одно или несколько из нижеследующего: данные, закодированные путем внутрикадрового кодирования, данные, закодированные путем межкадрового кодирования, и/или опорные данные, - передаются по виртуальному каналу. Виртуальный канал может содержать пакеты данных с идентифицируемым заголовком пакета, который идентифицирует пакет данных как принадлежащий данному виртуальному каналу. Специалистам в данной области техники известны другие виды идентификации виртуального канала, такие как частотное разделение, временное разделение, кодовое расширение и т.д.

На фиг.2В показана блок-схема примерного декодирующего устройства 150, которое может быть использовано системой 100 по фиг.1 согласно некоторым конфигурациям. В данной конфигурации декодер 150 содержит приемный элемент 158, избирательный декодирующий элемент 160, элемент 162, определяющий опорные данные, и один или несколько детекторов доступности опорных данных, такие как элемент 164 - детектор переключения каналов, и элемент 166 - детектор ошибок.

Приемник 158 принимает кодированные видеоданные (например, данные, закодированные кодирующим устройством 110 по фигурам 1 и 2А). Приемник 158 может принимать кодированные данные по проводной или беспроводной сети, такой как сеть 140 по фиг.1. Данные могут приниматься по одной или нескольким линиям связи. В некоторых конфигурациях данные, закодированные путем внутрикадрового кодирования, принимаются по линии связи базового уровня, а данные, закодированные путем межкадрового кодирования, принимаются по линии связи уровня улучшения. В некоторых конфигурациях данные, закодированные путем внутрикадрового кодирования, и данные, закодированные путем межкадрового кодирования, принимаются по одной и той же линии связи. В некоторых конфигурациях один или несколько из следующих видов данных: данные, закодированные путем межкадрового кодирования, данные, закодированные путем внутрикадрового кодирования, и/или опорные данные, - могут приниматься по линии связи на боковой полосе частот. Например, можно использовать линию связи на боковой полосе частот, такую как сообщения SEI в стандарте H.264 или сообщения user_data в стандарте MPEG-2. В некоторых конфигурациях одно или несколько из нижеследующего: данные, закодированные путем внутрикадрового кодирования, данные, закодированные путем межкадрового кодирования, и/или опорные данные принимаются по виртуальному каналу. Виртуальный канал может содержать пакеты данных с идентифицируемым заголовком пакета, который идентифицирует пакет данных как принадлежащий данному виртуальному каналу. Специалистам в данной области техники известны другие виды идентификации виртуального канала.

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

Определитель 162 опорных данных согласно одному аспекту идентифицирует полученные опорные данные, которые указывают, где находятся видеоданные, закодированные путем внутрикадрового кодирования и межкадрового кодирования, в полученных закодированных видеоданных. Например, опорные данные могут включать в себя идентификаторы субблоков и/или макроблоков, которые используются избирательным декодером 160 для определения местоположения в кадре. Опорные данные могут также включать в себя порядковый номер кадра, используемый для определения местоположения кадра в последовательности видеокадров. Использование полученных опорных данных позволяет декодеру определить, доступны ли опорные данные, от которых зависят данные, закодированные путем межкадрового кодирования.

На доступность опорных данных может повлиять пользователь, переключающий канал в многоканальной системе связи. Например, приемнику 158 может быть доступно множество широковещательных передач видео при использовании одной или нескольких линий связи. Если пользователь дает команду приемнику 158 переключиться на другой широковещательный канал, то тогда опорные данные для данных, закодированных путем межкадрового кодирования, в новом канале могут не сразу оказаться доступными. Детектор 164 переключения каналов обнаруживает появление команды на переключение каналов и сигнализирует об этом избирательному декодеру 160. Затем избирательный декодер 160 может использовать информацию, полученную от определителя опорных данных, для идентификации того, доступны ли опорные данные версии, закодированной путем межкадрового кодирования, а затем идентифицирует местоположение ближайшей версии, полученной путем внутрикадрового кодирования, и избирательно декодирует эту идентифицированную версию, закодированную путем внутрикадрового кодирования.

На доступность опорных данных могут также повлиять ошибки в принятых видеоданных. Детектор 166 ошибок может использовать технологии обнаружения ошибок (например, прямое исправление ошибок) для идентификации неисправляемых ошибок в битовом потоке. Если неисправляемые ошибки имеются в опорных данных, от которых зависит версия, закодированная путем межкадрового кодирования, то тогда детектор 166 ошибок может просигнализировать об этом избирательному декодеру 160, идентифицируя, на какие видеоданные влияют эти ошибки. Затем избирательный декодер 160 может определить, декодировать ли версию, закодированную путем межкадрового кодирования (например, если опорные данные доступны), либо следует декодировать версию, закодированную путем внутрикадрового кодирования (например, если опорные данные недоступны).

В некоторых конфигурациях один или несколько элементов кодирующего устройства 110 по фиг.2А могут быть перекомпонованы и/или объединены. Эти элементы могут быть реализованы аппаратными средствами, программными средствами, программно-аппаратными средствами, межплатформенными программными средствами, микрокодом или любой их комбинацией. В некоторых конфигурациях один или несколько элементов декодера 150 по фиг.2В могут быть перекомпонованы и/или объединены. Эти элементы могут быть реализованы аппаратными средствами, программными средствами, программно-аппаратными средствами, межплатформенными программными средствами, микрокодом или любой их комбинацией.

Видео

Некоторые описанные здесь конфигурации можно реализовать, используя видеокодирование MediaFLOTM для доставки видеоуслуг реального времени в системах TM3 c использованием спецификации радиоинтерфейса FLO «Спецификация радиоинтерфейса связи только в прямом направлении (FLO) для наземной мобильной мультимедийной многоадресной передачи», опубликованной в виде технического стандарта TIA-1099, которая целиком включена в настоящий документ посредством ссылки. Некоторые конфигурации определяют синтаксис и семантику битового потока, а также процесс декодирования для предоставления этих услуг через уровни 412 радиоинтерфейса FLO.

Приведенное здесь описание формирует по меньшей мере частично стандарт совместимости для мультимедийных многоадресных систем FLO, который помогает адаптивному устройству 304 FLO получать услугу (услуги) через любую сеть 302 FLO (фиг.3), удовлетворяющую этому стандарту.

Нормативные ссылки

Рекомендации H.264 ITU-T и/или Международный стандарт ISO/IEC 14496-10 усовершенствованного видеокодирования (называемый здесь «стандарт H.264/AVC») целиком включены сюда по ссылке, и на них можно ссылаться по конкретным аспектам.

Также для описанных здесь конфигураций применяются определения из параграфа 3 стандарта H.264/AVC. Вдобавок, кадр переключения каналов (CSF) в соответствии с описанными здесь примерными конфигурациями определяется как кодированное изображение, содержащее набор параметров последовательности и/или набор параметров изображения, и/или изображение мгновенного обновления декодирования. Кадр переключения каналов (CSF) может быть инкапсулирован в независимый пакет транспортного протокола для разрешения точек произвольного доступа в кодированном битовом потоке или для облегчения устранения ошибок. Кадры переключения каналов (CSF) определены ниже.

Условные обозначения, используемые здесь для операторов, системы записи, математических функций, синтаксических элементов, таблиц и процессов, соответствуют заданным в параграфе 5 стандарта H.264/AVC.

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

Формат битового потока низкого уровня сложности и декодирование для мультимедийной широковещательной передачи

В приведенном здесь описании среди прочего описываются примерный формат битового потока и процесс декодирования, который обеспечивает расширение низкого уровня сложности для мультимедийной широковещательной передачи. Битовый поток, соответствующий расширению низкого уровня сложности, описанному в указанной спецификации, согласуется с профилями в разделе А.2 стандарта H.264/AVC при следующих дополнительных ограничениях и расширениях: 1) Наборы параметров последовательности могут иметь profile_idc, равный 66 или 88; 2) Наборы параметров последовательности могут иметь constraint_set0_flag, равный 0; 3) Наборы параметров последовательности могут иметь constraint_set1_flag, равный 1; 4) Наборы параметров последовательности могут иметь constraint_set2_flag, равный 0; 5) Может присутствовать слайс типа В; и/или 6) Слайсы для В-изображений могут иметь nal_ref_idc, равный 0 (idc представляет индекс профиля).

Согласно другому аспекту этих конфигураций битовый поток соответствующий расширению низкого уровня сложности, описанному в этой спецификации, соответствует профилям в разделе А.2 стандарта H.264/AVC при следующих ограничениях и расширениях: 1) Наборы параметров последовательности могут иметь profile_idc, равный 66 или 88; 2) Наборы параметров последовательности могут иметь constraint_set0_flag, равный 1; 3) Наборы параметров последовательности могут иметь constraint_set1_flag, равный 0; 4) Наборы параметров последовательности могут иметь constraint_set2_flag, равный 1; 5) Может присутствовать тип В слайс типа В; и/или 6) Слайсы для В-изображений могут иметь nal_ref_idc, равный 0.

Кадр переключения каналов

На фиг.7 показан примерный кадр 700 переключения каналов (CSF). Чтобы разрешить изменение канала в среде MediaFLOTM и облегчить устранение ошибок, кодирующие элементы 120 согласно некоторым конфигурациям могут вставлять кадры переключения каналов (CSF). Кадр 700 переключения каналов (CSF) может содержать до 3 или более блоков NAL: NAL1 … NALX, обозначенных ссылочными позициями 702 и 704. X может быть равен 2 или более. Тем не менее, CSF 700 может иметь только один блок NAL.

На фиг.8 показан примерный кадр CSF 800 с 3 блоками NAL. В этом примере кадр CSF 800 содержит 3 блока 802, 804 и 806 NAL. Если используются 3 блока NAL, то в некоторых ситуациях при их наличии может иметь место следующий порядок в битовом потоке: набор 812 параметров последовательности (SPS), набор 814 параметров изображения (PPS) и мгновенное обновление 816 декодирования (IDR). Блок IDR NAL может представлять собой блок IDR NAL с низким уровнем качества.

Такая компоновка CSF показана в Таблице 1. Таблица 1 определяет, какие типы блока NAL используются в данный момент для CSF 800. В данной примерной конфигурации типы блока NAL включают в себя номера 7, 8 и 5. Тем не менее, при других обстоятельствах тип 5 для IDR NAL можно заменить типом 1 NAL I-кадра (кодированный слайс). Полезная нагрузка RBSP обозначает полезную нагрузку необработанной байтовой последовательности, которая представлена в столбце под заголовком «синтаксическая структура RBSP». Столбец nal_unit_type представляет номер типа блока NAL, используемый здесь для кадра CSF. Столбец С представляет другие поддерживаемые структуры. Например, номера 2, 3 и 4 представляют участки А, В и С данных. Номер 1 также представляет блок 1 NAL кодированного слайса. Номер 0 не определен.

Таблица 1Блоки NAL и синтаксис RBSP для кадров переключения каналов
Контент блока NAL Синтаксическая структура RBSP Nal_unit_type C
Набор параметров последовательности seq_parameter_set_rbsp() 7 0
Набор параметров изображения pic_paramete_set_rbsp() 8 1
Кодированные слайсы изображения IDR slice_layer_with_partitioning_rbsp() 5 2, 3
Кодированный слайс Slice_layer_with_partitioning_rbsp() 1 2, 3, 4

Синтаксис, семантика и процессы декодирования для этих блоков NAL соответствуют заданным в стандарте H.264/AVC.

Спецификации параметров кадра переключения каналов

Семантика битовых потоков кадров переключения каналов (CSF) предъявляет различные требования для ряда синтаксических элементов, переменных и функций, отличные от требований стандарта H.264/AVC.

На фиг.9 показан генератор 900 кадра переключения каналов (CSF). Генератор 900 CSF включает в себя генератор 902 набора SPS, генератор 904 набора PPS, генератор 906 обновления IDR и генератор 908 I-кадра. Следующие требования отличаются от стандарта H.264/AVC. Генератор 902 набора SPS допускает, чтобы блок NAL результирующего набора параметров последовательности (SPS) кадра CSF 800 имел pic_order_cnt_type, равный 0. Вдобавок, генератор 902 набора SPS допускает, чтобы блок NAL результирующего набора параметров последовательности (SPS) кадра CSF 800 имел флаг gaps_in_frm_num_value_allowed_flag, равный 0.

Генератор набора PPS создает блок NAL результирующего PPS. Генератор 908 I-кадра создает блок NAL I-кадра. Генератор 906 обновления IDR создает блок NAL результирующего IDR, так что синтаксический элемент pic_order_cnt_lsb для изображения IDR может быть ненулевым. Изображение IDR, PicOrderCnt(), равно изображению соответствующего Р-слайса PicOrderCnt(). Вдобавок, синтаксический элемент frame_num изображения IDR может быть ненулевым. frame_num изображения IDR равен frame_num соответствующего Р-слайса. frame_num следующего изображения может быть равен (frame_num+1)%MaxFrameNum.

Таким образом, генератор IDR включает в себя вычислитель 910 значения счетчика последовательности изображения (POC) для IDR, который устанавливает значение POC блока NAL IDR равным значению POC Р-слайса. Генератор IDR также включает в себя вычислитель 912 номера кадра изображения IDR, который устанавливает номер кадра изображения равным номеру кадра изображения Р-слайса. Генератор IDR в некоторых случаях обеспечивает также ненулевые значения номера кадра изображения и счетчика POC. Кодирующее устройство 110 отслеживает номер кадра в блоке 916, где frame_num изображения может быть равен (frame_num+1)%MaxFrameNum.

Кодирующее устройство 110 может отслеживать значение переменной PrevRefFrameNum, так что оно может быть установлено равным значению CSF frame_num минус 1.

Декодирование кадра переключения каналов

На фиг.10 показан процесс 1000 для декодирования битового потока с кадрами CSF. Процесс 1000 декодирования для I-слайсов в виде, заданном в параграфе 8 стандарта H.264/AVC, может быть использован для декодирования кадра переключения каналов (CSF), если блок NAL c IDR заменен блоком NAL с I-слайсом (кодированный слайс NAL типа 1), созданным генератором 908 I-кадра. Изображения в запрошенном канале с порядком вывода (отображения) перед кадром переключения каналов (CSF) могут быть отброшены. С точки зрения порядка вывода изменения в декодировании будущих изображений отсутствуют. Будущие изображения, следующие за кадром CSF, не могут использовать в качестве опорных кадров какие-либо изображения, выводимые перед кадром CSF.

В различных конфигурациях, приведенных ниже, блоки в блок-схемах выполняются в изображенном порядке, либо эти блоки или их части могут выполняться одновременно, параллельно или в другом порядке.

Таким образом, процесс 1000 декодирования начитается с блока 1002, где декодируется битовый поток с изображениями. За блоком 1002 следует блок 1004, где определяется, обнаружен ли кадр CSF. Если не обнаружен («НЕТ»), то тогда происходит циклический возврат из блока 1004 в блок 1002, где имеет место дополнительное декодирование битового потока.

Однако если в блоке 1004 результатом определения является «ДА», то тогда кадр CSF декодируется согласно I-слайсам и/или протоколу типов блока NAL. За блоком 1006 следует блок 1008, где определяется, имеются ли в порядке вывода какие-либо изображения запрошенного канала перед кадром CSF. Если определено «ДА», то эти изображения в блоке 1010 отбрасываются. За блоком 1010 следует блок 1012. Однако в том случае, если в блоке 1008 определено «НЕТ», то тогда за блоком 1008 следует блок 1012. В блоке 1012 определяется, имеется ли в порядке вывода какое-либо изображение в запрошенном канале после кадра CSF. Если определено «ДА», то в блоке 1014 в качестве не опорных кадров устанавливаются изображения перед кадром CSF в порядке вывода. За блоком 1010 следует блок 1012. Однако если определено «НЕТ», то тогда выполняется циклический возврат из блока 1012 в блок 1002. Также выполняется циклический возврат из блока 1014 в блок 1002, где имеет место стандартное декодирование. Не опорный кадр может быть установлен путем сброса кадра или путем принудительной установки кадра в качестве не опорного кадра.

Уровень синхронизации

Система MediaFLOTM может поставлять контент по меньшей мере трех типов: в реальном времени, не в реальном времени и по технологии IP Datacast (например, многоадресная передача, одноадресная передача и т.д.). Сетевой интерфейс устройства многоадресной передачи (MDNI) для доставки услуги реального времени показан на фиг.4.

На фиг.3 показана примерная взаимосвязь между сообщениями уровня синхронизации и медиапотоком реального времени, выводимым на устройство 304 или выводимым устройством 304 в сети 302 FLO. Примерная се