RU2553433C2 - Способ и компоновка для поддержки воспроизведения контента - Google Patents

Способ и компоновка для поддержки воспроизведения контента Download PDF

Info

Publication number
RU2553433C2
RU2553433C2 RU2012135473/08A RU2012135473A RU2553433C2 RU 2553433 C2 RU2553433 C2 RU 2553433C2 RU 2012135473/08 A RU2012135473/08 A RU 2012135473/08A RU 2012135473 A RU2012135473 A RU 2012135473A RU 2553433 C2 RU2553433 C2 RU 2553433C2
Authority
RU
Russia
Prior art keywords
content
level
playback speed
client node
speed
Prior art date
Application number
RU2012135473/08A
Other languages
English (en)
Other versions
RU2012135473A (ru
Inventor
Клинтон ПРИДДЛЕ
Пер ФРЕЙД
Торстен ЛОМАР
Чжуанфэй У
Original Assignee
Телефонактиеболагет Лм Эрикссон (Пабл)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Телефонактиеболагет Лм Эрикссон (Пабл) filed Critical Телефонактиеболагет Лм Эрикссон (Пабл)
Publication of RU2012135473A publication Critical patent/RU2012135473A/ru
Application granted granted Critical
Publication of RU2553433C2 publication Critical patent/RU2553433C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast

Abstract

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

Description

ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится к способу и компоновке для поддержки воспроизведения контента со скоростью, которая согласуется с уровнем, поддерживаемым клиентом.
УРОВЕНЬ ТЕХНИКИ
Стандарт 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), инкапсулирующие видеопотоки.
Формат файла является системой сигнализации, которая обеспечивает информацию, такую как метаданные, касающуюся мультимедийного битового потока. Каждая часть сигнализируемых метаданных инкапсулирована в контейнер, называемый «блоком», который может быть вложенным. Различные мультимедийные данные упоминаются и организуются посредством различных «блоков дорожек» соответственно. В пределах каждого блока дорожек имеются описания выборочных записей, которые описывают, как должны быть интерпретированы выборки.
Примером того, как выполнять сигнализацию, могло бы быть то, что альтернативные скорости и соответствующие указания профиля/уровня могут быть обеспечены как таблица в необязательном «блоке» или «контейнере» в пределах описаний выборочных записей, связанных с выборками дорожки. Тот же самый способ может быть также использован для обеспечения необязательных описаний выборочных записей, которые могут содержать указания профиля/уровня для некоторого числа различных скоростей. Например, необязательный блок мог бы быть добавлен внутри первоначальной выборочной записи, содержащей альтернативные описания выборочной записи и скорости.
Другим способом сигнализации этой информации является задание дополнительных дорожек «быстрого перехода вперед/медленного движения». Поскольку такие новые дорожки имеют тот же самый контент, что и первоначальная дорожка (только более быструю/более медленную версию), они могут быть помещены в ту же самую группу переключения, что и первоначальная дорожка, что указывает, что они являются «переключаемыми». Альтернативные дорожки могут ссылаться на те же видеопотоки в мультимедийном блоке данных, что и первоначальная дорожка, но могут указывать другие профили/уровни и могут иметь другие маркеры времени. То, как назначены маркеры времени, управляет скоростью воспроизведения. Этот механизм эквивалентен обладанию таблицей, указывающей профили/уровни и альтернативную скорость воспроизведения. Посредством ссылки на видеопоток от другой дорожки кадры могли бы быть удалены для того, чтобы «проредить» поток, просто посредством опускания их в выборках новой дорожки. Ссылка может быть осуществлена непосредственно в мультимедийный блок данных или любое место, где расположены мультимедийные данные, или косвенно при помощи дорожек подсказки (если используются дорожки подсказки) или элементов извлечения в случае H.264/AVC.
Для поточной передачи HTTP может быть выгодным сигнализировать альтернативные скорости/уровни в MPD (описании мультимедийного представления), также известном как «файл манифеста». Клиент может затем также точно выбрать между версиями или представлениями контента, например, при воспроизведении с более высокой частотой кадров или скоростью.
ПРИМЕРНАЯ ПРОЦЕДУРА, ФИГ. 6
Вариант осуществления процедуры поддержки решения о декодировании и воспроизведении некоторого контента будет теперь описан со ссылкой на фиг. 6. Эта процедура могла бы быть выполнена в клиентском узле, который мог бы быть объектом декодирования видеоданных, таким как, например, телевизионная приставка, компьютер или мобильный терминал.
Первоначально, информация получается в действии 602. Получаемая информация относится к некоторому контенту и касается требований уровня, связанных, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента. Нерегулярной скоростью воспроизведения является скорость воспроизведения, которая отличается от заданной регулярной скорости воспроизведения. Нерегулярная скорость воспроизведения может включать в себя более быструю или более медленную скорость или частоту воспроизведения, чем скорость или частота в реальном времени, и/или воспроизведение, с использованием того же числа кадров в секунду, что и для регулярного воспроизведения в реальном времени, контента, на котором была выполнена операция, как, например, отбрасывание некоторых кадров. Результирующая «псевдо» скорость воспроизведения, или «воспринимаемая» скорость воспроизведения, нерегулярной скорости воспроизведения не является той же самой, что и для нормального потока, воспроизводимого с регулярной скоростью, даже хотя воспроизводится то же самое количество кадров в секунду. Это является достоверным для любых вариантов осуществления, описанных в данном документе.
Относящаяся к контенту информация могла бы содержать список или запись нерегулярной скорости (скоростей), причем каждой скорости сопутствует указание соответствующего уровня, который требуется для воспроизведения контента с рассматриваемой нерегулярной скоростью. Информация может дополнительно содержать указания некоторых операций, которые могут, или должны, быть выполнены на контенте, как, например, отбрасывание или вставка конкретных типов кадров перед воспроизведением. Эта информация могла бы быть ограничена одной нерегулярной скоростью, например максимальной нерегулярной скоростью, которая поддерживается или является возможной в пределах того же уровня, что и уровень, требуемый для воспроизведения в реальном времени того же самого контента. В таком случае информация о требуемом уровне могла бы быть неявной, например, требуемый уровень, связанный с нерегулярной скоростью, мог бы быть предварительно согласован, или информация могла бы быть явной.
Дополнительно, полученная информация анализируется и интерпретируется, и в действии 604 определяется, какая нерегулярная скорость (скорости) воспроизведения является той, которая поддерживается клиентом, таким образом, клиент может использовать это при воспроизведении контента. Например, может быть определена максимальная скорость воспроизведения, которая поддерживается клиентом. Нерегулярной скоростью (скоростями) воспроизведения, подвергаемой определению, могла бы быть одна или несколько нерегулярных скоростей (скорость) воспроизведения, указанные в полученной информации, или некоторая другая скорость воспроизведения, например, предопределенная «желаемая» скорость воспроизведения. Определение может включать в себя сравнение между требуемым уровнем, указанным в полученной информации, и порогом, например значением уровня, связанным с клиентом, и/или обобщением или интерполяцией значений, содержащихся в полученной информации, для вывода информации о требованиях уровня для нерегулярных скоростей воспроизведения, которые не содержатся в полученной информации.
Затем в необязательном действии 606 может быть определено, удовлетворяет ли нерегулярная скорость (скорости) воспроизведения, поддерживаемая клиентом (если таковые существуют), некоторым заданным критериям. Например, может быть определено, было ли возможным для клиента воспроизвести контент с некоторой предопределенной нерегулярной скоростью, например, в десять раз более быстрой, чем скорость в реальном времени. В зависимости от результата определения действия 606, могут быть предприняты различные действия. Например, если определено, что одна или несколько поддерживаемых нерегулярных скоростей воспроизведения являются приемлемыми или подходящими согласно некоторым заданным критериям, то рассматриваемый контент мог бы быть загружен клиентом в действии 608, и, возможно, по меньшей мере, частично, воспроизведен с нерегулярной скоростью, которая поддерживается клиентом. Различные возможные скорости воспроизведения могут быть, например, указаны или «предложены» пользователю для выбора, тогда как неподдерживаемые скорости воспроизведения сделаны недоступными для выбора.
Когда в действии 606 определено, что одна или несколько поддерживаемых нерегулярных скоростей воспроизведения не являются приемлемыми или подходящими согласно некоторому заданному критерию, клиент мог бы воздержаться от загрузки контента. Воздержание от загрузки показано как действие 612 на фиг. 6, имеющее пунктирный контур, указывающий, что воздержание может быть пассивным. Однако различные действия могут быть предприняты для воздержания от загрузки некоторого контента, который не может быть воспроизведен с желаемой нерегулярной скоростью. Например, могло бы быть активно решено не загружать контент или остановить загрузку контента, если загрузка началась. Дополнительно, другая версия или представление контента могло бы быть выбрано для загрузки, причем версия требует более низкого уровня для воспроизведения с некоторой нерегулярной скоростью, например, специализированная версия «быстрого перехода вперед» контента.
В случае, если имеется более одного декодера, доступного для выбора в клиенте, декодер, связанный с подходящим более высоким или более низким уровнем, мог бы быть выбран для декодирования контента, например, вместо ранее рассмотренного декодера. Это показано как действие 616 на фиг. 6. По очевидными причинам, эта альтернатива является уместной, только когда более одного декодера доступно для клиента, что показано как схематичное действие 614 определения на фиг. 6.
ПРИМЕРНАЯ ПРОЦЕДУРА, ФИГ. 7
Примерная процедура, показанная на фиг. 7, относится к специальному случаю процедуры, описанной выше со ссылкой на фиг. 6. Информация получается в действии 702. Затем максимальная скорость воспроизведения (для потока или контента), которая поддерживается клиентом, определяется в действии 704. Затем может быть предпринято действие 706. Предпринятым действием 706 могло бы быть, например, воспроизведение контента с определенной максимальной скоростью или установка максимальной скорости воспроизведения, которая является выбираемой пользователем, на определенную максимальную поддерживаемую скорость воспроизведения.
ПРИМЕРНАЯ КОМПОНОВКА, ФИГ. 8
Ниже, примерная компоновка 800, приспособленная для осуществления выполнения вышеописанных процедур, относящихся к поддержке решения о декодировании и воспроизведении некоторого контента, будет описана со ссылкой на фиг. 8. Эта компоновка показана как расположенная в клиентском узле 801 в системе связи. Клиентским узлом мог бы быть, например, объект декодирования видеоданных, такой как, например, телевизионная приставка, компьютер или мобильный терминал. Компоновка 800 дополнительно показана как осуществляющая связь с другими объектами через блок 802 связи, который может быть рассмотрен как содержащий стандартные средства для беспроводной и/или проводной связи. Предполагается, что компоновка или клиентский узел может дополнительно содержать другие функциональные блоки, как, например, блок 814 декодирования, для декодирования, например, извлеченного мультимедийного потока; и один или несколько блоков 814 хранения.
Компоновка 800 содержит блок 804 получения, приспособленный для получения информации, относящейся к некоторому контенту, причем информация относится к требованиям уровня, связанным, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента. Компоновка дополнительно содержит блок 808 определения, приспособленный для определения, на основе полученной информации, какая скорость (скорости) воспроизведения является той, которая поддерживается клиентским узлом в отношении уровня, таким образом, осуществляется возможность воздержания от воспроизведения контента с нерегулярной скоростью, требующей уровня, который не поддерживается клиентским узлом. Компоновка может содержать блок 806 анализа, приспособленный для анализа или интерпретации полученной информации, например, сравнения полученных относящихся к уровню значений с заданными пороговыми значениями, и/или определения максимальной (или минимальной) скорости воспроизведения, поддерживаемой клиентом, в качестве альтернативы этому любой требуемый анализ выполняется блоком определения. Этот блок анализа может обеспечить обработанную информацию для блока определения для облегчения решений для последнего.
Компоновка, например блок 808 определения, может быть дополнительно приспособлена для определения того, удовлетворяет ли нерегулярная скорость (скорости) воспроизведения, определенная как поддерживаемая клиентом (если таковые имеются), некоторым заданным критериям, и может быть дополнительно приспособлена, на основе выводом этого определения для выполнения различных действий или обеспечения инструкций для различных действий, которые должны быть предприняты.
Компоновка может дополнительно содержать функциональный блок 810, который может быть приспособлен для принятия действия в соответствии с результатом определения или согласно обеспеченным инструкциям. Действиями, которые могут быть предприняты, являются, например, следующие: могло бы быть решено не извлекать контент, могла бы быть запрошена и/или загружена альтернативная версия или представление контента (включая переключение на нее), или могут быть ограничены нерегулярные скорости воспроизведения, выбираемые пользователем. Дополнительно, альтернативный декодер мог бы быть выбран и/или запрошен для декодирования контента, если такие альтернативные декодеры доступны. Например, блок 814 декодирования может содержать два или несколько стандартных декодеров различных уровней. Другим действием, которое может быть предпринято, является воспроизведение контента с нерегулярной скоростью, которая поддерживается клиентом.
ПРИМЕРНАЯ ПРОЦЕДУРА, ФИГ. 9
Примерный вариант осуществления другого аспекта процедуры поддержки решения о воспроизведении некоторого контента будет теперь описан со ссылкой на фиг. 9. Процедура могла бы выполняться в серверном узле, таком как, например, компьютер или мобильный терминал. Предполагается, что сервер обеспечивает контент, который мог быть кодирован посредством этого сервера или посредством некоторого другого объекта, например объекта кодирования мультимедиа.
Первоначально, требование уровня, связанное, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента, определяется в действии 902. А именно, определяется (определяются) требование (требования) уровня одной или нескольких нерегулярных скоростей воспроизведения. Это требование уровня может быть определено или извлечено, например, посредством изучения контента или метаданных, связанных с контентом, или может быть вычислено в сопряжении с кодированием контента в сервере. Например, могла бы быть определена информация, такая как информация, приведенная в качестве примера в одной или нескольких записях в таблицах, показанных на фиг. 3 и 5. Затем определенная информация обеспечивается для клиента в действии 904, что позволяет клиентскому узлу определить, какая скорость (скорости) воспроизведения является (являются) той, которая поддерживается (поддерживаются) клиентским узлом в отношении требуемого уровня и, таким образом, воздержаться от декодирования и воспроизведения контента со скоростью, требующей уровня, который не поддерживается клиентским узлом.
Информация, например, в форме записи или таблицы могла бы быть обеспечена, например, как часть структуры формата файла, как, например, необязательный блок или контейнер в соответствующем положении и/или в соответствующем иерархическом уровне структуры формата файла. Эта информация могла бы быть обеспечена как часть MPD, в случае, например, поточной передачи HTTP. Информация может касаться контента, когда некоторая операция была выполнена на контенте, такая как, например, отбрасывание и/или вставка кадров.
ПРИМЕРНАЯ КОМПОНОВКА, ФИГ. 10
Ниже, примерная компоновка 1000, приспособленная для осуществления выполнения вышеописанной процедуры, относящейся к серверной стороне поддержки решения о воспроизведении некоторого контента в клиенте, будет описана со ссылкой на фиг. 10. Компоновка показана как расположенная в серверном узле 1001 в системе связи. Этим серверным узлом мог бы быть, например, компьютер или мобильный терминал.
Предполагается, что серверный узел обеспечивает контент, который мог быть кодирован посредством серверного узла или посредством некоторого другого объекта, например объекта кодирования мультимедиа. Компоновка 1000, дополнительно показывающая как осуществляющая связь с другими объектами через блок 802 связи, который может рассматриваться как содержащий стандартные средства или модули для беспроводной и/или проводной связи и который может рассматриваться или может не рассматриваться как часть компоновки 1000. Может предполагаться, что компоновка и/или серверный узел дополнительно содержит другие функциональные блоки, такие как, например, блок 1014 кодирования, для кодирования, например, мультимедийного контента; и один или несколько блоков 1014 хранения.
Компоновка 1000 содержит блок 1004 определения, который приспособлен для определения требования уровня, связанного, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента. Как описано ранее, определение может включать в себя, например, изучение этого контента и/или метаданных, связанных с контентом, или вычисления в сопряжении с кодированием контента в сервере. Информация может касаться этого контента, когда некоторая операция была выполнена на этом контенте, такая как, например, отбрасывание и/или вставка кадров.
Компоновка 1000 дополнительно содержит блок обеспечения, который приспособлен для обеспечения информации, по меньшей мере, об одной скорости воспроизведения и связанном требовании уровня для клиентского узла, что позволяет клиентскому узлу определить, какая скорость (скорости) воспроизведения является той, которая поддерживается (поддерживаются) клиентским узлом в отношении требуемого уровня, и, таким образом, воздержаться от декодирования и воспроизведения этого контента со скоростью, требующей уровня, который не поддерживается клиентским узлом. Это обеспечение может включать в себя вставку информации в структуру формата файла, как, например, ее вставку в необязательный блок или контейнер в соответствующее положение и/или в соответствующий иерархический уровень структуры формата файла, откуда она может быть извлечена клиентом. Информация может быть обеспечена как часть MPD, в случае, например, поточной передачи HTTP.
ПРИМЕРНАЯ КОМПОНОВКА, ФИГ. 11
Фиг. 11 схематично показывает некоторый вариант осуществления компоновки 1100 в клиентском узле, который также может быть альтернативным способом раскрытия варианта осуществления компоновки в клиентском узле, показанном на фиг. 8. Здесь в компоновке 1100 содержится процессор 1106, например, с DSP (цифровым процессором сигналов). Процессором 1106 может быть единственный блок или множество блоков для выполнения различных действий процедур, описанных в данном документе. Компоновка 1100 может также содержать блок 1102 ввода для приема сигналов от других объектов и блок 1104 вывода для обеспечения сигнала (сигналов) к другим объектам. Блок 1102 ввода и блок 1104 вывода могут быть скомпонованы как интегральный объект.
Кроме того, компоновка 1100 содержит, по меньшей мере, один компьютерный программный продукт 1108 в форме энергонезависимой памяти, например, EEPROM (электронно-перепрограммируемого ПЗУ), флэш-памяти и жесткого диска. Компьютерный программный продукт 1108 содержит компьютерную программу 1110, которая содержит средство кода, которое при исполнении в процессоре 1106 в компоновке 1100 побуждает компоновку и/или клиентский узел к выполнению действий процедур, описанных ранее в сопряжении с фиг. 6 и 7.
Компьютерная программа 1110 может быть выполнена как компьютерный программный код, структурированный в компьютерные программные модули. Следовательно, в описанных примерных вариантах осуществления, средство кода в компьютерной программе 1110 компоновки 1100 содержит модуль 1110а получения для получения информации, относящейся к некоторому контенту, касающейся требований уровня, связанных, по меньшей мере, с одной нерегулярной скоростью воспроизведения для упомянутого некоторого контента. Компьютерная программа дополнительно содержит модуль 1110b определения для определения, на основе полученной информации, какая скорость (скорости) воспроизведения является (являются) той, которая поддерживается (поддерживаются) клиентским узлом в отношении уровня. Компьютерная программа 1110 может дополнительно содержать дополнительные модули, например 1110с, для анализа полученной информации и/или 1110d для принятия различных действий на основе этой информации.
Модули 1110а-d могли бы, в сущности, выполнять действия потоков, показанных на фиг. 6 и 7, для эмуляции компоновки в клиентском узле, показанном на фиг. 8. Другими словами, когда различные модули 1110а-d исполняются в процессоре 1106, они соответствуют блокам 804-810 фиг. 8.
Аналогично и подобным образом, возможна соответствующая альтернатива для компоновки, показанной на фиг. 10, содержащая программные модули для определения и обеспечения информации.
Хотя средства кода в варианте осуществления, раскрытом выше в сопряжении с фиг. 11, реализуются как компьютерные программные модули, которые при исполнении в процессоре побуждают компоновку и/или клиентский узел (или серверный узел) к выполнению действий, описанных выше в сопряжении с чертежами, отмеченными выше, по меньшей мере, одно из средств кода может быть реализовано в альтернативных вариантах осуществления, по меньшей мере частично как схемы аппаратного обеспечения.
Процессор может быть единственным CPU (центральным процессором), но мог бы также содержать два или несколько процессоров. Например, процессор может включать в себя универсальные микропроцессоры; процессоры набора инструкций и/или связанные наборы микросхем и/или специализированные микропроцессоры, такие как ASIC (специализированная интегральная микросхема). Процессор может также содержать плату памяти для целей кэширования. Компьютерная программа может быть перенесена посредством компьютерного программного продукта, подключенного к процессору. Этот компьютерный программный продукт содержит считываемый компьютером носитель, на котором хранится компьютерная программа. Например, компьютерным программным продуктом может быть флэш-память, RAM (ЗУ с произвольной выборкой), ROM (постоянное ЗУ) или EEPROM, и компьютерные программные модули, описанные выше, могли бы в альтернативных вариантах осуществления распространяться на различные компьютерные программные продукты в форме элементов памяти в пределах клиентского узла (или серверного узла).
В то время как процедуры, предложенные выше, были описаны со ссылкой на конкретные варианты осуществления, обеспеченные как примеры, это описание, в общем, предназначено только для иллюстрации идеи изобретения и не должно приниматься как ограничивающее объем предложенных способов и компоновок, которые заданы прилагаемой формулой изобретения. Будучи описанными в общих терминах, эти способы и компоновки могут быть применимы, например, для различных типов систем связи, использующих стандартно доступные технологии связи, такие как, например, GSM/EDGE, WCDMA или LTE или технологии широковещательной передачи по спутнику, наземные или кабельные, например, DVB-S, DVB-T или DVB-C, но также для сохранения/извлечения мультимедиа в/из памяти.
Также следует понимать, что выбор взаимодействующих блоков или модулей, а также именование этих блоков осуществляется только с целями иллюстрации, и клиентский и серверный узлы, подходящие для исполнения любого из способов, описанных выше, могут быть сконфигурированы множеством альтернативных способов для осуществления возможности исполнения предложенных действий процесса.
Следует также отметить, что блоки или модули, описанные в этом описании, должны быть рассмотрены как логические объекты, а необязательно как отдельные физические объекты.
СОКРАЩЕНИЯ
AVC усовершенствованное кодирование видеоданных
CABAC контекстно адаптированное двоичное арифметическое кодирование
DPB буфер декодированного изображения
GOP группа изображений
MPD описание представления мультимедиа
NAL уровень сетевой абстракции
QVGA четвертная видеографическая матрица
VLC кодирование переменной длины

