Устройство и способ передачи сигналов с упреждающей адаптацией скорости

Иллюстрации

Показать все

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

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение, в общем, относится к передаче потоков мультимедийных данных и более конкретно к адаптации скорости передачи данных между сервером и клиентом в услугах передачи потоков мультимедийных данных.

Уровень техники

В услуге передачи потоков мультимедийных данных участвуют три объекта: потоковый сервер, потоковый клиент и канал передачи данных или используемая для передачи сеть. Обычно узким местом услуги при передаче является канал передачи данных как по пропускной способности, так и в отношении надежности (то есть в случаях, когда предполагается отсутствие гарантированной скорости передачи битов), но ограничения по пропускной способности также могут возникать в клиенте и/или в сервере.

В системе с потоковой передачей данных в режиме реального времени, из-за динамического изменения характеристик пропускной способности канала, клиента и сервера, потоковая передача данных должна быть адаптивной для поддержания воспроизведения данных для пользователя в режиме реального времени. Сервер должен адаптировать скорость передачи данных в соответствии с изменяющейся пропускной способностью системы. Пример такой системы с адаптивной скоростью можно найти в публикации Haskell и др. (патент US № 5,565,924, "Encoder/Decoder Buffer Control for Variable Channel").

Клиент потоковой передачи данных обеспечивает буферизацию в приемнике для сохранения поступающих данных перед передачей их в декодер мультимедийных данных для воспроизведения. Буфер приемника используется для компенсации разницы между скоростью кодирования источника (также называемой частотой дискретизации) и скоростью передачи (буферизация перед декодером). Он также используется для компенсации вариаций задержки при передаче пакета по каналу (буферизации быстрых флуктуаций). Обычно предполагается, что эти две функции комбинируют в одном буфере приемника. Однако в приемнике также могут быть установлены два отдельных буфера, хотя такой вариант выполнения не является оптимальным с точки зрения задержки. Буферизация в приемнике также позволяет сглаживать неточности адаптации (то есть, если пропускная способность системы не точно согласована по выходу сервера).

Если буфер приемника становится пустым (то есть происходит опустошение буфера), что означает, что в декодер не поступают данные для декодирования, клиент должен приостановить воспроизведение и дождаться заполнения буфера поступающими данными перед его продолжением. С другой стороны, если скорость поступающих данных выше, чем скорость воспроизведения, емкость приемного буфера может быть полностью заполнена (то есть происходит переполнение буфера), в результате чего происходит сброс пакетов из буфера с тем, чтобы высвободить место для новых поступающих пакетов. Когда происходит сброс пакетов, ухудшается качество видеоизображения. Для обеспечения непрерывного воспроизведения без искажений приемный буфер клиента следует поддерживать в определенном диапазоне заполнения. Для того чтобы гарантированно исключить опустошение или переполнение буфера приемника, необходимо обеспечить соответствующее управление скоростью передачи битов при передаче и во время дискретизации на сервере, а также при приеме и воспроизведении в клиенте.

Ниже будет описано управление скоростью передачи битов со ссылкой на графики изменения скорости передачи битов (по горизонтальной оси обозначено время в секундах; по вертикальной оси обозначено совокупное количество данных в байтах или битах), на которых представлены следующие кривые:

- кривая воспроизведения, P(t), которая представляет совокупное количество данных, обработанных декодером в течение заданного времени, поступивших из приемного буфера;

- кривая дискридитации, S(t), представляющая код генерирования данных, как если бы мультимедийный декодер работал в режиме реального времени (она представляет собой эквивалент кривой воспроизведения и, собственно, является ее версией со сдвигом по времени);

- кривая T(t) передачи представляет совокупное количество данных, переданных сервером в течение заданного времени; и

- кривая приема, R(t), представляет совокупное количество данных, принятых и помещенных в буфер клиента в течение заданного времени.

Различие между любыми двумя кривыми определяет задержку и "размер буфера" между этими двумя кривыми. Скорость передачи битов ограничена определенными пределами по разности между двумя кривыми (например, максимальным размером буфера или максимальной задержкой). Типичный график изменения скорости передачи битов показан на фиг.1.

