СПОСОБ УПРАВЛЕНИЯ ПЕРЕДАЧАМИ ПАКЕТОВ ДАННЫХ ДЛЯ ДАННЫХ С ПЕРЕМЕННЫМ БИТРЕЙТОМ

1. Способ управления передачами пакетов данных с переменным битрейтом от сервера (105) клиенту (115), имеющему в составе клиентский буфер (155), причем сервер осуществляет переключение между различными версиями потока передаваемых данных с переменным битрейтом на основании состояния клиентского буфера, способ содержит этапы, на которых:
выбирают (202) для передачи начальную версию потока данных с переменным битрейтом;
отслеживают (204) значение (PT), представляющее количество данных внутри клиентского буфера;
определяют (206) битрейт (BR) для порции данных с переменным битрейтом, еще подлежащих передаче в рамках выбранной версии потока; и
управляют переключениями (212) на другие версии потока, имеющие различные средние битрейты, на основании значения (PT), представляющего количество данных внутри клиентского буфера, в комбинации с битрейтом (BR) для порции данных с переменным битрейтом, еще подлежащих передаче.
2. Способ по п.1, в котором этап управления переключениями (212) включает в состав этап, на котором:
NEXT
AVE
если битрейт (BR) для следующей порции подлежащих передаче данных с переменным битрейтом превышает средний битрейт (BR), то задерживают (310) переключение на версию потока, имеющую в целом более высокий битрейт.
3. Способ по п.1, в котором этап управления переключением (212) включает в состав этап, на котором:
NEXT
AVE
если битрейт (BR) для следующей порции подлежащих передаче данных с переменным битрейтом превышает средний битрейт (BR), то ускоряют (314) переключение на версию потока, имеющую в целом низкий битрейт.
4. Способ по п.1, в котором этап управления переключением (212) включает в состав этап, на котором:
NEXT
AVE
если битрейт (BR) для следующей порции подлежащих передаче данных с переменным битрейтом ниже среднего битрейта (BR), то ускоряют переключение (310) на версию потока, имеющую в целом более высокий битрейт.
5. Способ по п.1, в котором сервер (105) управляет переключением на различные версии потока на основании текущего состояния клиентского буфера (155), применяя одну или несколько пороговых величин к данным, уже находящимся в клиентском буфере, и при этом этап управления переключением (212) содержит этапы, на которых:
динамически подстраивают (306) одну или несколько пороговых величин на основании битрейта (BR) для порции подлежащих передаче данных с переменным битрейтом; и
определяют, переключать ли на другую версию потока, на основании текущего состояния клиентского буфера (155), применяя одну или несколько подстраиваемых пороговых величин к значению (PT), представляющему количество данных внутри клиентского буфера (115).
UP
DOWN
6. Способ по п.5, в котором одна или несколько пороговых величин включает в себя, по меньшей мере, одну из пороговой величины (PT) переключения-вверх и пороговой величины (PT) переключения-вниз.
7. Способ по п.6, в котором этап динамической подстройки (306) одной или нескольких пороговых величин включает в состав этапы, на которых:
AVE
определяют средний битрейт (BR) для данных с переменным битрейтом; и
UP
DOWN
NEXT
AVE
выборочно подстраивают (306) пороговые величины переключения-вверх и переключения-вниз (PT, PT) на основании сравнения битрейта (BR) для следующей порции подлежащих передаче данных с переменным битрейтом со средним битрейтом (BR) для данных с переменным битрейтом.
UP
DOWN
8. Способ по п.7, в котором этап выборочной подстройки (306) пороговых величин переключения-вверх и переключения-вниз (PT, PT) включает в состав этапы, на которых:
NEXT
AVE
увеличивают (306) пороговые величины переключения-вверх и переключения-вниз, если битрейт (BR) для следующей порции данных с переменным битрейтом превышает средний битрейт (BR); и
NEXT
AVE
уменьшают (306) пороговую величину переключения-вверх, если битрейт (BR) для следующей порции данных с переменным битрейтом ниже среднего битрейта (BR), и если пороговая величина переключения-вверх превышает пороговую величину переключения-вниз.
UP
DOWN
9. Способ по п.8, в котором этап увеличения пороговых величин переключения-вверх и переключения-вниз (PT, PT), если битрейт для следующей порции данных с переменным битрейтом превышает средний битрейт, включает в состав этапы, на которых:
определяют (302) битрейт для следующей порции данных с переменным битрейтом;
вычисляют (304) значение отношения (F) битрейта для следующей порции данных с переменным битрейтом к среднему битрейту; и
UP
DOWN
умножают (306) пороговые величины переключения-вверх и переключения-вниз (PT, PT) на значение отношения, чтобы таким образом увеличить пороговые величины.
UP
10. Способ по п.8, в котором этап уменьшения пороговой величины переключения-вверх (PT) включает в состав этапы, на которых:
определяют (302) битрейт для следующей порции данных с переменным битрейтом;
вычисляют (304) значение отношения (F) битрейта для следующей порции данных с переменным битрейтом к среднему битрейту;
умножают (306) пороговую величину переключения-вверх на значение отношения, чтобы таким образом уменьшить пороговую величину; и
выбирают (310) наибольшую из уменьшенной пороговой величины переключения-вверх и пороговой величины переключения-вниз для использования в качестве новой пороговой величины переключения-вверх.
AVE
11. Способ по любому из пп.2-10, в котором средний битрейт (BR) представляет средний битрейт по полной версии передаваемого потока.
AVE
12. Способ по любому из пп.2-10, в котором средний битрейт (BR) представляет средний битрейт для данных, которые были уже переданы в рамках версии передаваемого потока.
13. Способ по любому из пп.2-10, в котором значение, связанное с данными в клиентском буфере, представляет продолжительность (PT) воспроизведения данных.
14. Способ по любому из пп.2-10, в котором значение, связанное с данными в клиентском буфере, представляет уровень заполнения буфера данными.
15. Компьютерный программный продукт, содержащий части программного кода, предназначенные для выполнения этапов по любому из предшествующих пунктов, когда компьютерный программный продукт исполняется на компьютерной системе.
16. Компьютерный программный продукт по п.15, в котором компьютерный программный продукт хранится на машиночитаемом носителе записи.
17. Устройство, содержащее процессор компьютера и запоминающее устройство, соединенное с процессором, причем запоминающее устройство является кодированным с одной или несколькими программами, которые могут выполнять этапы по любому из пп.1-14.
18. Устройство (400) для управления передачами пакетов данных с переменным битрейтом от сервера (105) клиенту (115), имеющему в составе клиентский буфер (155), причем сервер осуществляет переключения между различными версиями потока передаваемых данных с переменным битрейтом на основании состояния клиентского буфера, устройство содержит:
упреждающий контроллер (402) передачи потока с переменным битрейтом, чтобы выбирать (202) для передачи начальную версию потока данных с переменным битрейтом;
блок (404) контроля клиентского буфера для отслеживания значения, представляющего количество данных внутри клиентского буфера;
блок (406) определения переменного битрейта для определения битрейта (BR) для порции данных с переменным битрейтом, еще подлежащих передаче в рамках выбранной версии потока; и
при этом упреждающий контроллер (402) передачи потока с переменным битрейтом затем управляет переключениями на различные версии потока, имеющие различные средние битрейты, на основании значения (PT), представляющего количество данных внутри клиентского буфера, в комбинации с битрейтом (BR) для порции данных с переменным битрейтом, еще подлежащих передаче.