Claims (18)

1. Способ в клиентском узле для поддержки решения о декодировании и воспроизведении мультимедийного контента, причем способ содержит:
получение (602) информации, связанной с упомянутым мультимедийным контентом, касательно требований уровня, ассоциированных с по меньшей мере одной скоростью воспроизведения для упомянутого мультимедийного контента, которая отличается от предопределенной регулярной скорости воспроизведения для упомянутого мультимедийного контента, и
- определение (604), на основе полученной информации, того, какая скорость (скорости) воспроизведения является той, которая поддерживается (поддерживаются) клиентским узлом в отношении уровня, что позволяет клиентскому узлу воздерживаться от декодирования и воспроизведения контента с нерегулярной скоростью, требующей уровня, который не поддерживается клиентским узлом.
2. Способ по п. 1, в котором воздержание от декодирования и воспроизведения контента со скоростью, требующей неподдерживаемого уровня, влечет за собой по меньшей мере одно из следующего:
- решение не извлекать контент,
- ограничение выбираемых скоростей воспроизведения,
- выбор (610) альтернативной версии контента,
- переключение (610) на альтернативную версию/представление контента,
- выбор (606) альтернативного декодера,
- декодирование и воспроизведение контента с нерегулярной скоростью, которая определяется как поддерживаемая клиентом.
3. Способ по п. 1 или 2, в котором упомянутая по меньшей мере одна скорость воспроизведения является кратной или долей предопределенной регулярной скорости воспроизведения контента.
4. Устройство (800) в клиентском узле (801) для поддержки решения о декодировании и воспроизведении мультимедийного контента, причем устройство содержит:
- блок (804) получения, приспособленный для получения информации, связанной с упомянутым мультимедийным контентом, касательно требований уровня, ассоциированных с по меньшей мере одной скоростью воспроизведения для упомянутого мультимедийного контента, которая отличается от предопределенной регулярной скорости воспроизведения для упомянутого мультимедийного контента, и
- блок (808) определения, приспособленный для определения, на основе полученной информации, того, какая скорость (скорости) воспроизведения является той, которая поддерживается (поддерживаются) клиентским узлом в отношении уровня, что позволяет воздерживаться от декодирования и воспроизведения контента с нерегулярной скоростью, требующей уровня, который не поддерживается клиентским узлом.
5. Устройство по п. 4, дополнительно приспособленное для определения того, приемлема ли нерегулярная скорость (скорости) воспроизведения, поддерживаемая клиентом, согласно заранее определенному критерию, и для осуществления действия в соответствии с определением.
6. Устройство по п. 5, в котором осуществляемое действие влечет за собой по меньшей мере одно из следующего:
- решение не извлекать контент,
- ограничение выбираемых скоростей воспроизведения для контента,
- выбор альтернативной версии контента,
- переключение на альтернативную версию/представление контента,
- выбор альтернативного декодера для декодирования контента,
- декодирование и воспроизведение контента с нерегулярной скоростью, которая определяется, на основе полученной информации, как поддерживаемая клиентом.
7. Устройство по любому из пп. 4-6, в котором упомянутая по меньшей мере одна скорость воспроизведения является кратной или долей предопределенной регулярной скорости воспроизведения контента.
8. Способ в серверном узле для поддержки решения о декодировании и воспроизведении мультимедийного контента на клиентском узле, причем способ содержит:
- определение (902) требования уровня, ассоциированного с по меньшей мере одной скоростью воспроизведения для упомянутого мультимедийного контента, которая отличается от предопределенной регулярной скорости воспроизведения для упомянутого мультимедийного контента, и
- обеспечение (904) информации об упомянутой по меньшей мере одной скорости воспроизведения и ассоциированном требовании уровня клиентскому узлу, что позволяет клиентскому узлу определять, какая скорость (скорости) воспроизведения является той, которая поддерживается (поддерживаются) клиентским узлом в отношении требуемого уровня, и, таким образом, воздерживаться от декодирования и воспроизведения контента со скоростью, требующей уровня, который не поддерживается клиентским узлом.
9. Способ по п. 8, в котором информация обеспечивается как часть структуры формата файла.
10. Способ по п. 8 или 9, в котором информация обеспечивается в описании представления мультимедиа.
11. Способ по п. 10, в котором информация касается контента, над которым была выполнена операция.
12. Способ по п. 11, в котором операция, выполняемая над контентом, влечет за собой по меньшей мере одно из следующего:
- отбрасывание кадров контента, и
- вставка кадров в контент.
13. Устройство (1000) в серверном узле (1001) для поддержки решения о декодировании и воспроизведении мультимедийного контента на клиентском узле, причем устройство содержит:
- блок (1004) определения, приспособленный для определения требования уровня, ассоциированного с по меньшей мере одной скоростью воспроизведения для упомянутого мультимедийного контента, которая отличается от предопределенной регулярной скорости воспроизведения для упомянутого мультимедийного контента, и
- блок (1006) обеспечения, приспособленный для обеспечения информации об упомянутой по меньшей мере одной скорости воспроизведения и ассоциированном требовании уровня клиентскому узлу, что позволяет клиентскому узлу определять, какая скорость (скорости) воспроизведения является той, которая поддерживается (поддерживаются) клиентским узлом в отношении требуемого уровня, и, таким образом, воздерживаться от декодирования и воспроизведения контента со скоростью, требующей уровня, который не поддерживается клиентским узлом.
14. Устройство по п. 13, дополнительно приспособленное для обеспечения информации как части структуры формата файла.
15. Устройство по п. 13 или 14, дополнительно приспособленное для обеспечения информации в описании представления мультимедиа.
16. Устройство по п. 15, при этом информация касается контента, над которым была выполнена операция.
17. Устройство по п. 16, в котором операция, выполняемая над контентом, влечет за собой по меньшей мере одно из следующего:
- отбрасывание кадров контента, и
- вставка кадров в контент.
18. Считываемый компьютером носитель, хранящий компьютерную программу (1110), содержащую считываемое компьютером средство кода, которое при выполнении в устройстве по любому из пп. 4-7 и 13-17 побуждает устройство к выполнению соответствующей процедуры по любому из пп. 1-3 и 8-12.
RU2012135473/08A 2010-01-18 2011-01-13 Способ и компоновка для поддержки воспроизведения контента RU2553433C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US29595810P 2010-01-18 2010-01-18
US61/295,958 2010-01-18
PCT/SE2011/050033 WO2011087439A1 (en) 2010-01-18 2011-01-13 Method and arrangement for supporting playout of content