Для определения наилучшей организации взаимодействия между сервером и клиентом при управлении скоростью передачи битов необходимо учитывать следующее.

A. Кривую дискретизации - управление (то есть выбор потока битов для передачи) необходимо полностью предоставить серверу, поскольку:

1) только на сервере известны точные характеристики каждого потока битов, например, положения переключения, приоритет фреймов, размеры будущих фреймов, и

2) может отсутствовать скорость потока битов, которая была бы согласована со скоростью битов в сети, и сервер мог бы использовать некоторые "трюки" (например, разрежение, повышение и снижение скорости).

B. Кривую передачи - управление (то есть скорость при передаче) также необходимо предоставить серверу (то есть использовать отчеты RTCP (ПУРВ, протокол управления передачей в реальном времени) или другую информацию о полосе пропускания, поступающую от клиента), поскольку:

1) обычно только сервер может измерить количество данных в канале передачи, и

2) может потребоваться адаптировать скорость передачи для кривой дискретизации, если управление кривой дискретизации имеет ограниченную гибкость.

Сервер должен поддерживать некоторые ограничения в режиме реального времени путем адаптации своей кривой дискретизации S(t) к своей кривой передачи T(t). Адаптация кривой дискретизации к кривой передачи гарантирует, что при адекватной буферизации приемник сможет воспроизвести мультимедийные данные с правильной синхронизацией. В каждый момент t времени кривая S(t) дискретизации не должна отклоняться от кривой T(t) передачи на слишком большое количество байтов.

Если сервер работает в пределах определенных ограничений режима реального времени, клиент отвечает за обеспечение любой необходимой буферизации, чтобы следовать за сервером в пределах этих ограничений. В этом случае клиент должен компенсировать:

1) буферизацию предварительного декодера для |S(t) - T(t)|, и

2) буферизацию быстрых флуктуаций для вариации задержки передачи {T(t) - R(t)}.

Кроме того, клиент должен допускать определенное несоответствие между кривой воспроизведения и кривой дискретизации (например, смещение синхронизации или замедление воспроизведения из-за проблем операционной системы платформы клиента).

В системах потоковой передачи мультимедийных данных отправитель или сервер должен в каждый момент времени решать, как кодировать (с какой скоростью) следующий пакет, который он будет отправлять, и решать, в какой момент времени отправить его. При нормальной работе отправитель может поддерживать воспроизведение в приемнике в режиме реального времени с использованием только отчетов RTCP. Услуга потоковой передачи данных с коммутацией пакетов (PSS, ПКП) для 3GPP (3ППП, Проект партнерства 3-го поколения) определяет нормативные требования буферизации видеоизображений с целью компенсации при кодировании и вариации задержки, специфичные для сервера, которые свойственны VBR (ППД, переменный поток данных) сжатию видеоданных и их передаче (см. 3GPP TS 26.234 V5.1.0, "Transparent End-to-End Packet Switched Streaming Service (PSS); Protocols and Codecs (Release 5)", июнь 2002 г., который ниже называется TS 26.234). Когда одновременно сервер и клиент потоковой передачи данных соответствуют требованиям буферизации, гарантируется, что клиент будет способен воспроизводить поток, передаваемый сервером, без нарушения работы буфера клиента (то есть в этом случае отсутствует опустошение или переполнение буфера клиента) при условии, что поток от сервера передают по надежному каналу передачи данных с постоянной задержкой. Однако такое условие невозможно в определенных обстоятельствах, например, во время передачи клиента, повторной передачи данных или смещения тактовой частоты. В результате, отправитель и получатель могут предпринимать действия, вступающие в конфликт друг с другом, что может привести к значительному ухудшению услуги, предоставляемой пользователю.

