При смене канала пользователь может изменить только один канал или последовательно переключать каналы. В соответствии с поведением операций такого пользователя определяются две ситуации переключения каналов: внутрипотоковые и межпотоковые переключение каналов. Переключение каналов внутри потока означает, что пользователь уменьшает или увеличивает только один канал за раз. Например, пользователь смотрит канал N, который является активным каналом. В это время он меняет активный канал на канал N–1 или N+1. Поскольку каналы N, N+1 и N–1 одновременно принимаются и буферизуются клиентом IPTV, переключение каналов внутри потока не требует времени буферизации переключения. Другими словами, переключению внутрипотокового канала необходим только интервал обработки команд для изменения указателя воспроизведения из буфера N в буфер N–1 или N+1. С другой стороны, пользователь может непрерывно менять каналы. Например, пользователь может изменить канал с канала N на канал N+2 (количество измененных каналов равно двум или более двух). Такая ситуация называется переключением каналов между потоками, когда переключение каналов выходит за многоканальный поток.
Подробная процедура работы для обеих ситуаций переключения каналов описана ниже.
Внутрипотоковое переключение каналов. Предложен способ переключения буфера, который осуществляет переключение каналов внутри потока. Как показано на рис. 1, существует три буфера, принимающих и хранящих видеопакеты, отправленные с сервера IPTV.
Задержка внутрипотокового переключения каналов составляет:
Dintra указывает общее время переключения канала внутри потока;
Dprocess – время обработки запроса;
Dswitch – время для переключения пользователя из буфера N в буфер N–1 или N+1.
Межпотоковое переключение каналов. Поскольку контент IPTV выбранного канала не буферизируется в памяти клиента IPTV, переключение внутрипотокового канала не может быть использовано, если пользователь непрерывно меняет каналы IPTV (количество измененных каналов IPTV равно двум или более двух). В это время клиент IPTV должен присоединиться к новому многоканальному потоку. В этой статье логический многоканальный поток включает в себя один основной канал и два подканала. Поэтому клиент IPTV должен присоединиться и покинуть три многоадресные группы одновременно, когда выполняется переключение каналов между потоками.