Способ и компоновка для поддержки воспроизведения контента
Иллюстрации
Показать всеИзобретение относится к способу и компоновке для поддержки воспроизведения контента со скоростью, которая согласуется с уровнем, поддерживаемым клиентом. Технический результат - управление воспроизведением мультимедийного контента с нерегулируемыми скоростями воспроизведения. Способы и компоновки относятся к определению, передаче и получению информации, относящейся к уровню, требуемым для декодирования и воспроизведения некоторого мультимедийного контента с нерегулярной скоростью воспроизведения. Способ и компоновка в клиентском узле дополнительно относятся к определению, на основе полученной информации, какая скорость (скорости) воспроизведения является (являются) той, которая поддерживается (поддерживаются) клиентским узлом в отношении уровня. Способы и компоновки позволяют клиентскому узлу воздержаться от декодирования и воспроизведения этого контента с нерегулярной скоростью, требующей уровня, который не поддерживается клиентским узлом. 5 н. и 13 з.п. ф-лы, 12 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится к способу и компоновке для поддержки воспроизведения контента со скоростью, которая согласуется с уровнем, поддерживаемым клиентом.
УРОВЕНЬ ТЕХНИКИ
Стандарт H.264, который также известен как MPEG-4 или AVC (усовершенствованное кодирование видеоданных), является современным стандартом кодирования видеоданных. H.264 относится к гибридному кодеку, который может устранять избыточность между кадрами и/или в пределах кадра. Результатом процесса кодирования согласно H.264 являются данные VCL (уровня кодирования видеоданных), которые дополнительно инкапсулируются в блоки NAL (уровня сетевой абстракции) перед передачей или сохранением.
Стандарт H.264 включает в себя определение различных профилей, которые обозначаются, например, как «базовый профиль», «основной профиль» и «расширенный профиль». Для каждого такого профиля задается набор двоичных возможностей терминала или клиента. Например, «основной профиль» включает в себя САВАС (контекстно адаптивное двоичное арифметическое кодирование), которое не включено в «основной профиль».
Стандарт H.264 дополнительно включает в себя определение различных «уровней», которые относятся, например, к возможностям кодека. Определение уровня включает в себя, например, максимальное число макроблоков в секунду, максимальный размер кадра, максимальный размер DPB (буфера декодированного изображения) и максимальную скорость передачи видеоданных в битах. Различные уровни могут быть определены, например, в таблице, показанной на фиг. 1а. Таблица на фиг. 1а является частью таблицы, задающей не зависящие от профиля уровни в стандарте ISO/IEC 14496-10. Когда кодек выполняет все требования, например, в показателях производительности, некоторого заданного уровня, можно сказать, что кодек поддерживает, согласуется или соответствует упомянутому уровню. Можно сказать, что мультимедийный битовый поток, имеющий характеристики, например, в показателях частоты кадров и/или скорости передачи в битах, в пределах заданных пределов некоторого уровня согласуется, или соответствует упомянутому некоторому уровню.
Обычно, соответствие мультимедийного контента или битового потока конкретному уровню определяется посредством установки синтаксического элемента, связанного с этим мультимедийным контентом, причем элемент может быть обозначен, например, как «level_idc», на некоторое значение, связанное с упомянутым конкретным уровнем.
Клиент может определить сложность, или уровень, требуемый для воспроизведения некоторого мультимедийного контента посредством анализа значения упомянутого синтаксического элемента, связанного с контентом или битовым потоком, и, таким образом, определить, поддерживает ли клиент воспроизведение упомянутого некоторого мультимедийного контента. Если уровень, требуемый для воспроизведения мультимедийного контента, является равным или более низким, чем уровень, связанный с клиентом, то клиент поддерживает воспроизведение мультимедиа. Если уровень, требуемый для воспроизведения мультимедийного контента, превышает уровень, связанный с клиентом, то клиент может быть не способен воспроизвести этот мультимедийный контент.
Мультимедийный контент, расположенный, например, в медиа-сервере, связан с некоторой заданной регулярной скоростью воспроизведения, и она является уровнем, требуемым для воспроизведения этой регулярной скорости воспроизведения, который указан, например, в «level_idc». Например, при воспроизведении кинофильма регулярной скоростью воспроизведения могла бы быть «регулярная скорость», или «скорость в реальном времени» кинофильма, как, например, он воспроизводился бы, например, в кинотеатре или в телевизоре. Термин «регулярная скорость воспроизведения» предполагает, что отображаются все типы кадров контента, например I-кадры (intra-кодируемые кадры), Р-кадры (предсказываемые кадры) и В-кадры (Bi-предсказываемые кадры), в случае видеоконтента.
Мультимедийный битовый поток может быть также воспроизведен с нерегулярной скоростью воспроизведения, т.е. воспроизведение или проигрывание не в реальном времени. Ниже, будут описаны некоторые примеры достижения более быстрого, чем в реальном времени, воспроизведения мультимедийного битового потока, или «быстрого перехода вперед».
Наиболее простым способом достижения «быстрого перехода вперед» является воспроизведение или проигрывание потока с большей скоростью, чем его первоначальная или заданная регулярная скорость, посредством увеличения числа кадров, воспроизводимых в секунду. Этот способ имеет тот недостаток, что увеличиваются требования на вычислительную мощность. Например, для того чтобы клиент был способен к «быстрому переходу вперед» по мультимедийному битовому потоку со скоростью, в 10 раз превышающей нормальную, с использованием этого способа, клиент должен иметь вычислительную мощность, которая поддерживает в десять раз более высокую сложность декодирования, чем таковая при воспроизведении мультимедийного битового потока с регулярной скоростью воспроизведения. Вышеописанный способ достижения более быстрого, чем в реальном времени, воспроизведения или проигрывания показан на фиг. 1b, где последовательность или поток 102b воспроизводится с нормальной частотой или скоростью, а последовательность 104b воспроизводится с удвоенной нормальной скоростью, т.е. в два раза быстрее, чем последовательность 102b.
Другим способом достижения «быстрого перехода вперед», который требует меньшей вычислительной мощности, чем ранее описанный способ, является воспроизведение, например, только I-кадров мультимедийного битового потока видеоданных. Этот способ мог бы быть описан, например, как «перескакивание между I-кадрами» и показан на фиг. 2. На фиг. 2, последовательность или поток 202 воспроизводится с нормальной частотой или скоростью. Все кадры, содержащиеся в этом потоке или контенте, такие как I-, P- и В-кадры, воспроизводятся. В последовательности 204, воспроизводятся только Р-кадры (заштрихованные на фиг. 2) потока, что в этом случае создает «псевдо» 2x нормальную скорость, так как воспроизводится каждый второй кадр. Этот способ является в действительности операцией на потоке, а не реальным ускорением. Уменьшение числа кадров, которые должны быть воспроизведены, снижает требуемую сложность или вычислительную мощность клиента до степени, зависящей, например, от расстояния между I-кадрами в мультимедийном битовом потоке. Недостатком этого способа является то, что скоростью «быстрого перехода вперед» нельзя свободно управлять, например, из-за ограничений I-кадрового расстояния. Более тонкая степень детализации скорости быстрого перехода вперед, например фракционирование I-кадрового расстояния, не является возможной.
Другим недостатком способа «перескакивания между I-кадрами» являются высокие издержки, связанные с этим решением. Экстенсивные издержки могут означать высокие требования к полосе частот. Полный поток (все кадры) должен быть послан к приемнику или клиенту, который фильтрует и отбрасывает «нежелательные» кадры (большинство кадров).
Еще одним способом достижения «быстрого перехода вперед» является использование предварительного знания, например, видеопотока. Этим знанием могло бы знание того, что используется некоторая структура группы изображений (GOP), или фиксированная периодичность для ключевых кадров. Эта информация могла бы использоваться, например, для определения того, какие кадры могли бы быть пропущены при отображении этого видеопотока.
Основная проблема с существующими решениями «быстрого перехода вперед», такими как решения, описанные выше, состоит в том, что сложность декодирования мультимедийного потока при его воспроизведении в «режиме быстрого перехода вперед», и, таким образом, требуемая производительность обработки или уровень для воспроизведения мультимедийного потока, не может быть легко достигнута клиентом, который занят, например, извлечением или запрашиванием мультимедийного потока, или который занят запуском «быстрого перехода вперед» мультимедийного потока, который в настоящее время загружается.
Определенные «уровни» регулируют верхние пределы каждого аспекта сложности декодирования, включающего в себя, например, размер кадра, диапазон вектора движения и максимальную скорость передачи в битах. Для согласования или соответствия конкретному уровню мультимедийный поток должен соответствовать всем определенным пределам, связанным с этим уровнем. Следовательно, некоторый мультимедийный контент или потоки могут быть классифицированы в «высокий» уровень из-за того, что, например, только одна из его характеристик имеет высокое значение, как, например, большой размер кадра. В то же время другие характеристики того же самого мультимедийного потока могут иметь «низкие» значения, т.е. более низкие, чем значения, определенные для упомянутого «высокого» уровня, что фактически могло бы дать то, что сложность потока в целом, в действительности, могла бы быть довольно низкой и что более низкий уровень был бы достаточным для охвата этих характеристик. Примером такого мультимедийного потока могла бы быть, например, 2 Hz, 1280х720 последовательность, которая имеет относительно большой размер кадра, но очень низкую частоту кадров.
Для уменьшения сложности декодирования для клиента частота кадров видеопотока могла бы быть снижена в сервере контента для упрощения быстрого перехода вперед в этом клиенте. Однако такое уменьшение не может быть указано для клиента, и, следовательно, клиенты не могут выиграть от «помощи», таким образом, обеспеченной сервером.
Дополнительно, даже если клиент имеет доступ к предварительному знанию о кодировании потока, клиент может быть не способен вывести сложность декодирования потока после того, как, например, уменьшающая кадры операция была выполнена в сервере или в клиенте.
Таким образом, когда клиент должен выполнить «быстрый переход вперед» по мультимедийному потоку, клиент никоим образом не знает, будет ли поддержка уровня, указанного посредством или для этого мультимедийного потока, достаточной для декодирования мультимедийного потока в режиме «быстрого перехода вперед». Из-за этой неопределенности, клиенты обычно снабжены и используют более мощный, до некоторой степени «избыточный», декодер, чтобы «находиться на безопасной стороне». Это является очень неэффективным, например, в показателях вычислительных ресурсов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Было бы желательным осуществить усовершенствованное управление воспроизведением мультимедийного контента с нерегулярными скоростями воспроизведения в клиенте. Задачей изобретения является осуществление усовершенствованного управления воспроизведением мультимедийного контента с нерегулярными скоростями воспроизведения в некотором клиенте. Дополнительно, задачей изобретения является обеспечение способа и компоновки для осуществления возможности усовершенствованной сигнализации информации уровня. Эти и другие задачи могут быть решены посредством способа и компоновки согласно прилагаемым независимым пунктам формулы изобретения. Необязательные варианты осуществления заданы посредством зависимых пунктов формулы изобретения.
Согласно первому аспекту в клиентском узле обеспечен способ. Этот способ содержит получение информации, относящейся к упомянутому некоторому контенту, касающейся требований уровня, связанных, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента. Этот способ дополнительно содержит определение того, какая скорость (скорости) воспроизведения является той, которая поддерживается (поддерживаются) клиентским узлом в отношении уровня, на основе полученной информации.
Согласно второму аспекту в клиентском узле обеспечена компоновка. Эта компоновка содержит функциональный блок, который приспособлен для получения информации, относящейся к упомянутому некоторому контенту, касающейся требований уровня, связанных, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента. Эта компоновка дополнительно содержит функциональный блок, который приспособлен для определения того, какая скорость (скорости) воспроизведения является той, которая поддерживается (поддерживаются) клиентским узлом в отношении уровня, на основе полученной информации.
Согласно третьему аспекту в серверном узле обеспечен способ. Этот способ содержит определение требования уровня, связанного, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента. Этот способ дополнительно содержит обеспечение информации, по меньшей мере, об одной скорости воспроизведения и связанном требовании уровня для клиентского узла.
Согласно четвертому аспекту в серверном узле обеспечена компоновка. Эта компоновка содержит функциональный блок, который приспособлен для определения требования уровня, связанного, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента. Компоновка дополнительно содержит функциональный блок, который приспособлен для обеспечения информации, по меньшей мере, об одной скорости воспроизведения и связанном требовании уровня для клиентского узла.
Вышеуказанные способы и компоновки дают возможность клиентскому узлу определить, какая скорость (скорости) воспроизведения является той, которая поддерживается (поддерживаются) клиентским узлом в отношении требуемого уровня, и, таким образом, дают возможность клиентскому узлу воздержаться от декодирования и воспроизведения контента со скоростью, требующей уровня, который не поддерживается клиентским узлом. Это предотвращает поведение «проб и ошибок», когда клиент пытается и терпит неудачу в декодировании и воспроизведении мультимедийных потоков с нерегулярными скоростями, которые не поддерживаются этим клиентом. Следовательно, управляемый «быстрый переход вперед» и «медленное движение» возможны со стандартными декодерами и с минимальной модификацией для потока. Дополнительно, возможно такое воспроизведение, как, например, быстрый переход вперед со скоростями, близкими к пределам стандартного декодера, что может улучшить использование ресурсов декодера.
Вышеуказанные способы и компоновки могут быть реализованы в различных вариантах осуществления. В некоторых вариантах осуществления, одно или несколько действий могут быть предприняты в клиентском узле для воздержания от декодирования и воспроизведения контента со скоростью, требующей неподдерживаемого уровня. Примерами таких действий являются, например, решение не извлекать контент; ограничение выбираемых скоростей воспроизведения; выбор альтернативной версии контента, переключение на альтернативную версию/представление контента и выбор альтернативного декодера. Естественно, контент может быть также декодирован и воспроизведен с нерегулярной скоростью, которая определена как поддерживаемая клиентским узлом.
В некоторых вариантах осуществления информация может быть обеспечена как часть структуры формата файла. Эта информация могла бы быть обеспечена в описании мультимедийного представления. Далее, эта информация может касаться контента, на котором была выполнена операция, как, например, отбрасывание и/или вставка кадров.
Вышеуказанные варианты осуществления были в основном описаны на основе способа. Однако вышеприведенное описание также предназначено охватывать варианты осуществления компоновок, приспособленных для осуществления работы вышеописанных признаков. Различные вышеуказанные признаки примерных вариантов осуществления могут быть объединены различными способами в соответствии с необходимостью, требованиям или предпочтению.
Согласно еще одному аспекту обеспечена компьютерная программа, которая содержит считываемое компьютером средство кода, которое при исполнении в одном или нескольких процессорах побуждает любую из компоновок, описанных выше, к выполнению соответствующей процедуры согласно одному из способов, описанных выше.
Согласно еще одному аспекту обеспечен компьютерный программный продукт, который содержит указанную выше компьютерную программу.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Данное изобретение будет теперь описано более подробно посредством примерных вариантов осуществления и со ссылкой на сопутствующие чертежи, в которых:
Фиг. 1а является таблицей, содержащей информацию об ограничениях, связанных с различными уровнями, согласно предшествующему уровню техники.
Фиг. 1b является схематичным изображением, иллюстрирующим воспроизведение потока со скоростью, более быстрой, чем «нормальная» скорость, или скорость в реальном времени, согласно предшествующему уровню техники.
Фиг. 2 является схематичным изображением, иллюстрирующим воспроизведение потока, на котором выполняется операция, согласно предшествующему уровню техники.
Фиг. 3 является таблицей, содержащей информацию о том, какой уровень требуется для воспроизведения некоторого мультимедийного потока с некоторым числом различных скоростей, причем таблица могла бы быть обеспечена для клиента, согласно примерному варианту осуществления.
Фиг. 4 является схематичным изображением, иллюстрирующим воспроизведение потока, на котором выполняется операция, со скоростью, более быстрой, чем нормальная.
Фиг. 5 является таблицей, содержащей информацию о том, какой уровень является тем, который требуется для воспроизведения некоторого мультимедийного потока с некоторым числом различных скоростей, при выполнении различных операций на этом мультимедийном потоке, причем эта таблица могла бы быть обеспечена для клиента, согласно некоторому примерному варианту осуществления.
Фиг. 6-7 являются блок-схемами последовательностей операций, иллюстрирующими процедуры для поддержки решения по воспроизведению некоторого контента в клиенте, согласно примерным вариантам осуществления.
Фиг. 8 является блок-схемой, иллюстрирующей компоновку в клиенте для поддержки решения по воспроизведению некоторого контента в этом клиенте, согласно примерному варианту осуществления.
Фиг. 9 является блок-схемой последовательности операций, иллюстрирующей процедуру в сервере для поддержки решения по воспроизведению некоторого контента в клиенте, согласно примерному варианту осуществления.
Фиг. 10 является блок-схемой, иллюстрирующей компоновку в сервере для поддержки решения по воспроизведению некоторого контента в клиенте, согласно примерному варианту осуществления.
Фиг. 11 является схематичным изображением, иллюстрирующим компоновку в клиенте (или сервере), согласно примерному варианту осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
Кратко описанное, данное изобретение относится к передаче информации, относящейся к требуемой способности декодирования для воспроизведения некоторого мультимедийного контента с одной или несколькими нерегулярными скоростями или частотами воспроизведения. Передача такой информации может быть реализована посредством определения некоторого атрибута для мультимедийных потоков, причем атрибут указывает уровень, требуемый для декодирования потока, если должна быть использована некоторая отличающаяся скорость воспроизведения, в показателях кадров в секунду, и/или если должна быть выполнена модификация этого потока. Этот атрибут мог бы быть определен, например, поверх любых существующих параметров, как, например, профиль и уровень. Такой атрибут мог бы быть применен к регулярному потоку и/или мог бы быть выгодно применен, например, к специализированному потоку быстрого перехода вперед и т.п.
Этот атрибут мог бы, например, иметь форму списка или записи, содержащей различные нерегулярные скорости воспроизведения и соответствующие требуемые уровни для некоторого мультимедийного контента или некоторого мультимедийного битового потока. Такой список может содержать одну или несколько нерегулярных скоростей воспроизведения, которые требуют того же уровня, что и регулярная скорость воспроизведения того же самого мультимедийного контента, и/или одну или несколько нерегулярных скоростей воспроизведения, которые требуют уровней, которые являются более низкими, чем уровень, связанный с регулярной скоростью воспроизведения мультимедийного контента, или превышают его. Пример такого списка показан на фиг. 3. Например, максимальная скорость (скорости) воспроизведения, связанная с одним или несколькими конкретными уровнями, могла бы быть обеспечена для клиента.
Дополнительно, рекомендации для уменьшения сложности декодирования мультимедийного контента или потока посредством выполнения конкретной операции на упомянутом контенте или потоке, и уровень, требуемый для воспроизведения этого контента или потока после того, как эта операция была выполнена, могут быть обеспечены, например, для клиента. Это может дать возможность для терминалов или клиентов с более низкими возможностями декодера воспроизвести или визуализировать контент или поток. Такая рекомендация могла бы состоять в воспроизведении только каждого третьего кадра потока и, таким образом, в уменьшении частоты кадров с коэффициентом, равным трем, что может требовать более низкого уровня, чем воспроизведение всех кадров.
На стороне сервера стандартный контент, т.е. нормальные «каналы небыстрого перехода вперед» или медиа-объект (медиа-объекты), предназначенные для регулярной скорости воспроизведения со скоростью воспроизведения в реальном времени, могут быть кодированы как в предыдущем уровне техники. Поверх этих каналов или объектов может быть обеспечен один или несколько специализированных каналов или объектов быстрого перехода вперед. Эти каналы быстрого перехода вперед могут быть кодированы таким образом, что воспроизведение упомянутых каналов с увеличенной скоростью требует только «приемлемого» уровня. Например, каналы быстрого перехода вперед могли бы быть кодированы таким образом, что некоторое увеличение скорости воспроизведения поддерживается в пределах того же уровня, что и уровень, используемый для регулярной скорости воспроизведения.
В пределах этого документа, термин «уровень» используется как ссылка на уровень, указывающий набор операционных требований для кодека, как, например, требования, заданные в стандарте H.264 и/или показанные на фиг. 1а, или аналогичные требования.
Ниже, будет описан примерный вариант осуществления, относящийся к решению поточной передачи HTTP (протокола передачи гипертекста), обеспечивающему функциональность быстрого перехода вперед. Поточная передача HTTP является способом, приводимым в действие клиентом, основанной на файле поточной передачи. Например, «гладкая поточная передача Microsoft» является примером поточной передачи HTTP. Клиент поточной передачи HTTP снабжается (например, посредством сервера) списком малых файлов, доступных для загрузки, причем файлы вместе составляют поток, как, например, мультимедийный поток. В каждой точке во времени могут быть множественные малые файлы, т.е. различные версии или представления контента, например, различных скоростей передачи в битах/качества, которые могут быть выбраны для загрузки.
Версия 9 поточной передачи HTTP 3GPP имеет поддержку видеоданных для H.264 уровня 1.3. H.264 уровня 1.3 требует, например, (независящие от профиля значения) максимальной скорости обработки макроблоков, равной 11880 МВ/с, и максимального размера кадра, равного 396 МВ. Таким образом, в сценарии поточной передачи HTTP в соответствии с версией 9 было бы выгодно иметь все «стандартные»/регулярные видеопотоки согласованными с уровнем 1.3 или ниже при воспроизведении с нормальной скоростью и любые потоки быстрого перехода вперед согласованными с уровнем 1.3, когда скорость воспроизведения увеличивается, например, до заданной скорости.
Для осуществления или обеспечения специализированного канала или объекта быстрого перехода вперед, связанного с некоторым контентом, некоторое число кадров могло бы быть удалено из регулярной версии этого контента, что приводит к видеопотоку или объекту, имеющему гораздо более низкую частоту кадров и скорость передачи в битах, по сравнению с его эквивалентными альтернативами «полной скорости» или «регулярной скорости». Такие каналы или объекты быстрого перехода вперед могли бы быть обеспечены без выполнения какого-либо дополнительного кодирования или повторного кодирования контента.
Эти каналы быстрого перехода вперед, которые могут быть указаны или могут быть не указаны как каналы быстрого перехода вперед, могут быть связаны с сигнализацией одной или нескольких пар «уровень-скорость воспроизведения». Примером такого канала быстрого перехода вперед может быть канал, кодированный как H.264 QVGA (четвертная видеографическая матрица, т.е. кадры 320х240 пикселов) при 1 Гц.
Мультимедийный поток, кодированный для согласования с уровнем 1.1, может требовать более высоких уровней, если он должен быть воспроизведен, например, с более высокими скоростями. Фиг. 3 показывает таблицу, содержащую информацию о том, какой уровень 304 является тем, который требуется для некоторой скорости воспроизведения или «ускорения» некоторого мультимедийного потока или контента. Такая информация может быть обеспечена, например, посредством объекта кодирования мультимедиа или сервера обеспечения мультимедиа для объекта декодирования мультимедиа, такого как клиент. Информация, содержащаяся в объекте 306, означает, что воспроизведение потока или контента с нормальной или регулярной скоростью требует уровня 1.1. Это единственная информация, которая доступна сегодня для потока или контента. Информация, содержащаяся в объекте 310, означает, что воспроизведение потока со скоростью, в десять раз большей (10x), чем нормальная, требует уровня 1.1. Дополнительно, информация, содержащаяся в объекте 312, означает, что воспроизведение потока со скоростью, в двадцать раз большей (20x), чем нормальная, требует уровня 1.2. Наконец, информация, содержащаяся в объекте 314, означает, что воспроизведение потока со скоростью, в тридцать раз большей (30x), чем нормальная, требует уровня 1.3.
При наличии доступа к информации, относящейся к видеопотоку, как, например, информации, содержащейся в таблице на фиг. 3, клиент может анализировать или интерпретировать информацию и оценивать, при каких скоростях он может воспроизводить этот видеопоток. Например, клиент, согласованный с уровнем 1.1, имеющий доступ к упомянутой информации, может определять, что клиент способен к быстрому переходу вперед по потоку со скоростью, в десять раз большей (10x), чем нормальная. Аналогично, клиент, согласованный с уровнем 1.3, может определять, что он может осуществлять быстрый переход вперед того же самого потока со скоростью, в 30x раз большей, чем нормальная. Эти более высокие скорости воспроизведения могут быть осуществлены посредством увеличения числа кадров, воспроизводимых в секунду, т.е. без какой-либо модификации этого потока, как, например, отбрасывания кадров.
Ниже, будет описан примерный способ сигнализации требуемых возможностей декодера, зависящих от потоковых операций, как, например, отбрасывание кадров. Инструкция или рекомендация модифицировать мультимедийный поток некоторым способом могла бы быть обеспечена, например, от сервера к клиенту. Инструкция могла бы быть обеспечена неявно или явно. Примером такой инструкции модифицировать мультимедийный поток могла бы быть инструкцией декодировать только I-кадры мультимедийного потока. Еще одним примером могла бы быть инструкция отбросить неопорные кадры, т.е. кадры, которые не используются в качестве опоры для предсказания какого-либо другого кадра.
Например, предположим, что QVGA поток кодирован при 30 Гц, где каждый второй кадр является неопорным кадром. Для этого потока могло бы сигнализироваться, например, от сервера к клиенту, что полное воспроизведение (воспроизведение всех кадров этого потока) с регулярной скоростью потребовало бы декодера, согласованного с уровнем 1.3. Однако воспроизведение потока после удаления неопорных кадров (т.е. каждого второго кадра) потребовало бы только декодера, согласованного с уровнем 1.2, причем информация могла бы быть сигнализирована от сервера к клиенту.
Клиент, имеющий доступ к информации, касающейся различных уровней, требуемых для воспроизведения потока после выполнения различных операций на потоке, мог бы использовать эту информацию при оценке того, может ли он декодировать поток или нет. Например, клиент с декодером уровня 1.2 мог бы определить, что, через простую операцию удаления неопорных кадров потока, он мог бы фактически воспроизвести этот поток.
Ниже, будет описан примерный вариант осуществления, объединяющий два способа, описанные выше. В этом варианте осуществления, сигнализация от сервера к клиенту пары или комбинации «скорость воспроизведения/уровень» выполняется в объединении с инструкцией обработки потока. Другими словами, может быть сигнализировано от сервера к клиенту, что некоторый уровень требуется для воспроизведения потока с некоторой нерегулярной частотой или скоростью, когда некоторая операция была выполнена на потоке.
Фиг. 4 показывает пример такого объединения в примерном варианте осуществления, который влечет за собой и операцию на потоке, и более быструю фактическую скорость воспроизведения потока в клиенте при приеме потока. Поток или последовательность 402, показанная на фиг. 4, является «нормальным» или «полным» потоком, воспроизводимым с регулярной или нормальной скоростью. Поток, показанный как 402, также имеет «операционную точку», где декодируются только I-кадры этого потока, и эти I-кадры воспроизводятся в 2 раза быстрее, чем в реальном времени, что показано как последовательность 406. Промежуточная последовательность, т.е. последовательность только I-кадров, показана как последовательность 404. Оказывается, что последовательность 406 воспроизводится со скоростью, в 4 раза большей, чем нормальная, из-за операции и двойного ускорения. Это означает, что единственный видеопоток, такой как, например, последовательность 402, может «быть», или использоваться и как поток быстрого перехода вперед, и как нормальный поток, т.е. это означает, что необязательно отдельный поток быстрого перехода вперед должен быть подготовлен из нормального потока и сделан доступным для загрузки в сервер.
Примерная таблица, связанная с некоторым контентом или потоком, содержащая примерную информацию, относящуюся к операции 502, которая должна быть выполнена на потоке, увеличению 504 скорости воспроизведения и требуемому уровню 506 для гарантированного достижения операции и ускорения, показана на фиг. 5. Например, запись 510 в таблице содержит информацию, означающую, что когда выполняется операция декодирования только I-кадров потока и эти I-кадры воспроизводятся с «той же скоростью» (в показателях кадров в секунду), что и регулярная скорость воспроизведения первоначального потока (сравни последовательность 404 на фиг. 4), требуется уровень 1.1. В этом случае требуемый уровень 1.1 является тем же самым, что и требуется для воспроизведения нормального потока или контента с регулярной скоростью. Запись 512 содержит информацию, означающую, что при удвоении (2x) скорости воспроизведения последовательности «только I-кадров» требуемым уровнем все еще является 1.1. Дополнительно, запись 514 содержит информацию, означающую, что при выполнении операции декодирования только I-кадров и Р-кадров первоначального потока или контента и воспроизведении декодированных кадров со скоростью воспроизведения, в два раза (2x) большей, чем нормальная, требуется уровень 1.1. До сих пор представленные альтернативы могут быть выполнены клиентом, который способен воспроизвести первоначальный поток с нормальной скоростью, т.е. имеет, по меньшей мере, уровень 1.1.
Однако информация в записи 516 означает, что для выполнения операции отбрасывания или опускания В-кадров 2-го и 3-го уровней и для воспроизведения результирующей последовательности со скоростью, в 4x раза большей, чем нормальная, требуется уровень 1.2. Дополнительно, информация в записи 518 означает, что для выполнения операции опускания В-кадров 3-го уровня и воспроизведения результирующей последовательности со скоростью, в 8x раз большей, чем нормальная, требуется уровень 2.1.
Таким образом, из анализа или интерпретации информации, содержащейся в таблице на фиг. 5, клиент (имеющий декодер), способный к уровню 1.1, может определять, что максимальной нерегулярной скоростью воспроизведения, поддерживаемой этим клиентом, является альтернатива в записи 514. Клиент, способный к уровню 1.1, может дополнительно заключить, что все скорости воспроизведения и/или операции, которые требуют меньше вычислительной мощности, чем поддерживаемые записи 510-514, являются разрешенными альтернативами для этого клиента (по меньшей мере, по причинам вычислительной мощности). Клиент может выбрать одну или несколько альтернативных нерегулярных скоростей воспроизведения, например, в соответствии с заданной схемой выбора или набором правил.
Примерные варианты осуществления, описанные выше, были направлены на воспроизведение «быстрого перехода вперед» мультимедийного потока для облегчения понимания описания. Однако «быстрый переход вперед» является только одним примером среди других примеров нерегулярной скорости воспроизведения. Мультимедийный поток мог бы быть воспроизведен, например, со скоростью или частотой, которая является более низкой или более медленной, чем в режиме реального времени, также известной как, например, «медленное движение». Идея изобретения, раскрытая в этом документе, соответственно, применима, например, к такому воспроизведению «медленного движения». «Медленное движение» может включать в себя вставку дополнительных кадров для воспроизведения, например воспроизведение каждого кадра, или некоторых кадров, много раз. Тот же тип сигнализации, что и описан ранее для сценария «быстрого перехода вперед», может быть использован для определения, например, требуемого уровня для воспроизведения кодированного потока со скоростью, более низкой, чем нормальная.
Альтернативные скорости воспроизведения могут быть сигнализированы, например, к клиенту несколькими различными способами, например, в ISO базовом мультимедийном формате файла (ISO/IEC 14496-12), или в любом из его производных, таких как 3GP формат файла (3GPP TS 26.244), MP4 формат файла (ISO/IEC 14496-14) и AVC формат файла (ISO/IEC 14496-15), инкапсулирующие видеопотоки.
Формат файла является системой сигнализации, которая обеспечивает информацию, такую как метаданные, касающуюся мультимедийного битового потока. Каждая часть сигнализируемых метаданных инкапсулирована в контейнер, называемый «блоком», который может быть вложенным. Различные мультимедийные данные упоминаются и организуются посредством различных «блоков дорожек» соответственно. В пределах каждого блока дорожек имеются описания выборочных записей, которые описывают, как должны быть интерпретированы выборки.
Примером того, как выполнять сигнализацию, могло бы быть то, что альтернативные скорости и соответствующие указания профиля/уровня могут быть обеспечены как таблица в необязательном «блоке» или «контейнере» в пределах описаний выборочных записей, связанных с выборками дорожки. Тот же самый способ может быть также использован для обеспечения необязательных описаний выборочных записей, которые могут содержать указания профиля/уровня для некоторого числа различных скоростей. Например, необязательный блок мог бы быть добавлен внутри первоначальной выборочной записи, содержащей альтернативные описания выборочной записи и скорости.
Другим способом сигнализации этой информации является задание дополнительных дорожек «быстрого перехода вперед/медленного движения». Поскольку такие новые дорожки имеют тот же самый контент, что и первоначальная дорожка (только более быструю/более медленную версию), они могут быть помещены в ту же самую группу переключения, что и первоначальная до