В известном уровне техники приемник модифицирует уровень своего буфера путем использования скорости (кодирования с субдискретизацией звука и/или видео) и масштаба (мультипликативного повышения или снижения скорости передачи битов) полей заголовков RTSP (ППРВ, протокол потоковой передачи данных в режиме реального времени). Эти заголовки определены в IETF RFC2326. Приемник также может использовать команды переключения скорости передачи битов клиентом, как описано в публикации "End-to-End bit rate adaptation for PSS", 3GPP SA4 doc S4-030024.

Сущность изобретения

Настоящее изобретение разделяет ответственность при адаптации скорости передачи между отправителем и получателем следующим образом.

Отправитель отвечает за:

- Адаптацию скорости передачи данных к скорости приема данных (то есть управление перегрузкой).

- Адаптацию скорости дискретизации к скорости передачи данных (то есть управление сдвигом и поддержанием его в пределах рабочего диапазона адаптации скорости).

Получатель отвечает за:

- Компенсацию вариации задержки передачи пакета (то есть быстрые флуктуации в сети).

- Установку параметров рабочего диапазона адаптации скорости передачи сервера (то есть диапазон сдвига).

Рабочий диапазон для адаптации скорости передачи сервера определяет пределы "динамического планирования сервера" путем указания допустимого минимального и максимального сдвига для любого пакета, передаваемого сервером. Параметры рабочего диапазона адаптации скорости передачи сервера обуславливают между сервером и приемником для минимизации вероятности возникновения опустошения, переполнения и ухудшения качества в таких случаях, как передача клиента, повторная передача данных и сдвиг тактовой частоты.

Таким образом, в первом аспекте настоящее изобретение направлено на способ адаптивного управления уровнем буфера приемника в клиенте, в сети потоковой передачи мультимедийных данных, причем сеть потоковой передачи данных содержит сервер, предоставляющий потоковые данные в клиент, при этом буфер приемника используют для компенсации разности между количеством данных, передаваемых сервером, и количеством данных, используемых клиентом, что позволяет клиенту иметь достаточное количество потоковых данных для воспроизведения без перерывов, заключающийся в том, что

определяют в клиенте, по меньшей мере, один параметр для определения рабочего диапазона адаптации скорости для выполнения адаптации скорости передачи между сервером и клиентом;

адаптируют на сервере количество данных к скорости приема на основе указанного, по меньшей мере, одного параметра; и

регулируют в клиенте вариации задержки передачи пакета на основе указанной адаптации.

В соответствии с настоящим изобретением этот, по меньшей мере, один параметр содержит величину минимального сдвига, указывающую разность между временем дискретизации и временем передачи пакета на сервере, что позволяет серверу выполнять указанную адаптацию на основе минимальной величины сдвига.

В соответствии с настоящим изобретением, по меньшей мере, один параметр содержит целевую величину сдвига, указывающую величину сдвига, большую, чем разность между временем дискретизации и временем передачи пакета на сервере, что позволяет серверу выполнять указанную адаптацию на основе целевой величины сдвига.

В соответствии с настоящим изобретением, по меньшей мере, один параметр содержит число, обозначающее максимальную разность между количеством байтов, которые были переданы, и количеством дискретизированных байтов, что позволяет серверу выполнять указанную адаптацию на основе этого числа.

В соответствии с настоящим изобретением указанную адаптацию на сервере выполняют путем регулировки скорости передачи данных или частоты дискретизации или обоих этих параметров.

В соответствии с настоящим изобретением, по меньшей мере, один параметр содержит величину сдвига тактовой частоты, предназначенного для предотвращения перерывов при воспроизведении в клиенте.

В соответствии с настоящим изобретением способ дополнительно содержит этап, на котором адаптируют частоту дискретизации к скорости передачи данных на сервере на основе указанного, по меньшей мере, одного параметра.

В соответствии с настоящим изобретением две или более величин из минимальной величины сдвига, целевой величины сдвига, обозначающего числа и тактовой частоты передают вместе на сервер.

