РАЗДЕЛЕНИЕ ПОТОКА ДАННЫХ
SPLITTING DATA STREAM

Настоящее изобретение относится к способу и устройству для разделения потока данных на пакеты, причем упомянутый поток данных содержит блоки видеоинформации и блоки информации, не являющейся видеоинформацией. Изобретение также относится к компьютерной программе для осуществления способа, носителю записи, содержащему эту компьютерную программу, передатчику, содержащему устройство для разделения потока данных на пакеты, и способу передачи блоков видеоинформации и блоков информации, не являющейся видеоинформацией, содержащихся в потоке данных.
В реферате документа “Network-Adaptive High Definition MPEG-2 Streaming over IEEE 802.11a WLAN using Frame-based Piroritized Packetization”, и SangHoon Park, Seungjoo Lee и JongWon Kim (Networked Media Lab. Department of Information and Communication, Gwangju Institute of Science и technology (GIST), Gwangju, 500-712, KOREA) описано практическое воплощение адаптированного к сети формирования имеющих высокое разрешение (HD) потоков стандарта MPEG-2 по беспроводной локальной сети (WLAN), соответствующей стандарту 802.11а Института инженеров по электротехнике и радиоэлектронике (IEEE). Предложенная система адаптированного формирования потоков обеспечивает приоритетное пакетирование на основе кадров путем разработки средства синтаксического разбора транспортного потока (TS), соответствующего стандарту MPEG-2, в реальном масштабе времени. Это средство динамически осуществляет удаления пакетов на основе приоритетов в соответствии с состоянием сети, наблюдаемым посредством сквозного мониторинга.
Бытовые сети соединяют персональные компьютеры, телефоны и потребительские электронные устройства. Кабельная проводка обычно нежелательна, поэтому растет популярность беспроводных сетей и устройств. Недостатком беспроводной среды передачи является ее чувствительность к условиям передачи. Когда ширина полосы пропускания сети уменьшается и становится недостаточной для передачи всего потока, пакеты теряются, а влияние этого, например, на отображаемую видеоинформацию и аудиоинформацию становится и в самом деле губительным. Чтобы уменьшить или даже полностью устранить все эти нежелательные эффекты, предложены различные методы, характеризующиеся попытками принятия мер в связи с той частью информации, которая утрачивается. Одним из этих методов, касающихся потоков видеоинформации, является метод решения задач планирования сетей, именуемый «задержкой I-кадров» (IFD) (см. “Adaptive Scheduling of MPEG Video Frames during Real-Time Wireless Video Streaming”, S. Kozlov, P. van der Stok, и J. Lukkien, Proceedings of WoWMoM, июнь 13-16, 2005). IFD обуславливает удаление кадров видеоинформации, когда обнаруживается, что имеющаяся ширина полосы пропускания недостаточна для передачи всего потока видеоинформации. Это удаление делается таким образом, что первыми удаляются наименее важные кадры (B-кадры), вследствие чего значительно уменьшается появление искажений на стороне приемника, которые являются эффектом появляющихся в противном случае потерь (частей) более важных кадров (I- и P-кадров).
Однако потребительские электронные устройства обычно также имеют звуковую ассоциативную связь с потоком видеоинформации. Простое решение заключается в том, чтобы отправлять поток аудиоинформации отдельно от потока видеоинформации и применять IFD, например, только к потоку видеоинформации. Во время передачи аудиоинформации назначается более высокий приоритет, чем потоку видеоинформации, потому что люди чувствительнее к искажениям аудиоинформации. Однако в случае, когда мультимедийный контент попадает в дом посредством трансляции, например цифрового видеовещания (DVB), используемыми потоками, как правило, являются транспортные потоки стандарта MPEG-2, в которых блоки аудиоинформации и видеоинформации мультиплексированы совместно с некоторыми другими системными данными. Демультиплексирование транслируемых транспортных потоков с получением элементарных потоков аудиоинформации и видеоинформации перед пропусканием потоков по бытовой сети требует большей вычислительной мощности в бытовом шлюзе, кроме того, теряется дополнительная информация (например, субтитры). Следовательно, наилучшим вариантом было бы пропускание транспортных потоков непосредственно по бытовой сети без демультиплексирования.
Поэтому задача настоящего изобретения состоит в том, чтобы устранить вышеупомянутые ограничения.
Эта задача решается путем разделения упомянутого потока данных на пакеты, которые содержат либо только блоки видеоинформации, либо только блоки информации, не являющейся видеоинформацией, путем осуществления разделения в упомянутом потоке данных для завершения пакета и начала нового пакета.
Поток данных содержит блоки видеоинформации и блоки информации, не являющейся видеоинформацией, такие как блоки аудиоинформации и блоки данных, которые перемежаются в типичной структуре мультиплексированного потока. Таким образом, за счет разделения потока данных в том виде, в каком он пропускается, на пакеты, которые содержат только блоки видеоинформации или только блоки информации, не являющейся видеоинформацией, становится возможной раздельная работа с соответствующими блоками. Следовательно, можно улучшить отображаемый поток видеоинформации посредством IFD, не вызывая при этом появление каких-либо искажений аудиоинформации в потоке аудиоинформации. Воплощение настоящего изобретения предусматривает изменения только в передатчике потока данных, а приемники можно использовать стандартные.
Истинный смысл настоящего изобретения состоит в постижении сути и в реализации разделения потока данных на меньшие пакеты, чем обычно. За счет этого становится возможным получение пакетов, содержащих либо блоки видеоинформации, либо блоки информации, не являющейся видеоинформацией, с которыми можно работать по отдельности. Кроме того, выделяются также разные блоки видеоинформации, относящиеся к разным кадрам видеоинформации, для использования посредством IFD.
Вышеупомянутая задача также решается с помощью устройства для разделения потока данных на блоки видеоинформации и блоки информации, не являющейся видеоинформацией. Эта задача также решается с помощью компьютерной программы для осуществления способа, носителя записи, содержащего эту компьютерную программу, передатчика, содержащего устройство для разделения потока данных на пакеты, и способа передачи блоков видеоинформации и блоков информации, не являющейся видеоинформацией, содержащихся в потоке данных.
В предпочтительном варианте осуществления настоящего изобретения способ разделения упомянутого потока данных предусматривает выделение текущего блока для нового пакета, если только один из текущего блока и непосредственно предшествующего блока является блоком видеоинформации.
Мультиплексированный поток данных принимается в потоке блоков видеоинформации, аудиоинформации и данных. Начиная новый пакет назначением текущего блока этому пакету, если текущий блок или непосредственно предшествующий блок является блоком видеоинформации, тем самым осуществляют разделение с получением блоков видеоинформации или отделение их от блоков информации, не являющейся видеоинформацией.
В еще одном предпочтительном варианте осуществления настоящего изобретения, способ разделения упомянутого потока данных предусматривает выделение текущего блока для нового пакета, если количество блоков, уже выделенных для непосредственно предшествующего пакета, равно предварительно заданному количеству.
В сетях с коммутацией пакетов существуют правила для максимальных размеров пакетов, которые можно передавать через сетевые интерфейсы. Максимальный размер пакета в Ethernet составляет 1500 байт. При формировании потока в соответствии, например, с транспортным протоколом реального времени (RTP) заданы правила пакетирования блоков транспортных потоков общим размером 188 байт с получением блоков, соответствующих RTP (RTP-блоков). Обычный путь - взять 7 блоков транспортного потока и упаковать их в один пакет, соответствующий RTP (RTP-пакет), что дает размер полезной нагрузки, составляющий 1316 байт. Выделяя текущий блок для нового пакета, если количество блоков, уже выделенных для непосредственно предшествующего пакета, равно предварительно заданному количеству, можно гарантировать, что максимальный размер пакета не будет превышен никогда.
В еще одном предпочтительном варианте осуществления настоящего изобретения, способ разделения упомянутого потока данных предусматривает выделение текущего блока для нового пакета, если и текущий блок, и непосредственно предшествующий блок являются пакетами видеоинформации, но относятся к разным кадрам видеоинформации.
Пакет может содержать блоки, которые принадлежат нескольким кадрам, и если в разделяемом потоке данных надлежит применять IFD, то части многих кадров могут быть удалены одновременно, что обуславливает возможные искажения видеоинформации. Назначение разным пакетам блоков видеоинформации, которые принадлежат разным кадрам, уменьшает этот риск.
Дополнительные признаки и преимущества настоящего изобретения изложены в прилагаемой формуле изобретения, упоминание о которой приводится здесь для справок и к которой читатель теперь может обратиться непосредственно.
Теперь, лишь в качестве примера и со ссылками на прилагаемые чертежи, будут описаны предпочтительные варианты осуществления настоящего изобретения, при этом:
на фиг. 1 показаны три примера потока данных и границ пакета после применения способа разделения в соответствии с настоящим изобретением;
на фиг. 2 схематически показано решение с посылающим устройством в случаях посылающего устройства, работающего в соответствии с транспортным протоколом реального времени (посылающего RTP-устройства), и посылающего устройства, работающего в соответствии с протоколом управления передачей (посылающего TCP-устройства).
Возможны различные варианты осуществления настоящего изобретения. Сначала будет описан вариант осуществления для формирования потоков в соответствии с транспортным протоколом реального времени (протоколом RTP). Типичным путем в соответствии с известным уровнем техники является разделение потока данных на RTP-пакеты, содержащие семь блоков транспортного потока, такие как блоки видеоинформации (V-блоки), блоки аудиоинформации (А-блоки) и блоки данных (D-блоки) (см. позицию 1 на фиг. 1). Проблема, возникающая в связи с алгоритмом разделения этого типа, заключается в том, что когда применяют IFD (по поводу IFD - см. “Adaptive Scheduling of MPEG Video Frames during Real-Time Wireless Video Streaming”, S. Kozlov, P. van der Stok, и J. Lukkien, Proceedings of WoWMoM, июнь 13-16, 2005), удаляются все RTP-пакеты, а при заданной типичной структуре мультиплексированного транспортного потока, в которой пакеты аудиоинформации и видеоинформации перемещены, удаление RTP-пакета может привести к удалению аудиоинформации, а также данных. Кроме того, в одном RTP-пакете могут содержаться части многих кадров, так что может произойти удаление многих кадров (как важных, так и неважных) одновременно. Отметим, что обозначения, употребляемые на фиг. 1 для блоков V1-V4 видеоинформации, означают, что они принадлежат разным кадрам 1-4 видеоинформации.
Поэтому нужен другой алгоритм разделения, который описан ниже. Во время разделения текущий блок выделяется для нового пакета (иными словами, предшествующий RTP-пакет завершается), если удовлетворяется любой из следующих критериев.
1. Если только один из текущего блока и непосредственно предшествующего блока является блоком видеоинформации.
2. Если количество блоков, уже выделенных для непосредственно предшествующего пакета, равно предварительно заданному количеству.
3. Если и текущий блок, и предшествующий блок являются блоками видеоинформации, но относятся к разным кадрам видеоинформации.
В случае RTP, показанном на фиг. 1, поток данных разделен на девять RTP-пакетов в соответствии с алгоритмом разделения. Для того чтобы проиллюстрировать каждый из критериев в алгоритме разделения, будут прокомментированы три разделения (3, 5 и 7). При разделении (3) текущим блоком является блок V1 видеоинформации, а непосредственно предшествующим блоком является блок А аудиоинформации, так что разделение проведено по первому критерию. Таким образом, блок А аудиоинформации завершает предшествующий пакет (в этом случае - содержащий только один блок), а блок V1 видеоинформации начинает новый пакет. Определение того, является ли блок транспортного потока блоком типа видеоинформации, аудиоинформации или данных, проводят просто путем считывания заголовка транспортного пакета каждого блока, в котором сохранен идентификатор пакета (PID).
Все следующие восемь блоков в потоке данных являются блоками V1 видеоинформации, а второй критерий гласит, что если количество блоков, уже выделенных для непосредственно предшествующего пакета, равно предварительно заданному количеству, в этом случае восьми, то проводят разделение (5), а текущий блок выделяется для нового пакета. Таким образом, предшествующий блок V1 видеоинформации завершает предшествующий пакет, а текущий блок V1 видеоинформации начинает новый пакет (в этом случае - содержащий только один блок видеоинформации). Следовательно, пакеты никогда не будут содержать более семи блоков.
При разделении (7) оба - текущий блок V4 и предшествующий блок V3 - являются блоками видеоинформации, но относятся они к разным кадрам 3 и 4 видеоинформации, так что разделение проведено в соответствии с третьим критерием. Таким образом, блок V3 видеоинформации завершает предшествующий пакет, а блок V4 видеоинформации начинает новый пакет. Определение того, начинает ли блок видеоинформации новый пакет, проводят путем сканирования на предмет наличия заголовков изображений стандарта MPEG в полезной нагрузке блоков видеоинформации. Заголовки изображений также дают информацию о важности кадров (I-, P- или B-кадров).
Результатом алгоритма разделения в соответствии с настоящим изобретением являются RTP-пакеты, которые представляют собой либо пакеты информации, не являющейся видеоинформацией, либо пакеты видеоинформации. В случае пакетов видеоинформации, в пределах одного RTP-пакета будут содержаться только части одного кадра. Это также означает, что будут доставлены RTP-пакеты, которые будут иметь размер, в среднем меньший, чем семь блоков транспортного потока. Это приводит к менее эффективному использованию ресурсов сети из-за меньших пакетов и тем самым вызывает некоторые накладные расходы во время передачи. По причинам эффективности RTP-пакеты должны быть как можно больше, так что обычно нет причин завершать пакеты слишком рано. Настоящее изобретение предполагает использование IFD, и при этом подлежащие обработке блоки видеоинформации приходится отделять от блоков информации, не являющейся видеоинформацией.
Один способ увеличения среднего размера пакетов, а значит и уменьшения накладных расходов, заключается в том, чтобы упаковывать блоки информации, не являющейся видеоинформацией, вместе с блоками видеоинформации I-кадров, если они соседствуют друг с другом. Поскольку блоки обоих типов обрабатываются с наивысшим приоритетом, такие пакеты удаляться не будут. На фиг. 1 для случая RTP показано, что если V1 является I-кадром, а за ним следует кадр А аудиоинформации, то разделение между V1 и А можно исключить.
Тогда RTP-пакеты, являющиеся результатом этого алгоритма разделения, можно помечать и передавать в средство планирования IFD. На фиг. 2 показано воплощение передатчика 18, работающего в соответствии с транспортным протоколом реального времени (RTP-передатчика). Можно идентифицировать несколько частей:
1) средство 10 считывания транспортного потока (TS), которое считывает транспортный поток из файла или из широковещательной трансляции;
2) средство 12 разделения и помечания транспортного потока в соответствии с транспортным протоколом реального времени (TS-RTP-устройство для разделения и помечания), которое разделяет транспортный поток на RTP-пакеты с помощью алгоритма разделения, поясненного выше, и создает RTP-заголовки; оно также помечает получаемые в результате RTP-пакеты, которые содержат блоки видеоинформации и блоки информации, не являющейся видеоинформацией, как являющиеся кадрами видеоинформации или кадрами информации, не являющейся видеоинформацией (т.е. кадрами аудиоинформации или данных) или кадрами видеоинформации (более конкретно B-, P- или I-кадрами);
3) посылающее средство 14, работающее в соответствии с транспортным протоколом реального времени (посылающее RTP- средство), которое посылает RTP-пакеты с надлежащим хронированием в средство 16 планирования IFD;
4) средство 16 планирования IFD, которое посылает пакеты по беспроводной сети и осуществляет удаление в соответствии с алгоритмом IFD, когда это необходимо; при IFD используются метки, присоединенные к пакетам, для определения того, какие пакеты надо исключить, когда ширина полосы пропускания сети оказывается недостаточной. Во избежание искажения аудиоинформации и потери системных данных, пакеты информации, не являющейся видеоинформацией, не удаляются никогда.
В реальности, средство 16 планирования IFD может быть установлено перед посылающим RTP-средством, как бывает в случае передатчика, работающего в соответствии с протоколом управления передачей (TCP-передатчика) (см. ниже).
В еще одном варианте осуществления изобретения, для формирования потоков используется протокол ТСР. Преимущество ТСР состоит в том, что этот протокол обеспечивает механизм борьбы с перегрузкой и сквозную обратную связь касаемо полосы пропускания между отправителем и получателем, независимые от топологии сети (наличия проводных или беспроводных транзитных участков). Поверх ТСР можно воплотить формирование потоков на основе протокола передачи гипертекста (НТТР). Недостаток заключается в том, что требования в отношении режима реального времени не учитываются. Благодаря механизму повторной передачи в соответствии с TCP, в случае потерь пакетов поток будет замедляться, когда может произойти срыв ввода (например, из файла) или если нельзя сорвать поток (например, в случае прямой трансляции), буферы будут переполняться и будут происходить потери, приводящие к искажениям. На фиг. 2 показан предлагаемый ТСР-передатчик 28. Он состоит из следующих компонентов:
1) средство 20 считывания транспортного потока (TS);
2) средство 22 разделения и помечания, работающее в соответствии с транспортным протоколом управления передачей (TS-ТСР-устройство для разделения и помечания). Этот компонент аналогичен TS-RTP-средству для разделения и помечания, показанному на фиг. 2, но с той большой разницей, появляется возможность создавать фрагменты длиной более семи блоков транспортного потока (см. случай ТСР на фиг. 1), потому что ТСР обеспечивает автоматическое разделение больших фрагментов на меньшие пакеты;
3) средство 24 планирования IFD. Это средство планирования будет помещать пакеты в буфер посылки с надлежащим хронированием. Оно также применяет IFD путем удаления кадров из этого буфера, если тот оказывается заполненным, что свидетельствует о недостаточной ширине полосы пропускания сети;
4) посылающее средство, работающее в соответствии с протоколом управления передачей (посылающее ТСР-средство). Этот компонент пытается как можно скорее посылать пакеты, находящиеся в буфере посылки, в сеть с использованием ТСР.
Теперь следует отметить место нахождения средства 24 планирования IFD, которое отличается от решения, предусматривающего использование RTP. Причина заключается в том, что кадры приходится удалять до того, как они попадают на уровень ТСР (в посылающем ТСР-средстве 26), в противном случае ТСР запросит повторную передачу удаленных кадров и удаление не поможет. Посылающее ТСР-средство 26 будет замедлять свою работу, когда возникает перегрузка сети, вызывая заполнение буфера посылки. В такой момент, средство 24 планирования IFD может обнаружить это и провести удаление кадров.
И RTP- средство 12 разделения, и ТСР-средство 22 разделения содержит средство синтаксического разбора и буфер (не показаны). Средства 12, 22 разделения будут проводить разбор поступающих блоков транспортных потоков, чтобы можно было увидеть, являются ли эти блоки блоками видеоинформации или информации, не являющейся видеоинформацией, и найти границы кадров видеоинформации, и будут сохранять их, записывая в буфер. Буфер должен быть достаточно большим, чтобы хранить максимально возможные семь блоков транспортных потоков.
Отметим также, что поскольку базовый алгоритм планирования IFD остался неизменным, воплощение средства планирования IFD можно использовать в системе, поддерживающей и формирование транспортных потоков, и формирование элементарных потоков. Последнее, в частности, полезно для организации потоков DVD-контента (после демультиплексирования с получением элементарных потоков видеоинформации и аудиоинформации).
Следует отметить, что вышеупомянутые варианты осуществления иллюстрируют, а не ограничивают изобретение, и что специалисты в данной области техники смогут разработать многие альтернативные варианты в рамках существа и объема прилагаемой формулы изобретения. Настоящее изобретение не ограничивается использованием IFD, оно также полезно во всех вариантах применения, которые требуют отделения блоков видеоинформации от блоков информации, не являющейся видеоинформацией, например, при других - помимо IFD - методах решения задач планирования сетей. Любые обозначения, заключенные в скобки и указанные в пунктах формулы изобретения, не следует считать ограничивающими пункт формулы изобретения. Слово «содержащий(ая, ее)» не исключает присутствие элементов или этапов, отличающихся от тех, которые перечислены в пункте формулы изобретения. Указание признаков единственного числа перед элементом не исключает присутствия множества таких элементов.