RU2488968C2 - Кодирующее устройство и способ генерирования потока данных - Google Patents
Кодирующее устройство и способ генерирования потока данных Download PDFInfo
- Publication number
- RU2488968C2 RU2488968C2 RU2011123122/08A RU2011123122A RU2488968C2 RU 2488968 C2 RU2488968 C2 RU 2488968C2 RU 2011123122/08 A RU2011123122/08 A RU 2011123122/08A RU 2011123122 A RU2011123122 A RU 2011123122A RU 2488968 C2 RU2488968 C2 RU 2488968C2
- Authority
- RU
- Russia
- Prior art keywords
- stream
- main stream
- blocks
- main
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Изобретение описывает способ генерирования потока данных, где поток включает множество блоков закодированных данных. Блоки закодированных данных включают множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования. Расстояние между независимыми блоками в потоке изменяется в зависимости от содержания, закодированного в потоке. Поток является главным потоком, где настройка на главный поток производится через вторичный поток, включающий, по крайней мере, подмножество блоков данных главного потока, закодированных в качестве, отличающемся от качества блоков данных главного потока. Независимые блоки вставляются в те места в главном потоке, где различия качества данных, закодированных в главном потоке и во вторичном потоке, менее явные. Технический результат - увеличение эффективности скорости передачи битов в видеопотоке. 5 н. и 20 з.п. ф-лы, 12 ил.
Description
Осуществления изобретения касаются генерирования потоков данных, включающих множество блоков закодированных данных, где такой вид потоков передается на приемник (ресивер) и декодируется для представления данных в потоке. Более подробно, но не в качестве ограничения, изобретение связывается с областью передачи, приема и воспроизведения медиа данных, и осуществления изобретения касаются быстрой настройки на передачу потока по 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, который может далее уменьшить субъективное различие между настройкой на поток и главным потоком при переключении от настройки на поток к главному потоку. Предпочтительно, чтобы блок постобработки 422 управлял декодированием главного потока. Для большей конкретики, может применяться фильтрование декодированных изображений из главного потока, начиная с первого изображения главного потока через определенный промежуток времени, например, 0.5 секунды. Это фильтрование может привести к размыванию изображения, и в осуществлениях коэффициенты фильтрации могут быть изменены через вышеупомянутый промежуток времени, таким образом, уменьшая эффект размывания или эффект фильтрования от изображения к изображению, таким образом, постепенно изменяясь от низкого качества настройки на поток к высокому качеству главного потока. Альтернативно, постобработка может быть выполнена посредством декодирования первого изображения только после переключения с подмножеством коэффициентов, которое известно как обновление уменьшенного разрешения в стандарте Н.263. Вслед за первым изображением для каждого последующего изображения используется увеличенное число коэффициентов, пока полное число коэффициентов не будет применено, и максимально качественное декодирование главного потока не будет достигнуто. Этот подход также приводит к уменьшению деталей на первых изображениях после переключения и, таким образом, способствует субъективному сокрытию переключения от низкокачественного потока на высококачественный поток.
Осуществления, описываемые до сих пор, работают на базе приемников, которые одновременно получают и главный поток и боковой поток, однако, изобретение не ограничивается этим. Фиг.5 - блок-схема системы приемника/сервера, которая может также использоваться в соответствии с осуществлениями изобретения. Система, показанная на фиг.5, содержит приемник 500, который включает декодер 502, и пользовательский интерфейс 504. Кроме того, показан сервер 506. Сервер 506 включает дополнительный демультиплексор 508 (см. фиг.5а) и селектор 510. Сервер 506 получает на входе демультиплексора 508 объединенный видеопоток 512 для одного канала, и посредством демультиплексора 508 объединенный входной поток 512 разделяется на главный поток 514 и настройку на поток или боковой поток 516. Альтернативно, главный поток 514 и настройка на поток или боковой поток 516 может быть получен отдельно так, что никакой демультиплексор не будет нужен (см. фиг.5b). Эти потоки вводятся в селектор 510, который выводит один из выбранных потоков на декодер, как показано в 518. Далее, селектор 510 соединяется с пользовательским интерфейсом 504 приемника 500, как показано в 520. По линии 520 селектор 510 может получать для пользовательского интерфейса 504 сигнал о запросе изменения. Функциональные возможности системы, показанной на фиг.5, аналогичны описанным выше. Для большей конкретики, пока не получен запрос изменения канала в селекторе, главный поток для конкретного канала доставляется через селектор декодеру и декодируется на выходе. После получения запроса изменения канала через линию 520, селектор настраивается на настройку на поток 516 и поставляет настройку на поток декодеру, пока не будет получено I-изображение в главном потоке. Как только это I-изображение поступает, происходит переключение от низкокачественной настройки на поток на высококачественный главный поток, как описано выше. Главный поток 514 может также быть предоставлен непосредственно декодеру (см. пунктирную линию на фиг.5), то есть не через сервер.
В соответствии с другим аспектом изобретения можно избежать простых искажений после переключения от настройки на поток на главный поток посредством предоставления однго или нескольких дополнительных настроек на поток, которые кодируются на различных качественных уровнях - от качественного уровня главного потока до качественного уровня первой настройки на поток. Этот способ может быть объединен с вышеупомянутым и описанным способом введения I-изображений на переменных расстояниях, однако способ использования множества настроек на поток может также использоваться с обычными способами кодирования главного потока, то есть с обычными главными потоками, имеющими I-изображения на фиксированных расстояниях, то есть размещенные независимо от содержания.
Фиг.6 иллюстрирует осуществление изобретения, использующее один главный поток и две настройки на потоки. Фиг.6(а) соответствует фиг.7 и показывает ситуацию, когда предоставлен только одиночный главный поток и одиночная настройка на поток. Фиг.6(b) показывает изменение качества при использовании двух настроек на потоки, и фиг.6(с) - схематическое представление соответствующих потоков, где вертикальные линии иллюстрируют положение I-изображения в соответствующих потоках. Как видно по фиг.6(с), число I-изображений в пределах главного потока является самым низким, и эти I-изображения размещены на большом расстоянии друг от друга. I-изображения могут либо размещаться в главном потоке в зависимости от его содержания, либо на фиксированных расстояниях. Первая настройка на поток имеет самое большое число I-изображений, тогда как вторая настройка на поток имеет число I-изображений, которое находится между числом I-изображений главного потока и настройки на поток.
Вторая настройка на поток может использоваться, чтобы избежать нежелательного скачка представленного качества изображения во время настройки. Вторая настройка на поток может кодироваться так, что во время части переходного периода качество постепенно возрастает от качества настройки на поток Qi до максимального качества Qf, главного потока (100%), как показано на фиг.6(b). Чтобы достигнуть Qf, в конце переходного периода, вторая настройка на поток использует максимальное разрешение главного потока. Чтобы обеспечить гладкий переход и избежать чрезмерной скорости передачи битов служебных сигналов, вторая настройка на поток может использовать более длинный период GOP, чем настройка на поток.
Процесс настройки может быть аналогичен показанному на фиг.6(b). После инициализации настройки на поток во время t0 клиентское устройство, прежде всего, должно ожидать прибытия следующего I-изображения, являющегося I-изображением в настройке на поток, которое прибывает в tR. Во время периода от tR до tT' настройка на поток декодируется и представляется. Во время tT' прибывает I-изображение второй настройки на поток и готовится к декодированию. Во время периода времени от tT' до tT предоставляется вторая настройка на поток, и во время tT заканчивается переходный период, и клиент переключается на главный поток.
Кроме того, осуществления позволяют декодировать только вторую настройку на поток с адаптивной длиной GOP, а настройка на поток и главные поток могут иметь фиксированную длину GOP. Другими словами, в таком осуществлении главный поток и настройка на поток кодируются традиционно, и только вторая настройка на поток кодируется так, что I-изображения размещаются в пределах второй настройки на поток в зависимости от содержания.
Далее отмечено, что изобретение не ограничивается использованием только двух настроек на потоки, скорее можно иметь N настроек на потоки вместо двух, таким образом, обеспечивая более мелкую ячеистость и гладкость после расширения качества.
Осуществления, как описано выше, включают настройки на потоки или боковые потоки, которые включают и I-изображения и Р-изображения или В-изображения. Однако изобретение не ограничено такой настройкой на потоки. В альтернативных осуществлениях настройки на потоки могут состоять только из одиночной настройки на изображения, например боковой поток может передавать только точки произвольного доступа или I-изображения. Промежуточные изображения декодируются посредством использования данных из главного потока, например информация от Р-изображений и/или В-изображений главного потока. Осуществления, обсужденные выше, описывают два отдельных потока: главный поток и настройку на поток. Однако изобретение не ограничивается такими осуществлениями, скорее вышеупомянутые способы также могут быть приспособлены к масштабируемому видеокодированию (SVC), использующему, например, два слоя: слой расширения, имеющий более длинное расстояние между I-изображениями, и слой базы, имеющий более короткое расстояние между I-изображениями. В таком сценарии слой базы соответствует настройке на поток и выполняется как вышеописанная настройка на поток. Однако вышеупомянутое использование более чем одной настройки на поток может также реализовываться способом масштабируемого видеокодирования, например, посредством применения трехслойного SVC с одним слоем базы и двумя слоями расширения. Масштабируемое видеокодирование и использование этого подхода для настройки на главный поток после изменения канала, например, описываются в патентах WO 2008 138546 А2 и US 2003/0007562 А1, которые включены сюда в качестве ссылки.
Субъективно, сокрытие переключения от низкокачественного потока на высококачественный поток достигается так же, как описано выше, то есть во время переключения только слой базы используется для декодирования, пока не получено I-изображение в слое расширения. По получении этого I-изображения в слое расширения декодирование осуществляется на основе информации от слоя расширения. Далее, в то время как осуществления изобретения описываются относительно Интернет-протокола TV системы (система IPTV), замечено, что изобретение не ограничивается такой средой. Скорее, осуществления, описанные выше, могут использоваться и применяться к любой мультимедийной системе распределения, например радиовещательные системы. Так как осуществления изобретения обеспечивают чистое решение головного узла, решение настройки на потоки с адаптивной длиной переходного периода может также применяться к любой мультимедийной системе распределения.
В соответствии с дальнейшим осуществлением изобретения дополнительное переключательное изображение для каждого I-изображения может быть отправлено в главный поток или в настройку на поток или независимо от потоков. Переключательное изображение - альтернативное кодирование I-изображения в том же самом случае выборки, и используется только после переключения. Во время нормального декодирования главного потока в устойчивом состоянии приема в канале используется нормальное I-изображение из главного потока. Переключательное изображение кодируется способом, также помогающим уменьшить визуальное различие между настройкой на поток и главным потоком. Оно кодируется в качестве между главным потоком и настройкой на поток. Альтернативно, полное «переключение GOP» может посылаться вместо переключательного изображения, чтобы контролировать «линейно нарастающее качество» от промежуточного качества настройки к максимальному качеству главного потока.
Далее, замечено, что осуществления были описаны в сочетании с видеоданными, однако замечено, что изобретение не ограничивается передачей видеоданных, скорее принципы, описанные в осуществлениях выше, могут применяться к любому виду данных, которые должны быть закодированы в потоке данных. Для большей конкретики, вышеописанные принципы также применяются к звуковым данным или другому виду синхронизированных мультимедийных данных, которые используют принцип дифференциального кодирования, использующий принцип различных типов фрагментов переданных данных в пределах потока данных, подобных полной информации (которая позволяет клиенту декодировать полное представление закодированных мультимедийных данных), и информацию о дельте (или обновлении) (которая содержит только дифференциальную информацию, которую клиент может использовать только для полного представления закодированных мультимедийных данных, если была получена предыдущая информация). Примерами таких мультимедийных данных, помимо видео, являются графические данные, векторные графические данные, трехмерные графические данные в целом, например данные для каркасной модели и данные текстуры, или двухмерные или трехмерные данные сцены представления.
Следует понимать, что в зависимости от обстоятельств способы осуществлений изобретения могут также выполняться в программном обеспечении. Выполнение может происходить на цифровом носителе данных, в частности диск, DVD или компакт-диск с электронно считываемыми управляющими сигналами, которые могут взаимодействовать с программируемой компьютерной системой так, чтобы выполнялся соответствующий способ. В общем, изобретение, таким образом, также состоит из компьютерного программного продукта с управляющей программой, хранящейся на машиночитаемом носителе для выполнения изобретательного способа, когда компьютерный программный продукт запущен на PC и/или микроконтроллере. Другими словами, изобретение может, таким образом, реализовываться как компьютерная программа с управляющей программой для выполнения способа, когда компьютерная программа запущена на компьютере и/или микроконтроллере.
Замечено, что вышеприведенное описание иллюстрирует принципы изобретения, но следует понимать, что квалифицированные в этой области специалисты будут в состоянии разработать различные средства, которые, хотя подробно не описаны и не показаны здесь, воплощают принципы изобретения, не отступая от сущности или объема изобретения. Квалифицированные в этой области специалисты должны понимать, что блок-схемы, показанные здесь, дают концептуальные представления проиллюстративной схемы, воплощающей принципы изобретения. Точно так же следует понимать, что любые блок-схемы, передаточные диаграммы и т.п. представляют различные процессы, которые могут, по существу, быть представлены на компьютерных программоносителях, и могут выполняться компьютером или процессором, независимо от того, показан ли этот компьютер или процессор. Функции различных элементов, показанных на рисунках, могут быть предоставлены с помощью специализированных аппаратных средств, а также аппаратных средств, способных выполнять программное обеспечение совместно с соответствующим программным обеспечением. Будучи предоставленными процессором, функции могут быть предоставлены одиночным специализированным процессором, одиночным разделенным процессором или множеством индивидуальных процессоров, некоторые из которых могут быть разделены. Кроме того, точное использование термина «процессор» или «контроллер» не должно толковаться как относящееся исключительно к аппаратным средствам, способным выполнять программное обеспечение; он может включать, без ограничения, аппаратные средства процессора цифровой обработки сигнала, постоянную память для хранения программного обеспечения, оперативную память и энергонезависимое запоминающее устройство.
Осуществления изобретения были описаны в контексте многоканальной системы передачи, в которой главный поток и вторичный поток связаны с каналом многоканальной системы передачи, и настройка на запрос показывает изменение от токового канала многоканальной системы передачи на новый канал многоканальной системы передачи.
Однако изобретение не ограничивается такими осуществлениями. Скорее изобретение, в общем, касается улучшения характеристик настройки после настройки на поток, который включает главный поток и, по крайней мере, вторичный поток, как описано подробно выше, где поток может быть одиночным потоком, который предоставляется пользователю, например, по сети, такой как Интернет.
Поток, содержащий, например, видеоконтент, может предоставляться поставщиком услуг, таким образом, что пользователь может настраиваться на поток в любое время. В такой ситуации после получения запроса настройки пользователь получает поток, включающий главный и вторичный потоки, и вторичный поток декодируется, пока независимый блок не поступает в главный поток, и не достигается необходимый уровень наполнения буфера декодера главного потока.
В другом осуществлении изобретения пользователь получает поток по требованию пользователя, например, от поставщика услуг. Поток (например, видео по требованию) принимается пользователем, и тогда запускается декодирование настройки на поток. Снова, декодирование потока выполняется на основе вторичного потока, пока не будет достигнут необходимый уровень наполнения буфера декодера главного потока. Этот подход выбирается, несмотря на то, что поток, вследствие того, что был получен по требованию, может быть предоставлен пользователю таким образом, что I-изображение присутствует в главном потоке после настройки на поток. Однако декодирование не начнется немедленно, скорее, будет получен предварительно определенный уровень наполнения буфера декодера главного потока, чтобы гарантировать непрерывное декодирование потока, даже в случае временных прерываний потока (например, вследствие отсроченных пакетов потока вследствие сетевого графика). Однако количество данных, которые должны быть буферизованы для главного потока, весьма большое. Поэтому, также в такой ситуации вторичный поток используется в начале как количество информации, или данные, которые должны быть буферизованы в декодере вторичного потока, ниже, чем количество, которое должно быть буферизовано в декодере главного потока. Таким образом, при использовании вторичного потока декодирование начнется раньше, поскольку необходимый уровень наполнения буфера вторичного потока достигается быстрее. Как только достигается необходимый уровень наполнения буфера декодера главного потока, запускается декодирование главного потока.
В описании осуществлений изобретения независимые блоки и зависимые блоки потоков назывались I-изображениями и Р- или В-изображениями соответственно. Замечено, что термин «изображение», в целом, определяет закодированное содержание, которое включает данные или информацию, которая необходима, чтобы декодировать содержание (контент) блока. В случае I-изображений включаются все данные или информация, которые необходимы, чтобы декодировать полное содержание блока, тогда как в случае Р- или В-изображений включается не вся информация, которая необходима, чтобы декодировать полное изображение, скорее требуется дополнительная информация от предшествующего или последующего изображений. Альтернативно, I-, Р- и В-изображения могут называться I-, P- и В-фреймами.
Claims (25)
1. Способ генерирования потока данных, включающих множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования; способ включает изменение расстояния между независимыми блоками в потоке в зависимости от контента, закодированного в потоке, где поток является главным потоком, и где настройка на главный поток производится через вторичный поток, включающий, по крайней мере, подмножество блоков данных главного потока, закодированных в качестве, отличающемся от качества блоков данных главного потока, и где независимые блоки вставляются в те места в главном потоке, где различия качества данных, закодированных в главном потоке и во вторичном потоке, менее явные.
2. Способ по п.1, включающий анализ содержания главного потока во время кодирования данных для главного потока; и основанное на анализе определение положения независимых блоков в главном потоке.
3. Способ по п.1, где независимые блоки вставляются в те места в главном потоке, где содержание является более динамичным, чем в другом месте.
4. Способ по п.3, где данные главного потока представляют видеоконтент, и где независимые блоки вставляются на границах сцены или во время быстрых движений камеры в сцене.
5. Способ по п.4, где главный поток кодируется с использованием схемы дифференциального видеокодирования, приводящего к множеству I- или IDR параметров изображений в качестве независимых блоков и множеству Р-изображений или В-изображений.
6. Способ по п.4, где содержание кодируется посредством использования схемы масштабируемого видеокодирования, приводящего, по крайней мере, к одному слою расширения в качестве главного потока и слою базы в качестве вторичного потока; расстояние между I-изображениями в слое базы короче, чем расстояния между I-изображениями в слое расширения.
7. Способ по п.1, где расстояние между независимыми блоками в потоке меняется в пределах предварительно определенного временного окна.
8. Способ по п.1, включающий генерирование для каждого независимого блока в главном потоке переключательного блока или для каждой группы блоков в главном потоке группы переключательных блоков; переключательный блок кодируется с качеством между качеством блоков данных главного потока и вторичного потока.
9. Кодирующее устройство для генерирования потока данных, включающего множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования, где кодирующее устройство формируют, чтобы изменить расстояние между независимыми блоками в потоке в зависимости от содержания, закодированного в потоке, где поток является главным потоком, и где настройка на главный поток производится через вторичный поток, включающий, по крайней мере, подмножество блоков данных главного потока, закодированных в качестве, отличающемся от качества блоков данных главного потока, и где независимые блоки вставляют в те места в главном потоке, где различия качества данных, закодированных в главном потоке и во вторичном потоке, менее явные.
10. Способ настройки на главный поток, включающий предоставление главного потока, включающего множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования; предоставление вторичного потока, включающего, по крайней мере, подмножество блоков данных главного потока, закодированных в более низком качестве, чем блоки данных главного потока, где независимые блоки вставляются в главный поток в те места, где различия качества данных, закодированных в главном потоке и вторичном потоке, менее явные; после получения запроса настройки, настройку на вторичный поток и главный поток; декодирование вторичного потока пока не поступит независимый блок в главный поток, или пока не будет достигнут необходимый уровень наполнения буфера декодера главного потока; и по прибытии независимого блока в главный поток или по достижении необходимого уровня наполнения буфера декодера главного потока останавливается декодирование вторичного потока и запускается декодирование главного потока.
11. Способ по п.10, где главный поток и вторичный поток предоставляются приемнику, где вторичный поток включает множество независимых блоков, где расстояние между независимыми блоками во вторичном потоке короче, чем расстояние между независимыми блоками в главном потоке.
12. Способ по п.11, где вторичный поток далее включает множество блоков, включающих только частичную информацию для декодирования.
13. Способ по п.10, где главный поток и вторичный поток предоставляются через сервер приемнику, где в ответ на запрос настройки вторичный поток предоставляется от сервера приемнику для декодирования, пока независимый блок не прибудет в главный поток, или пока не будет достигнут необходимый уровень наполнения буфера декодера главного потока.
14. Способ по п.10, далее включающий постобработку декодированного главного потока для уменьшения внезапного перехода от низкокачественного вторичного потока на высококачественный главный поток.
15. Способ по п.14, где постобработка включает фильтрование декодированного главного потока, где коэффициент фильтрации приспосабливается к предварительно определенному числу блоков для постепенного повышения качества, или где постобработка включает запуск декодирования главного потока с уменьшенным набором коэффициентов декодирования, и установку набора коэффициентов декодирования для предварительно определенного числа блоков, чтобы постепенно повысить качество главного потока.
16. Способ по п.10, включающий обеспечение дополнительного вторичного потока, включающего, по крайней мере, подмножество блоков данных главного потока, закодированных в качестве между качеством кодирования блоков данных главного потока и вторичного потока, где вторичный поток декодируется, пока независимый блок не прибудет в дополнительный вторичный поток, и где дополнительный вторичный поток декодируется до прибытия независимого блока в главный поток.
17. Способ по п.16, где предоставляется множество дополнительных вторичных потоков; каждый дополнительный вторичный поток включает, по крайней мере, подмножество блоков данных главного потока, закодированных с различным качеством, от качества кодирования блоков данных главного потока до вторичного потока.
18. Способ по п.10, включающий обеспечение каждого независимого блока в главном потоке или во вторичном потоке переключательным блоком или каждой группы блоков в главном потоке или вторичном потоке группой переключательных блоков; переключательный блок закодирован с качеством между качеством блоков данных главного потока и вторичного потока.
19. Способ по п.18, где переключательные блоки или группа переключательных блоков предоставляются вместе с главным потоком или вторичным потоком или предоставляются независимо от главного потока и вторичного потока.
20. Способ по п.10, включающий передачу сигнала о точке переключения во вторичном потоке или главном потоке декодеру, используемому для декодирования вторичного потока и главного потока; и переключение декодера от режима декодирования вторичного потока к режиму декодирования главного потока до начала декодирования главного потока.
21. Способ по п.10, где главный поток и вторичный поток соединяются с каналом многоканальной системы передачи, где запрос настройки указывает на изменение от токового канала многоканальной системы передачи на новый канал многоканальной системы передачи, и где вторичный поток декодируется, пока независимый блок не прибудет в главный поток и не будет достигнут необходимый уровень наполнения буфера декодера главного потока.
22. Способ по п.10, где главный поток и вторичный поток соединяются с потоком, где запрос настройки инициирует начальную настройку на поток, и где вторичный поток декодируется, пока независимый блок не прибудет в главный поток, и не будет достигнут необходимый уровень наполнения буфера декодера главного потока.
23. Способ по п.10, где главный поток и вторичный поток соединяются с потоком, который получен по требованию пользователя, где запрос настройки инициирует начальную настройку на поток, и где вторичный поток декодируется, пока не будет достигнут необходимый уровень наполнения буфера декодера главного потока.
24. Декодер для получения закодированных данных и обеспечения декодированных выходных данных; декодер включает вход для получения главного потока и вторичного потока; главный поток включает множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования, где вторичный поток включает, по крайней мере, подмножество блоков данных главного потока, закодированных в более низком качестве, чем блоки данных главного потока, и где независимые блоки вставляются в те места в главном потоке, где различия качества данных, закодированных в главном потоке и вторичном потоке, менее явные; управляющий входной сигнал для получения сигнала о запросе настройки; и узел декодирования, соединенный с входом и с управляющим входным сигналом для производства декодированных выходных данных; узел декодирования приспосабливается к настройке на вторичный поток после получения запроса настройки в управляющем входном сигнале, к декодированию вторичного потока, пока независимый блок не прибудет в главный поток, или пока не будет достигнут необходимый уровень наполнения буфера декодера главного потока, и к прекращению декодирования вторичного потока и запуску декодирования главного потока по прибытии независимого блока в главный поток, или по достижении необходимого уровня наполнения буфера декодера главного потока.
25. Компьютерный программоноситель для сохранения команды, которая, будучи выполненной компьютером, реализует способ генерирования потока данных, включающих множество блоков закодированных данных; множество блоков закодированных данных включает множество независимых блоков, включающих всю информацию для декодирования блока, и множество блоков, включающих только частичную информацию для декодирования, где расстояние между независимыми блоками в потоке изменяется в зависимости от содержания, закодированного в потоке, где поток является главным потоком, и где настройка на главный поток производится через вторичный поток, включающий, по крайней мере, подмножество блоков данных главного потока, закодированных в качестве, отличающемся от качества блоков данных главного потока, и где независимые блоки вставляются в те места в главном потоке, где различия качества данных, закодированных в главном потоке и во вторичном потоке, менее явные.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11366308P | 2008-11-12 | 2008-11-12 | |
US61/113,663 | 2008-11-12 | ||
US12/437,844 US20100118938A1 (en) | 2008-11-12 | 2009-05-08 | Encoder and method for generating a stream of data |
US12/437,844 | 2009-05-08 | ||
PCT/EP2009/007840 WO2010054766A2 (en) | 2008-11-12 | 2009-11-02 | Encoder and method for generating a stream of data |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2011123122A RU2011123122A (ru) | 2012-12-20 |
RU2488968C2 true RU2488968C2 (ru) | 2013-07-27 |
Family
ID=42165195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011123122/08A RU2488968C2 (ru) | 2008-11-12 | 2009-11-02 | Кодирующее устройство и способ генерирования потока данных |
Country Status (8)
Country | Link |
---|---|
US (1) | US20100118938A1 (ru) |
EP (1) | EP2359569B1 (ru) |
JP (1) | JP2012508536A (ru) |
CN (1) | CN102217272A (ru) |
BR (1) | BRPI0915243B1 (ru) |
HK (1) | HK1161456A1 (ru) |
RU (1) | RU2488968C2 (ru) |
WO (1) | WO2010054766A2 (ru) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101909196B (zh) * | 2009-06-05 | 2013-04-17 | 华为技术有限公司 | 一种频道切换处理方法及系统以及相关设备 |
EP2317754A1 (en) * | 2009-10-30 | 2011-05-04 | Thomson Licensing, Inc. | Method of reception of digital audio/video and corresponding apparatus |
KR101777347B1 (ko) * | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
KR20110071707A (ko) * | 2009-12-21 | 2011-06-29 | 삼성전자주식회사 | 동영상 컨텐트 제공 방법 및 그 장치, 동영상 컨텐트 재생 방법 및 그 장치 |
US8527649B2 (en) * | 2010-03-09 | 2013-09-03 | Mobixell Networks Ltd. | Multi-stream bit rate adaptation |
KR101744977B1 (ko) * | 2010-10-08 | 2017-06-08 | 삼성전자주식회사 | 멀티미디어 스트리밍 서비스에서 서비스 품질을 보장하는 방법 |
US8688074B2 (en) | 2011-02-28 | 2014-04-01 | Moisixell Networks Ltd. | Service classification of web traffic |
CN102902278B (zh) * | 2012-11-07 | 2015-01-14 | 中国兵器工业计算机应用技术研究所 | 一种基于can总线的无人机飞行控制系统 |
CN104782124B (zh) * | 2012-12-17 | 2018-09-07 | 英特尔公司 | 利用编码器硬件对视频内容进行预处理 |
EP2804374A1 (en) | 2013-02-22 | 2014-11-19 | Thomson Licensing | Coding and decoding methods of a picture block, corresponding devices and data stream |
EP2804375A1 (en) * | 2013-02-22 | 2014-11-19 | Thomson Licensing | Coding and decoding methods of a picture block, corresponding devices and data stream |
US9900629B2 (en) * | 2013-03-13 | 2018-02-20 | Apple Inc. | Codec techniques for fast switching with intermediate sequence |
EP2894860A1 (en) * | 2014-01-14 | 2015-07-15 | Thomson Licensing | Method and apparatus for multiplexing layered coded contents |
CN109565611B (zh) * | 2016-05-26 | 2021-12-21 | 弗劳恩霍夫应用研究促进协会 | 针对交互式客户端的全景视频的广播流 |
GB201622129D0 (en) | 2016-12-23 | 2017-02-08 | Statoil Petroleum As | Subsea assembly modularisation |
US10574995B2 (en) * | 2017-04-10 | 2020-02-25 | Intel Corporation | Technology to accelerate scene change detection and achieve adaptive content display |
GB2563387B (en) | 2017-06-09 | 2020-04-15 | Sony Interactive Entertainment Inc | Image processing device and system |
CN110351606B (zh) * | 2018-04-04 | 2022-12-27 | 华为技术有限公司 | 媒体信息处理方法、相关设备及计算机存储介质 |
JP7057720B2 (ja) * | 2018-06-07 | 2022-04-20 | 日本放送協会 | 動画ストリーム受信装置及びプログラム |
US11997339B2 (en) | 2020-01-15 | 2024-05-28 | Dolby International Ab | Adaptive streaming of media content with bitrate switching |
WO2023286925A1 (en) * | 2021-07-13 | 2023-01-19 | Samsung Electronics Co., Ltd. | A system and method for rendering differential video on graphical displays |
EP4281926A4 (en) | 2021-07-13 | 2024-07-17 | Samsung Electronics Co Ltd | SYSTEM AND METHOD FOR DISPLAYING DIFFERENTIAL VIDEOS ON GRAPHIC DISPLAYS |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2271074C1 (ru) * | 2004-08-09 | 2006-02-27 | ООО "НИИР-Радионет" | Многофункциональная система интеграции и передачи данных видеоинформационных услуг |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3699910B2 (ja) * | 2000-10-31 | 2005-09-28 | 株式会社東芝 | データ伝送装置、データ伝送方法及びプログラム |
US20030112874A1 (en) * | 2001-12-19 | 2003-06-19 | Moonlight Cordless Ltd. | Apparatus and method for detection of scene changes in motion video |
FI114527B (fi) * | 2002-01-23 | 2004-10-29 | Nokia Corp | Kuvakehysten ryhmittely videokoodauksessa |
MXPA04007020A (es) * | 2002-01-23 | 2004-10-11 | Nokia Corp | Agrupamiento de cuadros de imagen para codificacion de video. |
US9350782B2 (en) * | 2002-01-29 | 2016-05-24 | Antonio Ortega | Method and system for delivering media data |
EP1634457B9 (en) * | 2003-06-16 | 2019-05-08 | Thomson Licensing | Encoding method and apparatus enabling fast channel change of compressed video |
BRPI0510329A8 (pt) * | 2004-05-03 | 2018-05-22 | Thomson Res Funding Corporation | Aparelho e método para habilitar uma mudança de canal |
US20060285586A1 (en) * | 2005-05-16 | 2006-12-21 | Ensequence, Inc. | Methods and systems for achieving transition effects with MPEG-encoded picture content |
US20070174880A1 (en) * | 2005-07-05 | 2007-07-26 | Optibase Ltd. | Method, apparatus, and system of fast channel hopping between encoded video streams |
US20080212673A1 (en) * | 2007-03-01 | 2008-09-04 | Peisong Chen | Systems and Methods for Adaptively Determining I Frames for Acquisition and Base and Enhancement Layer Balancing |
US20080212599A1 (en) * | 2007-03-01 | 2008-09-04 | Qualcomm Incorporated | Methods and systems for encoding data in a communication network |
-
2009
- 2009-05-08 US US12/437,844 patent/US20100118938A1/en not_active Abandoned
- 2009-11-02 JP JP2011535903A patent/JP2012508536A/ja active Pending
- 2009-11-02 BR BRPI0915243-1A patent/BRPI0915243B1/pt active IP Right Grant
- 2009-11-02 RU RU2011123122/08A patent/RU2488968C2/ru active
- 2009-11-02 CN CN200980145254XA patent/CN102217272A/zh active Pending
- 2009-11-02 EP EP20090752115 patent/EP2359569B1/en active Active
- 2009-11-02 WO PCT/EP2009/007840 patent/WO2010054766A2/en active Application Filing
-
2012
- 2012-02-17 HK HK12101616.8A patent/HK1161456A1/xx unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2271074C1 (ru) * | 2004-08-09 | 2006-02-27 | ООО "НИИР-Радионет" | Многофункциональная система интеграции и передачи данных видеоинформационных услуг |
Also Published As
Publication number | Publication date |
---|---|
HK1161456A1 (en) | 2012-08-24 |
WO2010054766A3 (en) | 2010-08-19 |
BRPI0915243A2 (pt) | 2022-12-27 |
BRPI0915243B1 (pt) | 2023-10-31 |
JP2012508536A (ja) | 2012-04-05 |
RU2011123122A (ru) | 2012-12-20 |
EP2359569A2 (en) | 2011-08-24 |
US20100118938A1 (en) | 2010-05-13 |
WO2010054766A2 (en) | 2010-05-20 |
CN102217272A (zh) | 2011-10-12 |
EP2359569B1 (en) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2488968C2 (ru) | Кодирующее устройство и способ генерирования потока данных | |
JP5788101B2 (ja) | メディアデータのネットワークストリーミング | |
US8458744B2 (en) | Method for reducing channel change times and synchronizing audio/video content during channel change | |
KR100711635B1 (ko) | 화상 부호화 방법 | |
EP3038367B1 (en) | Streaming encoded video data | |
EP2754302B1 (en) | Network streaming of coded video data | |
KR101558116B1 (ko) | 코딩된 멀티미디어 데이터의 네트워크 스트리밍 동안의 표현들 사이의 전환 | |
EP2011332B1 (en) | Method for reducing channel change times in a digital video apparatus | |
US20090064242A1 (en) | Fast channel switching for digital tv | |
US20060143669A1 (en) | Fast channel switching for digital TV | |
JP2004525556A (ja) | ストリーミングされたメディアをバッファリングする方法及びシステム | |
WO2010069427A1 (en) | Method and encoder for providing a tune- in stream for an encoded video stream and method and decoder for tuning into an encoded video stream | |
EP2664157B1 (en) | Fast channel switching | |
US20180103276A1 (en) | Method for initiating a transmission of a streaming content delivered to a client device and access point for implementing this method | |
WO2010054719A1 (en) | Reducing a tune-in delay into a scalable encoded data stream | |
US20180288452A1 (en) | Method of delivery audiovisual content and corresponding device | |
US11871079B2 (en) | Client and a method for managing, at the client, a streaming session of a multimedia content | |
KR101225037B1 (ko) | 인터넷 텔레비전을 이용한 영상 고속 재생방법 및 그 장치 | |
Jennehag et al. | Gradual tune-in pictures for fast channel change |