Во втором аспекте настоящее изобретение направлено на систему потоковой передачи мультимедийных данных. Система содержит, по меньшей мере, клиент; и сервер, предназначенный для предоставления потоковых данных в клиент, причем клиент имеет буфер приемника, предназначенный для компенсации разности между количеством данных, передаваемых сервером, и количеством данных, используемых клиентом, что позволяет клиенту иметь достаточное количество потоковых данных для воспроизведения без перерывов, при этом клиент содержит

механизм для определения, по меньшей мере, одного параметра, для определения рабочего диапазона адаптации скорости, что позволяет серверу адаптировать количество данных к скорости приема на основе, по меньшей мере, указанного одного параметра; и

механизм для регулирования вариации задержки передачи пакета на основе указанной адаптации.

В соответствии с настоящим изобретением указанный, по меньшей мере, один параметр может включать в себя минимальную величину сдвига, указывающую разность между временем дискретизации и временем передачи пакета на сервере, что позволяет серверу выполнять указанную адаптацию на основе минимальной величины сдвига; целевую величину сдвига, указывающую величину сдвига, большую, чем разность между временем дискретизации и временем передачи пакета на сервере, что позволяет серверу выполнять указанную адаптацию на основе целевой величины сдвига; число, обозначающее максимальную разность между количеством переданных байтов и количеством дискретизированных байтов, и величину сдвига тактовой частоты для предотвращения перерывов при воспроизведении в клиенте.

В соответствии с настоящим изобретением сервер содержит механизм адаптации, предназначенный для адаптации частоты дискретизации к скорости передачи данных на основе указанного, по меньшей мере, одного параметра.

В третьем аспекте настоящее изобретение направлено на программный продукт, предназначенный для использования в клиенте в сети потоковой передачи мультимедийных данных для адаптивного управления уровнем буфера приемника в клиенте, причем сеть потоковой передачи мультимедийных данных содержит сервер, выполненный с возможностью предоставления потоковых данных в клиент, при этом буфер приемника используется для компенсации разности между количеством данных, передаваемых сервером, и количеством данных, используемых клиентом, что позволяет клиенту иметь достаточное количество потоковых данных для воспроизведения без перерывов, содержащий

код для определения, по меньшей мере, одного параметра, предназначенного для определения рабочего диапазона адаптации скорости на сервере, для выполнения адаптации скорости между сервером и клиентом; и

код для регулирования вариации задержки передачи пакета на основе указанной адаптации.

В соответствии с настоящим изобретением указанный, по меньшей мере, один параметр может включать в себя минимальную величину сдвига, указывающую разность между временем дискретизации и временем передачи пакета на сервере; целевую величину сдвига, указывающую величину сдвига, большую, чем разность между временем дискретизации и временем передачи пакета на сервере; число, обозначающее максимальную разность между количеством переданных байтов и количеством дискретизированных байтов; и величину сдвига тактовой частоты для предотвращения перерывов при воспроизведении в клиенте.

В четвертом аспекте настоящее изобретение направлено на терминал в сети потоковой передачи мультимедийных данных, имеющей, по меньшей мере, сервер, предназначенный для предоставления потоковых данных в терминал, причем терминал имеет буфер приемника, предназначенный для компенсации разности между количеством данных, переданных сервером, и количеством данных, используемых терминалом, что позволяет терминалу иметь достаточное количество потоковых данных для воспроизведения без перерывов. Терминал содержит

механизм для определения, по меньшей мере, одного параметра, который определяет рабочий диапазон адаптации скорости на сервере, что позволяет серверу адаптировать количество передаваемых данных к скорости приема на основе указанного, по меньшей мере, одного параметра; и

механизм для регулирования вариации задержки передачи пакета на основе указанной адаптации.

В соответствии с настоящим изобретением механизм определения содержит программу программного обеспечения, имеющую, по меньшей мере, код для определения указанного, по меньшей мере, одного параметра, и механизм регулирования содержит программу программного обеспечения, имеющую, по меньшей мере, код, предназначенный для регулирования вариации задержки передачи пакета.

