Кодирующее устройство и способ генерирования потока данных
Иллюстрации
Показать всеИзобретение описывает способ генерирования потока данных, где поток включает множество блоков закодированных данных. Блоки закодированных данных включают множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования. Расстояние между независимыми блоками в потоке изменяется в зависимости от содержания, закодированного в потоке. Поток является главным потоком, где настройка на главный поток производится через вторичный поток, включающий, по крайней мере, подмножество блоков данных главного потока, закодированных в качестве, отличающемся от качества блоков данных главного потока. Независимые блоки вставляются в те места в главном потоке, где различия качества данных, закодированных в главном потоке и во вторичном потоке, менее явные. Технический результат - увеличение эффективности скорости передачи битов в видеопотоке. 5 н. и 20 з.п. ф-лы, 12 ил.
Реферат
Осуществления изобретения касаются генерирования потоков данных, включающих множество блоков закодированных данных, где такой вид потоков передается на приемник (ресивер) и декодируется для представления данных в потоке. Более подробно, но не в качестве ограничения, изобретение связывается с областью передачи, приема и воспроизведения медиа данных, и осуществления изобретения касаются быстрой настройки на передачу потока по IP (протокол Internet) сетям, используя второй поток для настройки.
В области передачи медиа данных по IP сети (например, системы IPTV) видео данные передаются в закодированной и сжатой форме, и популярные стандарты сжатия видеоизображения, такие как MPEG-2 и JVT/H.264/MPEG AVC, используют внутрикодирование и межкодирование. Для надлежащего декодирования декодер декодирует сжатую видеосерию, начинающуюся с внутрикодированного изображения (например, I-изображение или I-фрейм), и затем продолжает декодировать последующие межкодированные изображения (например, Р-изображения или Р-фреймы и/или В-изображения или В-фреймы). Группа изображений (GOP) может включать I-изображение и несколько последующих Р-изображений и/или В-изображений, где I-изображения требуют, чтобы кодировалось больше битов, чем Р-изображения или В-изображения для того же самого качества видео. По получении видеопотока в определенном канале, например, после изменения на этот канал или после настройки на приемник, декодирование должно ждать получения первого I-изображения. Чтобы минимизировать задержку кодирования видеопотока, часто посылаются I-изображения, то есть включаются в видеопоток на фиксированном расстоянии, например каждые 0.5 секунды.
Одна проблема современных систем IPTV - так называемое настраивание на время в потоках, которые распределяются по ширововещательному IP. Задержка между инициализацией настройки на канал и визуализацией содержания этого канала происходит из-за нескольких эффектов, из которых время клиентской пред-буферизации и время вхождения в синхронизм (сбора) для точек произвольного доступа в потоке, на который произойдет переключение, являются доминирующими. Оба эффекта - прямые импликации проекта современных схем видео кодер-декодера. В схемах дифференциального видеокодирования, таких как MPEG-2 видео или MPEG-4 AVC/H.264, только несколько изображений потока являются независиммыми, например вышеупомянутые I-изображения. Эти изображения включают всю информацию, которая необходима, чтобы декодировать полное изображение. Большинство других изображений кодируются дифференцирование и зависят от одного или нескольких ранее переданных и декодированных изображений, например вышеупомянутые Р-изображения или В-изображения. Другими словами, Р-изображения или В-изображения не включают всю информацию, которая необходима для декодирования полного изображения, скорее требуется дополнительная информация от предшествующих или последующих изображений.
Чтобы получить наилучшую эффективность кодирования при данной скорости передачи битов, число I-изображений должно быть низким. С другой стороны, I-изображения служат точками произвольного доступа (RAP) для потока, где декодирование может быть начато. Следовательно, имеется задержка при настройке на новый поток, так как клиент (приемник (ресивер)) должен ожидать прибытия точки произвольного доступа в потоке, прежде чем он сможет начать декодирование и воспроизведение видео.
В схемах дифференциального кодирования скорость передачи битов закодированного видео не обязательно постоянная, а скорее зависит от сложности видеосцены (объекта передачи). В пределах видеопотока изменение размера закодированного изображения может быть большим, например, I-изображения могут быть во много раз больше дифференцированно закодированных изображений, Р-изображений и В-изображений. После передачи такого битового потока по каналу с постоянной скоростью передачи битов клиент должен предбуферизовать поступающие данные изображения так, чтобы видео могло воспроизводиться с той же самой скоростью, с какой была произведена его выборка. Этот буфер должен быть достаточно большим, чтобы избежать буферного переполнения и должен освобождаться только при достижении определенной степени наполненности буфера, чтобы избежать буферной недогрузки во время проигрывания.
Когда буфер не может быть наполнен непосредственно к моменту, когда клиент может начать освобождать его, задержка происходит прежде, чем может быть начата визуализация.
Эти функциональные возможности неблагоприятны, так как приемник, который начинает принимать программу на определенном канале, например после изменения канала или настройки на приемник, должен ожидать получения точки произвольного доступа, например I-изображение, чтобы могло начаться декодирование. Таким образом, расстояние между точками произвольного доступа в пределах главного потока является одной из главных причин для задержки настройки.
Один способ уменьшения такой задержки в сценарии широковещательного линейного TV состоит в отправке второго потока параллельно главному потоку, где второй поток имеет более высокую частоту точек произвольного доступа. Этот второй поток называется, например, «настройкой на поток» (настроенным потоком) или «боковым потоком».
Фиг.7 иллюстрирует настройку на главный поток с использованием вторичного потока или настройки на поток. Фиг.7 показывает вдоль оси Х время и вдоль оси Y уровень качества соответствующих потоков. На фиг.7 полное качество Qs главного потока 100 составляет 100%, а боковой поток, или настройка на поток 102, имеет более низкое качество Qi, являющееся промежуточным уровнем качества, который ниже, чем уровень качества главного потока 100. Когда пользователь инициирует изменение канала во время t0, происходит настройка на боковой поток 102. Боковой поток включает более частые точки произвольного доступа, чтобы начальная задержка запуска (tI-t0) для декодирования уменьшалась при использовании настройки на поток 102, имеющий более частые I-изображения. Декодер в приемнике получит первое I-изображение из настройки на поток 102 для нового канала раньше, чем первое I-изображение главного потока 100. Однако, как сказано выше, качество настройки на поток 102 ниже, чем качество главного потока, например, изображения кодируются на различных уровнях качества, что необходимо, чтобы ограничить дополнительную скорость передачи битов, которая необходима для настройки на поток, поскольку она включает больше I-изображений, которые во много раз больше, чем другие изображения. Поэтому настройка на поток 102 кодируется на более низком промежуточном уровне качества Qi, например, используя более низкое разрешение изображения, например только четверть разрешения по сравнению с полным разрешением главного потока.
Во время переходного периода (tT-tR), начинающегося в tR, приемник или клиент декодирует изображения, полученные из настройки на поток 102, пока I-изображение полного разрешения не поступит в главный поток во время tT. Как только поступает это I-изображение, поток низкого разрешения останавливается, и изображения с максимальным качеством главного потока декодируются и визуализируются.
Главный поток и боковой поток могут быть получены клиентом или приемником, используя различные сценарии, один, являющийся одновременной передачей главного потока и бокового потока на приемник. Такой подход, например, описан в патенте US 2007/0098079 A1, раскрытие которого включено здесь в качестве ссылки. Альтернативно, приемник может получать только одиночный поток для декодирования от сервера, который обеспечивает главный поток и боковой поток. После инициирования изменения канала или после настройки на приемник соответствующий запрос настройки на определенный канал направляется серверу, который затем предоставляет информацию на основе бокового потока или настройки на поток, пока не станет доступной высококачественная информация, а именно первое I-изображение главного потока. Такой подход, например, описан в патенте US 2007/0248165 A1, раскрытие которого включено здесь в качестве ссылки.
Как было сказано выше, настройка на поток (настройка на поток) 102 кодируется со значительно более низкой скоростью передачи битов, что приводит к более низкому качеству видео, чем у главного потока. Это может быть достигнуто уменьшением разрешения изображения или более агрессивными параметрами кодирования с потерями, например более высокая квантизация используется во время кодирования бокового потока.
Хотя этот способ обеспечения бокового потока более низкого качества благоприятен для уменьшения задержки настройки, что обсуждалось выше относительно фиг.7, информация, предоставляемая программе просмотра (зрителю) настройки на поток, имеет низкое качество во время короткого периода времени, а именно в переходный период. В обычных примерах этот переходный период может находиться в диапазоне от 1 до 5 секунд. Однако в конце переходного периода, а именно в точке tT, представление переключается на главный поток максимального качества, и видимое различие между настройкой на поток и главным потоком может быть весьма серьезным. Например, когда смотришь на статическую сцену, внезапно появляются детали, которые становятся легко различимыми, вследствие переключения от низкокачественной настройки на поток на высококачественный главный поток. Этот эффект может привести к плохому пользовательскому впечатлению, которое потенциально уменьшит субъективный положительный эффект от более быстрой настройки.
Поэтому существует необходимость в обеспечении подхода, позволяющего избежать видимых артефактов при переключении на главный поток.
Одно осуществление изобретения обеспечивает способ генерирования потока данных, включающего множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования, где расстояние между независимыми блоками в потоке данных зависит от содержания, закодированного в потоке, где поток является главным потоком. Настройка на главный поток производится через вторичный поток, включающий, по крайней мере, подмножество блоков данных главного потока, закодированных с качеством, отличающимся от качества блоков данных главного потока, где независимые блоки главного потока вставляются в те места в главном потоке, где различия качества данных, закодированных в главном и вторичном потоках, менее явные.
Другое осуществление изобретения обеспечивает кодирующее устройство для генерирования потока данных, включающего множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования, где кодирующее устройство формируется, чтобы изменить расстояние между независимыми блоками в потоке в зависимости от содержания, закодированного в потоке, где поток является главным потоком. Настройка на главный поток производится через вторичный поток, включающий, по крайней мере, подмножество блоков данных главного потока, закодированных с качеством, отличающимся от качества блоков данных главного потока, где независимые блоки главного потока вставляются в те места в пределах главного потока, где различия качества данных, закодированных в главном и вторичном потоках, менее явные.
Еще одно осуществление изобретения обеспечивает способ настройки на главный поток, где обеспечен главный поток и вторичный поток. Главный поток включает множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования. Вторичный поток включает, по крайней мере, подмножество исходных данных главного потока, закодированных с различным, типично более низким качеством, чем блоки данных главного потока, где независимые блоки в главном потоке вставляются в те места, где различия качества данных, закодированных в главном и вторичном потоках, субъективно менее явные. После получения запроса настройки происходит настройка на вторичный поток и главный поток, и вторичный поток декодируется, пока независимый блок не поступит в главный поток, или пока не будет достигнут необходимый уровень наполнения буфера декодера главного потока. После поступления независимого блока в главный поток или достижения необходимого уровня наполнения буфера декодера главного потока декодирование вторичного потока останавливается и запускается декодирование главного потока.
Дальнейшие осуществления изобретения обеспечивают декодер для получения закодированных данных и для обеспечения декодированных выходных данных. Декодер включает вход для получения главного потока и вторичного потока. Главный поток включает множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования. Вторичный поток включает, по крайней мере, подмножество блоков данных главного потока, закодированных с более низким качеством, чем блоки данных главного потока, где независимые блоки в главном потоке вставляются в те места, где различия качества данных, закодированных в главном и вторичном потоках, менее явные. Далее, декодер включает управляющий сигнал для получения сигнала запроса настройки и узел декодирования, соединенный с входом и с управляющим сигналом для производства декодированных выходных данных. Узел декодирования приспосабливается для настройки на вторичный поток по получении запроса настройки, чтобы декодировать вторичный поток, пока независимый блок не прибудет в главный поток или не будет достигнут необходимый уровень наполнения буфера декодера главного потока, и чтобы прекратить декодирование вторичного потока и начать декодирование главного потока по прибытии независимого блока в главный поток или по достижении необходимого уровня наполнения буфера декодера главного потока.
Осуществления изобретения касаются кодирующих устройств, потоковых серверов, компонентов сети и клиентов или приемников для мультимедийных систем распределения для использования настройки на поток для быстрого изменения канала, где переключение от настройки на поток к главному потоку субъективно скрывается посредством контент-адаптивного кодирования.
Осуществления изобретения будут описаны в дальнейшем со ссылкой на сопровождающие рисунки, где:
фиг.1 - блок-схема способа генерирования потока данных согласно осуществлению изобретения;
фиг.2а - блок-схема кодирующего устройства в соответствии с осуществлением изобретения;
фиг.2b - блок-схема кодирующего устройства фиг.2а, обеспечивающего отдельно главный и боковой потоки, то есть кодирующее устройство не включает мультиплексор;
фиг.3 - блок-схема способа настройки на главный поток в соответствии с осуществлением изобретения;
фиг.4а - блок-схема декодера в соответствии с осуществлением изобретения;
фиг.4b - блок-схема декодера фиг.4а, получающего главный и боковой потоки отдельно, то есть декодер не включает демультиплексор;
фиг.5а - блок-схема декодера в соответствии с другим осуществлением изобретения;
фиг.5b - блок-схема декодера фиг.5а, получающего главный и боковой потоки отдельно, то есть декодер не включает демультиплексор;
фиг.6 иллюстрирует настройку на главный поток посредством использования множества настроек на потоки; и
фиг.7 иллюстрирует обычный подход к настройке на главный поток посредством использования настройки на поток.
В дальнейшем будут описаны осуществления изобретения. Одно осуществление изобретения касается принципа генерирования потока данных, например, видеопотока или звукового потока, где поток данных включает множество блоков закодированных данных, которые включают множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования. В соответствии с осуществлениями изобретения поток данных может быть видеопотоком, являющимся внутри - и межкодированием. Закодированный поток может включать I-изображения как точки произвольного доступа и Р-изображения и/или В-изображения. В пределах закодированного потока данных расстояние между независимыми блоками, например I-изображениями, изменяется в зависимости от содержания потока.
Фиг.1 - блок-схема, иллюстрирующая способ генерирования потока данных в соответствии с осуществлением изобретения для генерирования видеопотока. На стадии S100 запускается способ и предоставляется входной видеосигнал. Этот входной видеосигнал включает множество частей, например, изображение, определяющее изображение в пределах видеопотока. На стадии S110 анализируется часть полученной видеоинформации и содержание входного видеосигнала, подлежащего кодированию. В осуществлении, описанном относительно фиг.1, на стадии S120 определяется, связана ли анализируемая часть содержания с определенным сценарием, таким как граница сцены (объекта передачи) или быстрое движение камеры в сцене (объекте передачи). В случае, если такая конкретная ситуация не присутствует в анализируемой части содержания, способ переходит на стадию S130, где анализируемая часть кодируется в Р-изображение или В-изображение. С другой стороны, в случае, если вышеобсужденная ситуация обнаруживается в содержании, способ переходит на стадию S140, где анализируемая часть кодируется в I-изображение. На стадии S150 проверяется, присутствуют ли дополнительные части, подлежащие анализированию, и в случае, если это так, способ переходит на стадию S160, где выбирается следующая часть, подлежащая анализированию во входном видеосигнале, и затем способ возвращается на стадию S110. В противном случае способ заканчивается на стадии S170, то есть входной видеосигнал теперь кодируется и присутствует в форме последовательности I-изображений, Р-изображений и/или В-изображений.
Вышеописанный подход к определению положения I-изображений в видеопотоке приводит к размещению I-изображения в закодированном видеопотоке в зависимости от содержания, чтобы изменялось фактическое расстояние между последовательными I-изображениями. Таким образом, I-изображения вставляются в видеопоток на нефиксированном расстоянии, то есть статическая длина GOP (группы изображений), например, одна секунда или пять секунд - которые используется в традиционных способах - больше не существует. Скорее, изменяется расстояние между последовательными I-изображениями. В соответствии с осуществлениями изобретения расстояние может изменяться в пределах определенного временного окна, например временного окна, имеющего максимальное расстояние, равное пяти секундам, и минимальное расстояние, равное одной секунде. Это решение выгодно, поскольку оно может увеличить эффективность скорости передачи битов в видеопотоке, потому что I-изображения для точек произвольного доступа размещаются в тех местах в потоке, где битовая потребность, так или иначе, выше, даже для Р-изображений, например при урезании сцены (объекта передачи) или при высокой скорости движения камеры, где прогнозирование движения требует максимальной информации в Р-изображениях.
Фиг.2 - блок-схема кодирующего устройства в соответствии с осуществлением изобретения. Фиг.2 показывает кодирующее устройство 200, которое включает главное кодирующее устройство 202 и боковое кодирующее устройство 204. Главное кодирующее устройство 202 включает анализатор содержания (контента) 206. Главное кодирующее устройство 202 получает входной видеосигнал и работает в соответствии с описанным выше способом генерирования главного потока на его выходе. Кроме того, в дальнейших осуществлениях кодирующее устройство 200 может также включать дополнительное боковое кодирующее устройство 204, которое генерирует, на основе входного видеосигнала, так называемую настройку на поток, соответствующую главному потоку, который, однако, закодирован с более высоким числом I-изображений, обычно с более низким качеством, чтобы получить более низкую скорость битового потока бокового потока по сравнению с главным потоком. Кроме того, кодирующее устройство 200, в осуществлении, может включать мультиплексор 208, получающий главный поток от главного кодирующего устройства 202 и настройку на поток от бокового кодирующего устройства 204, и обеспечивающий либо объединенный выходной поток 210 (см. фиг.2а), либо отдельно главный поток 212 и настройку на потоки 214 (см. фиг.2b), которые должны пересылаться клиентам для декодирования и воспроизведения.
В соответствии с осуществлением изобретения, использующего кодирующее устройство 200, как показано на фиг.2, которое включает эти два кодирующих устройства 202 и 204, главный поток генерируется для канала в многоканальной системе передачи, и в такой системе производится настройка на главный поток с помощью вторичного потока; настройка на поток или боковой поток также генерируется кодирующим устройством 200. Как обсуждалось выше, главный поток включает множество I-изображений, которые не предоставляются на фиксированном расстоянии, а расстояние между последовательными I-изображениями изменяется в пределах определенного временного окна. В кодирующем устройстве 202 видеосодержание (контент), определенное входным видеосигналом, анализируется посредством анализатора содержания (контента) 206 во время кодирования, и I-изображения вставляются в те места, где визуальные различия разрешения или визуальные различия качества изображения обычно субъективно менее различимы, например на границе сцены (объекта передачи) или во время быстрых движений камеры в сцене (объекте передачи).
Генерирование главного потока таким способом выгодно, так как после настройки на главный поток, либо после настройки на приемник или после переключения с другого канала, достигается гладкий переход от настройки на поток к главному потоку, который может быть полностью неразличим программой просмотра (зрителем). Далее, это решение может увеличить эффективность скорости передачи битов в главном потоке, потому что I-изображения для точек произвольного доступа размещаются в тех точках в потоке, где битовое требование в любом случае выше, даже для Р-изображений. Кроме того, биты для дополнительных I-изображений на фиксированном расстоянии могут быть сэкономлены без потери доступности к каналу, поскольку доступность гарантируется посредством обеспечения настройки на поток, который может иметь I-изображения на фиксированном расстоянии и на более высокой скорости, то есть число I-изображений, как обсуждалось ранее, выше, чем число I-изображений в главном потоке. Это может вызвать необходимость кодирования настройки на поток с более низким качеством, чтобы соответствовать требованиям к скорости передачи битов для передачи информации. Дополнительное преимущество состоит в том, что вышеописанный подход - чистое решение головного узла, которое предпочтительно существует в кодирующем устройстве 202 и не требует никаких дополнительных устройств сети или подобных устройств. Далее, благоприятно то, что фактически не добавляется дополнительная сложность устройства клиента. Все, что должен сделать клиент, активно контролировать главный поток для первого I-изображения, вместо того, чтобы считать фиксированное число изображений после настройки в случае статических переходных периодов. Альтернативно, настройка на поток может включать дополнительное оповещение о следующем I-изображений в главном потоке, показывающем, когда появится следующее I-изображение в главном потоке. Это позволяет клиенту переключиться на главный поток, не контролируя его.
Благоприятно размещение I-изображений в главном потоке в зависимости от содержания. Однако, в ситуации очень длинных статических сцен, может случиться так, что любое предварительно определенное максимально допустимое расстояние между I-изображениями (которое устанавливается так, чтобы оно не превышало максимальной длины переходного периода) будет превышено, поэтому появится необходимость разместить I-изображения в пределах статической последовательности. В этой ситуации переключение от низкокачественной настройки на поток к высококачественному главному потоку потенциально было бы видимым. Для таких ситуаций, то есть ситуации, когда I-изображение должно быть размещено независимо от содержания, осуществления изобретения предлагают изменить настройку на поток, постепенно улучшая качество настройки на поток во время переходного периода, например, шаг за шагом понижая параметры квантизации до границы I-изображения главного потока. Параметр квантизации - один из главных параметров, управляющий видеокачеством в процессе кодирования. Более низкий параметр квантизации соответствует более мелкоструктурной квантизации коэффициентов закодированных данных и, таким образом, менее видимым искажениям кодирования, подобным блокированию артефактов.
Фиг.3 - блок-схема способа настройки на видео главный поток в соответствии с осуществлением изобретения. Фиг.3 начинается с ситуации, когда приемник получает, декодирует и выводит для воспроизведения видео главный поток, связанный с первым каналом, как показано на стадии S300. На стадии S302 проверяется, получен ли запрос изменения канала, например, запрос изменения на второй канал. Пока такой запрос не получен, видео главный поток, связанный с первым каналом, дальше декодируется и выводится для воспроизведения. Однако, в случае, если запрос изменения канала получен на стадии S302, способ переходит на стадию S304. На стадии S304 декодирование главного потока для первого канала останавливается, и приемник настраивается на настройку на поток, или боковой поток, и на главный поток для второго канала, как обозначено на стадии S306. После настройки на боковой поток для второго канала, начинающейся с получения первого I-изображения в боковом потоке, начинается декодирование и вывод бокового потока для второго канала на стадии S308. На стадии S310 главный поток для второго канала проверяется, чтобы определить на стадии S312, было ли получено I-изображение в главном потоке для второго канала или нет. Пока не получено I-изображение в главном потоке, способ продолжает декодировать и выводить информацию из бокового потока и продолжает контролировать главный поток для I-изображения. Как только получено и готово к декодированию первое I-изображение для главного потока для второго канала, способ переходит на стадию S314, где прекращается получение, декодирование и вывод бокового потока для второго канала. На стадии S316 декодирование и выведение главного потока для второго канала начинается, эффективно заканчивая процесс изменения канала.
Что касается фиг.3, то же самое было описано относительно ситуации, когда приемник уже работает, декодирует и выводит информацию относительно первого канала (см. стадии S300-S304). Однако, в соответствии с другими осуществлениями, этот подход также работает в ситуациях, когда приемник включается на стороне клиента и начинает декодировать видеопоток. Также, как описано на стадиях S306-S316, приемник, прежде всего, настраивается на канал, выбранный при запуске приемника, и декодирует и выводит боковой поток, пока I-изображение не поступает в главный поток.
Так как I-изображение в главном потоке размещается в пределах главного потока в месте, где различия в качестве изображения менее очевидны, переход от бокового потока к главному потоку по получении I-изображения в главном потоке менее обнаружим, и может быть совсем незаметен для программ просмотра (зрителей). Таким образом, переключение от низкокачественного бокового потока на высококачественный главный поток субъективно скрыто, вследствие того, что I-изображения в главном потоке были размещены в местах, определенных на основе содержания (контента) главного потока.
Фиг.4 показывает блок-схему декодера 400, поскольку он может использоваться в соответствии с осуществлением изобретения. Декодер 400 включает вводную часть программы 402. Вводная часть программы 402 получает либо главный поток 408 и боковой поток 410 (см. фиг.4b), либо объединенный входной поток 406. В случае объединенного входного потока (см. фиг.4а) вводная часть программы включает демультиплексор 204, на входе получающий объединенный входной поток 406, который, посредством демультиплексора 404, расщепляется на главный поток 408 и боковой поток 410.
Далее, декодер 400 включает узел декодера 412. Узел декодера 412 включает переключательный элемент 414 для селективного приложения к входу узла декодера либо главного потока 408, либо бокового потока 410. Далее, узел декодера имеет вход управляющего сигнала 416 для получения управляющих сигналов, например вышеописанный сигнал запроса изменения канала. Далее, узел декодера 412 контролирует главный поток, что схематично показано пунктирной линией 418.
Декодер 400 работает, как было описано выше относительно фиг.3, то есть узел декодера 412 декодирует главный поток для определенного канала, пока не получен управляющий сигнал на входе 416, указывающий на запрос изменения канала. По получении сигнала об изменении канала на входе управляющего сигнала 416 узел декодера настраивается на боковой поток посредством переключения переключательного элемента 414, чтобы предоставить боковой поток 410 узлу декодера, который затем декодирует боковой поток, как только первое I-изображение обнаружено в пределах бокового потока и готово к декодированию. Узел декодера 412 затем выводит декодированный сигнал 420. В то же самое время узел декодера 412 контролирует, через линию 418, главный поток 408, и как только первое I-изображение обнаружено в главном потоке и готово к декодированию, переключается таким образом, что главный поток предоставляется узлу декодера 412, а главный поток декодируется и выводится в 420.
Во многих случаях, переключение от настройки на поток на главный поток способом, описанным выше относительно фиг.4, имеет жесткий временной режим, чтобы избежать любых искажений. Поэтому, часто две независимые цепи декодера для настройки на поток и главный поток предпочтительны, чтобы иметь возможность начать декодирование главного потока немного раньше так, чтобы переключение могло быть выполнено в несжатой области. Однако такой подход невыгоден, поскольку использование двух декодеров увеличивает клиентскую сложность. Поэтому существует дополнительная потребность в предоставлении одиночного декодера, чтобы уменьшить сложность выполнения и позволить повторное использование уже существующих чипов декодера. Поэтому в соответствии с осуществлением изобретения точка переключения в настройке на поток и/или в главном потоке передается, чтобы позволить декодеру переключиться. Различные способы сигнализирования могут быть осуществлены в зависимости от транспортного уровня и используемых типов потока. Для RTP (транспортный протокол реального времени) потоков, например, могут использоваться расширения заголовка RTP или, например, отчеты отправителя RTCP (протокол управления передачей в реальном времени). Для Транспортных Потоков MPEG-2, например, может использоваться механизм Синхронных Вспомогательных Данных (SAD) или, например, отдельный поток с другим PID (идентификатором процесса). Для видеопотоков AVC (средства обработки аудиовизуальной информации) могут использоваться SEI сообщения в видеопотоке.
Использование только одиночного элемента декодирования и передача сигнала элементу декодирования, когда произойдет переключение, выгодно, так как, прежде всего, только один декодер необходим в клиентском устройстве, что, таким образом, уменьшает его сложность. Кроме того, этот подход прекрасно работает для настройки на потоки со сдвигом времени (отсроченные). Кроме того, клиенту нет необходимости неявно вычислять или оценивать соответствующую точку переключения. Клиент должен только считывать передаваемые сообщения из потоков. Кодирующее устройство посылает сообщение, которое оповещает о точке во времени, когда клиенту разрешено переключиться на главный поток и начать декодирование первого главного потока данных. Этот сигнал посылают вместе с данными потока, например, вложенными в настройку данных потока (например, такую как расширение заголовка RTP) или, например, отдельный поток сигналов (например, такой как сообщение RTCP).
Клиентское устройство контролирует эту передачу сигнала, и по прибытии сообщения клиент действует согласно этому сообщению, то есть прекращает декодирование настройки на данные потока и начинает декодирование данных главного потока.
Преимущество состоит в том, что клиент может избежать синтаксического разбора данных потока (например, синтаксический разбор данных, содержащихся в заголовке закодированных данных изображения для идентификатора изображений; этот идентификатор отличается для различных схем кодирования, таких как Н.264 или MPEG-2), и должен только прочитать сигнальные сообщения. Другое преимущество состоит в том, что клиент не только получает информацию о прибытии I-изображения, но также и информацию о том, когда I-изображение готово к декодированию (например, когда входной буфер для главного потока заполнен до уровня, который не допускает буферной недогрузки и переполнения в последующем декодировании потока).
Что касается фиг.3, клиент не контролирует главный поток для I-изображения на стадии S310, но контролирует передачу сигналов на стадии S311, чтобы получить информацию о прибытии (и полном приеме данных изображения) и статусе «готов к декодированию».
Что касается фиг.4, узел декодера 412 не контролирует главный поток через пунктирную линию 418, но передает сигнал через пунктирную линию 419, чтобы получить вышеописанную информацию.
Теперь будет описан аспект альтернативной передачи сигнала. Как было упомянуто выше, клиент должен ждать первые данные I-изображения главного потока, прежде чем он сможет начать декодирование главного потока. Любые данные главного потока, полученные перед первыми данными I-изображения, не могут использоваться и должны быть удалены. Желательно избежать приема таких данных, чтобы минимизировать время, когда оба потока (настройка на поток и главный поток) должны быть получены от клиента, чтобы сэкономить полосу пропускания на клиентском соединении с сетью (например, DSL (цифровая абонентская линия)) для других применений, которые также могут использовать полосу пропускания (которая обычно является ограничением для, например, линии DSL, по сравнению с основной полосой пропускания сети).
Таким образом, желательно сообщать, когда следующее I-изображение (то есть первые пакеты/биты изображения) может быть получено клиентом. Эта информация позволяет клиенту присоединиться к главному потоку непосредственно перед тем, как прибудут данные I-изображения, и позволяет клиенту заранее избежать присоединения к главному потоку (например, параллельно с настройкой на поток, как описано на стадии S306 фиг.3).
Такая передача сигналов может быть осуществлена подобно вышеописанному сообщению «I-изображение готово к декодированию», например, вложенному в настройку на поток, или в виде отдельного потока данных. Далее, может быть полезно посылать несколько сообщений, например, «I-изображение запускается через 3 секунды», «I-изображение запускаается через 2 секунды», «I-изображение запускается через 1 секунду», для надежности по ошибке и, чтобы позволить клиенту справиться с потенциальным дрожанием сети (то есть различными задержками сети между передачей сигналов и данными потока).
В соответствии с дальнейшими осуществлениями декодер 400 может включать блок постобработки 422, который может далее уменьшить субъективное различие между настройкой на поток и главным потоком при переключении от настройк