УПРАВЛЕНИЕ ПОТОКОМ РАСШИРЕННОГО МЕДИА
CONTROLLING FLOW OF EXTENDED MEDIA

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение в целом имеет отношение к управлению расширенным медиа, в частности к образованию и использованию точек произвольного доступа во вторичном потоке, связанном с первичным потоком пакетов расширенного медиа.
УРОВЕНЬ ТЕХНИКИ
Масштабируемая векторная графика (SVG) является основанным на расширяемом языком разметки (XML) языком для представления статической и динамической векторной графики. SVG основана на векторах, что означает, что информационное наполнение не сделано для определенных разрешений экрана, но может быть легко масштабировано. SVG стандартизирована Консорциумом Всемирной паутины (W3C). Мобильная конфигурация версии 1.1 SVG была принята 3GPP Release 5, и она сегодня поддерживается примерно 100 миллионами мобильных телефонов.
SVG Tiny 1.2 [1] является более мощной версией SVG, которая специально спроектирована для мобильных устройств и терминалов. Она в настоящее время является рекомендацией кандидата W3C и была принята 3GPP Release 6. Поддержка множества новых особенностей мультимедиа, включая полный контроль над аудио и видео, включена наряду с микрообъектной моделью документов (µDOM) и созданием сценария.
В дополнение к тому, что она является типом медиа для векторной графики, SVG может также использоваться как язык описания сцен, где сцена может быть составлена как временно, так и пространственно. Фактически, SVG Tiny 1.2 был принят как формат представления для рабочего элемента 3GPP на динамических и интерактивных мультимедиа сценах (DIMS), так же как и для рабочего элемента Открытого Мобильного Альянса (OMA) в Среде Расширенного Медиа (RME). Стандартизация DIMS была завершена в 3GPP Release 7, тогда как OMA все еще работает над завершением RME. Для DIMS (и также для RME) главными конкурирующими предложениями были Мобильная Открытая Среда Расширенного Медиа (MORE) [2], строящаяся на технологиях от W3C и Легкого Прикладного Представления Сцена (LASeR) [3], стандартизированного MPEG. Оба используют SVG Tiny 1.2 как основу.
Контент DIMS (RME) в противоположность чистому контенту SVG может передаваться потоково, используя Транспортный протокол реального времени (RTP) [4]. Визуализированный документ SVG упоминается как сцена SVG и будет, как правило, обновляться с меньшими обновлениями сцены. MORE и LASeR определяют, как сцены SVG могут быть переданы по RTP. Механизмы для обновлений сцен концептуально сходны, хотя не идентичны. LASeR определяет свои собственные механизмы, тогда как MORE использует Удаленные События для XML (REX) [5] от W3C.
Способность настроить и способность исправить ошибку настраиванием очень важна в DIMS, в особенности когда используются такие ненадежные протоколы, как RTP. Когда происходит ошибка, терминал обработки может использовать следующую так называемую точку произвольного доступа (RAP), чтобы исправить ошибку. Эта RAP декодируется так же, как будто терминал настраивался впервые, и все из старой сцены удаляется, и выполняется новая настройка.
Другая важная особенность DIMS - способность объединить потоки из различных источников, даже посланных по различным протоколам. Сцена DIMS в первичном потоке может привлекать вторичный поток, который может изменить оригинальную сцену.
В наше время точка настройки (RAP) во вторичном потоке должна содержать информацию обо всей сцене. Это очень неэффективно, особенно когда первичный поток доставляется надежно, а вторичный поток - ненадежно. Это означает, что с такой традиционной RAP даже части сцены, принятой надежно, будут снова посланы в точки настройки вторичного потока.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Решение известного уровня техники имеет несколько недостатков. Во-первых, ранее надежно посланное медиа первичного потока должно быть повторно передано, возможно, через ненадежный протокол доставки в случае ошибки, появившейся во вторичном потоке. Во-вторых, у сервера, поставляющего вторичный поток, должно быть знание о сцене, в которой будет использоваться вторичный поток. Таким образом, у сервера должен быть доступ к первичному потоку. Как следствие, несколько пользователей могут только подписаться на один и тот же самый вторичный поток, если у них есть идентичные состояния сцен в их приложениях. Кроме того, сегодня для пользователей невозможно загрузить первичный сцену и настроиться на вторичный поток вещания, поскольку каждый пользователь может настроиться в различные моменты вторичного потока.
Настоящее изобретение преодолевает эти и другие недостатки средств предшествующего уровня техники.
Общей задачей настоящего изобретения является обеспечение управления пакетами расширенного медиа.
Частной задачей настоящего изобретения является обеспечение управления пакетами расширенного медиа, которое обеспечивает восстановление при ошибках и/или возможность настраивания во вторичном или вспомогательном потоке пакетов расширенного медиа.
Эти и другие задачи решаются изобретением, как определено сопровождающей патентной формулой изобретения.
Вкратце, настоящее изобретение подразумевает обеспечение и обработку пакетов расширенного медиа вторичного или вспомогательного потока, которые будут использоваться совместно с первичным или основным потоком пакетов расширенного медиа, определяющих сцену. Расширенное медиа вторичного потока определяет состояния сцены и управляет частью сцены. Локальные данные произвольного доступа предоставляются для вторичного потока. Эти локальные данные произвольного доступа определяют законченный набор команд, допускающих создание, будучи обработанными, начального состояния части сцены. Начальное состояние, кроме того, доступно без влияния на состояния сцены других частей сцены. Таким образом, локальные данные произвольного доступа настоящего изобретения достигают локального или частичного обновления сцены и не генерируют полное обновление и генерацию новой сцены. Как следствие, только часть сцены, определенная вторичным потоком, будет затронута и установлена в начальное состояние, используя локальные данные произвольного доступа настоящего изобретения.
Предоставленные данные включены в пакет расширенного медиа, который вставляется во вторичный поток. Пакет, вместе с другими (обновление сцены) пакетами вторичного потока, может тогда быть передан на пользовательские терминалы для визуализации.
Локальные данные произвольного доступа настоящего изобретения могут использоваться терминалами при настройке на вторичный поток и/или восстановлении ошибки, возникшей при приеме или обработке пакетов расширенного медиа вторичного потока.
Настраиваясь на вторичный поток во время ведущегося сеанса с привлечением визуализации сцены, представляемой пакетами расширенного медиа первичного потока, терминал начинает прослушивать канал, несущий пакеты вторичного потока. Терминал идентифицирует один из пакетов как несущий локальные данные произвольного доступа, обычно изучая информацию заголовка. Будучи идентифицированной, выполняется настройка посредством обработки локальных данных произвольного доступа, чтобы создать начальное состояние части сцены, но без воздействия на другие части сцены. Терминал может тогда продолжить прием и обработку пакетов расширенного медиа вторичного потока, чтобы таким образом обновить состояние части сцены в дополнение к другим частям сцены.
В случае восстановления ошибки во вторичном потоке терминал ищет в принятых пакетах расширенного медиа вторичного потока после ошибочного пакета. Терминал идентифицирует такой пакет расширенного медиа, содержащий локальные данные произвольного доступа изобретения. Восстановление ошибок вовлекает обработку идентифицированных локальных данных произвольного доступа, чтобы создать начальное состояние части сцены, без влияния на состояние сцены других частей сцены. Терминал продолжает, получая и обрабатывая сцену, обновлять пакеты вторичного потока, чтобы обновить состояние части сцены.
Изобретение также относится к медиа-серверу для обеспечения вторичного потока, такому вторичному потоку и пользовательскому терминалу, обрабатывающему данные расширенного медиа первичного и вторичного потоков.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Изобретение вместе с дальнейшими задачами и своими преимуществами может лучше всего быть понято путем ссылок на следующее описание, взятое вместе с сопроводительными чертежами, в которых:
Фиг.1 - схема последовательности операций способа обеспечения вторичного потока пакетов расширенного медиа согласно воплощению настоящего изобретения;
Фиг.2 - схематический вид первичного и вторичного потоков пакетов расширенного медиа;
Фиг.3 - вид возможной сцены расширенного медиа с различными частями сцены;
Фиг.4 иллюстрирует организацию элементов сцены в древовидной структуре;
Фиг.5 - блок-схема, иллюстрирующая дополнительные этапы способа обеспечения с фиг.1;
Фиг.6 - блок-схема, иллюстрирующая дополнительные этапы способа обеспечения с фиг.1;
Фиг.7 - схематический вид части сети связи, содержащей медиа-сервер согласно настоящему изобретению;
Фиг.8 - схематический вид другой части сети связи, содержащей медиа-сервер согласно настоящему изобретению;
Фиг.9 - схематическая блок-схема медиа-сервера согласно воплощению настоящего изобретения;
Фиг.10 - блок-схема способа восстановления ошибок согласно воплощению настоящего изобретения;
Фиг.11 - блок-схема, иллюстрирующая этап создания состояния блок-схемы на фиг.10 согласно воплощению настоящего изобретения;
Фиг.12 - блок-схема, иллюстрирующая способ настройки на вторичный поток во время сеанса согласно воплощению настоящего изобретения; и
Фиг.13 - схематическая блок-схема пользовательского терминала согласно воплощению настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Всюду в чертежах одинаковые символы позиций будут использоваться для соответствующих или аналогичных элементов.
Настоящее изобретение в целом относится к управлению расширенным медиа, в частности к созданию и использованию точек произвольного доступа во вторичном потоке, связанном с первичным потоком пакетов расширенного медиа.
Как хорошо известно в технике, DIMS - динамическая, интерактивная, основанная на сцене медиа-система, которая допускает отображение и интерактивное управление мультимедиа или медиа-данными, такими как аудио, видео, графика, изображения и текст. Согласно настоящему изобретению расширенное медиа относится к медиа- и мультимедиа контенту, который может быть обработан и визуализирован, чтобы сформировать различные сцены на экране дисплея визуализирующего терминала. Такой контент расширенного медиа включает в себя графику, в частности векторную графику и масштабируемую векторную графику (SVG), статический и/или непрерывный медиа-контент. Примеры статического контента включают в себя изображения и текст, в то время как видео и аудио расцениваются как непрерывное медиа. Таким образом, пакеты расширенного медиа содержат данные и команду, позволяющие, будучи обработанным в терминале, визуализацию сцен расширенного медиа и обновление таких сцен.
Сцена может рассматриваться как разделенная на различные части, например, занимающие различные части экрана дисплея, будучи обработанным. В таком случае данные сцены, касающиеся этих частей, могут брать начало и распространяться различными потоками пакетов расширенного медиа. Вообще, первичный поток обращается к потоку или файлу, определяющему полное дерево сцены, и позволяет построение полной (DIMS) сцены. Этот первичный поток может иметь один или более связанных вторичных потоков, которые только управляют определенными частями дерева сцены.
Первичный и по меньшей мере один вторичный поток могут быть переданы по одному протоколу, но также и по разным протоколам. Например, пакеты расширенного медиа первичной сцены можно надежно послать через загрузку, в то время как вторичный поток можно было послать, используя менее надежный протокол, такой как RTP.
Первичные и вторичные потоки предшествующего уровня техники в основном содержат пакеты расширенного медиа двух различных классов. Во-первых, пакет данных может содержать так называемую точку произвольного доступа (RAP) или полную сцену. Содержимое пакета (пакетов) RAP описывает пространственную организацию элементов сцены, временную организацию элементов сцены, информацию синхронизации и любого взаимодействия между элементами. Таким образом, этой информации достаточно для того, чтобы визуализировать полную сцену без использования любой информации предыдущих пакетов расширенного медиа. Это означает, что клиент может использовать содержащий сцену пакет для того, чтобы инициализировать представление и схему размещения расширенного медиа. В предшествующем уровне техники инициирование визуализации медиа и восстановления предыдущей ошибки приема и декодирования ограничено этими так называемыми RAP. И первичные и вторичные потоки содержат RAP. В предшествующем уровне техники нет прямого различия в обработке RAP, транспортируемой во вторичном потоке по сравнению с RAP первичного потока, так как обе RAP вызовут полное обновление или инициирование сцены и полное обновление дерева сцены. Таким образом, вся часть сцены будет сброшена к начальному состоянию или новой сцене.
Подавляющая часть потока пакетов содержит пакеты обновления сцены, содержащие инкрементные обновления сцены, определенные предыдущей RAP или сценой, представляемой визуализацией предыдущей RAP и рядом предыдущих пакетов обновления сцены. Пакеты обновления сцены определяют операции, такие как добавление элемента сцены, удаление элемента сцены, замена элемента сцены, обновления атрибута элемента сцены и новые операции сцены. В области техники обновление сцены вторичного потока вообще применимо только к части сцены или части дерева сцены, определенного вторичным потоком.
Иногда выражения дополняют документ Расширяемого Языка Разметки (XML), и обновления документа XML используются для того, чтобы обозначить сцены и обновления сцены соответственно. В нижеследующей заявке будут последовательно использоваться сцены выражений и обновления сцены. Однако это охватывает альтернативные обозначения, такие как полные документы XML и обновления документа. RAP, обновления сцен и сцены должны, хотя и не обязательно, быть основаны на XML. Примером дескриптора сцены, не основанного на XML, является Flash. Документ (документы) XML могут быть посланы в открытом контексте или преобразованы в двоичную форму. Примеры таких способов преобразования в двоичную форму включают gzip (GNU zip), сжатие, двоичный LASeR и BiM (формат Binary MPEG для XML).
В четком контрасте по отношению к предшествующему уровню техники настоящее изобретение обеспечивает новый тип данных произвольного доступа, которые являются применимыми только к данному потоку, такому как определенный вторичный поток. Это означает, что обработка таких локальных данных произвольного доступа вызовет частичное обновление сцены, затрагивающее только часть полной сцены, которая описана определенным вторичным потоком. Оставшиеся части сцены остаются незатронутыми. Это можно сравнить с RAP в первичном потоке или RAP во вторичном потоке согласно предшествующему уровню техники, которое приводит к полному обновлению сцены в новую сцену.
Основная идея новых локальных данных произвольного доступа настоящего изобретения состоит в том, чтобы повлиять и обновить только те части сцены и дерева сцены, которые связаны с вторичным потоком, несущим локальные данные произвольного доступа.
Фиг.1 - блок-схема, иллюстрирующая способ обеспечения вторичного потока пакетов расширенного медиа согласно настоящему изобретению. Пакеты вторичного потока определяют состояния сцены части полной сцены, представляемой связанным первичным потоком пакетов расширенного медиа. Способ начинается на этапе S1, где обеспечиваются локальные данные произвольного доступа. Эти локальные данные произвольного доступа определяют полный набор команд для разрешения, при обработке в пользовательском терминале, создания начального состояния части сцены, определенного или ассоциированного с вторичным потоком. Кроме того, это частичное обновление сцены в начальное состояние может быть выполнено без влияния на состояние сцены других частей сцены. Локальные данные произвольного доступа определяют полный  и достаточный набор команд для того, чтобы создать начальное состояние и частичное обновление сцены без использования любых команд, содержавшихся в других предыдущих пакетах расширенного медиа вторичного потока, или действительно первичного потока или другого вторичного потока.
Следующий этап S2 генерирует пакет расширенного медиа, основанный на предоставленных локальных данных произвольного доступа. Таким образом, предоставленные локальные данные произвольного доступа включены в один или множество, то есть, по меньшей мере, два пакета расширенного медиа. По меньшей мере один пакет, содержащий данные локальной точки произвольного доступа (LRAP), вставляется во вторичный поток на этапе S3 и может быть затем послан в один или более запрашивающих пользовательских терминалов на этапе S4. Передача потока пакетов может быть выполнена согласно любому протоколу передачи и механизму, известному в технике. Например, пакеты могут быть загружены или переданы потоково на один или более пользовательских терминалов. Альтернативно, может быть возможно вещание или групповая передача на множественные терминалы в сети связи. Основанные на индивидуальной рассылке протоколы передачи также могут использоваться для пакетов расширенного медиа настоящего изобретения. Затем способ заканчивается.
Фиг.2 схематично иллюстрирует первичный поток 10 из пакетов 11, 12, 13 расширенного медиа. Поток содержит пакеты 11, 13, содержащие RAP, которые вызовут, будучи обработанными, полное обновление сцены в новую сцену, влияя на все части сцены и полного дерева сцены. Эти RAP 11, 13 могут использоваться пользовательскими терминалами, присоединяясь или настраиваясь на первичный поток 10. Таким образом, обработка совместно с настраиванием может быть начата только совместно с такими RAP 11, 13. RAP также полезны в использовании в подключении с ошибкой приема, декодирования или обработки одного из пакетов 12 обновления сцены, как известно в технике.
Первичная сцена 10 на фиг.2 связана с вторичным потоком 20, содержащим пакеты расширенного медиа 21, 22, 23, 24. Этот вторичный поток 20 содержит, по меньшей мере, один, а предпочтительно несколько, LRAP 21, 23 согласно настоящему изобретению. Таким образом, эти LRAP 21, 23 обеспечивают, будучи обработанными, локальное/частичное обновление части сцены или части дерева сцены, не влияя на другие части сцены (дерева). Эти LRAP 21, 23 могут использоваться тем же самым способом, как RAP 11, 13 из первичного потока 10. Таким образом, LRAP 21, 23 используются для того, чтобы выполнить настройку на вторичный поток 20 и/или для того, чтобы избавиться от ошибок, принимая, обрабатывая или декодируя один из пакетов 24 обновления сцены  из вторичного потока 20.
Фиг.3 схематично иллюстрирует сцену 30, визуализируемую на экране дисплея. Сцена 30 содержит различные части 32, 34, 36 сцены. На чертеже основная часть 32 сцены показывает видеоданные телевизионного канала. Связанные части 34, 36 сцены показывают, например, прогноз погоды и цены фондовой биржи. При такой настройке эти ассоциированные части 34, 36 сцены каждая может управляться отдельным вторичным потоком, связанным с первичным потоком, несущим данные расширенного медиа, определяющие часть сцены телевизионного канала и несущие RAP, влияя на всю сцену 30, то есть также части 34, 36 сцены.
Таким образом, RAP в первичном потоке и RAP во вторичном потоке согласно уровню техники приведут к новой сцене 30 и обновлению всех частей 32, 34, 36 сцены. В четком контрасте LRAP настоящего изобретения только определит начальное состояние части 34 или 36 сцены, связанной с вторичным потоком, несущим LRAP, оставляя другие части 32 и 36 или 34 сцены не затронутыми LRAP.
Хотя все содержащие RAP пакеты 21, 23 из вторичного потока предпочтительно содержат локальные данные произвольного доступа настоящего изобретения, настоящее изобретение может также использоваться в подключении с вторичным потоком, имеющим пакеты расширенного медиа, содержащие полные данные произвольного доступа предшествующего уровня техники и других пакетов расширенного медиа, содержащих локальные данные произвольного доступа настоящего изобретения в дополнение к обновлению сцены, содержащему пакеты.
Сцена часто представляется деревом сцены в уровне техники, как показано на фиг.4. Такое дерево 40 сцены содержит несколько узлов 41-47 дерева, определяющих различные объекты и части полной сцены. RAP в первичном потоке и RAP во вторичном потоке согласно уровню техники вызовут полное обновление всех узлов 41-47 дерева 40. LRAP настоящего изобретения, однако, только обновит часть 48 дерева 40 и поэтому повлияет только на один или более узлов 42, 43 дерева 40, но не на другие узлы 41, 44, 45, 46, 47 дерева.
Фиг.5 - блок-схема, иллюстрирующая дополнительные этапы способа обеспечения  потока с фиг.1. Способ продолжается с этапа S2 фиг.1. На следующем этапе S10 предоставляются данные обновления сцены. Эти данные обновления сцены применимы к начальному состоянию, определенному локальными данными произвольного доступа, чтобы "переместить" начальное состояние в состояние сцены части сцены, связанного с вторичным потоком. Эти данные обновления сцены, применимые к начальному состоянию, определенному LRAP, можно передать в отдельном пакете обновления сцены (пакет 22 на фиг.2, если пакет 21 содержит LRAP). Однако в другом воплощении данные обновления сцены могут быть включены, вместе с локальными данными произвольного доступа, в тот же самый пакет расширенного медиа на этапе S10. В таком случае пользовательский терминал, получающий пакет расширенного медиа, может обработать и локальные данные произвольного доступа и данные обновления сцены, включенные туда. Однако в других случаях локальные данные произвольного доступа могли быть расценены как избыточные. Это означает, что пользовательский терминал, получающий пакет расширенного медиа, может решить, обработать ли локальные данные произвольного доступа или нет. Вообще, LRAP только используется пользовательским терминалом, настраивающимся на вторичный поток, или пользовательским терминалом, столкнувшимся с ошибкой в предыдущем пакете расширенного медиа вторичного потока. Другой терминал может опустить обработку/визуализацию LRAP и только обработать включенную информацию обновления сцены.
Пакет расширенного медиа может содержать следующие части:
<LRAP-specific>
. . .
Частичное обновление сцены в начальное состояние для части сцены
. . .
</LRAP-specific>
<update>
. . .
Обновить информацию
. . .
</update>
В предпочтительном воплощении способ продолжается к этапу S11, где маркер заголовка пакета расширенного медиа вставляется или установливается в предопределенное значение, сообщающее, что пакет содержит LRAP. Маркер - ценный информационный источник для терминалов, желающих настраиваться на вторичный поток или терминалам, столкнувшимся с ошибкой приема или декодирования предыдущего пакета расширенного медиа (пакет обновления сцены или пакет LRAP) вторичного потока. Эти терминалы просто исследуют части заголовка полученных пакетов, чтобы идентифицировать следующий пакет, содержащий LRAP.
Маркер заголовка может иметь значение, указывающее, что включенные локальные данные произвольного доступа обязательны. Это означает, что все терминалы, слушающие заданный вторичный поток, должны обработать данные произвольного доступа в пакете, и не только настраивающиеся или восстанавливающие ошибку терминалы. Соответственно, у маркера заголовка может быть значение, представляющее избыточную LRAP. В таком случае включенные местные данные произвольного доступа должны только быть обработаны настраиванием терминалов на поток или восстановлением от предыдущей ошибки пакета. Маркер заголовка может также дополнительно сообщить, что пакет расширенного медиа содержит, в дополнение к LRAP изобретения, информацию обновления сцены, в особенности если о LRAP сообщают как об избыточной.
Этап S11 вставки/установки маркера заголовка фиг.5 может быть выполнен независимо от того, предоставлены ли данные обновления сцены или нет. В таком случае этап S10 может быть опущен в целом и только этап S11 выполнен. В любом случае способ тогда продолжается к этапу S3, где генерируются пакет расширенного медиа, содержащий LRAP, маркер заголовка и дополнительно данные обновления сцены.
Локальные данные произвольного доступа настоящего изобретения предпочтительно содержат полный набор команд, позволяющий обеспечение начального состояния части сцены, связанного с вторичным потоком. Локальные данные произвольного доступа предпочтительно позволяют обеспечивать начальное состояние независимо от того, какие предыдущие пакеты расширенного медиа вторичного потока были потеряны, или если вторичный поток настроен впервые. Команды, включенные в локальные данные произвольного доступа, могут зависеть от конкретных данных расширенного медиа, управляющих вторичным потоком. Типичным примером возможной частичного обновления сцены может быть включение машинной команды, вызывающей удаление элемента сцены из части сцены и затем другой команды, вызывающей вставку правильной версии элемента сцены в часть для формирования начального состояния. Настраивание терминалов на вторичный поток, конечно, еще не имеет никакого элемента сцены вторичного потока для удаления. Эти терминалы просто вставляют упомянутую версию элемента сцены в намеченной части сцены. В случае восстановления при ошибках удаляется ошибочный элемент сцены и правильная версия вставляется в правильную часть сцены.
Примером такой машинной команды LRAP, используя REX (удаленные события для XML), может быть:
Первая машинная команда удаляет элемент сцены, имеющий идентификатор узла «advertisment-node00l». Вторая машинная команда вставляет правильную версию элемента сцены. Как можно заметить по этому иллюстративному примеру, различные элементы сцены предпочтительно имеют ассоциированные идентификаторы. В таком случае эти идентификаторы могут использоваться для того, чтобы идентифицировать части сцены, которая была бы затронута локальными данными произвольного доступа. Кратко возвращаясь к фиг.4 и дереву 40 сцены, у каждого узла 41-47 в дереве 40 может быть связанный идентификатор узла. Идентифицируя заданный узел 42, основное направление узлов того узла 42 также будет затронуто LRAP.
Другие возможные команды LRAP, которые могут использоваться согласно настоящему изобретению, устанавливают или сбрасывают значение атрибута, связанное с частью сцены. Например, часть сцены, управляемая вторичным потоком, может отображать часы, сообщающие текущее время. Команда LRAP может затем сбросить текущее время часов. Подобный сценарий возможен для термометра, сообщающего текущую внешнюю температуру.
Как обсуждалось выше, LRAP содержит законченный набор команд, требуемых для того, чтобы достигнуть начального состояния части сцены, не требуя команд, содержавшихся в предыдущих пакетах расширенного медиа вторичного потока. Таким образом, определение машинной команды, добавляющее число N к значению атрибута, не является подходящей командой LRAP, так как значение атрибута может действительно быть ошибочным из-за пропуска терминалом предыдущего пакета обновления сцены, устанавливающего другое значение значению атрибута. На ясном контрасте машинная команда LRAP изобретения тогда установила бы атрибут с численным значением. Согласно фиг.2 LRAP 23 изобретения является предпочтительной, поэтому определяющим является то, что она может использоваться, чтобы достигнуть начального состояния части сцены, независимо от того, какой пакет 21 предыдущей LRAP или пакет 22, 24 обновления сцены был неправильно получен. Таким образом, пакет 23 LRAP может использоваться первым терминалом, который неправильно получил первый пакет 22 обновления сцены. Тот же самый пакет 23 LRAP может также использоваться вторым терминалом, который не получил правильно второй пакет 24 обновления предыдущего сцены.
Хотя набор команд LRAP является предпочтительно достаточно общим, чтобы позволить условие начального состояния, независимо от того, какой предыдущий пакет расширенного медиа текущего потока был неправильно получен или обработан терминалом, изобретение может также генерировать LRAP, основанную на запросах терминала. Подобная процедура показана на фиг.6. Способ начинается на этапе S20, где принят определенный для терминала запрос о локальных данных произвольного доступа. Этот запрос генерируется терминалом, неправильно получившим или обработавшим предыдущий пакет расширенного медиа вторичного потока. Как известно в технике, пакеты данных вообще имеют назначенные идентификаторы пакета, например включенные в пакет заголовки. В таком случае запрос LRAP может включать в себя идентификатор неправильно принятого/обработанного пакета расширенного медиа, и этот идентификатор восстанавливается на этапе S21. Затем способ продолжается к этапу S1 фиг.1, где локальные данные произвольного доступа предоставляются на основании запроса LRAP. Это воплощение позволяет генерирование заданной LRAP, подразумевая, что они используются для борьбы с предыдущей ошибкой заданного пакета расширенного медиа. Как следствие, более заданные команды могут быть включены в LRAP по сравнению с общей LRAP, которая предназначена для использования независимо от того, где произошла ошибка пакета во вторичном потоке.
Использование локальных точек произвольного доступа во вторичном потоке согласно настоящему изобретению допускает эффективное разделение передачи первичного потока и вторичного потока. Кроме того, данные (первичного потока), которые были надежно получены, не должны быть повторно переданы в LRAP вторичного потока. Настоящее изобретение также позволяет статической части сцены быть загруженной, в то время как динамические части, определенные вторичным потоком (потоками), обновляются по RTP.
Кроме того, имея только команды, применимые к части сцены (дереву), пакеты расширенного медиа вторичного потока, содержащего LRAP изобретения, могут быть намного меньшими, чем содержащие RAP пакеты предшествующего уровня техники.
Обработка LRAP вторичного потока не затрагивает остальную часть сцены. Это означает, что интерактивность не является изъяном, нет разрывов в воспроизведении, и нет затрат сложной обработки из-за всей реконструкции DOM, как в предшествующем уровне техники.
Фиг.7 - схематический вид части сети 1 связи, содержащей медиа-сервер 100 согласно настоящему изобретению. В этом воплощении один и тот же самый медиа-сервер 100 обеспечивает и пересылает и первичный поток 10, и связанный вторичный поток на различные пользовательские терминалы 300, используя инфраструктуру, то есть базовые станции 400, 410 мобильной сети 1. Однако настоящее изобретение может успешно использоваться в соединении с сетью 1 и архитектурой медиа-сервера, как показано на фиг.8. На этом чертеже первый медиа-сервер 100 обеспечивает и пересылает первичный поток 10 на пользовательские терминалы 300. Вторичный поток 20 здесь обеспечивается отдельным медиа-сервером 200, подключенным с той же самой или другой базовой станцией 400, 410, как первый медиа-сервер 100. Так как LRAP во вторичном потоке 20 влияет только на те части сцены (дерева), которые управляются интерактивным медиа вторичного потока 20, второму серверу 200 не нужны никакие знания о сцене, в которой должен использоваться вторичный поток 20. Таким образом, второй сервер 200 не должен иметь никакой информации первичного потока 10, обеспечивая и передавая вторичный поток 20. Это позволяет второму серверу 200 поставлять тот же самый вторичный поток 20 многим различным пользовательским терминалам 300 с различными базовыми сценами. Это также делает возможным применить более чем один вторичный поток 20 за один раз. Кроме того, вторичный поток 20 может быть передан основной станцией 410 без требования к первичному потоку 10 через широкополосное вещание, но, например, через загрузку («точка-точке» или "точка-точкам").
Фиг.9 схематично иллюстрирует медиа-сервер 100 согласно настоящему изобретению. Медиа-сервер 100 содержит поставщика 110 данных для того, чтобы обеспечить локальные данные произвольного доступа согласно изобретению, которые определяют полный набор команд для того, чтобы допустить создание начального состояния части сцены, определенного вторичным потоком. Это создание возможно во время обработки данных, не затрагивая состояние сцены других частей сцены, представимого первичным потоком пакетов расширенного медиа. Поставщик 110 данных может быть настроен для предоставления локальных данных произвольного доступа от подключенной памяти 160 данных, хранящей такие данные LRAP. Память 160 может содержать предопределенные команды, из которых поставщик 110 данных выбирает подходящий набор команд, чтобы использовать как данные LRAP. Кроме того, память 160 может содержать идентификатор (идентификаторы) заданных узлов или частей сцены, которыми управляет вторичный поток. Альтернативно, медиа-сервер 100 содержит или подключен к механизму 170 данных, который генерирует данные LRAP по требованию. Соответствующие команды и идентификаторы, используемые для того, чтобы создать данные LRAP, сгенерированы механизмом 170 и отправлены поставщику 110 данных.
Медиа-сервер 100 может дополнительно включать в себя приемник 150, настроенный для приема заданных терминальных запросов о LRAP. Приемник 150 пересылает запрос поставщику 110 данных, который обрабатывает запрос. Предпочтительно, поставщик 110 обеспечивает данные LRAP от памяти 160 и/или механизма, по меньшей мере, частично основанные на запросе, таком как основанный на идентификаторе пакета, включенном в запрос.
Предоставленные локальные данные произвольного доступа отправляются от поставщика 110 данных на генератор 120 пакетов. Генератор 120 создает пакет расширенного медиа или множество таких пакетов, содержащих принятые данные LRAP. Генератор 120 пакетов может быть подключен к дополнительному поставщику 180 данных обновления. Этот поставщик 180 данных обновления предоставляет информацию обновления сцены, применимую к начальному состоянию сцены, представимому локальными данными произвольного доступа от поставщика 110 данных. Генератор 120 пакетов может также вставить эти данные обновления сцены в тот же самый пакет расширенного медиа или в следующий пакет обновления сцены.
Необязательный процессор 190 заголовков подключен к генератору 120 пакетов. Процессор 190 устанавливает маркеры заголовка пакета расширенного медиа согласно предопределенным значениям, сообщающим, содержит ли пакет расширенного медиа LRAP, избыточна ли LRAP или обязательна и/или содержит ли пакет также данные обновления сцены.
Пакет расширенного медиа отправляется от генератора 120 на генератор 130 потоков, настроенный на генерирование вторичного потока. Генератор 130 потоков вставляет принятый пакет расширенного медиа во вторичный поток и пересылает его на передатчик 140, который посылает пакет и другие пакеты вторичного потока на прослушивающий пользовательский терминал (терминалы).
Медиа-сервер 100 необязательно может также обеспечить пакеты расширенного медиа первичного потока. В таком случае сервер 100 содержит поставщика 210 данных для того, чтобы обеспечить данные произвольного доступа и данные обновления сцены, применимые к первичному потоку. Предоставленные данные произвольного доступа допускают создание полной новой сцены, будучи обработанными, и таким образом затрагивают все части сцены (дерева). Генератор 220 пакетов настроен для упаковки данных от поставщика 210 данных в пакеты расширенного медиа, которые вставляются в первичный поток генератором 230 потоков. Пакеты первичного потока передаются передатчиком 140 или специализированным передатчиком первичного потока.
Модули 110-150, 170-190 и 210-230 медиа-сервера 100 могут быть представлены как программное обеспечение, аппаратные средства или их комбинация. Медиа-сервер 100 может быть размещен в сетевом узле сети связи, такой как сеть мобильной связи. Также возможна распределенная реализация, в котором модули медиа-сервера 100 выполнены в более чем одном сетевом узле.
Как обсуждался выше, локальные данные произвольного доступа вторичного потока могут использоваться для восстановления при ошибках и/или настройке на вторичный поток. Фиг.10 - блок-схема, иллюстрирующая способ восстановления из ошибки обработки или ошибки приема в данных расширенного медиа вторичного потока. Начало на этапе S30, где терминал обработки идентифицирует пакет расширенного медиа вторичного потока, который был неправильно получен терминалом и/или не мог быть правильно обработан терминалом. Терминал должен инициализировать процедуру исправления ошибок для данных расширенного медиа вторичного потока. Эта процедура использует ожидание следующего пакета расширенного медиа, содержащего LRAP изобретения во вторичном потоке. Идентификация пакета среди полученных пакетов первичного и вторичного потоков выполняется, по меньшей мере, частично основанной на маркере заголовка пакета, как описано ранее. Таким образом, следующий этап S31 вызывает получение и идентификацию пакета расширенного медиа вторичного потока, содержащего локальные данные произвольного доступа. Эти локальные данные произвольного доступа обрабатываются на этапе S32 с целью создания начального состояния части выполненного сцены (определенного интерактивными данными связанного первичного потока), но не затрагивают состояние сцены других частей сцены. Таким образом, обработка локальных данных произвольного доступа вызывает частичное обновление только части сцены, чтобы таким образом исправить ошибку предыдущего приема/обработки. Прием и обработка пакетов расширенного медиа могут тогда продолжиться, как прежде, со следующими пакетами расширенного медиа вторичного потока и первичного потока. На этом способ заканчивается.
В соответствии с фиг.2 предполагается, что пользовательский терминал принимает пакеты расширенного медиа 11, 12, 21, 22 как из первичного 10, так и из вторичного 20 потоков. Однако один из пакетов 24 во вторичном потоке 20 не был правильно получен или обработан. Терминал принимает и исследует пакеты расширенного медиа вторичного потока (и, конечно, первичного потока), чтобы идентифицировать следующий пакет 23, несущий LRAP. Как только пакет 23 получен и обработан, состояние сцены части сцены, определенной вторичным потоком 20, может быть исправлено, и визуализация продолжается со следующими пакетами первичного и вторичного потоков. В этом контексте начальное состояние части сцены, достигнутое обработкой LRAP, согласуется с состоянием части, которая была бы получена, если ошибочный пакет 24 вместо этого был бы правильно обработан/принят. Таким образом, для целей последующей обработки LRAP предпочтительно отсутствие различий в состояниях сцены по сравнению с ситуацией, когда все предыдущие пакеты вторичного потока 20 были правильны.
Фиг.11 - блок-схема, иллюстрирующая воплощение этапа создания состояния фиг.10 более подробно. Способ продолжается с этапа S31 фиг.10. На следующем этапе S40 терминал обрабатывает локальные данные произвольного доступа и команды, включенные там, чтобы удалить элемент сцены или узел дерева сцены, который ошибочен из-за предыдущей ошибки при приеме пакета или обработке. Таким образом, данные включают в себя команду удаления и, кроме того, включают в себя идентификаторы элемента сцены или узла, к которому должна быть применена команда удаления. Команды предпочтительно также содержат команду повторной вставки, которая используется на этапе S41. Команда повторной вставки связана с идентификатором, таким как адрес, разрешая идентификацию и выбор правильной версии элемента сцены или узла, для использования вместо неправильной. Такой обработкой элемента сцены, как визуализация, получается правильное начальное состояние части сцены и способ заканчивается.
Другое возможное воплощение создания состояния, как было ранее упомянуто, может использовать команду сброса, которая применяется к атрибуту со значением, связанным с частью сцены. Команда, кроме того, сопровождается информацией фактического значения, которое должно иметь значение атрибута.
Фиг.12 - блок-схема, иллюстрирующая другое использование локальных данных произвольного доступа настоящего изобретения. Чертеж иллюстрирует способ настраивания на вторичный поток пакетов расширенного медиа для терминала во время продолжающегося сеанса данных, выполняющего сцену, представимый пакетами расширенного медиа первичного потока. Терминал запускает прослушивание канала, используемого для передачи пакетов расширенного медиа вторичного потока. Маркеры заголовка, включенные в пакеты, предпочтительно используются на этапе S50 для того, чтобы идентифицировать один из пакетов во вторичном потоке как пакет, несущий LRAP. Терминал можно настроить на вторичный поток путем обработки локальных данных произвольного доступа в идентифицируемом пакете, чтобы таким образом создать начальное состояние части сцены, не затрагивая состояние сцены других частей сцены.
Как только начальное состояние части сцены было получено, терминал может продолжать прием и обработку пакетов расширенного медиа и первичного и вторичного потоков. Большинство этих пакетов будет содержать обновления сцены, применимые к полной сцене или только к частям сцены. Обработка этих последующих пакетов создаст различные обновленные состояния сцены и частей сцены.
Выше настоящее изобретение главным образом обсуждалось в связи с использованием LRAP в одном вторичном потоке, связанном с первичным потоком. Однако идея настоящего изобретения может использоваться при подключении к множественным вторичным потокам, которые связаны с тем же самым или другим первичным потоком (потоками). Предпочтительно, чтобы все RAP всех вторичных потоков являлись локальными точками произвольного доступа согласно настоящему изобретению.
Фиг.13 - схематическая блок-схема пользовательского терминала 300 согласно настоящему изобретению. Этот пользовательский терминал 300 содержит передатчик и приемник или приемопередатчик 310, схематично показанный как единый модуль на чертеже. Модуль 310 включает в себя традиционные функциональные возможности передатчика/приемника, такие как модулятор/демодулятор и т.д. Приемная часть модуля 310 в особенности адаптируется к приему пакетов расширенного медиа первичного потока и вторичного потока согласно настоящему изобретению.
Терминал 300 также содержит буфер 350 данных для того, чтобы временно хранить пакеты расширенного медиа потоков, полученных приемником 310. Этот буфер 350 главным образом используется для того, чтобы бороться с появлением искажений, передавая пакеты медиа по сети.
Процессор 320 интерактивных данных размещен для декодирования, произвольно используя специализированный декодер 325, и визуализации интерактивных данных, выбранных из буфера 350 данных. Выполненные данные отображаются на подключенном экране 360 дисплея и, возможно, воспроизведятся на громкоговорителе 370.
Детектор 330 ошибок соединен с приемником 310 и/или декодером 325 процессора 320 данных. Этот датчик 330 отслеживает, принят ли какой-нибудь пакет расширенного медиа неправильно приемником 310, не может быть правильно декодирован декодером 325 данных и/или не может быть обработан процессором 320. В этом случае датчик 330 пересылает запрос идентификации пакета определителю 340 пакетов, находящемуся в пользовательском терминале 300.
Идентификатор 340 пакета идентифицирует в буфере 350 данных пакет расширенного медиа, ранее принятый приемником 310 и который содержит локальные данные произвольного доступа согласно изобретению. Определитель 340 ищет в ранее полученных пакетах данных в буфере 350, пока не идентифицирует несущий LRAP пакет, принадлежащий вторичному потоку, которому принадлежит ошибочный пакет. Определитель 340 ищет в данных заголовка пакетов в буфере модуля 350, он находит маркер заголовка, имеющий определенное значение, соответствующее LRAP. В случае нескольких таких пакетов, несущих LRAP, сохраненных в буфере 350, определитель 340 предпочтительно идентифицирует и выбирает пакет LRAP, который наиболее близок к неправильному пакету расширенного медиа в потоке. Однако, если локальные данные произвольного доступа являются достаточно общими, они могут использоваться, чтобы бороться с любой предыдущей ошибкой.
Как только идентификатор пакета 340 идентифицировал пакет LRAP, процессор 320 обрабатывает данные для того, чтобы создать начальное состояние части сцены, отображенного на экране 360, не затрагивая другие части сцены.
Процессор 330 может, например, использовать команду удаления в пакете LRAP, чтобы удалить элемент сцены или узел (узлы) дерева сцены и заменить элемент сцены или узел (узлы) дерева на правильное значение. Альтернативно или кроме того, машинная команда сброса может использоваться для того, чтобы установить атрибут в правильное текущее значение.
При настройке на вторичный поток во время продолжающегося сеанса данных, вызывающего прием пакетов расширенного медиа первичного потока и произвольно, по меньшей мере, одного другого вторичного потока, приемник 310 принимает пакеты расширенного медиа вторичного потока и временно сохраняет их в буфере 350 данных. Идентификатор пакета ищет в этих пакетах вторичного потока для того, чтобы идентифицировать, предпочтительно основываясь на информации заголовка, пакет, несущий LRAP. Как только такой пакет расширенного медиа был идентифицирован, процессор 320 данных обрабатывает локальные данные произвольного доступа, чтобы создать начальное состояние части сцены, представленного на экране 360 дисплея, но не затрагивая состояние сцены других частей сцены.
Процессор 320 данных может продолжить обработку пакетов обновления сцены вторичного потока в дополнение к обработке пакетов расширенного медиа первичного потока и произвольно, по меньшей мере, одного другого вторичного потока.
Модули 310-340 из пользовательского терминала 300 могут быть представлены как программное обеспечение, аппаратные средства или их комбинация.
Специалистам в данной области техники будет понятно, что могут быть сделаны различные модификации и изменения к настоящему изобретению без отступления от его области применения, которая определена в соответствии с прилагаемой формулой изобретения.
СПРАВОЧНАЯ ИНФОРМАЦИЯ
1. Scalable Vector Graphics (SVG) Tiny 1.2 Specification - W3C Candidate Recommendation, 10 August 2006.
2. 3GPP' S4-AHP255: "MORE Technical Proposal for Dynamic and Interactive Multimedia Scenes (DIMS)".
3. ISO/IEC 14496-20: "Information technology - Coding of audio-visual objects - Part 20: LASeR (Lightweight Applications Scene Representation)".
4. IETF RFC 3550: "RTP: A Transport Protocol for Real-Time Applications".