В пятом аспекте настоящее изобретение направлено на сетевой элемент в сети потоковой передачи мультимедийных данных, имеющей, по меньшей мере, терминал, который принимает потоковые данные от сетевого элемента, причем терминал имеет буфер приемника для компенсации разности между количеством данных, переданных сетевым элементом, и количеством данных, используемых терминалом, что позволяет терминалу иметь достаточное количество потоковых данных для воспроизведения без перерывов. Сетевой элемент содержит

средство приема запроса от терминала, причем в запросе указан, по меньшей мере, один параметр, который определяет рабочий диапазон адаптации скорости сетевого элемента; и

механизм, предназначенный для адаптации, на основе указанного, по меньшей мере, одного параметра, количества передаваемых данных к скорости приема терминала, что позволяет терминалу регулировать вариацию задержки передачи пакета на основе указанной адаптации.

В соответствии с настоящим изобретением механизм адаптации содержит программу программного обеспечения, имеющую, по меньшей мере, код, предназначенный для адаптации количества передаваемых данных.

В соответствии с настоящим изобретением программа программного обеспечения содержит код, предназначенный для регулирования скорости передачи или частоты дискретизации или обоих этих параметров.

Настоящее изобретение будет более понятно при чтении его описания со ссылкой на фиг.1-3.

Краткое описание чертежей

На фиг.1 показан график, определяющий параметры в соответствии с кривыми дискретизации и передачи данных.

На фиг.2 показан график, иллюстрирующий передачу клиента и ее влияние на уровень приемного буфера для определенных параметров сдвига.

На фиг.3 показана блок-схема, представляющая систему потоковой передачи мультимедийных данных, включающую в себя устройство сервера и устройство клиента, которые могут выполнять способ адаптации скорости передачи данных, в соответствии с настоящим изобретением.

Подробное описание изобретения

Для определения, какой минимальный и максимальный сдвиг разрешен для любого пакета, передаваемого сервером, в настоящем изобретении "сдвиг" определен с использованием следующей модели адаптации скорости.

А. Модель адаптации скорости при взаимодействии

Разность времени α между временем дискретизации (то есть отметкой времени) мультимедийных данных в пакете RTP (ТПР, транспортный протокол реального времени) и временем передачи пакета (то есть, когда он отправлен сервером) определена как "сдвиг". Как можно видеть по кривым дискретизации (S) и передачи (T), сдвиг α может быть выражен как T(t) = S(t + α).

Сдвиг представляет собой положительную величину, когда время дискретизации пакета наступает позже, чем время передачи пакета. Сдвиг имеет отрицательную величину, когда время дискретизации пакета наступает раньше, чем время передачи пакета.

На основе определения "сдвига" параметры минимального и максимального сдвигов определяются следующим образом.

B. Параметры рабочего диапазона адаптации скорости передачи сервера

Параметры рабочего диапазона адаптации скорости передачи определены следующим образом.

1) Минимальный сдвиг - этот параметр определяет наименьший сдвиг, который может использовать отправитель. Он определяет для времени t передачи самое позднее допустимое время дискретизации данных, которые могут быть переданы. Если этот параметр представляет собой α_min, отправитель должен отправить в момент времени t пакет, время дискретизации которого не раньше, чем t + α_min.

При сравнении этого максимального предела, самого позднего времени, когда пакеты могут быть отправлены, с их временем дискретизации, в приемнике может поддерживаться воспроизведение в режиме реального времени. Приемник может выполнять оценку максимального времени, в которое он может ожидать пакеты, для исключения задержки при воспроизведении (то есть при отсутствии опустошения приемного буфера).

Необходимо задать размеры исходной задержки буферизации приемника (то есть опережение при передаче данных) для обеспечения минимального сдвига и, кроме того, для компенсации вариации задержки при передаче пакета. В качестве примера, допустим, что минимальный сдвиг составляет -2000 мс. Это означает, что когда отправитель передает пакет, время дискретизации пакета должно быть максимум на 2 секунды раньше по сравнению с временем его передачи, но не больше. Для того чтобы исключить опустошение приемного буфера, приемник первоначально должен поместить в буфер максимальную ожидаемую вариацию задержки передачи пакета, плюс 2 секунды. Чем меньше (отрицательное) значение, тем выше потребность в исходной буферизации в приемнике.

