СПОСОБЫ И УСТРОЙСТВО ДЛЯ ПОЛУЧЕНИЯ УСЛУГИ
METHODS AND DEVICE FOR SERVICE ACQUISITION

Настоящая заявка на патент испрашивает приоритет предварительной заявки № 60/721 565, озаглавленной «Method and Apparatus for Fast Channel Switching for Multimedia Broadcast Applications» (Способ и устройство для быстрого переключения каналов для мультимедийных приложений широковещательной передачи), поданной 27 сентября 2005г. и переуступленной правопреемнику настоящей заявки и настоящим явно включенной в настоящее описание посредством ссылки.
Настоящая заявка на патент испрашивает приоритет предварительной заявки № 60/734 962, озаглавленной «Methods and Apparatus for Service Acquisition» (Способы и устройство для получения услуги), поданной 8 ноября 2005г. и переуступленной правопреемнику настоящей заявки и настоящим явно включенной в настоящее описание посредством ссылки.
Настоящая заявка на патент испрашивает приоритет предварительной заявки № 60/742 189, озаглавленной «Integrated Codec and Physical Layer for Efficient Multimedia Streaming» (Интегрированный кодек и физический уровень для эффективной мультимедийной потоковой передачи), поданной 2 декабря 2005 и переуступленной правопреемнику настоящей заявки и настоящим явно включенной в настоящее описание посредством ссылки.
Предпосылки
Область техники
Настоящая заявка относится в целом к работе систем мультимедийных передач и, более конкретно, к способам и устройству для обеспечения быстрого получения услуги.
Уровень техники
В современных системах доставки контента/распределения медиа, если приложение связано с мультиплексной передачей сжатых медиа (видео и аудио), где приемник настроен на один из каналов в мультиплексной передаче, задержка в коммутации между каналами является ключевым фактором в пользовательском восприятии. Например, в обычной системе мультимедийной широковещательной передачи мультимедийный сервер состоит из набора кодеров, которые сжимают отдельные части медиа, которые подаются в мультиплексор, который консолидирует сжатые медиа в единый мультиплексированный поток. Сервер широковещательной передачи передает сжатый контент на приемник широковещательной передачи по сети широковещательной передачи, которая может быть неоднородной по характеру и подверженной ошибкам. Приемник широковещательной передачи принимает часть мультиплексной передачи, и демультиплексор извлекает медиа, представляющие интерес. В типовом случае имеется клиентское приложение, которое обеспечивает возможность «настройки» на медийный канал/программу, представляющие интерес. Это может осуществляться при вмешательстве или без вмешательства пользователя.
Если источником является видео, то переключение каналов возможно только в точках случайного доступа (RAP) в битовом потоке сжатого/кодированного видео. RAP содержат интра-кадры (с внутрикадровым кодированием) (I-кадры, которые могут независимо декодироваться), или они содержатся через последовательные I-кадры (которые представляют собой I-блоки, которые распределены по более чем одному видео кадру). Время переключения каналов зависит от частоты таких случайных точек доступа, что в типовом случае составляет от 2 до 10 секунд (поскольку RAP увеличивают среднюю битовую скорость и, следовательно, ширину полосы передачи битового потока кодированного видео).
Случайный доступ через I-кадры и распределенные I-кадры для последовательных внутрикадровых обновлений, как предложено промышленным стандартом Н.264, являются наиболее популярными подходами до настоящего времени для получения услуги ценой качества и ширины полосы. Задержки коммутации в этих случаях составляют порядка нескольких секунд.
В некоторых системах коммутация каналов и воспроизведение спецэффектов (сквозной проход, ускоренный переход, перемотка назад) могут быть реализованы посредством интра-кадров, помещенных/кодированных периодически и так часто, как необходимо в видео потоках. Однако I-кадры, значительно увеличивают битовую скорость и ширину полосы видео потоков. Следовательно, частота I-кадров в типовом случае равна от одной секунды до десяти секунд в типовых приложениях. Это означает, что переключение канала может, в наилучшем случае, происходить через одну секунду (если все требуемые условия удовлетворены, например, коммутация каналов разрешалась непосредственно перед I-кадром, и буфер непосредственно перед этим был обновлен).
Прогрессивное внутрикадровое обновление разрешает коммутацию каналов инкрементным способом. Предсказанием необходимо управлять так, что полный кадр обновляется на предварительно определенной длительности. В этом случае переключение каналов включает в себя задержку, равную этой длительности, в дополнение к задержкам, вводимым вследствие глубин буферов и переключения на нижних уровнях.
Таким образом, например, если устройство принимает мультиплексную передачу, которая содержит сотню сжатых медийных каналов, и пользователь устройства желает переключиться между каналами, то обычная система может требовать 1-10 секунд для выполнения переключения каждого канала. Время для переключения каждого канала в общем случае зависит от того, где в кадре передачи возникает запрос переключения. Таким образом, пользователи устройств испытывают длинные и переменные времена задержки при переключении между каналами, что может вызвать разочарование и привести к неудовлетворительному пользовательскому опыту.
Поэтому существует необходимость в системе, которая действует для обеспечения быстрого получения услуги и/или переключения между услугами в мультиплексной передаче.
Сущность изобретения
В одном или более аспектах предложена система получения услуги, содержащая способы и устройство, которые действуют для обеспечения быстрого получения услуги и переключения между услугами в мультиплексной передаче. Например, переключение каналов может происходить в ответ на пользовательский ввод или в ответ на интерактивную услугу. Например, интерактивное перенаправление канала может вызвать получение новой услуги или канала. Альтернативно, пользовательский ввод запускает новую услугу или канал, который должен быть получен. В одном аспекте мультимедийные услуги и немультимедийные услуги могут быть получены интерактивным образом.
В одном аспекте предложен способ для получения услуги. Способ содержит генерацию одного или более сигналов видео переключения каналов (CSV), ассоциированных с одним или более мультимедийными сигналами, кодирование CSV сигналов и мультимедийных сигналов для формирования блоков кодированных ошибок и инкапсулирование блоков кодированных ошибок в сигнал мультиплексной передачи.
В одном аспекте предложено устройство для получения услуги. Устройство содержит кодер источника, конфигурированный для генерации одного или более сигналов видео переключения каналов (CSV), ассоциированных с одним или более мультимедийными сигналами, кодер ошибок, конфигурированный для кодирования CSV сигналов и мультимедийных сигналов для формирования блоков кодированных ошибок, и компоновщик, конфигурированный для инкапсулирования блоков кодированных ошибок в сигнал мультиплексной передачи.
В одном аспекте предложено устройство для получения услуги. Устройство содержит средство для генерации одного или более сигналов видео переключения каналов (CSV), ассоциированных с одним или более мультимедийными сигналами, средство для кодирования CSV сигналов и мультимедийных сигналов для формирования блоков кодированных ошибок и средство для инкапсулирования блоков кодированных ошибок в сигнал мультиплексной передачи.
В одном аспекте предложен машиночитаемый носитель, который содержит инструкции для получения услуги. Инструкции, при исполнении вынуждают машину генерировать один или более сигналов видео переключения каналов (CSV), ассоциированных с одним или более мультимедийными сигналами, кодировать CSV сигналы и мультимедийные сигналы для формирования блоков кодированных ошибок и инкапсулировать блоки кодированных ошибок в сигнал мультиплексной передачи.
В одном аспекте предложен, по меньшей мере, один процессор для получения услуги. По меньшей мере, один процессор конфигурирован для генерации одного или более сигналов видео переключения каналов (CSV), ассоциированных с одним или более мультимедийными сигналами, кодирования CSV сигналов и мультимедийных сигналов для формирования блоков кодированных ошибок и инкапсулирования блоков кодированных ошибок в сигнал мультиплексной передачи.
В одном аспекте предложен способ для получения услуги. Способ содержит прием сигнала мультиплексной передачи, ассоциированного с множеством каналов, обнаружение выбора одного из каналов, декодирование сигнала видео переключения каналов (CSV), ассоциированного с выбранным каналом, и воспроизведение CSV сигнала.
В одном аспекте предложено устройство для получения услуги. Устройство содержит приемник, конфигурированный для приема сигнала мультиплексной передачи, ассоциированного с множеством каналов, логику выбора, конфигурированную для обнаружения выбора одного из каналов, распаковщик, конфигурированный для декодирования сигнала видео переключения каналов (CSV), ассоциированного с выбранным каналом, и декодер источника, конфигурированный для воспроизведения CSV сигнала.
В одном аспекте предложено устройство для получения услуги. Устройство содержит средство для приема сигнала мультиплексной передачи, ассоциированного с множеством каналов, средство для обнаружения выбора одного из каналов, средство для декодирования сигнала видео переключения каналов (CSV), ассоциированного с выбранным каналом, и средство для воспроизведения CSV сигнала.
В одном аспекте предложен машиночитаемый носитель, который содержит инструкции для получения услуги. Инструкции, при исполнении, вынуждают машину выполнять прием сигнала мультиплексной передачи, ассоциированного с множеством каналов, обнаружение выбора одного из каналов, декодирование сигнала видео переключения каналов (CSV), ассоциированного с выбранным каналом, и воспроизведение CSV сигнала.
В одном аспекте предложен процессор для получения услуги. По меньшей мере, один процессор конфигурирован для приема сигнала мультиплексной передачи, ассоциированного с множеством каналов, обнаружения выбора одного из каналов, декодирования сигнала видео переключения каналов (CSV), ассоциированного с выбранным каналом, и воспроизведения CSV сигнала.
В одном аспекте предложен способ для получения услуги. Способ содержит формирование множества кадров передачи, где каждый кадр передачи представляет выбранный интервал времени, и кодирование одного или более каналов данных во множество кадров передачи, причем выбранные данные кодированы в предварительно определенные кадры передачи, так что флуктуации канала могут поглощаться с использованием одного буфера, имеющего выбранную длительность времени.
В одном аспекте предложено устройство для получения услуги. Устройство содержит средство для формирования множества кадров передачи, где каждый кадр передачи представляет выбранный интервал времени, и средство для кодирования одного или более каналов данных во множество кадров передачи, причем выбранные данные кодированы в предварительно определенные кадры передачи, так что флуктуации канала могут поглощаться с использованием одного буфера, имеющего выбранную длительность времени.
В одном аспекте предложен способ для получения услуги. Способ содержит прием множества кадров передачи, где каждый кадр передачи представляет выбранный интервал времени и содержит один или более каналов данных, причем выбранные данные кодированы в предварительно определенные кадры передачи. Способ также содержит буферизацию множества кадров передачи с использованием одного буфера, имеющего выбранную длительность времени, причем флуктуации канала поглощаются.
В одном аспекте предложено устройство для получения услуги. Устройство содержит средство для приема множества кадров передачи, где каждый кадр передачи представляет выбранный интервал времени и содержит один или более каналов данных, причем выбранные данные кодированы в предварительно определенные кадры передачи. Устройство также содержит средство для буферизации множества кадров передачи с использованием одного буфера, имеющего выбранную длительность времени, причем флуктуации канала поглощаются.
Другие аспекты будут очевидны из изучения изложенных ниже краткого описания чертежей, описания и формулы изобретения.
Краткое описание чертежей
Вышеупомянутые аспекты, описанные здесь, будут понятны из следующего описания, иллюстрируемого чертежами, на которых представлено следующее:
Фиг.1 - аспект потока передачи, который содержит последовательность суперкадров, которые используются для транспортировки мультимедийной мультиплексной передачи;
Фиг.2 - иллюстрация RS последовательности;
Фиг.3 - сеть, которая содержит аспект системы получения услуги;
Фиг.4 - сервер для использования в аспектах системы получения услуги;
Фиг.5 - структура оболочки уровня МАС канала данных перед работой системы получения услуги;
Фиг.6 - структура оболочки уровня МАС канала данных после работы системы получения услуги;
Фиг.7 - способ обеспечения аспектов системы получения услуги;
Фиг.8 - устройство для использования в аспектах системы получения услуги;
Фиг.9 - способ для использования в аспектах системы получения услуги;
Фиг.10 - аспект системы связи;
Фиг.11 - диаграмма уровней OSI или стека протоколов для использования в аспектах системы получения услуги;
Фиг.12 - диаграмма, иллюстрирующая обработку данных суперкадра из приложения через физический уровень как на сетевой, так и на клиентской сторонах системы связи;
Фиг.13 - диаграмма, иллюстрирующая быстрое переключение каналов, обеспечиваемое аспектами системы получения услуги;
Фиг.14 - диаграмма, иллюстрирующая поток Т-пакетов в аспектах системы получения услуги;
Фиг.15 - диаграмма, иллюстрирующая конфигурацию видео кадра в аспекте Т-пакета;
Фиг.16 - диаграмма, иллюстрирующая конфигурацию видео кадра в аспекте Т-пакета;
Фиг.17 - диаграмма, иллюстрирующая конфигурацию транспортных заголовков (ТН) и заголовков синхронизации, используемых в базовом уровне и уровне расширения суперкадра;
Фиг.18 - структура блока кода прямой коррекции ошибок (FEC) для использования в аспектах системы получения услуги;
Фиг.19 - организация кадра для обеспечения битовых потоков видео и аудио для использования в аспектах системы получения услуги;
Фиг.20 - сервер для использования в аспектах системы получения услуги;
Фиг.21 - устройство для использования в аспектах системы получения услуги;
Фиг.22 - сервер для использования в аспектах системы получения услуги;
Фиг.23 - устройство для использования в аспектах системы получения услуги.
Описание
Последующее описание описывает аспекты системы получения услуги для получения и коммутации между каналами мультимедийной мультиплексной передачи (т.е. ранний вход/быстрая настройка). Система особенно хорошо подходит для использования, по существу, с любым типом устройства, которое работает для приема мультимедийной мультиплексной передачи. Например, такие устройства включают в себя, без ограничения указанным, переносные телефоны, PDA, устройства электронной почты, портативные компьютеры, планшетные компьютеры, или любой другой тип принимающего устройства. Кроме того, аспекты системы могут быть использованы в любой сетевой среде, включая, без ограничения указанным, коммуникационные сети, сети распространения контента, общедоступные сети, такие как Интернет, сети широкого охвата, сети дальней связи или любой другой тип сети передачи данных или связи.
Для целей настоящего описания аспекты системы получения услуги описаны со ссылкой на переключение между каналами мультимедийной мультиплексной передачи, которая содержит последовательность суперкадров, где каждый суперкадр содержит четыре кадра данных. Однако аспекты системы получения услуги не ограничены этой структурой суперкадра и равным образом применимы для обеспечения получения услуг для других типов структур мультиплексной передачи.
Для целей настоящего описания система получения услуги описана со ссылкой на реализации, использующие модель взаимодействия открытых систем (OSI). Например, различные аспекты описаны со ссылкой на реализацию на одном или более уровнях модели OSI. Однако аспекты системы получения услуги не ограничены этой реализацией, и могут быть реализованы с использованием любого другого типа структуры аппаратных средств/программного обеспечения, конфигурации или коммуникационной модели.
Обзор
Фиг.1 показывает аспект потока 100 передачи, который содержит последовательность суперкадров в мультимедийной мультиплексной передаче. Каждый суперкадр (102, 104) содержит четыре кадра 106 и символы служебной информации (OIS) 108. Следует отметить, что символ OIS 108, ассоциированный с каждым суперкадром, содержит информацию, необходимую для декодирования/настройки ассоциированного суперкадра. Таким образом, OIS 108 применим к суперкадру 104.
В одном или более аспектах система получения услуги работает для обеспечения возможности приемнику принимать мультимедийную мультиплексную передачу и выполнять быстрое получение и переключение между каналами в мультиплексной передаче. Например, система обеспечивает возможность того, что быстрое переключение каналов происходит в середине суперкадра и использует любые парциальные данные, принятые в течение этого суперкадра, для нового канала. Упоминаемые парциальные данные являются данными, извлеченными из последних трех или менее из четырех кадров, присутствующих в суперкадре, в течение которого выполняется переключение. Это приводит к сниженной задержке получения на устройстве, поскольку устройство может использовать парциальные данные.
В аспектах системы получения услуги сервер широковещательной передачи работает так, чтобы переупорядочивать данные приложения, переданные в суперкадре, таким способом, который удовлетворяет следующему.
1. Данные приложения (например, видео кадра) в индивидуальном кадре суперкадра являются декодируемыми вне какой-либо зависимости от данных в других кадрах предыдущего суперкадра (уровень приложения).
2. Результат упорядочения Рида-Соломона (RS), выполняемого на уровне МАС, не влияет на близость данных приложения реального времени. То есть, данные приложений, которые могут помещаться в кадре, не рассредоточиваются по множеству кадров в суперкадре и сохраняют свой непрерывный характер (уровень МАС).
3. Наиболее важная информация (например, рабочие ключи), вместе с данными приложения реального времени, проталкиваются в кадрах назад, насколько возможно дальше. То есть любые пакеты уровня МАС, содержащие заполняющие октеты, присутствуют в начале суперкадра, за которыми следуют данные приложения (поток 1 или 2) и затем данные потока 0. Это обеспечит то, что приемник всегда имеет возможность получить важную информацию, переносимую потоком 0, если некоторые данные приложения извлечены перед запуском раннего входа/быстрой настройки (потоковый уровень и МАС).
4. Перемежение октета потокового уровня исключается, чтобы предотвратить рассеяние данных приложения (потоковый уровень).
В аспектах системы получения услуги принимающее устройство работает для обеспечения того, чтобы информация OSI была доступна для суперкадра, в котором выполняется ранний вход/быстрая настройка.
Модификации традиционных систем
Фиг.2 показывает иллюстрацию RS упорядочивания 200. В типовой реализации уровень МАС стека AIS берет данные в оболочке уровня МАС (множество блоков кода RS) и рассредоточивает их по суперкадру. Эта процедура известна как RS упорядочивание и исполняется для всех блоков кода RS. Например, 16 пакетов уровня МАС в каждом из блоков (202, 204) кода RS распределены равномерно по четырем кадрам (т.е. 4 пакета уровня МАС каждый).
Фрагмент блока кода RS в кадре, содержащем четыре пакета уровня МАС, упоминается как подблок 206 кода RS. В кадре каждый подблок кода RS перемежается с подблоками из других блоков кода RS. Например, если имеется два блока (102, 104) кода RS в суперкадре, то каждый кадр содержит следующее в определенном порядке:
1. Первый пакет уровня МАС из подблока первого блока кода RS.
2. Первый пакет уровня МАС из соответствующего подблока из второго блока кода RS.
3. Второй пакет уровня МАС из того же подблока первого блока кода RS.
4. Второй пакет уровня МАС из соответствующего подблока второго блока кода RS.
5. И так далее, до четвертого пакета МАС.
Данные, доставленные приложением реального времени, обрабатываются непрерывным образом потоковым уровнем стека AIS и в течение формирования оболочки уровня МАС. Этот непрерывный характер изменяется, когда блоки кода RS, содержащие данные приложения, рассредоточиваются по суперкадру для достижения выигрыша от разнесения по времени, что обеспечивает лучшие характеристики кодирования RS.
Любые непрерывные данные приложения (например, данные видеокадра, которые занимают величину данных одного кадра) рассредоточены по более чем одному кадру посредством упорядочения блоков кода RS уровня МАС. Приемник должен ожидать более чем один кадр, чтобы собрать данные приложения, которые, при сборке в непрерывную конфигурацию, составят величину данных менее кадра.
В одном или более аспектах, система получения услуги работает так, чтобы позволить устройству извлекать максимально много данных реального времени по возможности быстро в пределах одного кадра. Для достижения этого желательно, чтобы данные приложения реального времени поддерживали свой непрерывный характер при посылке по четырем кадрам суперкадра.
Получение услуги
В аспектах системы получения услуги данные приложения предварительно перемежаются протоколом МАС канала данных для обнуления эффектов упорядочения блоков кода RS уровня МАС как описано ниже. В одном аспекте выполняются следующие функции пред-перемежения.
1. Протокол МАС канала данных распределяет буфер пред-перемежения на каждый размер (NumR-SCodeBlocks*K*122) октет, где
а) NumR-SCodeBlocks*K*122 - число блоков контроля ошибок RS, присутствующих в оболочке уровне МАС канала данных для данного суперкадра;
b) К определяет число октет данных в RS-кодовом слове. Например, скорость внешнего кода 12/16 имеет К, равное 12.
2. Этот буфер форматирован в таблицу, имеющую NumR-SCodeBlocks столбцов и К строк. Таким образом, каждая ячейка в этой таблице имеет длину 122 октет.
3. Протокол запускается для заполнения буфера пред-перемежения пакетами уровня МАС построчно, начиная сначала с заполняющих пакетов уровня МАС, за которыми следуют пакеты уровня МАС, несущие данные потока 2, данные потока 1, и последними являются данные потока 0.
4. Каждый столбец, таким образом, формирует верхние 'K' строк блока контроля ошибок.
5. RS октеты четности добавляются для каждого столбца, сформированного выше, с последующим RS упорядочиванием перед доставкой на физический уровень.
Таким образом, посредством пред-перемежения возможно поддерживать непрерывный характер данных приложения внутри каждого кадра суперкадра.
Версия переключения канала (CVS)
В одном или более аспектах, система получения услуги работает для кодирования версии переключения канала (CVS) медиа, в дополнение к нормальному кодированию, и передает эти данные CVS либо в полосе, либо вне полосы. В одном аспекте, CVS представляет собой версию низкой скорости кадров, дискретизированную с пониженной частотой, для соответствующего видео. Следует отметить, что подобные версии могут кодироваться для других типов медиа, таких как аудио, данные и т.д., в зависимости от приложения. Аспекты генерации CVS могут быть также использованы другими приложениями, которые могут включать в себя использование версии CVS (или ее частей) для восстановления после ошибок, компенсации ошибок и контроля ошибок (т.е. прекращения накопления ошибок предсказания и канала).
Последующее описание касается данных приложения широковещательной передачи видео и ассоциированных алгоритмов компрессии видео. Версия переключения канала данных приложения видео является независимо декодируемой частью данных, которая передается периодически, чтобы обеспечить случайный доступ к битовому потоку кодированного видео (в дополнение к I-кадрам или распределенным I-кадрам). Если в принимающем устройстве запрашивается смена в медиа, представляющем интерес, в мультиплексной передаче, этот запрос передается на уровень приложения, которое затем начинает декодировать CVS. Эта операция является мгновенной, так как CVS может быть вставлена в точках переключения, предписываемых протоколами транспортного и физического уровней. Затем медиа возобновляется до полного качества в следующей случайной точке доступа. В результате пользователь устройства воспринимает быстрое переключение канала.
На Фиг.3 показана сеть 300, которая содержит аспект системы получения услуги. Сеть 300 содержит сервер 302 широковещательной передачи, который работает для широковещательной передачи мультимедийной мультиплексной передачи на устройство 304 с использованием сети 306. Сервер 302 осуществляет связь с сетью 306 через канал 308 связи, который содержит любой подходящий тип проводной и/или беспроводной линии связи. Сеть 306 осуществляет связь с устройством 304 через линию 310 связи, которая в данном аспекте содержит любой подходящий тип беспроводной линии связи. Например, линия 310 связи может содержать линию связи с мультиплексированием на основе ортогонального частотного разнесения, известную в телекоммуникационной индустрии.
Устройство 304 является мобильным телефоном, но может представлять собой любое подходящее устройство, такое как персональный цифровой помощник (PDA), устройство электронной почты, переносной компьютер, планшетный компьютер, настольный компьютер или любое другое подходящее устройство, которое работает для приема сигнала мультимедийной мультиплексной передачи.
В одном аспекте системы получения услуги сервер 302 содержит кодеры 316 источника, которые работают для приема входных сигналов 314 видео. В одном аспекте 256 входных сигналов видео вводятся в 256 кодеров 316 источника. Однако аспекты системы подходят для использования любого количества входных сигналов видео и соответствующих кодеров источника.
Каждый из кодеров 316 источника формирует кодированный сигнал, который вводится в кодер 320 прямой коррекции ошибок (FEC). Каждый из кодеров 316 источника также формирует сигнал видео переключения канала, который вводится в компоновщик 318 CSV. Сигнал CSV является независимо декодируемой версией низкого разрешения соответствующего входного сигнала. Более детальное описание сигнала CSV предоставлено в другом разделе этого документа. Компоновщики 318 CSV работают для компоновки (или инкапсулирования) сигналов CSV и вывода инкапсулированных сигналов CSV на кодер 320 FEC.
Кодер 320 FEC работает для кодирования ошибок сигналов, принимаемых от кодеров 316 источника и компоновщиков 318 CSV для формирования блоков кодированных ошибок, которые вводятся в блок 322 пред-перемежения. В одном аспекте, кодер 320 FEC обеспечивает RS кодирование. Блок 322 пред-перемежения упорядочивает блоки кодированных ошибок, так что выбранные блоки появляются в предварительно определенных местоположениях в кадре передачи после действия компоновщика 324. Например, блок 322 пред-перемежения действует для выполнения функций, описанных выше, для поддержания непрерывного характера данных приложения в генерируемых кадрах передачи. В результате, блок 322 пред-перемежения действует для упорядочения блоков кодированных ошибок, так что они оптимизированы для обеспечения быстрого получения услуг.
Компоновщик 324 действует для инкапсулирования выхода блока 322 пред-перемежения в кадр передачи. Действие блока 322 пред-перемежения обеспечивает возможность быстрого получения услуги, поскольку он позиционирует CSV и другую важную информацию кадра в стратегические местоположения в кадре передачи, так что может происходить быстрое получение услуги. Более детальное описание процесса пред-перемежения предоставлено в другом разделе настоящего документа.
Выход компоновщика 324 является кадром передачи, который вводится в модулятор/передатчик 326, который действует для передачи модулированного кадра 328 передачи по сети 306. Например, модулированный кадр 328 передачи передается от сервера 302 на устройство 304 с использованием сети 306. Модулированный кадр 328 передачи содержит последовательность суперкадров, где каждый суперкадр содержит четыре кадра.
В принимающем устройстве 304 модулированный кадр 328 передачи принимается демодулятором/приемником 330, который выводит принятый кадр передачи на блок 332 распаковки. В одном аспекте демодулятор/приемник 330 содержит один буфер 344, имеющий конечную длительность времени, который действует для поглощения флуктуаций канала и поддерживает внешнее декодирование FEC. Блок 332 распаковки действует для отмены процесса инкапсулирования, выполняемого компоновщиком 324. Выход блока 332 распаковки вводится в блок 334 пост-перемежения, который действует для обращенного перемежения принятой информации для формирования блоков FEC кодированных ошибок.
Блоки FEC кодированных ошибок вводятся в декодер 336 FEC, который декодирует блоки и выводит декодированную информацию на блок 338 распаковки CSV для конкретного канала. Декодер 340 источника действует для декодирования конкретного канала. Логика 344 настройки/переключения канала выводит сигналы управления на декодер 340 источника и на блок 338 распаковки CSV для управления тем, какой канал из принятой мультиплексной передачи декодируется декодером 340 источника и выводится как декодированный канал 342.
В одном или более аспектах логика 344 настройки/переключения канала запускается пользовательским вводом или любым другим действием, возникающим на устройстве 304. Когда переключение канала запрашивается пользователем, логика 344 настройки/ переключения канала действует для настройки декодера 340 источника на выбранный канал и соответствующую информацию CSV. Декодер 340 источника действует для декодирования информации CSV для формирования версии низкого разрешения выбранного нового канала для отображения пользователю устройства. Тем временем, декодер 340 источника начинает декодирование информации из кадра передачи для выбранного нового канала. Этот процесс облегчается стратегическим упорядочением блоков кодированных ошибок, предоставленных блоком 322 пред-перемежения. Таким образом, аспекты системы получения услуги действуют для обеспечения сигналов CVS и пред-перемежения для облегчения быстрого переключения каналов в принимающем устройстве.
На Фиг.4 показан сервер 400 для использования в аспектах системы получения услуги. Например, сервер 400 пригоден для использования в качестве сервера 302, показанного на Фиг.3. Сервер 400 содержит логику 402 обработки и логику 404 модулятора/передатчика, которая связана с шиной 406 данных. Сервер 400 также содержит кодеры 408 источника, компоновщик 410 CSV, логику 412 пред-перемежения, кодер 414 FEC и компоновщик 416, которые также связаны с шиной 406 данных.
В одном или более аспектах логика 402 обработки содержит центральный процессорный блок (CPU), процессор, матрицу логических элементов, логику аппаратных средств, элементы памяти, виртуальную машину, программное обеспечение и/или любую комбинацию аппаратных средств и программного обеспечения. Таким образом, логика 402 обработки, в общем, содержит логику для исполнения машиночитаемых инструкций и для управления одним или более других функциональных элементов сервера 400 через внутреннюю шину 406 данных.
Логика 404 модулятора/передатчика содержит логику аппаратных средств и/или программное обеспечение, которое действует для обеспечения возможности серверу 400 передавать мультимедийную мультиплексную передачу по сети данных для приема одним или более принимающих устройств. В одном аспекте логика 404 модулятора/передатчика содержит канал 418 связи. Например, в одном аспекте канал 418 связи содержит канал широковещательной передачи, конфигурированный для обеспечения возможности серверу осуществлять вещание мультимедийной мультиплексной передачи.
Кодеры 408 источника содержат любое число или любой тип кодеров источника, которые действуют для приема соответствующих входных мультимедийных потоков 420 для формирования кодированных потоков 422 источника и информации 424 CSV. Например, в одном аспекте информация 424 CSV содержит независимо декодируемые версии низкого разрешения входных мультимедийных потоков 420. Более детальное описание информации 424 CSV приведено в другом разделе этого документа.
Компоновщики 410 CSV содержат любую комбинацию аппаратных средств и программного обеспечения, которая действует для упаковки или инкапсулирования информации 424 CSV. В результате обеспечивается инкапсулированная информация 426 CSV. В одном аспекте информация 424 CSV упаковывается для доставки как сигнал в полосе. В другом аспекте информация 424 CSV доставляется как сигнал вне полосы.
Кодер 414 FTC содержит любую комбинацию аппаратных средств и программного обеспечения для выполнения кодирования ошибок, такого как RS кодирование, над кодированными сигналами 422 источника и инкапсулированной информацией 426 CSV. Например, кодер 414 FTC действует для формирования блоков кодированных ошибок.
Блок 412 пред-перемежения содержит центральный процессорный блок (CPU), процессор, матрицу логических элементов, логику аппаратных средств, элементы памяти, виртуальную машину, программное обеспечение и/или любую комбинацию аппаратных средств и программного обеспечения. Блок 412 пред-перемежения действует для пред-перемежения блоков кодированных ошибок с кодера 414 FTC, так что входной источник поддерживает свой непрерывный характер при компоновке в кадры суперкадра. Например, в одном аспекте, блок 412 пред-перемежения действует для формирования таблицы пред-перемежения, которая упаковывается с блоками кодированных ошибок, как описано выше.
Компоновщик (блок инкапсулирования) 416 содержит некоторую комбинацию аппаратных средств и программного обеспечения. В одном аспекте компоновщик 416 действует для инкапсулирования блоков кодированных ошибок из таблицы пред-перемежения для генерирования мультиплексной передачи, содержащей последовательность суперкадров, где каждый суперкадр содержит четыре кадра. В одном аспекте мультиплексная передача посылается на модулятор/передатчик для передачи по сети к одному или более принимающим устройствам.
В процессе работы согласно одному или более аспектам, сервер 400 действует для подготовки мультиплексной передачи для передачи к принимающим устройствам, где мультиплексная передача содержит информацию CSV и блоки кодированных ошибок с пред-перемежением, которые организованы для обеспечения быстрого получения услуги. Например, если происходит событие смены канала, то информация CSV быстро декодируется принимающим устройством для воспроизведения версии низкого разрешения нового канала. Более того, аспекты системы организуют блоки кодированных ошибок каждого кадра суперкадра, чтобы обеспечить возможность быстрого декодирования нового канала.
В одном аспекте сервер 400 действует для создания множества кадров передачи, где каждый кадр передачи представляет выбранный временной интервал (т.е. одну секунду). Сервер 400 также действует для кодирования одного или более каналов данных во множество кадров передачи, причем выбранные данные кодируются в предварительно определенные кадры передачи, так что флуктуации каналов могут быть поглощены в принимающем устройстве с использованием соответствующего буфера, имеющего выбранную продолжительность времени. Таким образом, система действует для обеспечения быстрого получения услуги и переключает каналы между каналами мультимедийной мультиплексной передачи, позволяя принимающим устройствам поглощать флуктуации каналов с использованием одного буфера.
В одном или более аспектах сервер 400 действует для выполнения одной или более функций в аспектах системы получения услуги.
1. Генерирование информации CSV для каждого канала, подлежащего кодированию в мультиплексную передачу.
2. Включение информации CSV в информацию видео, подлежащую кодированию ошибок.
3. Выполнение пред-перемежения для переупорядочивания блоков ошибок в суперкадре перед инкапсулированием, что поддерживает непрерывный характер входного сигнала источника.
4. Выполнение инкапсулирования для формирования мультиплексной передачи, подлежащей передаче.
В одном аспекте система получения услуги встроена в компьютерную программу, содержащую программные инструкции, сохраненные на машиночитаемом носителе, которая, при исполнении, по меньшей мере, одним процессором, например, логикой 402 обработки, обеспечивает функции, описанные здесь. Например, программные инструкции могут быть загружены в сервер 400 с машиночитаемого носителя, такого как гибкий диск, CDROM (ПЗУ на компакт-диске), карта памяти, устройство флэш-памяти, ОЗУ, ПЗУ или любой другой тип запоминающего устройства или машиночитаемого носителя, который взаимодействует с сервером 400. В другом аспекте инструкции могут загружаться на сервер с внешнего устройства или сетевого ресурса, который взаимодействует с сервером 400. Программные инструкции, при исполнении логикой 402 обработки, обеспечивают один или более аспектов системы получения услуги, как описано здесь.
Поэтому сервер 400 действует, согласно одному или более аспектов системы получения услуги для обеспечения возможности быстрого получения услуг, включенных в мультимедийную мультиплексную передачу. Следует отметить, что сервер 400 иллюстрирует только одну реализацию, и другие реализации возможны в пределах объема аспектов, описанных здесь.
Структура оболочки уровня МАС канала данных
Фиг.5 показывает аспект структуры 500 оболочки уровня МАС канала данных перед выполнением аспектов системы получения услуги. Структура (капсула) 500 оболочки уровня МАС канала данных содержит следующее в порядке, определенном ниже.
1. Пакет потока 0 - он содержит всегда присутствующий пакет потока 0, который включает в себя заголовок 502 оболочки уровня МАС канала данных.
2. Пакет потока 1 - целое число пакетов уровня МАС, несущих данные потока 1.
3. Пакет потока 2 - целое число пакетов уровня МАС, несущих данные потока 2.
4. Пакеты МАС, содержащие заполняющие (стаффинг) пакеты для обеспечения того, чтобы оболочка уровня МАС имела целочисленное множество «К», где «К» - целое число информационных блоков в RS блоке контроля ошибок. Например, для скорости внешнего кода 12/16 «К» равно 12.
5. (NumR-SCodeBlocks) x (N-K) R-S пакетов четности.
При условии структуры 500 оболочки уровня МАС канала данных и относительно малого размера пакета потока 0, пакеты уровня МАС, содержащие пакет потока 0, вероятно, будут занимать только первый из четырех кадров в суперкадре. Эта информация всегда будет потеряна в случае запроса раннего входа/быстрой настройки, где приемник только принимает последние три или менее кадров суперкадра. Поскольку поток 0 несет информацию (например, рабочие ключи), необходимые для декодирования данных, которые переносятся в потоке 1 или потоке 2, желательно гарантировать, что принимающее устройство может принимать пакет потока 0, если оно приняло любую часть данных, переносимых в потоке 1 или потоке 2.
Переупорядоченная структура оболочки уровня МАС канала данных
Фиг.6 показывает аспект переупорядоченной структуры 600 оболочки уровня МАС канала данных, генерируемой аспектами системы получения услуги. В структуре 600 оболочки уровня МАС канала данных поток 0 перемещается в конец оболочки уровня МАС канала данных, после того как пакеты потока 1 или потока 2 помещаются в оболочку. Такая организация обеспечивает то, что принимающее устройство способно принимать пакет потока 0, если оно приняло любую часть данных, переносимых в потоке 1 или потоке 2.
В одном аспекте структура 600 оболочки уровня МАС канала данных содержит следующее в порядке, описанном ниже.
1. Пакеты МАС, содержащие заполняющие (стаффинг) пакеты для обеспечения того, чтобы оболочка уровня МАС имела целочисленное множество «К», где «К» - целое число информационных блоков в RS блоке контроля ошибок. Например, для скорости внешнего кода 12/16 «К» равно 12. Примечание: RS PAD пакетов меньше (максимум К-1) по сравнению с пакетами МАС, содержащими видео данные. Поэтому в большинстве случаев кадр 1 будет иметь некоторые пакеты МАС, содержащие видео данные. (От 150 кбит/с до 500 кбит/с)
2. Пакет потока 2 - целое число пакетов уровня МАС, несущих данные потока 2.
3. Пакет потока 1 - целое число пакетов уровня МАС, несущих данные потока 1.
4. Пакет потока 0 - он содержит всегда присутствующий пакет потока 0, который включает в себя заголовок 602 оболочки уровня МАС канала данных.
5. (NumR-SCodeBlocks) x (N-K) R-S пакетов четности.
Доступность информации OIS
В одном аспекте, для того чтобы возник ранний вход/быстрая настройка, базовой информацией, необходимой в устройстве, является местоположение канала, на который должно выполняться переключение. Эта информация местоположения существует в OIS. Однако устройство считывает OIS только в определенных случаях (например, при приеме новых логических каналов или в случае ошибок в существующем логическом канале и т.д.), когда оно запускается для того, чтобы сделать это. Таким образом, переключение канала будет задержано, если устройство ожидает до тех пор, пока следующий суперкадр не будет запущен для приема OIS после смены канала. Заметим, что информация OIS, обеспеченная одним суперкадром, применима к последующему суперкадру. Таким образом, устройству потребовалось бы ожидать целый суперкадр, чтобы извлечь информацию OIS.
Поэтому в одном аспекте запуск раннего входа/быстрой настройки обеспечивается до суперкадра, в котором выполняется действительное переключение. Это выполняется путем выполнения следующего.
1. Установление устройства в режим, в котором оно принимает OIS каждый суперкадр и использует эту информацию, когда запускается ранний вход/быстрая настройка. Вход в этот режим может запускаться определенными вводимыми пользователем комбинациями, которые вводятся в пользовательский интерфейс для запуска переключения канала.
2. Или устройство считывает информацию OIS каждый суперкадр (тем самым исключая необходимость для встроенной информации OIS).
Фиг.7 показывает способ 700 для обеспечения аспектов системы получения услуги. Для ясности, способ 700 будет описан со ссылкой на сервер 400, показанный на Фиг.4. В одном аспекте, по меньшей мере, один процессор, такой как логика 402 обработки, исполняет машиночитаемые инструкции для управления сервером 400 для выполнения функций, описанных ниже.
В блоке 702 кодируются данные приложения. Например, данные приложения могут содержать потоки видео 420. В одном аспекте кодеры 408 источника действуют для кодирования данных приложения для формирования кодированных сигналов 422.
В блоке 704 генерируется информация OIS. Например, кодеры 408 источника действуют для генерации информации 424 OIS, которая в одном аспекте содержит независимо декодируемую версию низкого разрешения входного видео 420.
В блоке 706 информация OIS инкапсулируется. Например, компоновщик 410 действует для инкапсулирования сформированной информации 424 OIS, чтобы сформировать инкапсулированную информацию 426 CSV.
В блоке 708 кодированный источник, сформированный в блоке 702, и инкапсулированная информация CSV, сформированная в блоке 706, кодируются согласно FEC. Например, в одном аспекте кодер 414 FEC действует для кодирования этой информации в блоки кодированных ошибок.
В блоке 710 блоки кодированных ошибок, сформированные в блоке 708, подвергаются пред-перемежению. Например, блок 412 пред-перемежения действует для пред-перемежения блоков кодированных ошибок. Например, блок 412 пред-перемежения действует, как описано выше, для генерации буфера пред-перемежения для выполнения пред-перемежения блоков кодированных ошибок, чтобы сформировать перемеженные блоки кодированных ошибок.
В блоке 712 перемеженные блоки кодированных ошибок инкапсулируются для формирования мультиплексной передачи, которая содержит последовательность субкадров, где каждый субкадр содержит четыре кадра.
В блоке 714 мультиплексная передача модулируется и передается по сети к принимающим устройствам. Например, модулятор/передатчик 404 действует для получения мультиплексной передачи и модулирования и передачи мультиплексной передачи по сети данных с использованием канала 418.
Таким образом, способ 700 действует для формирования мультиплексной передачи, которая передается к принимающим устройствам и которая позволяет устройству выполнять быстрое получение услуги. Следует отметить, что способ 700 представляет только одну реализацию и что другие реализации возможны в пределах объема описываемых аспектов.
На Фиг.8 показано устройство 800 для использования в аспектах системы получения услуг. Например, устройство 800 подходит для использования в качестве устройства 304, показанного на Фиг.3. Устройство 800 содержит логику 802 обработки и логику 804 демодулятора/приемника, которые связаны с шиной 806 данных. Устройство 800 также содержит декодер 816 источника, блок 814 распаковки CVS, логику 818 раннего входа/быстрой настройки, логику 810 пост-перемежителя, декодер 912 FEC, и блок 808 распаковки, которые связаны с шиной 806 данных.
В одном или более аспектов логика 802 обработки содержит центральный процессорный блок (CPU), процессор, матрицу логических элементов, логику аппаратных средств, элементы памяти, виртуальную машину, программное обеспечение и/или любую комбинацию аппаратных средств и программного обеспечения. Таким образом, логика 802 обработки, в общем, содержит логику для исполнения машиночитаемых инструкций и для управления одним или более других функциональных элементов устройства 800 через внутреннюю шину 806 данных.
Логика 804 демодулятора/приемника содержит логику аппаратных средств и/или программного обеспечения, которые работают для обеспечения возможности устройству 800 для приема мультимедийной мультиплексной передачи по сети данных от сервера широковещательной передачи. В одном аспекте логика 804 демодулятора/приемника содержит канал 828 связи. Например, в одном аспекте канал 828 связи содержит подходящую линию связи (т.е. линию OFDM), чтобы обеспечить возможность устройству 800 осуществлять связь с одной или более сетями данных для приема мультимедийной мультиплексной передачи.
В одном аспекте логика 804 демодулятора/приемника содержит буфер 832, содержащий некоторую подходящую память или запоминающее устройство. В одном аспекте логика 804 демодулятора/приемника действует для приема множества кадров передачи, где каждый кадр передачи представляет выбранный интервал времени и содержит один или более каналов данных. Выбранные данные кодированы в предварительно определенные кадры передачи. Буфер 832 имеет выбранную длительность времени (т.е. длительность кадра передачи) и действует для буферизации принятых кадров передачи, так что флуктуации канала поглощаются.
Блок 818 распаковки (блок де-инкапсуляции) содержит любую комбинацию аппаратных средств и программного обеспечения. В одном аспекте блок 818 распаковки действует для распаковки перемеженных блоков кодированных ошибок из принятой мультиплексной передачи. Например, в одном аспекте, блок 818 распаковки действует для отмены операции и компоновщика 416, показанного на Фиг.4. В результате работы блока 818 распаковки формируются перемеженные блоки кодированных ошибок.
Блок 810 пост-перемежителя содержит CPU, процессор, матрицу логических элементов, логику аппаратных средств, элементы памяти, виртуальную машину, программное обеспечение и/или любую комбинацию аппаратных средств и программного обеспечения. Блок 810 пост-перемежителя действует для обращенного перемежения перемеженных блоков кодированных ошибок, формируемых блоком 818 распаковки. Например, блок 810 пост-перемежителя действует для отмены операции блока 412 пред-перемежителя, показанного на Фиг.4. Например, в одном аспекте, блок 810 пост-перемежителя действует для формирования блоков кодированных ошибок, как описано вышек.
Декодер 812 FEC содержит некоторую комбинацию аппаратных средств и программного обеспечения для выполнения декодирования ошибок в принятых блоках кодированных ошибок, сформированных блоком 810 пост-перемежителя. Например, декодер 812 FEC действует для формирования кодированного источника 824 и инкапсулированной информации CSV 820, которая включена в принятую мультиплексную передачу.
Блок 814 распаковки CSV содержит некоторую комбинацию аппаратных средств и программного обеспечения, которая действует для распаковки или де-инкапсулирования информации CSV 820, принятой в мультиплексной передаче. Блок 814 распаковки CSV действует для формирования информации CSV, которая представляет независимо декодируемую версию низкого разрешения видео для выбранного канала в принятой мультиплексной передаче. Например, блок 814 распаковки CSV действует для отмены операции компоновщика 410 CSV, показанного на Фиг.4.
Декодер 816 источника содержит любой тип декодера источника, который действует для приема информации 824 кодированного источника и формирования соответствующих потоков 826 декодированного источника. Декодер 816 источника также действует для приема информации CSV и формирования сигнала 830 CSV, который представляет собой независимо декодируемым сигналом низкого разрешения, который соответствует выбранному каналу принятой мультиплексной передачи. Таким образом, декодер 816 источника действует для воспроизведения потоков декодированного источника.
Логика 818 раннего входа/быстрой настройки содержит CPU, процессор, матрицу логических элементов, логику аппаратных средств, элементы памяти, виртуальную машину, программное обеспечение и/или любую комбинацию аппаратных средств и программного обеспечения. Логика 818 раннего входа/быстрой настройки содержит логику обнаружения, которая конфигурирована для обнаружения запроса переключения канала и управления устройством 800 для быстрого переключения на запрошенный канал. В одном аспекте запрос переключения канала генерируется логикой 802 обработки в ответ на пользовательский ввод. В другом аспекте запрос переключения канала генерируется логикой 802 обработки, основываясь на любых других критериях. Например, логика 802 обработки может генерировать запрос переключения канала, основываясь на принятой информации управления от сети распределения.
В процессе работы согласно одному или более аспектам, когда запускается запрос переключения канала, логика 818 раннего входа/быстрой настройки действует для управления декодированием принятой мультиплексной передачи, так что выбранные услуги могут быть декодированы. В одном аспекте CSV для выбранного канала быстро декодируется и воспроизводится, так что пользовательское устройство принимает очень быстрый, хотя и с низким разрешением, отображаемый ответ на запрос смены канала.
Ввиду конфигурации блоков кодированных ошибок, предусмотренных в аспектах системы получения услуг, информация, необходимая для декодирования выбранного нового канала, является легко доступной. Например, в одном аспекте, OIS упорядочиваются для появления в конце суперкадра, так что эти символы могут извлекаться, даже если запуск раннего входа/быстрой настройки возникает в течение середины суперкадра.
В одном или более аспектах устройство 800 действует для выполнения одной или более следующих функций для обеспечения быстрого получения и переключения канала в аспектах системы получения услуг.
1. Прием запуска раннего входа/быстрой настройки для настройки на новый канал.
2. Выполнение пост-перемежения для отмены переупорядочения блоков кодированных ошибок передатчиком.
3. Распаковка информации CSV из блоков кодированных ошибок.
4. Декодирование информации CSV для формирования сигнала CSV, который может воспроизводиться на устройстве.
5. Определение данных для запрошенного нового канала.
6. Декодирование данных для формирования сигнала видео для запрошенного канала.
7. Воспроизведение сигнала видео, ассоциированного с запрошенным каналом.
В одном аспекте система получения услуг воплощена в компьютерной программе, содержащей программные инструкции, сохраненные на машиночитаемом носителе, которые, при исполнении, по меньшей мере, одним процессором, например, логикой 802 обработки, обеспечивают функции, описанные здесь. Например, программные инструкции могут быть загружены в устройство 800 с машиночитаемого носителя, такого как гибкий диск, CDROM (ПЗУ на компакт-диске), карта памяти, устройство флэш-памяти, ОЗУ, ПЗУ или любой другой тип запоминающего устройства или машиночитаемого носителя, который взаимодействует с устройством 800. В другом аспекте инструкции могут загружаться в устройство 800 с внешнего устройства или сетевого ресурса, который взаимодействует с устройством 800. Программные инструкции, при исполнении логикой 802 обработки, обеспечивают один или более аспектов системы получения услуг, как описано здесь.
Поэтому устройство 800 действует, согласно одному или более аспектов системы получения услуги для обеспечения возможности быстрого получения и переключения каналов между услугами, предусмотренными в мультимедийной мультиплексной передаче. Следует отметить, что устройство 800 иллюстрирует только одну реализацию, и другие реализации возможны в пределах объема аспектов, описанных здесь.
Фиг.9 показывает способ 900 для использования в аспектах системы получения услуги. Для ясности способ 900 будет описан со ссылками на устройство 800, показанное на Фиг.8. В одном аспекте, по меньшей мере, один процессор, такой как логика 802 обработки исполняет машиночитаемые инструкции для управления устройством 800 для выполнения функций, описанных здесь.
В блоке 902 мультимедийная мультиплексная передача принимается и буферизуется. Например, мультиплексная передача принимается демодулятором/приемником 804. Принятая мультиплексная передача генерируется в соответствии с аспектами системы получения услуг, так что мультиплексная передача содержит суперкадр, генерируемый, как описано выше, для обеспечения быстрого получения услуги и переключения канала. Например, информация CSV и пред-перемежение, как описано выше, используются для формирования суперкадра. В одном аспекте принятая мультиплексная передача буферизуется буфером 832 для поглощения флуктуаций канала.
В блоке 904 декодируется канал в принятой мультиплексной передаче. Например, логика 802 обработки действует для управления функциональными элементами устройства 800 для декодирования канала в принятой мультиплексной передаче.
В блоке 906 выполняется тест для определения, принят ли запуск раннего входа/быстрой настройки. Например, запуск может быть обеспечен пользователем устройства или может генерироваться автоматически. В одном аспекте логика 802 обработки действует для определения, принят ли запуск раннего входа/быстрой настройки. Если запуск не принят, то способ возвращается к блоку 904, где декодируется тот же самый канал. Если запуск принят, то способ возвращается к блоку 908.
В блоке 908 декодер переключается для декодирования нового запрошенного канала. Например, логика 802 обработки действует для управления устройством 800 для начала декодирования нового запрошенного канала.
В блоке 910 информация CSV, ассоциированная с новым запрошенным каналом, воспроизводится. Например, информация CSV является низким разрешением нового запрошенного канала, который кодирован в принятую мультиплексную передачу. В одном аспекте, блок 814 распаковки CSV действует для распаковки информации CSV, так что она может воспроизводиться при попытках декодирования для переключения на новый запрошенный канал.
В блоке 912 новый запрошенный канал декодируется и воспроизводится. Например, логика 802 обработки действует для управления устройством 800 для воспроизведения запрошенного канала. Поэтому после запуска раннего входа/быстрой настройки пользовательское устройство воспринимает версию низкого разрешения запрошенного канала, за которой следует версия полного разрешения, когда процесс декодирования устройства способен декодировать канал. В одном аспекте устройство действует для воспроизведения нового канала из следующего доступного I-кадра.
Таким образом, способ 900 действует для обеспечения возможности устройству выполнять быстрое получение услуги и переключение канала в соответствии с аспектами системы получения услуг. Следует отметить, что способ 900 представляет только одну реализацию и что другие реализации возможны в объеме описанных аспектов.
Создание информации CSV
В одном или более аспектах кодеры 408 источника действуют для генерации информации CSV в соответствии со следующим. Модель человеческого зрения часто включается в видео кодек для имитации того, как человек воспринимает различия между источником и его сжатой версией. Модель Girod отражает визуальный отклик на различия непосредственно на входной видео сигнал. Это обеспечивает возможность количественного определения минимально допустимых различий в терминах визуального отклика для проектирования оптимальных кодеров и декодеров. Эффекты пространственного и временного маскирования возникают вследствие насыщения в провалах. Временное маскирование подобно пространственному маскированию, за исключением того, что наблюдаемость шума в местоположениях пикселей обусловлена видео сигналом в том же самом пространственном местоположении, но в соседнем по времени кадре.
Иными словами, временное маскирование относится к временному отклику глаза в направлении появления и пропадания объектов. Изменения сцен, введение новых объектов в видео и переключение на новый канал являются примерами появления объектов, и время реакции человеческого глаза составляет примерно 44 мс. В то же время реакции на исчезающие объекты в монтажных переходах составляет около 100 мс. Человеческий глаз интегрирует приходящий сигнал по оси времени, прежде чем он интерпретируется мозгом. (30 кадров в секунду обеспечивают достаточно плавное воспроизведение движения для большинства приложений.) Следовательно, человеческий глаз обладает большим допуском к интерполированным изображениям (движения), чем к внезапным мгновенным прерываниям (таким как кратковременные показы кадров камеры).
Эти наблюдения приняты при создании информации CSV. Предиктивное кодирование в большой степени используется в видео сжатии ввиду высокой пространственной и временной корреляции внутри и между кадрами. При генерации информации CSV высокое сжатие может быть применено вследствие меньшей чувствительности человеческого глаза к новому содержанию.
Независимый боковой канал
2
Субдискретизация в пространственной области (например, от QVGA - 320x240 пикселей до QVGA - 160х120 пикселей) и во временной области (от 30 кадров в секунду до 5 кадров в секунду) является простым механизмом сжатия, который может быть инвертирован (повышение дискретизации до исходного разрешения и повышающее преобразование частоты кадров с использованием методов в декодере как операция пост-обработки). Такие механизмы пост-обработки являются частью стандартных библиотек обработки изображений в большинстве терминалов, включая портативные. Передискретизация в пространственной области связана с низкочастотной фильтрацией (для исключения наложения спектров) с последующим прореживанием. Повышающее преобразование частоты кадров также связано с пространственной пиксельной интерполяцией как частью процесса компенсации движения после интерполяции вектора движения.
2
Поскольку требуется, чтобы информации CSV была независимо декодируемой, это помещает I-кадр в начале информации CSV, поскольку первичные данные не доступны для использования в качестве эталона. Типовая средняя битовая скорость для передачи QVGA видео при 30 кадрах в секунду примерно равна 256 кбит/с при использовании кодека Н.264. В то же время, средняя битовая скорость для передачи того же самого видео при разрешении QVGA и частоте кадров 5 кадров в секунду примерно равна 10 кбит/с. Следовательно, служебная нагрузка для CSV равна около 5%.
Базовая информация
Гибридное видео кодирование влечет за собой пространственное и временное предсказании, сопровождаемое преобразованием, квантованием и энтропийным кодированием. Сущность сжатых данных заключается во внутренне кодированных данных, используемых в качестве опоры, режиме предсказания и информации движения. Первичный битовый поток несет всю эту информацию для генерации высококачественного видео. Информация CSV может быть создана как масштабированная компактная форма этой базовой информации с использованием одного или более следующих методов.
1. Данные с внутрикадровым кодированием: Комбинирование окна 2х2 макроблоков в первичном битовом потоке в один МВ в CSV - путем простого объединения информации режима. Если 3 из 4 или все 4 режима являются одинаковыми, то режим соответствующего макроблока в CSV устанавливается на этот режим. Аномально выделяющиеся макроблоки маркируются. В Н.264 МВ с внутренним кодированием имеют 2 режима - Intra_16x16 или Intra_4x4. Последнее указывает на присутствие направленной информации (в не равномерно гладкой области), которая является критической для основанного на режиме маскирования пространственных ошибок.
2. Данные с межкадровым кодированием: обработка вектора движения. В одном аспекте слияние и масштабирование могут применяться для объединения МВ в первичном битовом потоке для формирования МВ в CSV. Например, дискретизация с повышенной частотой всех режимов межкадрового кодирования до 4х4 и объединение их при необходимом учете аномальных выбросов является одним методом, который может быть использован.
Подразделение данных битового потока кодированного видео, основываясь на приоритете, является популярным способом улучшения способности противостоять ошибкам и обеспечения возможности масштабирования в видео кодировании. Например, в Н.264 разделение данных на части является свойством, которое позволяет кодировать каждую часть как 3 отдельных блока данных, называемых блоками уровня сетевой абстракции (NALU). Часть А несет критическую информацию, такую как заголовки макроблоков и информация вектора движения. Часть В содержит данные коэффициентов внутрикадрового кодирования, что является следующим по приоритету, и часть С содержит данные коэффициентов для блоков с межкадровым кодированием и блоков временного предсказания. В одном аспекте информация CSV может генерироваться путем слияния и масштабирования данных части А для обеспечения возможности использования CSV для восстановления и маскирования ошибок и для того, чтобы избежать вычислительно интенсивных операций кодирования подобно оцениванию движения.
Передача информации CSV
В схемах одноуровневого кодирования CSV может передаваться в синтаксисе пользовательских данных соответствующих стандартам битовых потоков. Например, CSV может кодироваться как один из синтаксических элементов информации дополнительного расширения в Н.264 или даже как избыточное изображение или вырезка. Дополнительно, информация CSV может переноситься как вспомогательный пакет в побочном канале (например, дополнительных каналах в 1х сетях) или в низкоприоритетном канале, если поддерживается уровневое кодирование и модуляция.
Приложения
В одном аспекте функциональность транспортного уровня поддерживается потоковым уровнем и уровнем МАС. Каждая услуга (конгломерат ассоциированных аудио, видео и/или данных) передается в одном или более каналах. Клиент на устройстве «настраивает» канал(ы), представляющий(е) интерес и считывает данные, касающиеся услуги (или в общих терминах ТВ - канал), представляющие интерес, из мультиплексной передачи.
Если изменение канала инициировано пользователем (например, нажатием клавиши), то приложение уведомляет физический уровень, который настраивается на соответствующий(е) канал(ы). Это может произойти на границах суперкадра (1 сек.) или на границах кадра (0.25 сек.). В одном аспекте видео кодек переносит точку случайного доступа (I или распределенные I-кадры) в начало каждого суперкадра. Для того чтобы обеспечить возможность быстрого переключения каналов (на границах кадров), информация CSV переносится в 3-ем (или, возможно, 4-ом) кадре. Сжатые данные, записаны в пакеты физического уровня таким образом, чтобы обеспечить эту возможность. Таким образом, смена кадра, инициированная в первой половине секунды (синхронизированно с временем кадра) может возникнуть (инициированная воспроизведением видео нового канала) в метке 3/4 секунды суперкадра (игнорируя буферы декодера). При условии, что В-кадры поддерживаются, возможна потенциальная задержка в 2 кадра. Это имеет место в дополнение к времени ожидания буфера в очереди задержки/воспроизведения. Следовательно, достижимо время ожидания переключения канала 0.25+0.066+0.264=0.58 сек.
Применение CSV к устранению и маскированию ошибок
Поскольку CSV является сжатой версией первичных данных, которая сосуществует во времени в декодере (независимо от того, принимается ли она в побочном канале, канале расширения или в первичном битовом потоке в качестве пользовательских данных), она может обеспечить важное понимание основных данных, на которые влияют ошибки вследствие сред, подверженных ошибкам, таких как беспроводные каналы.
CSV может быть использована для восстановления (идентификации степени потери) потерянных или искаженных частей первичных данных посредством корреляции маркеров повторной синхронизации в первичных данных с соответствующей вырезкой или МВ. Номера кадров, отсчет порядка изображения в Н.264, номера последовательностей и/или временные метки презентации могут быть использованы для идентификации соответствующих кадров в CSV. Если макроблоки с внутренним кодированием в первичных данных потеряны (как во внутренних, так и в прогнозированных кадрах), декодирование именно соответствующих частей CSV (заголовка вырезки и МВ) может обеспечить информацию режима и направления для маскирования новых (смена сцены, которая кодируется как I-кадр) или появляющихся объектов (окклюзии (маскирования), кодируемые как МВ с внутренним кодированием или вырезки в Р- или В-кадрах)
Когда макроблок межкадрового кодирования потерян в первичных кадрах, независимо от того, является ли он векторами движения или коэффициентами межкадрового кодирования, информация в соответствующем кадре CSV может быть расширена для восстановления после ошибок и маскирования ошибок. Если был использован метод 1 для гибридного кодирования, то соответствующая информация в CSV может быть или не быть кодирована в том же самом режиме. Например, МВ, кодированный с внутрикадровым кодированием в первичных данных, может быть кодирован межкадровым кодированием в CSV (ввиду требований более низкого качества). Это особенно полезно, поскольку алгоритмы временного маскирования не способны вывести корректный вектор движения, если некоторые МВ в окне, представляющем интерес, кодированы внутрикадровым кодированием.
В замкнутой системе кодер и декодер проектируются и реализуются с полной автономией. Следовательно, кодер полностью осведомлен о возможностях реализации декодера, а декодер осведомлен об оптимизациях и структуре битовых потоков кодера. Это позволяет использовать более эффективный, более надежный и рентабельный (по стоимости по скорости-искажению) метод для генерации CSV и других приложений раскрытия, включая восстановление после ошибок, маскирование ошибок и преобразование с повышение скорости кадров.
В одном или более аспектах, система работает для передачи CSV медиа. При указании необходимости приложения более высокого уровня, как в случае, когда пользователь инициирует переключение каналов путем нажатия клавиши, декодер начинает декодирование и отображение CSV нового канала почти мгновенно (например, после того как нижние уровни - транспортный и физический уровни - переключились на новый канал). Это может снизить время переключения до нескольких миллисекунд в диапазоне 10-100 мс. В сценариях, не относящихся к переключению каналов, информация CSV, например, I-кадры/МВ и информация MV могут быть использованы для восстановления после ошибок (с некоторой обработкой или без нее), где в соседних кадрах используется информация для маскирования потерянных МВ или MV.
Иллюстрация реализации
Далее приведена реализация, иллюстрирующая использование интегрированного кодека и физического уровня для эффективной потоковой передачи мультимедиа в соответствии с аспектами системы получения услуги, описанной здесь. Например, эта реализация описывает аспекты высокоинтегрированной архитектуры, обеспечиваемой мультимедийными кодеками на уровне приложения, чтобы обеспечить формирование канала на физическом уровне для эффективных передач мультимедиа, в частности потоковой передачи мультимедиа или широковещательной/групповой передачи мультимедиа. Следует отметить, что различные аспекты применимы к любому индивидуальному или комбинации существующих или будущих приложений, транспортному или физическому уровню, или другим технологиям. В результате различные аспекты обеспечивают эффективные передачи, взаимодействия и понимание между уровнями OSI при тесной связи, которая исключает/снижает флуктуации и буферы обработки в различных точках, тем самым времена ожидания. Таким образом, одним из главных преимуществ является быстрое переключение каналов в мобильных широковещательных передачах мультимедиа.
На Фиг.10 показан аспект системы 1000 связи. Система 1000 является системой потоковой передачи мультимедиа, где вход в систему является непрерывным потоком данных (дискретные события по времени, но не никогда не заканчивающиеся), а выход из системы является непрерывным потоком данных. Например, клиент, показанный на Фиг.10, может быть частью мобильного устройства.
Фиг.11 показывает диаграмму уровней OSI или стек 1100 протоколов для использования в аспектах системы получения услуги. Например, стек 1100 протоколов подходит для использования в системе получения услуги, показанной на Фиг.3. Следует отметить, что стек 1100 протоколов является только одной реализацией и что различные аспекты описанной системы могут быть расширены на любую многоуровневую архитектуру. Далее описан поток данных через уровни стека 1100 протоколов; однако следует отметить, что описание основано на обобщенном понимании структур данных внутри и между уровнями.
Система получения услуги работает для поддержания непрерывной или потоковой передачи данных от входа к выходу через сеть к клиенту. В одном аспекте система действует как один буфер FIFO («первым пришел - первым обслужен»).
Предположим, что базовый блок времени (Т) равен, например, одной секунде. Пусть данные, касающиеся этого блока времени, будут называться суперкадром (SF). Тогда SF есть пакет, полезная нагрузка которого содержит данные, например, мультимедийные данные, которые могут быть потреблены за Т секунд (Т=1 в данном примере).
Фиг.12 показывает диаграмму 1200, которая иллюстрирует обработку данных суперкадра из приложения через физический уровень как на стороне сети, так и на стороне клиента в системе связи. В диаграмме 1200 ось х представляет время в секундах. Ось у изображает обработку данных от входа посредством кодера, обработку инкапсулирования уровня потока/МАС до компоновки в физический уровень SF. Диаграмма 1200 показывает фундаментальные операции обработки SF в системе, где текущий SF показан хешированными блоками. Ввод для этого SF входит в систему в момент (Т=SF_Start-3), и он кодируется, кодируется внешним образом и инкапсулируется в SF в момент (Т=SF_Start-2). Этот SF затем передается и принимается (задержка от передатчика к приемнику составляет порядка наносекунд, поскольку физический уровень является радиочастотным (RF)) в момент (Т=SF_Start-1). Следовательно, данные текущего SF заполняют буфер приемника (т.е. буфер 832) в момент (Т=SF_Start-1) и доступны для декодирования и немедленного представления в момент (Т=SF_Start). Временные метки вкраплены в блоки данных аудио или видео для текущего SF и смещены относительно времени (Т=SF_Start).
В синхронной системе Т=SF_Start (Т в общем случае) связано с системными часами, например, для GPS, если доступны как сеть, так и клиент, и обеспечивает хронирование SF. Это исключает необходимость в отдельном тактовом сигнале медиа (VCXO или осциллятор) в клиенте, тем самым сокращая затраты, особенно если клиент находится на портативном устройстве.
В асинхронной системе обработка SF остается той же самой. Временные метки в блоках аудио/видео данных выводятся из внутреннего тактового сигнала, такого как PCR (эталон программного тактового сигнала в системах MPEG-2).
В любом случае буфер приемника (т.е. буфер 832) теперь тесно связан с любым буфером декодера (они могут потенциально совместно использовать один и тот же буфер), так что имеет место минимальное устранение флуктуаций в декодере (менее 100 мс). Это позволяет выполнять быстрое переключение каналов, как описано ниже.
Фиг.13 показывает диаграмму 1300, которая иллюстрирует быстрое переключение каналов, обеспечиваемое аспектами системы получения услуги. Например, система может обеспечивать быстрое переключение каналов максимально менее чем за две секунды и в среднем за одну секунду, когда Т=1 секунде. Диаграмма 1300 представляет четыре канала и три суперкадра: SF+2, SF+1 и SF. Когда пользователь устройства инициирует смену канала с канала А на канал В во временном кадре, соответствующем SF, то прием и (/или) декодирование переключается на канал В приема в момент SF+1, и данные в SF+1 доступны для декодирования в начале SF+2.
Поскольку сжатие видео и аудио связано с временным предсказанием, независимое декодирование ограничено точками случайного доступа, такими как I-кадры. Однако поскольку кодер осведомлен о границах SF, он может соответственно разместить точки случайного доступа (I-кадры, прогрессивные обновления и другие средства) в начале SF, соответственно тому, когда возможно обнаружение физического уровня. Это исключает необходимость в точках случайного доступа произвольным образом, тем самым повышая эффективность сжатия. Это также гарантирует быстрое переключение каналов, поскольку точка случайного доступа имеется в начале каждого SF для немедленного декодирования и отображения нового канала. Следует также отметить, что временная длительность SF должна быть установлена на 1 секунду, 5 секунд или любую единицу времени, как желательно или как позволяет конструкция системы.
Обработка уровня приложения
Рассмотрим видео данные, передаваемые в системе на основе SF. Видео кодер извлекает видео данные или информацию, которая может быть потреблена за Т секунд. (Потребление может рассматриваться, например, как видео данные, которые отображаются в течение Т секунд.) Пусть это будет называться Т-пакетом или суперкадром (SF).
Обработка уровня синхронизации: информация синхронизации
Информация хронирования, например, временные метки, для блоков видео данных (например, сжатые блоки доступа или видео кадры), которые содержат текущий Т-пакет или SF, назначается блокам данных. Эти временные метки дискретизируются от входящего тактового сигнала (например, PCR), который переносится вместе с аудио и видео данными, как в асинхронной системе, например, для DVB, ATSC с использованием протоколов систем MPEG-2.
В синхронной системе, где тактовый сигнал медиа является синхронным с системным тактовым сигналом, временные метки являются фиксированным сдвигом относительно входящего тактового сигнала медиа (PCR/PTS), который равен фиксированной разности между входящим тактовым сигналом медиа (PCR) и системным тактовым сигналом. Поэтому аспекты синхронной системы обеспечивают следующее.
а. Устранение необходимости в посылке тактового сигнала, тем самым исключая любое хронирование буфера исключения флуктуаций.
b. Клиент может сдвинуть синхронизацию локального тактового сигнала, который синхронизирован с общим временем, таким как GPS.
Обработка транспортного уровня
Транспортный уровень обеспечивает кадрирование для синхронно инкапсулированного аудио/видео в пакеты фиксированной длины, что соответствует размерам пакетов физического уровня. Они являются пакетами фиксированной длины.
SF_start
Фиг.14 показывает диаграмму 1400, которая иллюстрирует поток Т-пакетов в аспектах системы получения услуг. Например, диаграмма 1400 показывает, каким образом Т-пакеты кодируются и инкапсулируются в текущем (или 1-ом) суперкадре, передаются в передатчике в сеть и принимаются в приемнике на клиенте во втором суперкадре. В результате Т-пакеты становятся доступными и обрабатываются/потребляются в третьем суперкадре. Каждый Т-пакет является независимо принимаемым и декодируемым. Поэтому имеет место минимальное устранение флуктуаций в момент T. Следует отметить, что уровень приложения осведомлен о логике и структуре пакетирования/инкапсулирования/канализации уровня потока/МАС и физического уровня (т.е., см. Фиг.11).
Фиг.15 показывает диаграмму 1500, которая иллюстрирует конфигурацию видео кадра в аспекте Т-пакета. Для показанной конфигурации кадра предусмотрены базовый уровень и уровень расширения, и порядок источника равен порядку представления. Таким образом, Т-пакет принимается в порядке источника и кодируется. Порядок кадров после сжатия сохраняется, и Т-пакет выводится из кодера в порядке декодирования.
После того как Т-пакет проходит через транспортный и физический уровни в сети и на клиенте, он достигает видео декодер в клиенте в порядке декодирования. Следовательно, декодер способен декодировать один Т-пакет за другим в непрерывной последовательности, при этом исключая/снижая необходимость в дополнительных буферах декодера.
Фиг.16 показывает диаграмму, которая иллюстрирует конфигурацию 1600 видео кадра в одном аспекте Т-потока. Например, конфигурация 1600 видео кадра подходит для конфигурирования видео кадров в аспектах системы получения услуги.
Следующие «Замечания» обеспечивают информацию о различных аспектах конфигурации 1600 видео кадра.
Замечание 1.
OIS содержит, в числе прочей информации, индекс на местоположение Т-пакета для программы/канала, представляющего интерес. Клиент «активизируется» только на эту длительность, тем самым экономя мощность. Для быстрого обнаружения канала, это сообщение и OIS могут переноситься в конце Т-пакета.
Замечание 2.
Аудио и видео, соответствующие тому же самому Т-пакету, могут быть инкапсулированы в пакетах других потоковых уровней.
Замечание 3.
Альтернативным образом, аудио и видео, соответствующие тому же самому Т-пакету, могут быть инкапсулированы в одной и той же или отличающейся оболочке протокола МАС.
Замечание 4.
Код Рида-Соломона (RS) является примером внешнего кода или прямой коррекции ошибок (FEC). Блоки четности RS переносятся в конце Т-пакета. Когда приемник принимает первые три кадра Т-пакета без ошибок, последний кадр Т-пакета не должен приниматься. Маломощные трубки-хосты для клиента не должны активизироваться, чтобы принимать его, тем самым экономя мощность.
Замечание 5.
Т-пакет кодируется, инкапсулируется и «заполняется» в пакеты физического уровня. Кодер, МАС уровень и физический уровни осведомлены о границах Т-пакета.
Замечание 6.
Т-пакет, кодированный/инкапсулированный в предыдущую секунду, передается и принимается в течение этого интервала.
Замечание 7.
Т-пакет, принятый в предыдущую секунду, потребляется в этом интервале.
Поэтому конфигурация 1600 видео кадра подходит для использования в аспектах системы получения услуг. Следует отметить, что конфигурация 1600 является всего лишь одной реализацией и возможны другие реализации в объеме описанных аспектов.
На Фиг.17 показана диаграмма, иллюстрирующая конфигурацию 1700 транспортных заголовков (ТН) и синхрозаголовков (SH), используемых в базовом уровне и уровне расширения суперкадра. В одном аспекте ТН 1702 содержит последний указатель 1704 и смещение 1706 пакета физического уровня (PLP).
В одном аспекте SH 1708 содержит идентификатор 1710 потока, временную метку представления (PTS) 1712, идентификатор кадра 1714, флаг 1716 точки случайного доступа (RAP), идентификатор 1718 частоты кадров и зарезервированные биты 1720. Идентификатор 1714 кадров содержит флаг 1722 расширения и номер 1724 кадра.
В одном аспекте метка PTS 1712 равна входящей временной метке (ts) для асинхронных систем и для синхронных систем, причем метка PTS 1712 равна ts+(PCR-системный тактовый сигнал).
Поэтому конфигурация 1700 видео кадра пригодна для использования в аспектах системы получения услуг. Следует отметить, что конфигурация 1700 является только одной реализацией и что возможны другие реализации в объеме описанных аспектов.
На Фиг.18 показана структура 1800 блока кода прямого исправления ошибок (FEC) для использования в аспектах системы получения услуг. Например, структура 1800 блока кода содержит структуру блока кода базового уровня 1802 и структуру блока кода уровня 1804 расширения. Структура 1800 блока кода содержит транспортные заголовки, заголовки синхронизации и концевые биты с CRC. Структура 1800 блока кода иллюстрирует, каким образом данные аудио и видео кадров организованы для базового уровня и уровня расширения для использования в аспектах системы получения услуг. В одном аспекте видео данные могут факультативно кодироваться как битовый поток одного уровня или во множестве уровней для масштабируемости. Кроме того, точки случайного доступа, выровненные с границами Т-пакетов, могут переноситься на любом или всех уровнях. Следует отметить, что структура 1800 блока кода представляет только одну реализацию и что другие реализации возможны в объеме описанных аспектов.
На Фиг.19 показана организация 1900 кадра для обеспечения аудио и видео битовых потоков для использования в системе получения услуги. Организация 1900 кадра иллюстрирует организацию кадра для видео базового уровня и уровня расширения и организацию кадра для аудио. Дополнительно точки 1902 случайного доступа обеспечены посредством независимого декодирования, которое выровнено с границами Т-пакета как для видео, так и для аудио. Кроме того, дополнительные точки случайного доступа могут быть предусмотрены для устойчивости к ошибкам и восстановления после ошибок или для быстрого переключения каналов.
Следует отметить, что организация 1900 кадра представляет только одну реализацию и что другие реализации возможны в объеме описываемых аспектов.
Таким образом, различные аспекты системы получения услуги действуют, как описано здесь, для обеспечения следующих функций.
а. Обеспечение эффективных передач, взаимодействий и понимания между уровнями OSI с тесной связью, которая исключает/снижает флуктуации, и обработкой буферов в различных точках, тем самым уменьшая времена ожидания. Одно из основных преимуществ заключается в быстром переключении каналов в мультимедийных мобильных широковещательных передачах, например, посредством пакетов данных, соответствующих одной секунде данных, которые проходят в системе.
b. Синхронное и асинхронное хронирование в системе с таковым сигналом или без тактового сигнала (PCR), переносимого системой.
с. Быстрое переключение/обнаружение канала посредством снижения буферизации.
d. Аудио является непрерывным (серия одинаковых импульсов), но может не быть синхронным.
е. Один буфер в системе. Минимальное удаление флуктуаций в приемнике (т.е. порядка миллисекунд), когда следующая секунда данных начинается для заполнения и перед тем, как текущая секунда данных полностью потреблена.
f. Аудио аспекты. Поскольку сжатые аудио кадры могут делиться равномерно или неравномерно на односекундных границах, отложенная информация для текущего аудио кадра посылается в текущей секунде (т.е. с опережением по времени на несколько миллисекунд). Ввиду непрерывного ввода потока, буфер в приемнике представляется непрерывным.
На Фиг.20 показан сервер 2000 для использования в аспектах системы получения услуг. Сервер 2000 содержит модуль (2002) для генерации одного или более сигналов CSV, который в одном аспекте содержит кодер 408 источника. Сервер 2000 также содержит модуль (2004) для кодирования сигнала CSV и мультимедийных сигналов для формирования блоков кодированных ошибок, который в одном аспекте содержит кодер 414 FEC. Сервер 2000 также содержит модуль (2006) для инкапсулирования блоков кодированных ошибок, который в одном аспекте содержит компоновщик 416. Следует отметить, что сервер 2000 является только лишь одной реализацией и что возможны и другие реализации.
Фиг.21 показывает устройство 2100 для использования в аспектах системы получения услуг. Устройство 2100 содержит модуль (2102) для приема мультиплексной передачи, который в одном аспекте содержит приемник 804. Устройство 2100 также содержит модуль (2104) для буферизации мультиплексной передачи, который в одном аспекте содержит буфер 832. Устройство 2100 также содержит модуль (2106) для обнаружения выбора канала, который в одном аспекте содержит логику 818 настройки. Устройство 2100 также содержит модуль (2108) для декодирования сигнала CSV, который в одном аспекте содержит распаковщик 814.
Устройство 2100 также содержит модуль (2110) для воспроизведения сигнала CSV, который в одном аспекте содержит декодер 816 источника. Следует отметить, что устройство 2100 является только одной реализацией и что возможны и другие реализации.
Фиг.22 показывает сервер 2200 для использования в аспектах системы получения услуг. Сервер 2200 содержит модуль (2202) для формирования множества кадров передачи, который в одном аспекте содержит компоновщик 416. Сервер 2200 также содержит модуль (2204) для кодирования одного или более каналов данных в кадр передачи, который в одном аспекте содержит кодер 414 FEC. Следует отметить, что сервер 2200 является только лишь одной реализацией и что возможны и другие реализации.
Фиг.23 показывает устройство 2300 для использования в аспектах системы получения услуг. Устройство 2300 содержит модуль (2302) для приема множества кадров передачи, который в одном аспекте содержит приемник 804. Устройство 2300 также содержит модуль (2304) для буферизации множества кадров передачи, который в одном аспекте содержит буфер 832. Следует отметить, что устройство 2300 является только одной реализацией и что возможны и другие реализации.
Различные иллюстративные логические блоки, модули и схемы, описанные в связи с раскрытыми вариантами осуществления, могут быть реализованы или выполнены с использованием универсального процессора, цифрового процессора сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой вентильной матрицы (FPGA) или другого программируемого логического устройства, дискретной логической схемы или транзисторной логики, дискретных компонентов аппаратных средств или каких-либо их комбинаций. Универсальный процессор может быть микропроцессором, но в альтернативном варианте процессор может представлять собой обычный процессор, контроллер, микроконтроллер или конечный автомат. Процессор может быть также реализован как комбинация вычислительных устройств, например как комбинация DSP и микропроцессора, множество микропроцессоров, один или более микропроцессоров во взаимосвязи с ядром DSP или любая подобная конфигурация.
Этапы способа или алгоритма, описанные в связи с раскрытыми вариантами осуществления, могут быть реализованы непосредственно в аппаратных средствах, в модуле программного обеспечения, исполняемого процессором, или в комбинации обоих этих средств. Модуль программного обеспечения может находиться в оперативном запоминающем устройстве (ОЗУ), флэш-памяти, постоянном запоминающем устройстве (ПЗУ), электронно-программируемом ПЗУ (ЭППЗУ), электронно-стираемом программируемом ПЗУ (ЭСППЗУ), регистрах, на жестком диске, съемном диске, ПЗУ на компакт-диске (CD-ROM) или любом другом носителе для хранения данных, известном в технике. Приведенный для примера носитель записи связан с процессором, так что процессор может считывать информацию с носителя записи и записывать информацию на носитель записи. В альтернативном варианте, носитель записи может находиться на ASIC. ASIC может находиться в пользовательском терминале. В альтернативном варианте процессор и носитель записи могут находиться на дискретных компонентах в терминале.
Предыдущее описание раскрытых вариантов осуществления предназначено для того, чтобы обеспечить возможность специалистам в данной области техники реализовать или использовать настоящее изобретение. Различные модификации этих вариантов осуществления изобретения будут очевидны для специалистов в данной области техники, и общие раскрытые принципы могут быть применены к другим вариантам осуществления без отклонения от сущности или объема изобретения. Таким образом, настоящее изобретение не предназначается для ограничения раскрытыми вариантами осуществления, а должно соответствовать самому широкому объему, совместимому с раскрытыми принципами и новыми признаками. Слово «примерный» используется здесь исключительно для обозначения «служащий в качестве примера, реализации или иллюстрации». Любой аспект, описанный здесь как «примерный» не обязательно должен толковаться как предпочтительный или имеющий преимущества над другими аспектами.
Соответственно, хотя здесь показаны и описаны один или более аспектов системы получения услуг, следует понимать, что различные изменения могут быть выполнены в этих аспектах без отклонения от их сущности и существенных характеристик. Поэтому эти раскрытия и описания предназначены для иллюстрации, но не для ограничения объема изобретения, который устанавливается следующей формулой изобретения.