Publications (2)

Publication Number Publication Date
RU2012135473A RU2012135473A (ru) 2014-02-27
RU2553433C2 true RU2553433C2 (ru) 2015-06-10

Family

ID=44304501

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012135473/08A RU2553433C2 (ru) 2010-01-18 2011-01-13 Способ и компоновка для поддержки воспроизведения контента

Country Status (10)

Country Link
US (3) US9979925B2 (ru)
EP (1) EP2526674B1 (ru)
JP (2) JP5709900B2 (ru)
CN (1) CN102771134B (ru)
AU (1) AU2011205819B2 (ru)
CA (1) CA2786812C (ru)
ES (1) ES2627521T3 (ru)
PL (1) PL2526674T3 (ru)
RU (1) RU2553433C2 (ru)
WO (1) WO2011087439A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2726284C1 (ru) * 2017-04-21 2020-07-10 Зенимакс Медиа Инк. Компенсация движения на основании ввода игрока посредством прогнозирования векторов движения

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2786812C (en) 2010-01-18 2018-03-20 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for supporting playout of content
KR20120034550A (ko) 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
KR101737325B1 (ko) * 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US9467493B2 (en) 2010-09-06 2016-10-11 Electronics And Telecommunication Research Institute Apparatus and method for providing streaming content
US8407747B1 (en) * 2012-03-13 2013-03-26 Google Inc. Adaptive trick play streaming
CN103327401B (zh) * 2012-03-19 2016-08-03 深圳市快播科技有限公司 多媒体转码器及转码方法、多媒体播放终端
JP6097840B2 (ja) * 2012-10-18 2017-03-15 ヴィド スケール インコーポレイテッド 移動マルチメディアストリーミングに対する復号複雑度
US20150350622A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Packed i-frames
CN107948735B (zh) * 2017-12-06 2020-09-25 北京乐我无限科技有限责任公司 一种视频播放方法、装置及电子设备
CN112437345B (zh) * 2020-11-20 2023-03-14 北京字跳网络技术有限公司 视频倍速播放方法、装置、电子设备及存储介质
WO2022183431A1 (zh) * 2021-03-04 2022-09-09 华为技术有限公司 数据处理方法和设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2310989C2 (ru) * 2004-12-16 2007-11-20 Эл Джи Электроникс Инк. Система и способ управления скоростью передачи при оказании услуги потоковой передачи в реальном времени

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215326B1 (en) * 1998-11-18 2001-04-10 Altera Corporation Programmable logic device architecture with super-regions having logic regions and a memory region
US6625656B2 (en) * 1999-05-04 2003-09-23 Enounce, Incorporated Method and apparatus for continuous playback or distribution of information including audio-visual streamed multimedia
US6934759B2 (en) * 1999-05-26 2005-08-23 Enounce, Inc. Method and apparatus for user-time-alignment for broadcast works
JP2001092706A (ja) * 1999-09-21 2001-04-06 Matsushita Electric Ind Co Ltd データ伝送方法、データ受信方法、データ受信装置
US7159233B2 (en) * 2000-01-28 2007-01-02 Sedna Patent Services, Llc Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system
US8028314B1 (en) * 2000-05-26 2011-09-27 Sharp Laboratories Of America, Inc. Audiovisual information management system
US6871006B1 (en) * 2000-06-30 2005-03-22 Emc Corporation Processing of MPEG encoded video for trick mode operation
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
WO2004003879A2 (en) * 2002-06-27 2004-01-08 Piranha Media Distribution, Inc. Method and apparatus for the free licensing of digital media content
US7496283B2 (en) * 2002-06-28 2009-02-24 Microsoft Corporation Methods and systems for processing digital data rate and directional playback changes
JP2004234157A (ja) * 2003-01-29 2004-08-19 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
GB0303176D0 (en) * 2003-02-12 2003-03-19 Video Networks Ltd A system for capture and selective playback of broadcast programmes
WO2004072764A2 (en) * 2003-02-13 2004-08-26 Nokia Corporation Method for signaling client rate capacity in multimedia streaming
US7739715B2 (en) * 2003-06-24 2010-06-15 Microsoft Corporation Variable play speed control for media streams
US7391769B2 (en) * 2003-06-27 2008-06-24 Lucent Technologies Inc. Packet aggregation for real time services on packet data networks
US7792806B2 (en) * 2003-06-27 2010-09-07 Microsoft Corporation Rate change
JP4546465B2 (ja) * 2004-06-03 2010-09-15 パナソニック株式会社 再生装置、プログラム
US7797720B2 (en) * 2004-10-22 2010-09-14 Microsoft Corporation Advanced trick mode
US20060143678A1 (en) * 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
US8018995B2 (en) * 2005-03-09 2011-09-13 Vudu, Inc. System and method for trick play of highly compressed video data
US8028322B2 (en) * 2005-03-14 2011-09-27 Time Warner Cable Inc. Method and apparatus for network content download and recording
KR20080006609A (ko) * 2005-04-13 2008-01-16 노키아 코포레이션 스케일링가능성 정보의 코딩, 저장, 및 시그널링
JP4690818B2 (ja) * 2005-08-04 2011-06-01 株式会社日立製作所 コンテンツ再生装置
US20070058926A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Optimizing trick modes for streaming media content
US8458753B2 (en) * 2006-02-27 2013-06-04 Time Warner Cable Enterprises Llc Methods and apparatus for device capabilities discovery and utilization within a content-based network
CN101075949A (zh) * 2006-05-15 2007-11-21 中兴通讯股份有限公司 一种改变流媒体文件播放速度的方法
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US20080148327A1 (en) * 2006-12-18 2008-06-19 General Instrument Corporation Method and Apparatus for Providing Adaptive Trick Play Control of Streaming Digital Video
CN101578884B (zh) * 2007-01-08 2015-03-04 诺基亚公司 提供和使用译码的媒体流的互操作点的预定信令的系统和方法
CN101222418A (zh) * 2007-01-10 2008-07-16 华为技术有限公司 Rtsp客户端访问sip媒体资源的方法、系统及信令网关
US10382514B2 (en) * 2007-03-20 2019-08-13 Apple Inc. Presentation of media in an application
CN100514992C (zh) * 2007-03-30 2009-07-15 中国联合网络通信集团有限公司 一种移动终端帧动画的处理方法
US7881335B2 (en) * 2007-04-30 2011-02-01 Sharp Laboratories Of America, Inc. Client-side bandwidth allocation for continuous and discrete media
US20080310825A1 (en) * 2007-06-12 2008-12-18 Microsoft Corporation Record quality based upon network and playback device capabilities
EP2301194B1 (en) * 2008-05-02 2012-01-11 Telefonaktiebolaget L M Ericsson (PUBL) Control of content delivery in broadcast/multicast networks
US7979570B2 (en) * 2008-05-12 2011-07-12 Swarmcast, Inc. Live media delivery over a packet-based computer network
JP5322518B2 (ja) * 2008-07-08 2013-10-23 キヤノン株式会社 通信方法
US9009337B2 (en) * 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
US8578272B2 (en) * 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US8948241B2 (en) * 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
US20110129202A1 (en) * 2009-12-01 2011-06-02 Divx, Llc System and method for determining bit stream compatibility
CA2786812C (en) * 2010-01-18 2018-03-20 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for supporting playout of content
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
US8589580B2 (en) * 2010-06-28 2013-11-19 Hulu, LLC Method and apparatus for geofiltering by content
US9485546B2 (en) * 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8782268B2 (en) * 2010-07-20 2014-07-15 Microsoft Corporation Dynamic composition of media
CN103119934B (zh) * 2010-07-20 2017-02-22 诺基亚技术有限公司 一种流媒体传输装置
US8930562B2 (en) * 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9137555B2 (en) * 2010-10-05 2015-09-15 Telefonaktiebolaget L M Ericsson (Publ) Client, a content creator entity and methods thereof for media streaming
US9485298B2 (en) * 2010-10-28 2016-11-01 Netscout Systems Texas, Llc Device with video buffer modeling and methods for use therewith
US20120148216A1 (en) * 2010-12-14 2012-06-14 Qualcomm Incorporated Self-editing video recording
US8856283B2 (en) * 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US20140371888A1 (en) * 2011-08-10 2014-12-18 Tomas Lundqvist Choosing optimal audio sample rate in voip applications
US9292826B1 (en) * 2011-12-21 2016-03-22 Time Warner Cable Enterprises Llc Adaptive bit rates in multicast communications
US8806529B2 (en) * 2012-04-06 2014-08-12 Time Warner Cable Enterprises Llc Variability in available levels of quality of encoded content
US10154258B2 (en) * 2012-07-09 2018-12-11 Vid Scale, Inc. Power aware video decoding and streaming
US9002122B2 (en) * 2012-07-19 2015-04-07 Omnivision Technologies, Inc. System and method for improving decoder performance using quantization control
US9124520B2 (en) * 2013-08-27 2015-09-01 Cisco Technology, Inc. Reducing buffer bloat while probing for additional bandwidth in an adaptive bitrate network
US9532088B2 (en) * 2014-06-18 2016-12-27 Arris Enterprises, Inc. Trick-play streams for adaptive bitrate streaming
US10749918B2 (en) * 2014-11-10 2020-08-18 Avago Technologies International Sales Pte. Limited Adaptive streaming with early client indication
US9930378B2 (en) * 2015-02-11 2018-03-27 Qualcomm Incorporated Signaling of operation points for carriage of HEVC extensions
CA2977051C (en) * 2015-02-17 2023-02-07 Nextvr Inc. Methods and apparatus for generating and using reduced resolution images and/or communicating such images to a playback or content distribution device
US11057446B2 (en) * 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
CN107852409A (zh) * 2015-07-21 2018-03-27 Lg 电子株式会社 广播信号发送装置、广播信号接收装置、广播信号发送方法以及广播信号接收方法
US10531095B2 (en) * 2015-11-17 2020-01-07 Nbcuniversal Media, Llc System and method for optimal variable bit rate packing
US10104143B1 (en) * 2016-06-03 2018-10-16 Amazon Technologies, Inc. Manifest segmentation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2310989C2 (ru) * 2004-12-16 2007-11-20 Эл Джи Электроникс Инк. Система и способ управления скоростью передачи при оказании услуги потоковой передачи в реальном времени

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2726284C1 (ru) * 2017-04-21 2020-07-10 Зенимакс Медиа Инк. Компенсация движения на основании ввода игрока посредством прогнозирования векторов движения
US11323740B2 (en) 2017-04-21 2022-05-03 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11330291B2 (en) 2017-04-21 2022-05-10 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11503332B2 (en) 2017-04-21 2022-11-15 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11533504B2 (en) 2017-04-21 2022-12-20 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11601670B2 (en) 2017-04-21 2023-03-07 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
US11695951B2 (en) 2017-04-21 2023-07-04 Zenimax Media Inc. Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors

Also Published As

Publication number Publication date
CN102771134B (zh) 2016-04-13
RU2012135473A (ru) 2014-02-27
EP2526674A4 (en) 2014-08-06
WO2011087439A1 (en) 2011-07-21
JP2015144464A (ja) 2015-08-06
JP5859694B2 (ja) 2016-02-10
AU2011205819A1 (en) 2012-07-19
CA2786812C (en) 2018-03-20
JP5709900B2 (ja) 2015-04-30
US20110185058A1 (en) 2011-07-28
CA2786812A1 (en) 2011-07-21
US11553154B2 (en) 2023-01-10
US20180262712A1 (en) 2018-09-13
EP2526674A1 (en) 2012-11-28
CN102771134A (zh) 2012-11-07
PL2526674T3 (pl) 2017-09-29
AU2011205819B2 (en) 2015-03-05
ES2627521T3 (es) 2017-07-28
US20210211606A1 (en) 2021-07-08
JP2013517674A (ja) 2013-05-16
EP2526674B1 (en) 2017-03-15
US10958867B2 (en) 2021-03-23
US9979925B2 (en) 2018-05-22

Similar Documents

Publication Publication Date Title
RU2553433C2 (ru) Способ и компоновка для поддержки воспроизведения контента
KR101868280B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
US10735742B2 (en) Adaptive bitrate video testing
KR102218385B1 (ko) 고속 전환을 위한 코덱 기법
US8837586B2 (en) Bandwidth-friendly representation switching in adaptive streaming
TWI511544B (zh) 用於可調適視訊串流之技術
US9258333B2 (en) Method for recovering content streamed into chunk
KR101620151B1 (ko) 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법
KR102144557B1 (ko) 비디오 데이터의 대체 스트림들의 인코딩시 인코딩 정보의 재사용을 위한 시스템들 및 방법들
US10735744B2 (en) Adaptive bitrate streaming techniques
WO2021147448A1 (zh) 一种视频数据处理方法、装置及存储介质
JP2017522767A (ja) ビデオビットストリームにおけるランダムアクセス
CN109348233B (zh) 一种层间回填自适应svc-dash播放方法
KR101225037B1 (ko) 인터넷 텔레비전을 이용한 영상 고속 재생방법 및 그 장치
WO2013163221A1 (en) Systems and methods for adaptive streaming with augmented video stream transitions
US11736548B2 (en) Rendering of background or picture-in-picture content as part of an HTTP adaptive streaming (HAS)
Uchihara et al. Asynchronous prefetching streaming for quick-scene access in mobile video delivery
James Improving Quality of Experience (QoE) of Dynamic Adaptive Streaming (DAS) Systems.