Когда приемник детектирует сдвиг тактовой частоты (то есть отклонение кривой воспроизведения приемника от кривой дискретизации, поддерживаемой на сервере), параметр минимального сдвига может быть модифицирован с тем, чтобы вынудить сервер следовать кривой воспроизведения с моментами времени передачи пакета. Например, если приемник работает быстрее, он может воспроизвести данные с более высокой скоростью, чем выполняется их дискретизация. Это, в конечном счете, может привести к опустошению буфера. Такое опустошение может быть исключено путем отправки в отправитель запроса увеличить его минимальный сдвиг.

Если приемник работает медленнее, чем отправитель, минимальный сдвиг необходимо уменьшить. Если приемник работает быстрее, чем отправитель, он должен быть увеличен.

Исходное значение минимального сдвига обычно должно быть отрицательным, но приемник может модифицировать его так, что оно также может стать положительным. Например, в случае более быстрого приемника (то есть тактовой частоты для более быстрого воспроизведения), когда минимальный сдвиг увеличивается, он, в конечном счете, может стать положительным. Например, если исходная величина составляет -2 секунды, отправитель может затем запросить установить сдвиг -1,9 секунды, затем -1,7 секунды и т.д.

2) Целевой сдвиг - этот параметр определяет сдвиг, который клиент желает, чтобы был установлен отправителем. Если этот параметр представляет собой α_target, отправитель должен передавать в момент времени t пакет, время дискретизации которого составляет t+α_target.

Целевой сдвиг всегда должен быть больше, чем минимальный сдвиг, определенный выше. По определению, если отправитель передает пакет в соответствии с целевым сдвигом, он также, очевидно, соответствует минимальному сдвигу.

Целевой сдвиг предназначен для снижения потребности в уменьшении частоты дискретизации, когда скорость передачи данных необходимо резко уменьшить (например, при передаче клиента), но при этом необходимо удовлетворять конечные сроки режима реального времени (то есть минимальный сдвиг). Другими словами, целевой сдвиг предназначен для того, чтобы отправитель передавал пакеты раньше, чем строго необходимо для удовлетворения требований режима реального времени, когда скорость передачи не достаточно хороша.

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

В случае когда сервер работает близко к значению целевого сдвига, когда скорость передачи данных уменьшается, не требуется, чтобы уменьшение частоты дискретизации было таким же резким, как уменьшение скорости передачи данных. Отправитель, который снижает скорость передачи данных без снижения частоты дискретизации, уменьшит действительный сдвиг ниже целевого сдвига, но при этом все еще может поддерживаться минимальный сдвиг без необходимости уменьшения частоты дискретизации в такой значительной степени, как наблюдаемое уменьшение скорости передачи данных.

После того, как сервер был вынужден уменьшить свой сдвиг, он должен восстановить целевой сдвиг, когда скорость передачи данных снова повышается. Для достижения целевого сдвига, передаваемого приемником, отправитель может использовать комбинацию увеличения скорости передачи данных и уменьшения частоты дискретизации (или уменьшения скорости передачи данных и повышения частоты дискретизации) в зависимости от текущих ограничений скорости передачи данных.

При определении целевого сдвига, таким образом, устраняется необходимость передачи приемником "команд" на сервер для того, чтобы вначале уменьшить, а затем снова увеличить сдвиг при значительном падении скорости передачи данных. Сам отправитель принимает решение на уменьшение сдвига от величины целевого сдвига, но затем снова увеличивает сдвиг до величины целевого сдвига, значение которого было ранее передано приемником.

По этой причине такую схему можно назвать упреждающей. При этом не требуется выполнять передачу сигналов (о сдвиге), когда снижается скорость передачи данных.

