РАСШИРЕНИЯ СООБЩЕНИЯ ОПИСАНИЯ СЕАНСА
EXTENSIONS OF MESSAGE OF SESSION DESCRIPTION

Область техники, к которой относится изобретение
Настоящее изобретение относится к потоковой передаче разноформатной информации и данных и, в частности, к расширениям сообщения описания сеанса.
Уровень техники
Потоковая передача содержания, такая как потоковая передача аудио-, видеосодержания и/или текста, становится все более популярной. Термин "потоковая передача" обычно используется для обозначения того, что данные, представленные в определенной форме информации, передают по сети в компьютер - клиент по мере их востребованности, вместо их полной предварительной поставки до воспроизведения. Таким образом, компьютер - клиент представляет содержание, передаваемое в потоковом режиме передачи, по мере его получения из сетевого сервера, не ожидая окончания полной передачи всего "файла".
Широкое распространение возможности потоковой передачи мультимедийного содержания позволяет передавать по сети Интернет или по другим компьютерным сетям самое разнообразное информационное содержание, которое раньше не было доступно. Содержание, передаваемое в режиме прямой трансляции, представляет собой один существенный пример такого содержания. Благодаря использованию мультимедийных данных, передаваемых в потоковом режиме передачи, звук, видеоизображение или звуковой/визуальный охват представляющих интерес событий можно передавать в широковещательном режиме по сети Интернет, по мере развития события. Аналогично, телевизионные и радиостанции могут передавать свои программы по сети Интернет в режиме прямой трансляции.
Протокол описания сеанса (SDP, ПОС), запрос рабочей группы сети для комментариев (RFC, ЗДК) 2327, апрель 1998 г., представляет собой формат, построенный на основе текста, используемый для описания свойств презентации мультимедийных данных, называемой "сеансом", и свойств одного или больше потоков разноформатных данных, содержащихся в презентации. Протокол SDP был разработан как протокол на уровне прикладной программы, предназначенный для описания мультимедийных сеансов, для объявления о сеансе, для приглашения к сеансу и для других форм инициирования мультимедийных сеансов. SDP можно использовать в согласовании с другими протоколами, такими как протокол потоковой передачи данных в режиме реального времени (RTSP, ППРВ) или протокол передачи гипертекста (HTTP, ППГТ), для описания и/или согласования свойств мультимедийного сеанса, используемого для потоковой передачи данных.
Однако свойства SDP ограничены представлением мультимедийных данных, которые поддаются описанию. Одно из решений для устранения такого ограничения состоит во внедрении в сообщение SDP отличающегося заголовка файла, такого как заголовок файла ASF (УФП, усовершенствованный формат потоковой передачи данных или формат усовершенствованных систем). Такое решение описано, например, в заявке на американский патент № 2003/0236912 под названием "System and Method for Embedding a Streaming Media Format Header Within a Session Description Message". Однако внедрение такого заголовка файла может создавать проблемы, например, при этом может возникнуть требование, чтобы получатель такого сообщения SDP обладал возможностью анализировать и понимать различные заголовки файлов, и может привести к увеличению размера сообщения SDP, которое включает отличающийся заголовок файла. Таким образом, было бы предпочтительно обеспечить способ преодоления этих ограничений протокола SDP, без необходимости обеспечения возможности анализа и понимания получателями внедренного отличающегося заголовка файла (такого как ASF).
Сущность изобретения
Ниже описаны расширения сообщения описания сеанса. Такие расширения расширяют информацию, которая может быть включена в сообщение описания сеанса для передаваемых в потоковом режиме разноформатных данных.
В соответствии с определенными аспектами расширения сообщения описания сеанса включают одно или несколько из: расширения взаимной исключительности, которое устанавливает, какие из множества разноформатных потоков презентации мультимедийных данных (или информации в одной любой форме) являются взаимно исключающими, расширения маркера, которое устанавливает индекс на презентацию мультимедийных данных, расширения команды сценария, которое устанавливает данные, которые должны быть представлены во время воспроизведения презентации мультимедийных данных, расширения типа leaky bucket ("дырявое ведро" - алгоритм организации передачи данных, при котором в случае перегрузки отбрасываются данные с наихудшим качеством), которое устанавливает, какое количество данных из презентации мультимедийных данных следует помещать в буфер при воспроизведении презентации мультимедийных данных с определенной скоростью передачи битов, расширения информации кэширования, которое устанавливает информацию о кэшировании презентации мультимедийных данных, расширения инкапсулирования, которое устанавливает параметры кодека для одного или нескольких из множества различных кодеков, расширения совместно используемой полосы пропускания, которое устанавливает разноформатные потоки презентации мультимедийных данных, которые совместно используют полосу пропускания, или расширения назначения приоритета потока, которое указывает, какие разноформатные потоки презентации мультимедийных данных должны иметь приоритет по отношению к другим разноформатным потокам презентации мультимедийных данных.
Краткое описание чертежей
Одинаковые ссылочные позиции используются в данном документе для обозначения одинаковых компонентов и/или свойств.
На фиг.1 представлен пример сетевой среды, которую можно использовать для потоковой передачи мультимедийных данных с использованием описанных здесь расширений сообщения описания сеанса.
На фиг.2 представлен пример устройства-клиента и сервера, которые позволяют передавать в потоковом режиме разноформатные данные, с использованием описанных здесь расширений сообщения описания сеанса.
На фиг.3 представлен пример формата сообщения описания сеанса.
На фиг.4 показана схема последовательности выполнения операций, иллюстрирующая пример процесса расширения сообщения описания сеанса для презентации мультимедийных данных.
На фиг.5 показана общая компьютерная среда, которую можно использовать для выполнения описанных здесь технологий.
Подробное описание предпочтительного варианта осуществления
Ниже описаны расширения сообщения описания сеанса. Сообщение описания сеанса включает информацию, описывающую презентацию мультимедийных данных или презентацию одной из форм информации. Сообщение описания сеанса обычно передают из устройства сервера в устройство-клиент, в которое презентацию мультимедийных данных передают в потоковом режиме. Здесь описаны несколько расширений, которые расширяют информацию, включаемую в сообщение описания сеанса.
На фиг.1 представлена сетевая среда 100, которую можно использовать для потоковой передачи разноформатных данных с использованием описанных здесь расширений сообщения описания сеанса. В среде 100 множество (а) вычислительных устройств 102 (1), 102 (2),..., 102 (a) - клиентов подключены к множеству (b) вычислительных устройств 104 (1), 104 (2). ..., 104 (b) серверов через сеть 106. Предполагается, что сеть 106 может быть представлена любой из множества обычных сетевых топологий и типов (включая кабельные и/или беспроводные сети), в которой используется любое множество обычных сетевых протоколов (включая общедоступные и/или частные протоколы). Сеть 106 может включать, например, Интернет, а также, возможно, по меньшей мере, участки одной или нескольких локальных вычислительных сетей (LAN, ЛВС).
Вычислительные устройства 102 и 104 могут представлять собой любые из разнообразных обычных вычислительных устройств, включая настольные ПК, рабочие станции, универсальные компьютеры, устройства для работы с Интернет, игровые консоли, переносные ПК, сотовые телефоны, карманные персональные компьютеры (PDA, КПК) и т.д. Одно или больше устройств 102 и 104 могут представлять собой устройства одного типа, или в качестве альтернативы, устройства различных типов.
Устройства 104 серверы могут быть предоставлены любыми из множества данных, доступных для потоковой передачи в устройства 102 - клиенты. Термин "потоковая передача" используется для указания того, что данные, представляющие разноформатные данные, передают по сети в устройство-клиент, и что воспроизведение содержания может начаться до того, как передаваемое содержание будет полностью передано (например, при передаче данных в соответствии с потребностью, в отличие от предварительной полной поставки данных до начала воспроизведения). Данные могут быть общедоступными или, в качестве альтернативы, ограниченными данными (например, с ограниченным доступом только для определенных пользователей, доступными только, если будет оплачен соответствующий денежный взнос и т.д.). Данные могут представлять собой любые разнообразные данные одного или нескольких типов содержания, такие как аудиоданные, видеоданные, текст, анимация и т.д. Кроме того, данные могут быть предварительно записаны или в качестве альтернативы, они могут передаваться в режиме "прямой трансляции" (например, цифровое представление концерта, снимаемого во время проведения концерта и которые становятся доступными для потоковой передачи через короткий промежуток времени после съемки).
Устройство 102 - клиент может принимать передаваемые в режиме потоковой передачи разноформатные данные из сервера 104, в котором содержание передаваемых в режиме потоковой передачи разноформатных данных записано в виде файла, или в качестве альтернативы, из сервера 104, который принимает передаваемые в режиме потоковой передачи разноформатные данные из некоторого другого источника. Например, сервер 104 может принимать передаваемые в потоковом режиме разноформатные данные из другого сервера, в котором передаваемое в потоковом режиме содержание разноформатных данных записано в виде файла, или может принимать передаваемые в потоковом режиме разноформатные данные из некоторого другого источника (например, кодера, который кодирует событие в режиме "прямой трансляции").
Используемый здесь термин передаваемые в потоковом режиме разноформатные данные относится к передаче в потоковом режиме одного или нескольких потоков разноформатных данных из одного устройства в другое (например, из устройства 104 сервера в устройство 102 - клиент). Потоки разноформатных данных могут включать любое из множества типов содержания, таких как одно или больше аудиосодержание, видеосодержание, текст и так далее.
,
На фиг.2 представлен пример устройства - клиента и сервера, которые могут передавать в потоковом режиме содержание в виде разноформатных данных, с использованием описанных здесь расширений сообщения описания сеанса. Устройство 102 - клиент включает проигрыватель 142 передаваемых в потоковом режиме разноформатных данных, сконфигурированный для доступа к модулю 144 потоковой передачи данных устройства 104 сервера. Содержание разноформатных данных, включая сообщение (сообщения) 146 описания сеанса, передают в потоковом режиме из модуля 144 потоковой передачи данных в проигрыватель 142 передаваемых в потоковом режиме разноформатных данных, в котором передаваемые в потоковом режиме разноформатные данные могут быть представлены пользователю устройства 102 - клиента. Разноформатные данные 146, передаваемые в потоковом режиме передачи, могут быть переданы в потоковом режиме в соответствии с различными протоколами, такими как протокол потоковой передачи данных в режиме реального времени (RTSP) или протокол передачи гипертекста (HTTP). Хотя это не показано на фиг.2 одно или больше дополнительных устройств (например, брандмауэров, маршрутизаторов, шлюзов, мостов и т.д.) могут быть установлены между устройством 102 - клиентом и устройством 104 сервера.
Одно или несколько сообщений описания сеанса используют для описания свойств презентации мультимедийных данных, передаваемых в потоковом режиме, в качестве разноформатных данных 146, передаваемых в потоковом режиме. Для таких сообщений описания сеанса можно использовать различные форматы или протоколы разноформатных данных. Пример такого формата мультимедийных данных представляет собой протокол описания сеанса (SDP), запрос рабочей группы сети для комментариев (RFC) 2327, апрель 1998 г. В некоторых вариантах выполнения описанное здесь сообщение описания сеанса представляет собой сообщение в соответствии с форматом SDP, описанным в RFC 2327.
Хотя для описания свойств презентации мультимедийных данных можно использовать различные форматы, одно или больше сообщений описания сеанса передают из модуля 144 потоковой передачи данных в мультимедийный проигрыватель 142 потоковой передачи данных, который включают идентификатор (идентификаторы) свойств. Одиночное сообщение описания сеанса может быть передано с помощью модуля 144 потоковой передачи данных для определенной презентации мультимедийных данных, или в качестве альтернативы, может быть передано множество сообщений описания сеанса. Если передают множество сообщений описания сеанса, такое множество сообщений может включать ту же информацию, другую информацию или накладывающуюся информацию.
Сообщение описания сеанса включает, например, одно или больше описаний каждого потока разноформатных данных, доступных в презентации мультимедийных данных (например, указание типа потока (например, видео или аудио), скорость передачи битов каждого потока разноформатных данных, язык, используемый в потоке, и т.д.); информацию коррекции ошибок; информацию безопасности/аутентификации; информацию шифрования или информацию цифрового управления авторскими правами (DRM, ЦУП); и т.д.
На фиг.3 показан пример формата сообщения описания сеанса. Хотя сообщение описания сеанса представлено на фиг.3 в виде конкретного примера, такое сообщение может иметь формат с полями или участками, расположенными в другом порядке или, в качестве альтернативы, они могут быть распределены в разных сообщениях.
Сообщение 180 описания сеанса включает участок 182 описания уровня сеанса и ноль или больше участков 184 описания уровня разноформатных данных. Участок 182 описания уровня сеанса включает одно или больше полей, имеющих данные, которые применимы для всего сеанса и всех потоков разноформатных данных, которые являются частью сеанса. С другой стороны, каждый участок 182 описания уровня разноформатных данных включает одно или больше полей, содержащих данные, которые применимы только к потоку с одним видом информации.
Поля данных на участке 182 описания уровня разноформатных данных описывают свойства для конкретных потоков разноформатных данных. Эти свойства могут быть представлены в дополнение к свойствам, описанным на участке 182 описания уровня сеанса, или вместо свойств, описанных на участке 182 описания уровня сеанса. Например, одно или больше свойств на определенном участке 182 описания уровня разноформатных данных могут преобладать для определенного потока разноформатных данных, ассоциированного с этим участком 182 описания определенного уровня разноформатных данных, над свойствами, идентифицированными на участке 182 описания уровня сеанса.
Сообщение 180 описания сеанса и структура сообщения 180 более подробно описаны ниже, в частности, в отношении SDP. Следует понимать, что эти конкретные структуры представлены только в качестве примеров и что сообщение описания сеанса может принимать различные формы.
Участок 182 описания уровня сеанса начинается с определенного поля, называемого полем версии протокола. Аналогично, каждый из участков 184 описания уровня разноформатных данных начинается с определенного поля, называемого полем названия разноформатных данных и адреса передачи. В определенных вариантах выполнения множество полей одинакового типа могут быть включены в сообщение описания сеанса (например, одиночное сообщение описания сеанса может иметь два или больше поля атрибута).
В таблице I, представленной ниже, показаны примеры полей, которые могут быть включены на участке 182 описания уровня сеанса. Таблица I включает название каждого примера поля, аббревиатуру или тип для каждого примера поля и краткое описание каждого примера поля. В определенных вариантах выполнения требуются поле версии протокола, поле владельца/создателя и идентификатора сеанса, поле названия сеанса и поле описания времени, в то время как все другие поля в таблице I используются в случае необходимости.
Таблица I
Название
Тип
Описание
protocol version (версия протокола)
v=
Версия SDP.
origin (происхождение)
o=
Инициатор сеанса (например, имя пользователя и адрес главного устройства пользователя), плюс идентификатор сеанса и номер версии сеанса.
session name (название сеанса)
s=
Название сеанса.
session information (информация сеанса)
i=
Информация о сеансе.
URI of description (УИР (унифицированный идентификатор ресурса) описания)
u=
Указатель на дополнительную информацию о сеансе.
email address (адрес электронной почты)
e=
Адрес электронной почты человека, ответственного за сеанс.
phone number (номер телефона)
p=
Номер телефона лица, ответственного за сеанс.
connection information (информация о соединении)
c=
Данные о соединении, описывающие соединение для сеанса, такие как тип сети, тип используемой адресации и адрес соединения.
bandwidth information (информация о полосе пропускания)
b=
Предложенная полоса пропускания, используемая сеансом.
time description (описание времени)
Смотри Таблицу II, приведенную ниже.
time zone adjustments (регулировки временной зоны)
z=
Указывает регулировку времени и смещения для обеспечения времени в режиме экономии дневного света.
encryption key (ключ шифрования)
k=
Указывает механизм, используемый для получения ключа шифрования для сеанса с помощью внешних средств, или из включенного закодированного ключа шифрования.
attribute (атрибут)
a=
Атрибут сеанса, расширяющего SDP.
В приведенной ниже таблице II более подробно представлено поле описания времени. Таблица II включает название для каждого поля в поле описания времени, аббревиатуру или тип каждого поля в поле описания времени и краткое описание каждого поля в поле описания времени. Поле времени активности сеанса является необходимым, в то время как поле нуля или большего количества раз повторений является дополнительным.
Таблица II
Название
Тип
Описание
time the session is active (время, когда сеанс является активным)
t=
Время начала и остановки сеанса.
zero or more repeat times (ноль или больше раз повторения)
r=
Указывает количество раз повторений сеанса.
В таблице III, приведенной ниже, иллюстрируются примеры полей, которые могут быть включены на участке 184 описания уровня мультимедийных данных. Таблица III содержит название для каждого примера поля, аббревиатуру или тип для каждого примера поля и краткое описание каждого примера поля. В определенных вариантах выполнения поле уведомлений разноформатных данных является необходимым, в то время как все другие поля в Таблице III являются необязательными.
Таблица III
Название
Тип
Описание
media announcement (уведомление разноформатных данных)
m=
Тип разноформатных данных потока разноформатных данных, порт переноса, в который требуется передать поток разноформатных данных, транспортный протокол для потока разноформатных данных и формат(форматы) разноформатных данных для потока разноформатных данных.
media title (название разноформатных данных)
i=
Информация о потоке разноформатных данных (например, метка для потока разноформатных данных).
connection information (информация о соединении)
c=
Данные соединения, описывающие соединение для потока разноформатных данных, такие как тип сети, тип используемой адресации и адрес соединения.
bandwidth information (информация о полосе пропускания)
b=
Предложенная полоса пропускания, используемая потоком разноформатных данных.
encryption key (ключ шифрования)
kr=
Указывает механизм, используемый для получения ключа шифрования, для потока разноформатных данных с помощью внешнего средства или из включенного закодированного ключа шифрования.
attribute (атрибут)
a=
Атрибут потока разноформатных данных, расширяющих SDP.
В некоторых вариантах выполнения описанные здесь расширения сообщения описания сеанса включены как поля атрибута в описании 182 уровня сеанса и/или в одно или больше описаний 184 уровня разноформатных данных.
На фиг.4 показана схема последовательности выполнения операций, иллюстрирующая пример процесса 200, предназначенного для расширения сообщения описания сеанса для презентации мультимедийных данных. Процесс 200 может быть выполнен в виде программных средств, встроенных программных средств, аппаратных средств или их комбинации. Процесс 200 обычно выполняется с использованием источника презентации мультимедийных данных (например, устройство кодера, которое генерирует презентации мультимедийных данных). Для сохраненных презентаций мультимедийных данных информация, включенная в расширения сообщения описания сеанса, обычно также записана вместе с презентацией мультимедийных данных или, в качестве альтернативы, в каком-либо другом месте. Когда презентацию мультимедийных данных требуется получить и передать в потоковом режиме в устройство-клиент, сохраненную информацию можно считать и сгенерировать сообщение описания сеанса с расширениями. Для презентаций мультимедийных данных, передаваемых в режиме прямой трансляции данных, информацию, включенную в сообщение описания сеанса, добавляют в сообщение описания сеанса (например, вручную человеком-пользователем или автоматически вычислительным устройством) в начале представления мультимедийных данных и/или в течение презентации мультимедийных данных (например, информация может быть добавлена к или изменена в сообщении описания сеанса при изменении презентации мультимедийных данных, передаваемых в режиме прямой трансляции).
Вначале идентифицируется информация, которая должна быть включена в сообщение описания сеанса (действие 202). Эта информация может быть идентифицирована одним или больше различными способами. Один из способов, с помощью которого эта информация может быть идентифицирована, представляет собой считывание из файла или записи. В определенных вариантах выполнения, по меньшей мере, некоторая информация записана в виде файла или записи, ассоциированного с презентацией мультимедийных данных, которую сообщение описания сеанса должно описать. Доступ к этому файлу или записи выполняют в действии 202 для получения информации, записанной в нем.
Другой способ, с помощью которого эта информация может быть идентифицирована, состоит в получении ее от пользователя-человека. В определенных вариантах выполнения, по меньшей мере, некоторую информацию получают от пользователя-человека. Такую вводимую пользователем информацию используют в действии 202, по меньшей мере, как некоторую информацию, которая должна быть включена в сообщение описания сеанса.
Другой способ, с помощью которого эта информация может быть идентифицирована, представляет собой автоматическое детектирование. В определенных вариантах выполнения, по меньшей мере, некоторая информация может быть идентифицирована автоматически с помощью вычислительного устройства, в результате анализа источника презентации мультимедийных данных или самой презентации мультимедийных данных. Такую автоматически детектируемую информацию используют в действии 202 как, по меньшей мере, некоторую информацию, которая должна быть включена в сообщение описания сеанса.
Затем идентифицируют расширения, добавляемые к сообщению описания сеанса, чтобы включить всю идентифицированную информацию (действие 204). Эти расширения могут быть идентифицированы различным образом. Один из способов, с помощью которого эти расширения могут быть идентифицированы, автоматически основывается на идентифицированной информации. Таким образом, при получении идентифицированной информации автоматически идентифицируются конкретные расширения, используемые для включения этой информации в сообщение описания сеанса. Например, может осуществляться обращение к таблице или информации отображения записи, причем устройство, выполняющее автоматическую конфигурацию может быть сконфигурировано или запрограммировано с соответствующими расширениями для конкретной информации, и т.д.
Другой способ, с помощью которого эти расширения могут быть идентифицированы, представляет собой идентификацию информации расширения самой информацией. Например, когда информация идентифицирована в действии 202, информация может также включать идентификацию, указывающую какое расширение следует использовать, чтобы включить информацию в сообщение описания сеанса.
Затем генерируют сообщение описания сеанса, включающее расширения, идентифицированные в действии 204, и информацию, идентифицированную в действии 202 (действие 206). После генерирования сообщение описания сеанса может быть передано в устройство-клиент для сообщения в устройство-клиент информации, описывающей презентацию мультимедийных данных, ассоциированную с сообщением описания сеанса.
В расширения сообщения описания сеанса может быть включена самая разная информация. В определенных вариантах выполнения такие расширения включают информацию, которая также может быть включена в заголовок файла ASF, ассоциированный с презентацией мультимедийных данных. Благодаря использованию расширений сообщения описания сеанса для включения такой информации, заголовок файла ASF не требуется передавать в устройство-клиент. Это устраняет требование для устройства-клиента обязательного понимания заголовка файла ASF, позволяет уменьшить размер сообщения описания сеанса, поскольку заголовок файла ASF не будет включен полностью в сообщение описания сеанса, и позволяет устранить необходимость генерировать заголовок файла ASF в ситуациях, когда заголовок файла ASF еще не был сгенерирован.
Следует отметить, что описанные здесь расширения сообщения описания сеанса представлены отдельно от заголовка файла ASF. Такие расширения сообщения описания сеанса определены отдельно от любого заголовка файла ASF (то есть, эти расширения сообщения описания сеанса не являются просто частью заголовка файла ASF, который внедрен в сообщение описания сеанса). Такие расширения сообщения описания сеанса также можно использовать в ситуациях, когда отсутствует заголовок файла ASF, ассоциированный с мультимедийной презентацией.
В таблице IV, представленной ниже, кратко приведены несколько расширений, которые могут быть включены в сообщение описания сеанса. В определенных вариантах выполнения каждое из таких расширений добавляют с использованием поля атрибута описания сеанса. Описание этих расширений, приведенное после Таблицы IV, указывает, являются ли эти расширения типичными в описании 182 уровня сеанса, или в описании 184 уровня разноформатных данных, хотя, в качестве альтернативы, такие расширения могут быть расположены в любом описании 182 уровня сеанса или в описании 184 уровня разноформатных данных.
Таблица IV
Название
Описание
Mutual Exclusivity (взаимная исключительность)
Указывает, являются ли потоки мультимедийных данных взаимно исключающими.
Marker (маркер)
Индексы, удобные для пользователя потока (потоков) разноформатных данных.
Script Command (команда сценария)
Указывает текст (или другие данные), которые требуется отображать, или идентификатор сетевой страницы, который требуется отобразить в определенный момент времени, во время воспроизведения потока (потоков) разноформатных данных.
Leaky Bucket
При воспроизведении с постоянной скоростью передачи битов содержания, поступающего с переменной скоростью передачи битов, указывает, какое количество данных потока (потоков) разноформатных данных клиент должен помещать в буфер.
Caching Information (информация кэширования)
Указывает информацию о кэшировании потока (потоков) разноформатных данных, например, следует ли кэшировать поток (потоки), как долго поток (потоки) рассматриваются свежими и т.д.
RTP Encapsulation (инкапсулирование RTP)
Указывает параметры инициализации кодека, обычно среди широкого разнообразия кодеков для данных, переданных с использованием RTP (ПРВ, транспортный протокол реального времени).
Bandwidth Sharing (совместное использование полосы пропускания)
Указывает потоки, которые совместно используют полосу пропускания, благодаря чему максимальная полоса пропускания набора указанных потоков меньше, чем сумма максимальных полос пропускания отдельных потоков.
Stream Prioritization (назначения приоритета для потока)
Указывает, какие потоки должны иметь приоритет по сравнению с другими потоками (например, какие потоки должны быть или не должны быть отброшены в случае перегрузки сети).
Каждое из расширений, включенных в кратком виде в таблицу IV, более подробно описано ниже. Различные примеры синтаксиса описаны ниже для различных расширений. Следует понимать, что здесь показаны только примеры и что другие синтаксисы можно использовать в случае альтернативы. Например, могут быть изменены параметры порядка параметров. В качестве другого примера могут быть изменены названия конкретных атрибутов (например, название описанного ниже атрибута взаимной исключительности может быть изменено на другое название, чем "а=group").
Следует отметить, что здесь приведены ссылки на идентификации конкретных потоков мультимедийных данных. Эти идентификации могут быть сделаны в разные моменты времени. В определенных вариантах выполнения идентификаторы потоков мультимедийных данных создает автор или дизайнер (или в качестве альтернативы, они создаются автоматически) при кодировании разноформатного потока (например, для широковещательной передачи в режиме прямой трансляции) или когда поток мультимедийных данных сохраняют (например, как файл ASF). В других вариантах выполнения идентификаторы разноформатных потоков создают, когда начинается презентация мультимедийных данных (или презентация одной формы информации) из устройства сервера.
Сами идентификаторы могут быть сгенерированы с использованием множества различных способов. В определенных вариантах выполнения идентификаторы представляют собой идентификаторы сеансов RTP. В этих вариантах выполнения отдельные потоки мультимедийных данных передают в потоковом режиме передачи данных из устройства сервера в устройство-клиент, с использованием транспортного протокола реального времени (RTP), как описано в запросе рабочей группы сети для комментариев (RFC) 3550, июль 2003 г. RTP обеспечивает функции сетевого транспорта из конца в конец, пригодного для прикладных программ, передающих данные в режиме реального времени, таких, как аудиоданные, видеоданные или данные моделирования, с использованием многоадресной или одноадресной сетевой услуги. Каждый поток мультимедийных данных передают в потоковом режиме передачи данных с использованием различных сеансов RTP. Таким сеансам RTP могут быть назначены номера различным образом, например, с использованием атрибута "a=mid:", как описано в Grouping of Media Lines in the Session Description Protocol (SDP) Network Working Group Request for Comments (RFC) 3388, декабрь 2002. В других вариантах выполнения сеансам RTP могут быть назначены номера другими способами, например, с использованием атрибута "a=stream:" или некоторого другого атрибута. В качестве альтернативы, идентификаторы могут быть сгенерированы путем простого использования некоторых идентификаторов в виде идентификаторов Потока ASF, которые назначены в заголовке файла ASF.
Взаимная исключительность
Расширение взаимной исключительности указывает, являются ли потоки мультимедийных данных взаимоисключающими. В определенных вариантах выполнения потоки могут быть взаимоисключающими на основе скорости передачи информации в битах и на основе языка. Например, презентация мультимедийных данных может содержать потоки разноформатных данных определенного содержания (например, аудио или видео), которые закодированы с различной скоростью передачи битов. При этом только один из этих потоков одновременно, имеющий требуемую скорость передачи битов, должен быть выбран для потоковой передачи в устройство-клиент. В качестве другого примера презентация мультимедийных данных может иметь множество потоков одинакового содержания (например, звуковых), которые записаны на различных языках. Только один из этих потоков одновременно, на требуемом языке, должен быть выбран для передачи в устройство-клиент.
В определенных вариантах выполнения параметры для расширения взаимной исключительности получают путем доступа к объекту взаимной исключительности по скорости передачи битов или к улучшенном объекту взаимной исключительности в заголовке файла ASF, ассоциированного с презентацией мультимедийных данных. Параметры, идентифицированные в заголовке файла ASF, считывают и используют в качестве параметров расширения взаимной исключительности. Если существует множество объектов взаимной исключительности по скорости передачи битов и/или объектов улучшенной взаимной исключительности в заголовке файла ASF, отдельное расширение взаимной исключительности включают в сообщение описания сеанса для каждого из этого множества объектов взаимной исключительности по скорости передачи битов и/или объектов улучшенной взаимной исключительности.
Расширения взаимной исключительности включены в описание уровня сеанса с использованием атрибута "a=group". Синтаксис для атрибута "a=group" определен следующим образом:
a. =
ExclusionType StreamNumbers
group:
ExclusionType
ExclusionType
ExclusionType
ExclusionType
Параметр (тип исключительности) может быть установлен в различные значения для указания типа взаимной исключительности. Например, параметр может быть установлен в значение "MBR", для указания того, что потоки являются взаимоисключающими на основании скорости передачи битов, но также может быть установлен в значение "LANG" для указания того, что потоки являются взаимоисключающими на основе языка. В определенных вариантах выполнения, при установлении расширения взаимной исключительности информации в заголовке файла ASF, если значение "Exclusion Type" GUID (ГУИД, глобально уникальный идентификатор) в объекте Bitrate Mutual Exclusion Object (объект взаимного исключения на основе скорости передачи битов) или в объекте Advanced Mutual Exclusion Object (объект улучшенного взаимного исключения) заголовка файла ASF представляет собой ASF_Mutex_Language, тогда параметр устанавливается в значение "LANG", и если значение "Exclusion Type" GUID в объекте Bitrate Mutual Exclusion Object или в объекте Advanced Mutual Exclusion Object заголовка файла ASF представляет собой ASF_Mutex_Bitrate, тогда параметр устанавливается в значение "MBR".
StreamNumbers
StreamNumbers
Параметр (количество потоков) содержит список потоков, к которым относится взаимное исключение. Эти потоки идентифицированы, например, по их сеансам RTP. В определенных вариантах выполнения, при установлении расширения взаимной исключительности на основе информации в заголовке файла ASF, для каждого потока в поле "Stream Numbers" объекта Bitrate Mutual Exclusion Object или объекта Advanced Mutual Exclusion Object файла ASF, к списку потоков в параметре добавляют число, назначенное для соответствующего сеанса RTP.
Маркер
Расширение маркера указывает индексы, удобные для пользователя в потоке(потоках) разноформатных данных. Такие индексы, удобные для пользователя, предназначены для простого понимания читателем-человеком. Расширение маркера включено в описание уровня сеанса с использованием атрибута "a=marker".
В определенных вариантах выполнения параметры для расширения маркера получают путем доступа к Object Marker (маркер объекта) в заголовке файла ASF, ассоциированном с презентацией мультимедийных данных. Параметры, идентифицированные в заголовке файла ASF, получают и используют, как параметры расширения маркера. Если существует множество маркеров в заголовке файла ASF, тогда можно использовать одно расширение маркера для идентификации всего множества маркеров. В качестве альтернативы, отдельное расширение маркера может быть включено в сообщение описания сеанса для каждого из этого множества маркеров.
Синтаксис для атрибута "a=marker" определен следующим образом:
name time; desc
a=marker:
name
name
Параметр (название) определяет название маркера, указанного расширением маркера. В определенных вариантах выполнения, при установлении расширения маркера на основе информации, содержащейся в заголовке файла ASF, значение "Name" в объекте Marker Object (объект маркера) заголовка файла ASF кодируют с использованием кода UTF-8 и используют как значение параметра в расширении маркера.
time
time
time
Параметр(время) определяет время презентации маркера. В определенных вариантах выполнения, при установлении расширения маркера по информации, содержащейся в заголовке файла ASF, значение "Presentation Time" (Время Презентации) объекта Marker Object в заголовке файла ASF используют в качестве значения параметрав расширении маркера. В определенных вариантах выполнения, если заголовок файла ASF указывает величину времени для данных в буфере перед началом воспроизведения презентации мультимедийных данных (например, в поле "Preroll" (предварительный просмотр) объекта File Properties Object (объект свойств файла), то указанное время вычитают из значения "Presentation Time" в объекте Marker Object заголовка файла ASF и полученную разность используют как значение параметрав расширении маркера.
desc
desc
Параметр  (описание) определяет удобный для пользователя индекс, который должен быть представлен пользователю в виде маркера. В определенных вариантах выполнения, при установлении расширения маркера информации, содержащейся в заголовке файла ASF, значение "Marker Description" (описание маркера) в объекте Marker Object заголовка файла ASF кодируют с использованием кода UTF-8 и используют как величину параметра  в расширении маркера.
time
desc
Атрибут "a=marker", в случае необходимости, может включать параметры и для множества маркеров. Каждая пара параметров отделена от предыдущей пары параметров знаком пробела (или в качестве альтернативы некоторым другим знаком (знаками)), таким как запятая, двоеточие, точка и т.д.).
Команда Сценария
Расширение команды сценария определяет текст (или другие данные), который требуется отображать в конкретное время, во время воспроизведения потока (потоков) разноформатных данных, или определяет идентификатор сетевой страницы, которую следует отображать (например, в сетевом браузере) в конкретный момент времени, во время воспроизведения потока (потоков) разноформатных данных. Расширение команды сценария включено в описание уровня сеанса, с использованием атрибута "a=script".
В определенных вариантах выполнения параметры для расширения команды сценария получают путем доступа к объекту Script Command Object (объект команды сценария) в заголовке файла ASF, ассоциированном с презентацией мультимедийных данных. Параметры, идентифицированные в заголовке файла ASF, считывают и используют, как параметры расширения команды сценария. Если существует множество команд в заголовке файла ASF, тогда можно использовать одиночную команду расширения сценария для идентификации всего множества команд. В качестве альтернативы, отдельное расширение команды сценария может быть включено в сообщение описания сеанса для каждой из этого множества команд.
Синтаксис для атрибутов "a=script" определен следующим образом:
type time
command
a=script:;
type (тип)
type
Параметр определяет название типа команды, указанной расширением команды сценария. В определенных вариантах выполнения, при обосновании расширении команды сценария по информации, содержащейся в заголовке файла ASF, значение "Command Type Name" (название типа команды) в объекте Script Command Object (объект команды сценария) заголовка файла ASF кодируют с помощью кода UTF-8 и используют как значение параметрав расширении команды сценария. Если объект Script Command Object в заголовке файла ASF может содержать множество "Command Type Fields" (поля типа команды), тогда отдельное расширение команды сценария используют для каждого такого поля.
time
time
time
Параметропределяет время презентации команды. В определенных вариантах выполнения, при обосновании расширения команды сценария на основе информации, содержащейся в заголовке файла ASF, значение "Presentation Time" (время презентации) в объекте Script Command Object заголовка файла ASF используют как значение параметрав расширении команды сценария. В некоторых вариантах выполнения, если заголовок файла ASF определяет величину времени для помещения данных в буфер перед началом воспроизведения презентации мультимедийных данных (например, в поле "Preroll" объекта File Properties Object (объект свойств Файла)), тогда указанное значение времени вычитают из значения "Presentation Time" в объекте Script Command Object заголовка файла ASF, и полученную в результате разность используют как значение параметра в расширении команды сценария.
command
command
Параметр (команда) определяет текст (или другие данные), которые должны отображаться, или идентификатор сетевой страницы (страниц), которые должны отображаться (например, через сетевой браузер). В определенных вариантах выполнения, при обосновании расширения команды сценария по информации заголовка файла ASF, значение "Command Name" (название команды) в объекте Script Command Object заголовка файла ASF кодируют с использованием кода UTF-8 и используют как значение параметра в расширении команды сценария.
time
command
Атрибут "a=script", в случае необходимости, может включать параметры и  для множества команд сценария. Каждая пара параметров отделена от предыдущей пары параметров знаком пробел (или в качестве альтернативы, с помощью некоторых других знаков), таких как запятая, двоеточие, точка и т.д.).
Расширение типа leaky bucket
Расширение типа leaky bucket определяет, при воспроизведении с постоянной скоростью битов содержания, поступающих с переменной скоростью битов, какое количество разноформатных данных (потоков) клиент должен помешать в буфер. Расширение leaky bucket относится к буферу, который опустошается с постоянной определенной частотой утечки, в который биты можно подавать через в нерегулярные интервалы времени и в разных количествах. Расширение leaky bucket определяется по его частоте утечки (например, по количеству бит в секунду) и его размеру или емкости (например, в битах). Расширение типа leaky bucket включено в описание уровня сеанса, с использованием атрибута "a=bucketinfo".
В определенных вариантах выполнения параметры для расширения типа leaky bucket получают путем доступа к объекту Extended Content Description Object (расширенный объект описания содержания) в заголовке файла ASF, ассоциированного с мультимедийной презентацией. Объект Extended Content Description Object включает пару название-значение, называемую "ASFLeakyBucketPairs" (пары leaky bucket ASF). Значение параметра пары название-значение "ASFLeakyBucketPairs" представляет собой информацию, относящуюся к области памяти leaky bucket, которую используют в качестве параметров для расширения leaky bucket. В качестве альтернативы, параметры для расширения leaky bucket могут поступать из другого места в заголовке файла ASF, например, из Extended Content Description Object. Если существует множество таких объектов Extended Content Description Object, имеющих пару название-значение "ASFLeakyBucketPairs" (и/или множество таких пар название-значение "ASFLeakyBucketPairs" в объекте Extended Content Description Object) в заголовке файла ASF, тогда можно использовать единичное расширение типа leaky bucket для идентификации всего такого множества пар название-значение "ASFLeakyBucketPairs". В качестве альтернативы, отдельное расширение типа leaky bucket может быть включено в сообщение описания сеанса для каждого из этого множества объектов Extended Content Description Object или множества пар название-значение "ASFLeakyBucketPairs".
R1;B1 R2;B2
Синтаксис для атрибутов "a=bucketinfo" определен в следующем виде: a=bucketinfo:
R1
B1
R2
B2
Rx;Bx
Параметр определяет скорость передачи в битах (скорость утечки) для первой области памяти leaky bucket, и параметр определяет размер (например, в миллисекундах) первой области памяти leaky bucket. Параметр определяет скорость передачи в битах (скорость утечки) для второй области памяти leaky bucket, и параметр определяет размер второй области памяти leaky bucket. Хотя в определении синтаксиса показаны только две области памяти leaky bucket, атрибут "a=bucketinfo" может предусматривать пары параметров  для неограниченного количества (x) областей памяти leaky bucket. Каждая пара параметров отделена от предыдущей пары знаком пробела (или в качестве альтернативы некоторым другим знаком, таким, как запятая, двоеточие, точка и т.д.).
R и B
R
B
В некоторых вариантах выполнения при обосновании расширения типа leaky bucket на основе информации, содержащейся в заголовке файла ASF, значение пары название-значение "ASFLeakyBucketPairs" в объекте Extended Content Description Object файла заголовка ASF используется как значение параметров в расширении типа leaky bucket. Первая часть "Descriptor Value" (значение дескриптора) (например, первые четыре байта) указывает скорость передачи битов (параметр) для этой области памяти (bucket), в то время как вторая часть "Descriptor Value" (например, вторые четыре байта) указывает размер (параметр) для этой области памяти.
Информация кэширования
Расширение информации кэширования определяет информацию о кэшировании потока (потоков) разноформатных данных, например, следует ли кэшировать поток (потоки), как долго поток (потоки) считаются свежими и т.д. В определенных вариантах выполнения информацию кэширования определяют на основе политики кэширования, воплощенной устройством сервера (например, устройством 104 сервера). Расширение информации кэширования включено в описание уровня сеанса с использованием атрибута "a=cachectrl".
Используется следующий синтаксис атрибута "a=cachectrl":
Rights
a=cachectrl:
Rights
(права)
Параметрпредставляет одну или несколько директив, отделенных знаком пробел (или, в качестве альтернативы, некоторыми другими знаками, такими как запятые, точки, точки с запятой, двоеточие и т.д.). Директива может представлять собой либо пару название-значение, где название и значение разделены знаком "=" (или, в качестве альтернативы, некоторым другим знаком), или одиночный параметр "name", без "value" (значение).
Rights
Различные директивы могут быть включены в параметр. В определенных вариантах выполнения эти директивы включают директиву не использования кэш, директиву не разделения и директиву истечения времени.
Директива не использования кэш определена как "no-cache" (отсутствие кэш) и указывает устройству-клиенту, а также любым промежуточным устройствам, определенным между устройствами сервера и клиента, что устройству не разрешено использовать кэш для потока (потоков) разноформатных данных при воспроизведении в последующее время.
Директива не разделения определена как "no-splitting" (отсутствие разделения) и указывает, что для устройства-клиента, а также для любых промежуточных устройств между устройствами сервера и клиента, устройству не разрешена повторная передача и повторное распределение содержания. Разделение содержания мультимедийных данных, передаваемых в режиме потоковой передачи данных, относится к передаче того же содержания множеству клиентов. Директива не разделения указывает, что такое разделение не разрешено.
Атрибут "a=cachectrl" может также включать директиву истечения времени, которая представляет собой пару название-значение, определенную следующим образом:
Timeout
expiration=
Timeout
Timeout
Параметр (время истечения) определяет, когда помещенные в кэш копии потока (потоков) разноформатных данных рассматриваются как stale (больше несвежие). Параметр может определять промежуток времени (например, количество секунд, минут, дней и т.д.) до момента, когда кэшированные копии станет считаться stale, или, в качестве альтернативы, может определять конкретную дату и/или время (например, 15 апреля 2004 в 15:00), когда кэшированные копии становится несвежим. В определенных вариантах выполнения устройству с кэшированной копией не разрешено использовать поток (потоки) несвежих разноформатных данных. В других вариантах выполнения устройство может использовать несвежую кэшированную копию потока (потоков) разноформатных данных, но устройство должно делать попытку определения, доступна ли более новая версия потока (потоков) разноформатных данных, и использовать вместо нее эту более новую версию, если это возможно.
Если директива срока действительности не включена, тогда поток (потоки) разноформатных данных не становятся несвежими. Если атрибут "a=cachectrl" не включен, тогда кэширование и разделение потока (потоков) разноформатных данных разрешено, и кэшированное содержание не становится несвежим.
Инкапсулирование RTP
Расширение инкапсулирования RTP определяет параметры инициализации кодека, обычно, среди широкого разнообразия кодеков для данных, передаваемых с использованием RTP. Множество различных кодеков можно использовать с RTP, и эти различные кодеки часто имеют свои собственные схемы инкапсулирования и свои собственные параметры инициализации. Расширение инкапсулирования RTP позволяет с помощью одного и того же синтаксиса (который представляет собой расширение инкапсулирования RTP) описывать свойства множества различных кодеков, устраняя, таким образом, необходимость в использовании множества различных синтаксисов для описания множества различных кодов. Расширение инкапсулирования RTP включено в описание уровня мультимедийных данных с использованием атрибута "a=fmtp".
pt MIME config=config-info
a=fmtp:
pt
Параметр представляет собой номер типа полезной нагрузки RTP, который идентифицирует формат или тип полезной нагрузки RTP. В определенных вариантах выполнения допустимо любое значение от 0 до 127.
MIME
MIME
MIME
Параметр представляет собой идентификатор кодека, используемого в разноформатном потоке. В определенных вариантах выполнения параметр представляет собой тип MIME (МРПИ, многоцелевое расширение почтовой службы в Интернет), который сформирован в соответствии с правилами "WAVE and AVI Codec Registries"(регистры кодека WAVE и AVI), Network Working Group Request for Comments (RFC) 2361, июнь 1998. В других вариантах выполнения параметр может принимать следующую форму:
application/vnd.asf;codec==xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,
где параметр xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx заменен идентификатором кодека. В определенных вариантах выполнения этот идентификатор представляет собой GUID кодека из файла ASF. Идентификатор может быть сохранен в файле ASF, как, например, Media Type GUID (ГУИД типа разноформатных данных) для объекта Stream Properties Object (объект свойств потока) в файле ASF, или секции Type-Specific Data (данные, специфичные по типу) объекта Stream Properties Object в файле ASFe.
config=config-info
config-info
config- info
Параметр  идентифицирует данные инициализации кодека, где заменяют на последовательность подпараметров. В определенных вариантах выполнения подпараметры кодируют с использованием кода Base64. Эти подпараметры разделены знаком "/", или в качестве альтернативы, другими знаками (например, точками, запятыми, двоеточием, точкой с запятой и т.д.). Используется следующие синтаксис:
MajorType/FixedSizeSamples/TemporalCompression/SampleSize/FormatType/FormatData
MajorType
Подпараметр (важный тип) идентифицирован (например, GUID (глобальный уникальный идентификатор)), который идентифицирует тип потоков мультимедийных данных. В определенных вариантах выполнения допустимые значения включают "73647561-0000-0010-8000-00AA00389B71" для аудиопотока, и "73646976-0000-0010-8000-00AA00389B71" для видеопотока.
FixedSizeSamples
FixedSizeSamples
Подпараметр (выборки с фиксированным разером) указывает, используются ли в кодеке выборки (пакеты) с фиксированным размером. В определенных вариантах выполнения подпараметр равен "1", если кодек использует выборки (пакеты) разноформатных данных с фиксированным размером или в противном случае он равен "0". Например, обычно это поле представляет "1" для звуковых данных и несжатых видеоданных и "0" для сжатых видеоданных.
TemporalCompression
TemporalCompression
Подпараметр (врйменное сжатие) указывает, используется ли в потоке временное сжатие. В определенных вариантах выполнения подпараметр равен "1", если в потоке используется временное сжатие, что означает, что не все выборки мультимедийных данных представляют собой "ключевые фреймы". В противном случае, он устанавливается в "0". Это поле может быть установлено в "1" для многих типов сжатых видеоданных, поскольку такие потоки имеют выборки мультимедийных данных, которые не являются ключевыми фреймами.
SampleSize
SampleSize
FixedSizeSamples
SampleSize
FixedSizeSamples
Подпараметр (размер выборки) указывает размер выборок мультимедийных данных, когда кодек использует фиксированный размер выборок (пакеты). В определенных вариантах выполнения подпараметр представляет собой десятичное число, которое определяет размер выборок мультимедийных данных, когда параметр(выборки с фиксированным размером) равен "1". Подпараметр может быть установлен в "0" и его можно игнорировать, когда равен "0".
FormatType
FormatData
FormatData
FormatType
FormatData
Подпараметр (типа формата) представляет собой идентификатор (например, GUID), который идентифицирует формат подпараметра(данные формата). Подпараметр представляет собой данные инициализации кодека, идентифицированные с помощью подпараметра. Любую из множества различных структур, которые описывают свойства кодека, можно использовать для подпараметра. Например, структура данных, описывающая свойства кодека для аудиопотока, может включать информацию о частоте выборки аудиоданных; и количестве битов выборки. В качестве другого примера, структура данных, описывающая свойства кодека для видеопотока, может включать информацию о ширине и высоте (например, в пикселях) видеоинформации, а также о соотношении сторон изображения. В определенных вариантах выполнения каждый байт в данных инициализации кодека представлен как два шестнадцатеричных числа в SDP. В качестве альтернативы, можно использовать другие представления, например, такие как кодирование с использованием кода Base64.
Совместное использование полосы пропускания
Расширение совместного использования полосы пропускания указывает потоки, которые совместно используют полосу пропускания таким образом, что максимальная полоса пропускания набора определенных потоков меньше, чем сумма максимальных полос пропускания отдельных установленных потоков. Расширение совместного использования полосы пропускания включено в описание уровня сеанса с использованием атрибута "a=bwshare".
В определенных вариантах выполнения параметры для расширения совместного использования полосы пропускания получают путем доступа к Object Bandwidth Sharing (объект совместного использования полосы пропускания) в заголовке файла ASF, ассоциированном с презентацией мультимедийных данных. Параметры, идентифицированные в заголовке файла ASF, считывают и используют как параметры расширения совместного использования полосы пропускания. Если существует несколько объектов Bandwidth Sharing Object в заголовке файла ASF, тогда отдельное расширение совместного использования полосы пропускания включено в сообщение описания сеанса для каждого из этих объектов Bandwidth Sharing Object.
Синтаксис для атрибута "a=bwshare" определен следующим образом:
SharingType R B SessionList
a=bwshare:
SharingType
SharingType
SharingType
SharingType
Параметр(тип совместного использования) может быть установлен с различными значениями для обозначения типа совместного использования. Например, параметр может быть установлен в значение "PART" (часть) для указания, что любое количество указанных потоков могут в любой момент времени представлять собой потоковые данные, но будет установлен в значение "EXCL", если только один из указанных потоков в любой момент времени может представлять собой потоковые данные. В некоторых вариантах выполнения, при установлении расширения совместного использования полосы пропускания, по информации в заголовке файла ASF, если значение параметра "Sharing Type" GUID в объекте Bandwidth Sharing Object заголовка файла ASF составляет ASF_Bandwidth_Sharing_Partial, параметр устанавливается в значение "PART", и если значение "Sharing Type" GUID в объекте Bandwidth Sharing Object заголовка файла ASF составляет ASF_Bandwidth_Sharing_Exclusive, параметр устанавливается в значение "EXCL".
R
B
R
Параметр указывает скорость утечки (например, в битах в секунду) области памяти типа leaky bucket, которая содержит часть данных всех потоков без переполнения. Размер области памяти leaky bucket указан как параметр. В некоторых вариантах выполнения, при установлении расширения совместного использования полосы пропускания, по информации в заголовке файла ASF, параметр имеет значение поля "Data Bitrate" (частота следования битов данных) в заголовке файла ASF, выраженное как десятичное число.
B
B
Параметр указывает размер (например, в миллисекундах) области памяти leaky bucket. В определенных вариантах выполнения, при обосновании расширения совместного использования полосы пропускания по информации заголовка файла ASF, параметр представляет значение поля "Buffer Size" (размер буфера) в заголовке файла ASF, выраженное как десятичное число.
SessionList
Параметр (список сеанса) состоит из одного или больше десятичных чисел, разделенных знаком пробела. Каждое число идентифицирует один из указанных потоков, которые охватываются взаимозависимостью совместного использования полосы пропускания, выраженной этим атрибутом "a=bwshare". Потоки идентифицированы по их номерам сеанса RTP.
Назначение приоритета потока
Расширение назначения приоритета потока указывает, какие потоки в презентации мультимедийных данных должны иметь приоритет по сравнению с другими потоками; такое назначение приоритета можно использовать, например, для идентификации того, какие потоки должны или какие потоки не должны быть отброшены в случае перегрузки сети.
Расширение назначения приоритета потока включено в описание уровня сеанса, с использованием атрибута "a=prio". Атрибут "a=prio" представляет в виде списка каждый сеанс RTP в порядке приоритета, с указанием первым сеанса RTP с наивысшим приоритетом. Атрибут "a=prio" включает список параметров, которые являются идентификаторами сеансов RTP.
Некоторые сеансы RTP могут быть идентифицированы как обязательные, что указывает, что эти определенные сеансы не должны быть отброшены при перегрузке сети. Обязательные сеансы RTP обозначены в атрибуте "a=prio" путем прикрепления буквы 'm' после номера сеанса RTP.
Следующий пример иллюстрирует синтаксис атрибута "a=prio".
a=prio:1m 2m 3
В этом примере сеансы 1 и 2 RTP являются обязательными. Сеанс 3 RTP имеет более низкий приоритет, чем другие сеансы, и его можно отбросить в случае перегрузки сети.
В некоторых вариантах выполнения приоритеты потока получают путем доступа к объекту Stream Prioritization Object (объект назначения приоритета потока) в заголовке файла ASF, ассоциированном с мультимедийной презентацией. Потоки, идентифицированные в заголовке файла ASF, соответствуют сеансам RTP, и приоритеты потока, идентифицированные в заголовке файла ASF, используют как приоритеты для соответствующих сеансов RTP. Если "Mandatory Flag" (флаг обязательности) установлен для конкретного потока ASF, тогда соответствующий сеанс RTP также считается обязательным.
Рассмотрим теперь фиг.5, на фиг.5 представлена общая вычислительная среда 300, которую можно использовать для воплощения описанных здесь технологий. Вычислительная среда 300 представляет собой только один пример вычислительной среды и не предназначена для установки какого-либо ограничения в отношении объема использования функций компьютерных и сетевых архитектур. Также не следует интерпретировать компьютерную среду 300, как имеющую какую-либо зависимость от требований, относящихся к любому одному или комбинации компонентов, представленных в примере вычислительной среды 300.
Вычислительная среда 300 включает вычислительное устройство общего назначения, выполненное в форме компьютера 302. Компьютер 302 может представлять собой, например, устройство 102 - клиент или устройство 104 сервер по фигурам 1 и 2. Компьютер 302 также может представлять собой устройство-кодер, которое представляет собой источник презентации мультимедийных данных. Компоненты компьютера 302 могут включать, без ограничений, один или больше процессоров или вычислительных устройств 304, системную память 306 и системную шину 308, которая соединяет различные системные компоненты, включая процессор 304 с системной памятью 306.
Системная шина 308 представляет один или больше любых из нескольких типов структур шины, включая шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт и шину процессора или локальную шину с использованием любой из множества архитектур шины. В качестве примера, такая архитектура может включать архитектуру шины промышленного стандарта (ISA, АПС), микроканальную архитектуру (MCA, МКА), расширенную архитектуру шины ISA (EISA, РАПС), локальную шину ассоциации по стандартизации в области видеотехники (VESA, АСВТ) и шину взаимного соединения периферийных компонентов (PCI, ВПК), также известную как шина второго уровня (Mezzanine bus).
Компьютер 302 обычно включает множество носителей информации, считываемых компьютером. Такие носители информации могут представлять собой доступные носители информации, доступ к которым осуществляется с помощью компьютера 302, и включают как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители информации;
Системная память 306 включает носители информации, считываемые компьютером, выполненные в форме энергозависимой памяти, такой как оперативное запоминающее устройство (ОЗУ) 310, и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 312. Базовая система ввода/вывода (BIOS, БСВВ) 314, содержащая основные процедуры, которые помогают передавать информацию между элементами в компьютере 302, например, во время включения, записана в ПЗУ 312. В ОЗУ 310 обычно содержатся данные и/или программные модули, доступ к которым осуществляется немедленно и/или с которыми в данный момент времени работает процессорное устройство 304.
Компьютер 302 может также включать другие съемные/несъемные, энергозависимые/энергонезависимые носители информации, используемые в качестве компьютерных накопителей. В качестве примера, на фиг. 5 представлен привод 316 жесткого диска, предназначенный для считывания с и для записи на несъемный, энергонезависимый магнитный носитель информации (не показан), привод 318 магнитного диска, предназначенный для считывания с и записи на съемный, энергонезависимый магнитный диск 320 (например, "гибкий диск"), и привод 322 оптического диска, предназначенный для считывания с и/или записи на съемный, энергонезависимый оптический диск 324, такой, как CD-ROM, DVD-ROM или другой оптический носитель информации. Привод 316 жесткого диска, привод 318 магнитного диска и привод 322 оптического диска соединены с системной шиной 308 с помощью одного или больше интерфейсов 326 носителей данных. В качестве альтернативы, привод 316 жесткого диска, привод 318 магнитного диска и привод 322 оптического диска могут быть соединены с системной шиной 308, с использованием одного или больше интерфейсов (не показаны).
Приводы дисков и связанные с ними считаемые компьютером носители информации обеспечивают энергонезависимый накопитель для считываемых компьютером инструкций, структур данных, программных модулей и других данных компьютера 302. Хотя в примере представлены жесткий диск 316, съемный магнитный диск 320 и съемный оптический диск 324, следует понимать, что другие типы считываемых компьютером носителей информации, которые позволяют сохранять данные, доступ к которым осуществляется с помощью компьютера, такие как магнитные кассеты или другие магнитные накопители информации, карты памяти типа флэш, CD-ROM, универсальные цифровые диски (DVD) или другие оптические накопители информации, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ, EEPROM) и т.п. также можно использовать для выполнения примера вычислительной системы и среды.
Любое количество программных модулей могут быть сохранены на жестком диске 316, магнитном диске 320, оптическом диске 324, в ПЗУ 312 и/или ОЗУ 310, включая, в качестве примера, операционную систему 326, одну или больше прикладных программ 328, других программных модулей 330 и данных 332 программ. Каждая из таких операционных систем 326, одной или больше прикладных программ 328, других программных модулей 330 и данных 332 программы (или некоторой их комбинации) могут воплощать все или часть резидентных компонентов, которые поддерживают распределенную файловую систему.
Пользователь может вводить команды и информацию в компьютер 302 через входные устройства, такие как клавиатура 334 и устройство 336 - указатель (например, "мышь"). Другие входные устройства 338 (не показаны специально) могут включать микрофон, джойстик, игровую панель, спутниковую антенну, последовательный порт, сканер и/или тому подобное. Эти и другие входные устройства соединены с процессорным устройством 304 через интерфейсы 340 входа/выхода, которые подключены к системной шине 308, но могут быть подключены к другим структурам интерфейса и шины, таким как параллельный порт, игровой порт или универсальная последовательная шина (USB, УПШ).
Монитор 342 или устройство дисплея другого типа также может быть подключен к системной шине 308 через интерфейс, такой как видеоадаптер 344. Кроме монитора 342, другие выходные периферийные устройства могут включать такие компоненты, как громкоговорители (не показаны) и принтер 346, которые могут быть подключены к компьютеру 302 через интерфейсы 340 входа/выхода.
Компьютер 302 может работать в сетевой среде с использованием логических соединений с одним или больше удаленных компьютеров, таких как удаленное вычислительное устройство 348. В качестве примера, удаленное вычислительное устройство 348 может представлять собой персональный компьютер, портативный компьютер, сервер, маршрутизатор, сетевой компьютер, равноправное устройство или другой общий сетевой узел и т.п. Удаленное вычислительное устройство 348 представлено как портативный компьютер, который может включать множество или все элементы и свойства, описанные здесь в отношении компьютера 302.
Логические соединения между компьютером 302 и удаленным компьютером 348 представлены как локальная вычислительная сеть (ЛВС, LAN) 350 и общая глобальная вычислительная сеть (ГВС, WAN) 352. Такие сетевые среды, как правило, используются в офисах, в компьютерных вычислительных сетях предприятия, в сетях Интранет и Интернет.
При воплощении в сетевой среде ЛВС компьютер 302 подключен к локальной сети 350 через сетевой интерфейс или адаптер 354. В случае воплощения в сетевой среде WAN компьютер 302 обычно включает модем 356 или другие средства установления связи через глобальную сеть 352. Модем 356, который может быть внутренним или внешним по отношению к компьютеру 302, может быть подключен к системной шине 308 через интерфейсы 340 входа/выхода или другие соответствующие механизмы. Следует понимать, что представленные сетевые соединения являются всего лишь примерами и что можно использовать другие средства установления канала (каналов) передачи данных между компьютерами 302 и 348.
В сетевой среде, такой как представлена с вычислительной средой 300, программные модули, представленные по отношению к компьютеру 302, или их части, могут быть сохранены в удаленном устройстве-накопителе информации. В качестве примера, удаленные прикладные программы 358 содержатся в устройстве памяти удаленного компьютера 348. В качестве иллюстрации, прикладные программы и другие выполняемые программные компоненты, такие как операционная система, представлены здесь в виде отдельных блоков, хотя следует понимать, что такие программы и компоненты находятся в различные моменты времени в различных компонентах накопителей информации вычислительного устройства 302 и выполняются с помощью процессора (процессоров) обработки данных компьютера.
Различные модули и технологии могут быть описаны здесь в общем контексте инструкций, выполняемых компьютером, такие как программные модули, выполняемые одним или больше компьютерами или другими устройствами. Обычно программные модули включают процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или воплощают конкретные типы абстрактных данных. Обычно функция программных модулей может быть скомбинирована или распределена в соответствии с требованиями, предъявляемыми в различных средах.
Вариант выполнения этих модулей и технологий может быть сохранен или может быть передан с использованием считываемых компьютером носителей информации в некоторых формах. Считываемые компьютером носители информации могут представлять собой любые доступные носители информации, доступ к которым может осуществляться с помощью компьютера. В качестве примера и не для ограничения считываемые компьютером носители информации могут содержать "носители информации накопителей компьютеров" и "среды передачи информации ".
"Носители информации накопителей компьютеров" включают энергозависимые и энергонезависимые, съемные и несъемные носители, выполненные с использованием любого способа или технологии для накопления информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Носители информации накопителей компьютеров включают, без ограничений, ОЗУ, ПЗУ, ЭСППЗУ, память типа флэш и другие технологии выполнения памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические накопители, магнитные кассеты, магнитную ленту, накопитель на магнитном диске или другие магнитные устройства накопителей информации или любой другой накопитель информации, который можно использовать для сохранения требуемой информации и доступ к которому может осуществляться с помощью компьютера.
"Среды передачи информации" обычно воплощают инструкции, считываемые компьютером, структуры данных, программные модули или другие данные в виде модулированного сигнала данных, такого как несущая волна или другой транспортный механизм. Среды передачи информации также включают любые среды передачи информации. Термин "модулированный сигнал данных" означает сигнал, одна или больше характеристик которого установлена или изменена таким образом, чтобы закодировать в сигнале информацию. В качестве примера и не для ограничения среды передачи информации включают кабельные среды, такие как кабельная сеть или непосредственное кабельное соединение, и беспроводные среды, такие как акустическая, радиочастотная, инфракрасная и другие беспроводные среды. Комбинации любых указанных выше сред также включены в объем считываемой компьютером среды.
Хотя в приведенном выше описании используются формулировки, которые являются специфичными для структурных свойств и/или методологических действий, следует понимать, что изобретение, определенное в прилагаемой формуле изобретения, не ограничено конкретными описанными свойствами или действиями. Наоборот, конкретные свойства и действия раскрыты в форме примеров выполнения изобретения.