3) Максимальное количество заранее переданных байтов - этот параметр определяет максимальную разность между количеством байтов, которые были переданы в момент времени t, и количеством байтов, дискретизацию которых выполнили до момента времени t (то есть разность между кривой передачи и кривой дискретизации: T(t) - S(t)). Этот параметр ограничивает необходимый размер буфера в приемнике для содержания пакетов, которые были приняты в результате положительного сдвига и которые, таким образом, должны ожидать в приемнике времени своего воспроизведения. Цель этого параметра состоит в предотвращении переполнения буфера.

Эти параметры представлены на фиг.1 на примере кривой T(t) передачи и кривой S(t) дискретизации.

C. Требования соответствия сервера параметрам рабочего диапазона адаптации скорости передачи

Параметры "минимального сдвига" и "максимального количества" заранее переданных байтов должны строго поддерживаться на сервере. При этом сервер пытается работать в условиях нормальной передачи, как можно ближе к "целевому сдвигу", насколько это позволяют его возможности и доступное кодирование мультимедийных данных.

Ввиду возможных вариаций скорости кодирования мультимедийных данных с течением времени "целевой сдвиг" не может точно поддерживаться сервером для всех передаваемых пакетов. Отклонение от "целевого сдвига" разрешено по усмотрению сервера в условиях передачи данных, когда он определяет, что строгое следование "целевому сдвигу" приведет к ненужному ухудшению качества (см. примеры случая использования, приведенные ниже). Также решением/возможностями сервера определяется, насколько быстро "целевой сдвиг" будет восстановлен после такого отклонения.

Всякий раз, когда параметры "целевой сдвиг" и "максимальное количество заранее переданных байтов" вступают в конфликт (то есть поддержание целевого сдвига приведет к превышению максимального количества заранее переданных байтов), последний получает приоритет.

D. Разделение ответственности между сервером и клиентом

Ключевой момент при поддержании воспроизведения без перерывов состоит в эффективном управлении уровнем буфера приемника. Такое управление может быть обеспечено при использовании, по меньшей мере, подразумеваемого или предполагаемого управления как над кривой воспроизведения, так и над кривой приема в клиенте. Клиент по определению знает и управляет линией времени декодирования/воспроизведения. Благодаря введению отправителем возможности управления над сдвигом, клиенту предоставляется, по меньшей мере, предполагаемое управление кривой приема данных и ее соответствия кривой дискретизации, и, таким образом, предоставляется возможность управления уровнем буфера приемника.

В соответствии с этим клиент выбирает и запрашивает параметры сдвига с учетом своих абсолютных ограничений по буферизации. В такой модели адаптации скорости передачи данных с взаимодействием приемник запрашивает только параметры сдвига, и отправитель по своему усмотрению адаптирует свою скорость кодирования и/или скорость передачи данных при ответе на запрос. При этом может быть адаптированной либо кривая передачи, или кривая дискретизации, или может использоваться комбинация обоих этих вариантов.

Однако частоту дискретизации (то есть выбор потока битов для передачи) оставляют под управлением сервера, поскольку:

- Только сервер знает точные характеристики каждого потока битов, например, положения переключения, приоритеты фреймов, будущие размеры фреймов.

- Может отсутствовать скорость потока битов, которая соответствует скорости потока битов в сети, так что сервер может использовать некоторые "трюки" (например, разрежение, переключение с повышением и снижением скорости) для согласования скорости потока битов со скоростью потоков битов в сети.

Управление скоростью передачи данных (то есть скоростью, с которой происходит передача данных) также оставляют для сервера (то есть с использованием отчетов RTCP), поскольку:

- В общем случае только сервер может измерить количество данных в ходе работы.

- Может возникнуть потребность связать скорость передачи битов с частотой дискретизации, если управление частотой дискретизации имеет ограниченную гибкость.

Отправитель ограничен при попытке обеспечить адаптацию следующими моментами.

- Модификация кривой передачи: кривая передачи ограничена кривой приема, и, таким образом, отправитель может не иметь возможности увеличить ее. Он может увеличить ее, только если ранее не была полностью использована его общая доступная полоса пропускания. Например, сервер может использовать механизм TFRC (УСБП, управление скоростью, благоприятное для протокола управления передачей) (или прием подробной информации о полосе пропускания с использованием передачи приемником соответствующих сигналов) для расчета своей допустимой скорости передачи данных и не должен увеличивать свою скорость выше скорости, которую допускает TFRC (или действительное, полученное с помощью передачи сигналов значение полосы пропускания).

- Модификация кривой дискретизации: зависит от возможности адаптации скорости отправителя. Например, если отправитель выполняет переключение потока битов и если отправитель выполняет передачу с самым низким (или с самым высоким) потоком битов, он не может дополнительно уменьшить (или увеличить) частоту дискретизации.

E. Случаи использования

В соответствии с настоящим изобретением параметры рабочего диапазона адаптации скорости передачи сервера согласовывают между сервером и приемником для минимизации возникновения опустошения, переполнения и ухудшения качества в таких случаях, как передача клиента, повторная передача и смещение тактовой частоты.

В случае передачи пакетов RTP приемник может выбирать количество повторных передач пакетов, которые он желает выполнить, и задержку, которая будет для него допустимой при повторной передаче.

В случае передачи клиента приемник может получить, например, на основе типа радиосети ожидаемую длительность передачи и, таким образом, определить требуемый целевой сдвиг. Приемник лучше знает параметры канала радиосвязи и также может детектировать передачу внутри системы и необходимость соответствующей адаптации параметров сдвига тактовой частоты.

Приемник может компенсировать смещение тактовой частоты с отправителем путем обновления параметров сдвига тактовой частоты.

Повторная передача RTP

Перед подачей запроса на повторную передачу приемник обычно должен оценить возможность повторной передачи пакета до его времени воспроизведения. Если пакет не может быть передан, повторная передача будет напрасно занимать доступную полосу пропускания.

Отправитель знает время дискретизации пакетов, которые были запланированы, по меньшей мере, со сдвигом α_min, для того, чтобы обеспечить соответствие ограничениям реального времени в приемнике.

Пакет повторной передачи в этом отношении не отличается от пакета, отправляемого в первый раз. Поскольку минимальный сдвиг указывает пороговое значение опустошения в приемнике, отправитель не должен выполнять повторную передачу пакета, если его временная метка меньше, чем t + α_min, где t представляет текущее время.

Передача сигнала с параметрами сдвига, таким образом, позволяет более эффективно выполнять повторную передачу пакетов, позволяя отправителю не выполнять повторную передачу пакетов, которые не смогут поступить в приемник до времени их декодирования и повторная передача которых напрасно использовала бы доступную полосу пропускания. Приемник не должен быть чрезмерно консервативным в своей оценке возможности приема недостающего пакета до его воспроизведения. Неправильная оценка не будет иметь эффекта (кроме бесполезного запроса), как если бы сервер не выполнил повторную передачу пакета.

Приемник также может принимать компромиссное решение в отношении количества повторных передач, которые он хотел бы выполнить, с использованием целевого сдвига. Чем больше величина целевого сдвига, тем больше пакетов будет отправлено заранее (и тем выше будет уровень приемного буфера), пока условия в сети хорошие. Это в свою очередь даст больше времени для повторных передач, когда условия сети ухудшаются.

Здесь снова сдвиг тактовой частоты является упреждающим. Приемнику не требуется синхронизировать запрос на сдвиг с запросом RTCP.

Передачи клиента

Передачу сигналов с указанием значений сдвига тактовой частоты можно использовать как инструмент для предотвращения перерывов воспроизведения в приемнике в результате передачи клиента.

Предположим, что приемник подключен к сети, и он знает, что ожидаемая длительность передачи клиента для этой сети составляет TH. Предположим, что приемник устанавливает свой целевой сдвиг так, чтобы он был, по меньшей мере, больше на значение TH, чем минимальный сдвиг, то есть α_target