Уровень техники
Вычислительные сети, такие как Интернет, совершили революцию в способах, которыми люди получают информацию. Например, современные вычислительные сети поддерживают использование обмена данными по электронной почте для передачи информации между людьми, которые имеют доступ к вычислительной сети. Во все возрастающем количестве разрабатываются системы, которые предоставляют обмен данными по сети, которые имеют компонент реального времени. Например, видеопоток может быть передан между функционально соединенными компьютерами так, что характеристики сети могут повлиять на то, как информация представляется пользователю.
Специалисты в данной области техники должны признавать, что данные передаются по вычислительной сети в пакетах. К сожалению, потеря пакетов происходит, когда один или более пакетов, передаваемых по вычислительной сети, не могут достигать своего адресата. Потеря пакетов может быть вызвана рядом факторов, включая, но не только, перегруженную сеть, ухудшение сигнала, повреждение пакетов вследствие неисправных аппаратных средств и т.п. Когда происходит потеря пакетов, проблемы производительности могут стать заметны пользователю. Например, в контексте видеопотока, потеря пакетов может иметь результатом "артефакт" или искажения, которые видимы в последовательности видеокадров.
Величина артефакта и других искажений в видеопотоке является одним из факторов, который оказывает наиболее сильное влияние на общее визуальное качество. Тем не менее, один недостаток существующих систем заключается в неспособности объективно измерять величину прогнозируемого артефакта в видеопотоке. Разработчики могут использовать информацию, полученную посредством объективного измерения артефакта, чтобы принимать обоснованные решения относительно различных компромиссов, требуемых для того, чтобы предоставлять качественные видеоуслуги. Кроме того, специалисты в данной области техники должны признавать, что когда происходит потеря пакетов, могут быть реализованы различные методики восстановления после ошибок для того, чтобы предотвратить ухудшение качества видеопотока. Тем не менее, эти методики восстановления после ошибок имеют собственные компромиссы относительно потребления сетевых ресурсов и влияния на качество видео. Когда осуществляются модификации свойств видеопотока, должно быть преимущественным иметь возможность объективно измерять то, как эти модификации повлияют на качество видеоуслуг. В этом отношении также должно быть преимущественным объективно измерять то, как методики восстановления после ошибок будут воздействовать на качество видеопотока, чтобы определять, помимо прочего, то, должно ли быть выполнено восстановление после ошибок.
Другой недостаток существующих систем заключается в неспособности объективно измерять величину артефакта в видеопотоке и динамически модифицировать процесс кодирования на основе наблюдаемых данных. Например, в ходе передачи видеопотока интенсивность потерь пакетов или другие характеристики сети могут меняться. Тем не менее, в существующих системах кодеры, которые сжимают кадры в видеопоток, могут не иметь возможности идентифицировать то, как модифицировать свойства видеопотока так, чтобы учесть характеристики сети.
Сущность изобретения
Эта сущность изобретения предоставлена для того, чтобы представить в упрощенной форме выбор концепций, которые дополнительно описаны ниже в подробном описании. Эта сущность не предназначена для идентификации ключевых или важнейших признаков заявляемого предмета изобретения, а также не предназначена для использования в качестве помощи при определении области заявляемого предмета изобретения.
Аспекты настоящего изобретения направлены на улучшение качества видеопотока, который передается между сетевыми компьютерами. В соответствии с одним вариантом осуществления предоставлен способ, который динамически модифицирует свойства видеопотока на основе характеристик сети. В этом отношении способ включает в себя сбор данных качества обслуживания, описывающих характеристики сети, которые существуют, когда видеопоток передается. Затем величина прогнозируемого артефакта в видеопотоке вычисляется с помощью собранных данных. В ответ на идентификацию инициирующего события способ может модифицировать свойства видеопотока, чтобы более точно учесть характеристики сети.
Описание чертежей
Вышеозначенные аспекты и многие из сопутствующих преимуществ изобретения должны стать более легко воспринимаемыми, а также более понятными посредством ссылки на последующее подробное описание, рассматриваемое вместе с прилагаемыми чертежами, на которых:
фиг.1 является иллюстрацией сетевого окружения, подходящего для того, чтобы продемонстрировать компоненты, которые могут использоваться для того, чтобы передавать видеопоток в соответствии с одним вариантом осуществления настоящего изобретения;
фиг.2A и 2B являются иллюстрациями примерной последовательности кадров, подходящей для того, чтобы продемонстрировать кодирование видеопотока для передачи по сетевому окружению, проиллюстрированному на фиг.1;
фиг.3 является блок-схемой, которая описывает качество видео с учетом определенных характеристик сети;
фиг.4A и 4B являются блок-схемами, которые описывают качество видео с учетом определенных характеристик сети;
фиг.5 является блок-схемой, которая описывает качество видео с учетом определенных характеристик сети;
фиг.6 является блок-схемой, которая описывает качество видео с учетом определенных характеристик сети;
фиг.7 является иллюстрацией другого сетевого окружения, которое поддерживает атрибуты, подходящие для того, чтобы реализовать аспекты настоящего изобретения;
фиг.8 является иллюстрацией сетевого окружения, показанного на фиг.7, демонстрируя передачу видеопотока между сетевыми устройствами в соответствии с одним вариантом осуществления; и
фиг.9 является блок-схемой последовательности операций способа, иллюстрирующей примерную процедуру для модификации свойств видеопотока в соответствии с другим вариантом осуществления настоящего изобретения.
Подробное описание
Настоящее изобретение может быть описано в общем контексте машиноисполняемых инструкций, таких как программные модули, приводимые в исполнение посредством компьютера. Описанные в общем смысле программные модули включают в себя подпрограммы, программы, интерфейсные элементы окна, объекты, компоненты, структуры данных и т.п., которые выполняют отдельные задачи или реализуют отдельные абстрактные типы данных.
Хотя настоящее изобретение описывается главным образом в контексте систем и способов, которые модифицируют свойства видеопотока на основе наблюдаемых характеристик сети, специалисты в данной области техники должны принимать во внимание, что настоящее изобретение также применимо в других контекстах. В любом случае, последующее описание сначала предоставляет общий краткий обзор системы, в которой могут быть реализованы аспекты настоящего изобретения. Далее описывается примерная процедура, которая динамически модифицирует свойства видеопотока на основе наблюдаемых характеристик сети. Примеры, предоставленные в данном документе, не имеют намерение быть исчерпывающими или ограничивать изобретение точными раскрытыми формами. Аналогично, любые этапы, описанные в данном документе, могут быть взаимозаменяемыми с другими этапами или комбинациями этапов, чтобы достичь того же результата. Соответственно, варианты осуществления настоящего изобретения, описанные ниже, должны рассматриваться как иллюстративные, а не ограничивающие по характеру.
Теперь в отношении фиг.1 описываются взаимодействия между компонентами, используемыми для того, чтобы передавать видеопоток в сетевом окружении 100. Как проиллюстрировано на фиг.1, сетевое окружение 100 включает в себя передающий компьютер 102 и принимающий компьютер 104, которые функционально соединены по сетевому соединению между равноправными узлами. В этом отношении, передающий компьютер 102 и принимающий компьютер 104 обмениваются данными по сети 106. Как подробнее описано ниже в отношении фиг.7 и 8, передающий компьютер 102 может быть сетевой конечной точкой, которая ассоциативно связана с пользователем. Альтернативно, передающий компьютер 102 может выступать в качестве узла в сетевом окружении 100 посредством перенаправления видеопотока в принимающий компьютер 104. Специалисты в данной области техники должны признавать то, что сеть 106 может быть реализована как локальная вычислительная сеть (LAN), глобальная вычислительная сеть (WAN), к примеру, глобальная сеть, общеизвестная как Интернет или всемирная паутина (WWW), сотовая сеть, IEEE 802.11, беспроводные Bluetooth-сети и т.п.
В варианте осуществления, проиллюстрированном на фиг.1, видеопоток вводится в передающий компьютер 102 из прикладного уровня 105 с помощью устройства 108 ввода. Устройство 108 ввода может быть любым устройством, которое допускает захват потока изображений, включая, но не только, видеокамеру, цифровую камеру, сотовый телефон и т.п. Когда видеопоток введен в передающий компьютер 102, кодер/декодер 110 используется для того, чтобы сжимать кадры видеопотока. Специалисты в данной области техники должны признавать то, что кодер/декодер 110 выполняет сжатие способом, который уменьшает избыточность данных изображения в пределах последовательности кадров. Поскольку видеопоток типично включает в себя последовательность кадров, которые отличаются друг от друга только с определенным приращением, значительное сжатие реализуется посредством кодирования, по меньшей мере, некоторых кадров на основе различий с другими кадрами. Как подробнее описано ниже, кадры в видеопотоке могут быть кодированы как I-кадры, P-кадры, SP-кадры и B-кадры, хотя все в большей степени используются другие типы кадров (к примеру, однонаправленные B-кадры и т.п.). Тем не менее, когда ошибки вызывают потерю пакетов или другое ухудшение видео, кодирование видеопотока в сжатые кадры может навсегда сохранить ошибки, тем самым приводя к артефакту, сохраняющемуся во множестве кадров.
После того как кодер/декодер 110 сжимает видеопоток за счет сокращения избыточности данных изображения в рамках последовательности кадров, сетевые устройства 112 и ассоциативно связанные компоненты мультимедийного транспортного уровня 113 (не проиллюстрированы) могут использоваться для того, чтобы передавать видеопоток. В этом отношении, кадры видеоданных могут быть пакетированы и переданы в соответствии со стандартами, продиктованными транспортным протоколом реального времени (RTP). Специалисты в данной области техники должны признавать то, что RTP - это один примерный протокол стандарта Интернета, который может использоваться для транспортировки данных реального времени. В любом случае, когда видеопоток принят, кодер/декодер 110 на принимающем компьютере 104 предписывает декодирование и представление потока пользователю на устройстве 114 визуализации. В этом отношении, устройство 114 визуализации может быть любым устройством, которое допускает представление данных изображения, включая, но не только, компьютерный дисплей (к примеру, экран CRT или LCD), телевизор, монитор, принтер и т.д.
Уровень 116 управления предоставляет поддержку качества обслуживания для приложений со свойствами реального времени, таких как приложения, которые поддерживают передачу видеопотока. В этом отношении, контроллеры 118 качества предоставляют отчеты обратной связи по качеству обслуживания посредством сбора статистики, ассоциативно связанной с видеопотоком, включая, но не только, интенсивность потерь пакетов, время прохождения пакета до адресата и обратно и т.п. Только в качестве примера, данные, собранные контроллерами 118 качества, могут использоваться компонентом 120 восстановления после ошибок для того, чтобы идентифицировать пакеты, которые должны быть повторно переданы, когда выполняется восстановление после ошибок. В этом отношении, данные, которые подчиняются транспортному протоколу реального времени, могут периодически передаваться между пользователями, которые обмениваются видеопотоком. Компоненты уровня 116 управления могут использоваться для того, чтобы модифицировать свойства видеопотока на основе собранной информации о качестве обслуживания. Специалисты в данной области техники должны признавать то, что хотя конкретные компоненты и протоколы описаны в отношении фиг.1, эти конкретные примеры должны рассматриваться как примерные, поскольку аспекты настоящего изобретения могут быть реализованы с использованием других компонентов и/или протоколов. Например, хотя описание, предоставленное в отношении фиг.1, использует RTP для того, чтобы передавать видеопоток между сетевыми компьютерами, и RTCP для того, чтобы предоставлять управляющую информацию, другие протоколы могут быть использованы без отступления от области заявленного предмета изобретения.
Теперь в отношении фиг.2A и 2B описана примерная последовательность кадров 200 в видеопотоке. Как упомянуто ранее в отношении фиг.1, кодер может использоваться для того, чтобы сжимать кадры в видеопотоке способом, который уменьшает избыточность данных изображения. В этом отношении, фиг.2A иллюстрирует последовательность кадров 200, которая состоит из I-кадров 202-204, SP-кадров 206-208, P-кадров 210-216 и B-кадров 218-228. I-кадры 202-204 являются автономными в том, что I-кадры не ссылаются на другие типы кадров и могут использоваться для того, чтобы представлять готовое изображение. Как проиллюстрировано на фиг.2A, I-кадры 202-204 выступают в качестве прогнозирующих опорных элементов, прямо или косвенно, для SP-кадров 206-208, P-кадров 210-216 и B-кадров 218-228. В этом отношении, SP-кадры 206-208 являются прогнозируемыми в том, что эти кадры кодируются в отношении ближайшего предыдущего I-кадра или другого SP-кадра. Аналогично, P-кадры 210-216 являются также прогнозируемыми в том, что эти кадры ссылаются на более ранний кадр, который может быть ближайшим предыдущим I-кадром или SP-кадром. Как дополнительно проиллюстрировано на фиг.2, B-кадры 218-228 кодируются с помощью методики, известной как двунаправленное прогнозирование, в том, что данные изображения кодируются и в отношении предыдущего, и в отношении последующего кадра.
Объем данных в каждом кадре визуально показан на фиг.2A, причем I-кадры 202-204 содержат наибольший объем данных, а SP-кадры 206-208, P-кадры 210-216 и B-кадры 218-228 предоставляют последовательно большие величины сжатия. При использовании в данном документе термин "режим сжатия" упоминается как состояние кодера, когда конкретный тип кадра (к примеру, I-кадр, SP-кадр, P-кадр, B-кадр и т.д.) кодируется для передачи по сетевому соединению. Специалисты в данной области техники должны признавать то, что кодер может быть выполнен с возможностью поддерживать различные режимы сжатия с целью создания различных типов кадра. Хотя кодирование последовательности кадров 200 в различные типы кадра уменьшает объем данных, который передается, сжатие данных изображения может навсегда сохранить ошибки. В этом отношении, I-кадр 202 может быть передан между функционально соединенными компьютерами в наборе пакетов. Тем не менее, если любой из пакетов в I-кадре 202 теряется в пути, I-кадр 202 не является единственным кадром, затронутым ошибкой. Наоборот, ошибка может сохраниться и в других кадрах, которые прямо или косвенно ссылаются на I-кадр 202. Например, как проиллюстрировано на временной шкале 250 по фиг.2B, когда I-кадр 202 испытывает ошибку в событии 252, ошибка сохраняется до события 254, когда следующий I-кадр 204 принимается. В этом случае кадры, принимаемые между событиями 252 и 254, испытывают ухудшение качества, типично в форме артефакта.
Аналогично описанию, предоставленному выше, когда пакет, ассоциативно связанный с SP-кадром, теряется, ошибка может сохраниться в других кадрах. Например, как проиллюстрировано на временной шкале 250, когда SP-кадр 206 испытывает потерю пакетов, в событии 256, ошибка сохраняется до события 254, когда следующий I-кадр 204 принимается. Поскольку меньше зависимостей существует относительно SP-кадров, чем I-кадров, влияние потери пакетов также меньше. Когда P-кадр испытывает потерю пакетов, только B-кадры и другие P-кадры, которые ссылаются на P-кадр, который испытал потерю пакетов, затрагиваются ошибкой. Наконец, ошибки в B-кадрах не сохраняются, поскольку на B-кадры не ссылаются другие типы кадра.
Как описано выше в отношении фиг.2A и 2B, кодирование видеопотока может приводить к тому, что артефакт сохраняется, поскольку существуют зависимости между кадрами. В этом отношении, уравнение 1 содержит одну математическую модель, которая основана на общих статистических допущениях, которые могут использоваться для того, чтобы вычислять прогнозируемый артефакт, когда восстановление после ошибок не выполняется. В этом отношении, уравнение 1 предоставляет формулу для вычисления прогнозируемого артефакта, когда видеопоток состоит из четырех типов кадра, описанных выше в отношении фиг.2A-B. В этом контексте термин "прогнозируемый артефакт", в общем, упоминается как число кадров в группе изображений, на которые влияет потеря пакетов. Как подробнее описано ниже, вычисление прогнозируемого артефакта с помощью формулы в уравнении 1 может использоваться для того, чтобы определять то, как модифицируют и модифицируют ли аспекты настоящего изобретения свойства видеопотока.
Прогнозируемый артефакт =
(уравнение 1),
где:
N B - число B-кадров в одной группе изображений;
N GOP - число кадров в группе изображений;
N P G - число P-кадров между последовательными кадрами I-I, I-SP, SP-SP или SP-I;
N SP - число SP-кадров в одной группе изображений;
P B - вероятность потери B-кадра;
P I - вероятность потери I-кадра;
P P - вероятность потери P-кадра; и
PSP - вероятность потери SP-кадра.
Аналогично уравнению 1, уравнение 2 содержит математическую модель, которая может использоваться для того, чтобы вычислять прогнозируемый артефакт. Тем не менее, в этом случае математическая модель, показанная в уравнении 2, применяется, когда выполняется восстановление после ошибок. Например, восстановление после ошибок может быть выполнено, когда компьютеры, которые передают видеопоток, выполнены с возможностью повторно отправлять пакеты видеокадра, которые повреждаются в пути. В этом отношении, уравнение 1 предоставляет формулу для вычисления прогнозируемого артефакта в основном видеопотоке, который первоначально передается между компьютерами, когда видеопоток состоит из четырех типов кадра, описанных выше в отношении фиг.2A-B. Аналогично описанию, предоставленному с уравнением 1, уравнение 2 может использоваться для того, чтобы определять то, как модифицируют и модифицируют ли аспекты настоящего изобретения свойства видеопотока. Тем не менее, уравнение 2 применяется, когда восстановление после ошибок выполняется.
Прогнозируемый артефакт =
(уравнение 2),
где:
P I - вероятность потери I-кадра;
P SP - вероятность потери SP-кадра;
P P = вероятность потери P-кадра;
P B - вероятность потери B-кадра; и
RTT - время прохождения пакета до адресата и обратно.
Специалисты в данной области техники должны признавать то, что математические модели, предоставленные выше относительно уравнений 1 и 2, должны рассматриваться как примерные, а не ограничивающие. Например, эти математические модели предполагают, что видеопоток состоит из I-кадров, P-кадров, SP-кадров и B-кадров. Тем не менее, как упомянуто ранее, видеопоток может состоять из меньшего числа или дополнительных типов кадра и/или набора типов кадров, отличного от описанного выше. В этих случаях изменения в математических моделях, предоставленных выше, могут использоваться для того, чтобы вычислять прогнозируемый артефакт в видеопотоке. Кроме того, уравнения 1 и 2 описываются в контексте вычисления величины прогнозируемого артефакта. "Процент артефактов" из видеопотока может быть вычислен с помощью математических моделей, описанных выше, посредством деления прогнозируемого артефакта на число кадров в Группе Изображений (GOP).
В отношении теперь фиг.3-6 описываются распределения, которые описывают величину прогнозируемого артефакта в видеопотоке с учетом различных характеристик сети. В иллюстративном варианте осуществления распределения, показанные на фиг.3-6, могут быть использованы для того, чтобы идентифицировать случаи, когда свойства видеопотока могут быть модифицированы, чтобы более точно отразить характеристики сети. Как проиллюстрировано на фиг.3, ось X соответствует интенсивности потерь пакетов, а ось Y соответствует проценту прогнозируемого артефакта для группы изображений (GOP) в основном видеопотоке, который первоначально передается между компьютерами. В этом отношении, фиг.3 иллюстрирует распределение 302, которое иллюстрирует величину процента прогнозируемого артефакта для группы изображений при различных интенсивностях потерь пакетов, когда восстановление после ошибок не выполняется. Аналогично, распределение 304 иллюстрирует величину прогнозируемого артефакта при различных интенсивностях потерь пакетов, когда восстановление после ошибок выполняется.
Как иллюстрирует фиг.3, процент артефактов увеличивается для обоих распределений 302 и 304 по мере увеличения интенсивностей потерь пакетов. Кроме того, когда восстановление после ошибок не выполняется, процент прогнозируемого артефакта существенно больше для всех интенсивностей потерь пакетов по сравнению со случаями, когда восстановление после ошибок выполняется. Как упомянуто выше, интенсивности потерь пакетов могут изменяться вследствие различных характеристик сети даже в ходе одного сетевого сеанса. В этом отношении, контроллеры 118 качества (фиг.1) предоставляют отчеты по качеству обслуживания посредством сбора статистики, ассоциативно связанной с сетевым сеансом, которая включает в себя интенсивности потерь пакетов. Когда к интенсивностям потерь пакетов осуществляется доступ из контроллеров 118 качества, распределения 302 и 304 могут использоваться для того, чтобы идентифицировать прогнозируемый артефакт для видеопотока.
В соответствии с одним вариантом осуществления, диапазоны прогнозируемого артефакта, ассоциативно связанного с распределениями 302-304, могут использоваться для того, чтобы задавать свойства видеопотока. Например, когда восстановление после ошибок выполняется, и процент артефактов, представленный в распределении 304, идентифицируется как составляющий менее десяти (10) процентов, видеопоток может быть передан в соответствии с первым набором свойств. Свойства видеопотока, потенциально модифицируемые с учетом диапазона процента артефактов, могут включать в себя, но не только, распределение типов кадров (к примеру, процент и частота I-кадров, SP-кадров, P-кадров, B-кадров), частоту кадров, размер кадров и пакетов, применение избыточности в канальном кодировании, включая степень, в которой прямая коррекция ошибок (FEC) применяется для каждого типа кадра, и т.д. В этом отношении посредством объективного измерения прогнозируемого артефакта в видеопотоке более обоснованные решения могут приниматься относительно того, как видеопоток должен быть передан. Например, по мере того как величина прогнозируемого артефакта возрастает, свойства видеопотока могут быть модифицированы так, чтобы включать в себя более высокий процент B-кадров, тем самым улучшая качество видео при более высоких интенсивностях потерь пакетов. Кроме того, если процент артефактов, представленный в распределении 304, идентифицируется как соответствующий другому диапазону, видеопоток может быть передан в соответствии с другим набором свойств видео.
Фиг.4A иллюстрирует распределения 402, 404, 406 и 408, которые иллюстрируют величину процента прогнозируемого артефакта при различных частотах кадров и интенсивностях потерь пакетов. Как проиллюстрировано на фиг.4A, ось X соответствует частоте кадров между пятнадцатью (15) и тридцатью (30) в секунду, а ось Y соответствует проценту прогнозируемого артефакта при различных частотах кадров. Более конкретно, распределение 402 иллюстрирует величину процента прогнозируемого артефакта между пятнадцатью (15) и тридцатью (30) кадрами в секунду, когда сетевой сеанс испытывает интенсивность потерь пакетов в пять (5) процентов, и восстановление после ошибок не выполняется. Распределение 404 иллюстрирует величину процента прогнозируемого артефакта между пятнадцатью (15) и тридцатью (30) кадрами в секунду, когда сетевой сеанс испытывает интенсивность потерь пакетов в один (1) процент, и восстановление после ошибок не выполняется. Распределение 406 иллюстрирует величину процента прогнозируемого артефакта в основном видеопотоке между пятнадцатью (15) и тридцатью (30) кадрами в секунду, когда сетевой сеанс испытывает интенсивность потерь пакетов в пять (5) процентов, и восстановление после ошибок выполняется. Распределение 408 иллюстрирует величину процента прогнозируемого артефакта между пятнадцатью (15) и тридцатью (30) кадрами в секунду, когда сетевое соединение испытывает интенсивность потерь пакетов в один (1) процент, и восстановление после ошибок выполняется. Точное значение прогнозируемого артефакта для различных сценариев, визуально показанных на фиг.4A, представляется в цифровой форме в таблице, представленной на фиг.4B. Как фиг.4A и 4B иллюстрируют, увеличение частот кадров может фактически увеличивать процент прогнозируемого артефакта и снижать качество видео, когда видеопоток кодируется в различные типы кадра.
В соответствии с одним вариантом осуществления диапазоны прогнозируемого артефакта, полученные с помощью распределений 402-408, могут быть установлены для того, чтобы задавать свойства видеопотока. Например, в некоторых случаях поставщик содержимого гарантирует определенное качество обслуживания для видеопотока. На основе информации, представленной в распределениях 402-408, процент прогнозируемого артефакта при различных частотах кадров, интенсивностях потерь пакетов и других сетевых свойствах может быть идентифицирован. Посредством идентификации процента прогнозируемого артефакта частота кадров может регулироваться так, чтобы гарантия качества обслуживания удовлетворялась. В этом отношении, частота кадров может быть уменьшена, чтобы сформировать соответствующее уменьшение артефакта.
Фиг.5 иллюстрирует распределения 502 и 504, которые иллюстрируют величину процента прогнозируемого артефакта при различных значениях группы изображений (GOP), когда сеть испытывает уровень потери пакетов в один (1) процент. Специалисты в данной области техники должны признавать то, что GOP упоминается как последовательность кадров, которая начинается с первого автономного кадра (к примеру, I-кадра) и заканчивается в следующем автономном кадре. Как проиллюстрировано на фиг.5, ось X соответствует значениям GOP в видеопотоке, а ось Y соответствует проценту прогнозируемого артефакта при различных значениях GOP. В этом отношении, распределение 502 иллюстрирует величину процента прогнозируемого артефакта для различных значений GOP, когда восстановление после ошибок не выполняется. Аналогично, распределение 504 иллюстрирует величину процента прогнозируемого артефакта, когда восстановление после ошибок выполняется для основного видеопотока, который первоначально передается между компьютерами. Как иллюстрирует распределение 502, более высокие значения GOP вызывают соответствующее увеличение артефакта и снижение качества видео, когда восстановление после ошибок не выполняется. Наоборот, когда восстановление после ошибок выполняется, более высокие значения GOP имеют результатом меньший артефакт и лучшее качество видео. Аналогично описанию, предоставленному выше, диапазоны прогнозируемого артефакта, полученного из распределений 502-504, могут использоваться для того, чтобы устанавливать свойства для видеопотока. В этом отношении, когда восстановление после ошибок не выполняется, последовательность кадров может быть кодирована с помощью более низких значений GOP за счет увеличения вхождения I-кадров. Наоборот, когда восстановление после ошибок выполняется, последовательность кадров может быть кодирована с помощью меньшего количества I-кадров и более высокого значения GOP.
Фиг.6 показывает распределение 602, которое иллюстрирует величину процента прогнозируемого артефакта при различных временах прохождения пакета до адресата и обратно (RTT), когда восстановление после ошибок выполняется. Специалисты в данной области техники должны признавать то, что время прохождения пакета до адресата и обратно упоминается как время, требуемое для сетевой связи, чтобы пройти от отправляющего устройства до приемного устройства и обратно. Поскольку восстановление после ошибок может быть выполнено посредством отправки сообщения, которое указывает то, что пакет в видеопотоке не принят, эффективность восстановления после ошибок зависит от времени прохождения пакета до адресата и обратно, требуемого для того, чтобы получить потерянные пакеты. Кроме того, специалисты в данной области техники должны признавать то, что RTT между функционально соединенными компьютерами влияет на число пакетов и их ассоциативно связанных видеокадров, которые могут быть повторно переданы. Как проиллюстрировано на фиг.6, RTT между функционально соединенными компьютерами показывается на оси X. Ось Y соответствует проценту прогнозируемого артефакта при различных временах прохождения пакета до адресата и обратно, когда сеть испытывает потерю пакетов в пять (5) процентов. В этом отношении, распределение 602 иллюстрирует то, что величина прогнозируемого артефакта увеличивается по мере того, как увеличивается RTT, когда восстановление после ошибок выполняется. Кроме того, распределение 602 иллюстрирует то, что выше определенных пороговых уровней прогнозируемый артефакт возрастает с большей скоростью, чем ниже порогового уровня. Аналогично описанию, предоставленному выше, диапазоны прогнозируемого артефакта, полученного из распределения 602, могут использоваться для того, чтобы устанавливать свойства видеопотока. Например, когда сеть испытывает 5%-ую потерю пакетов, и время прохождения пакета до адресата и обратно идентифицируется как больше, чем двести (200) миллисекунд (0,2 секунды), прямая коррекция ошибок, которая добавляет избыточность в канальное кодирование за счет потенциального инструктирования отправки одного и того же пакета несколько раз, может быть реализована для того, чтобы уменьшить артефакт. В этом отношении, различные уровни избыточности в канальном кодировании могут быть применены и модифицированы для каждого типа кадра в видеопотоке. Кроме того, распределение типов кадров и другие свойства видео также могут быть модифицированы на основе порогов процента прогнозируемого артефакта, идентифицированного из распределения 602.
Примеры, предоставленные относительно фиг.3-6, должны рассматриваться как примерные, а не ограничивающие. В этом отношении, фиг.3-6 иллюстрируют распределения, которые описывают процент прогнозируемого артефакта в видеопотоке с учетом различных характеристик сети. Хотя предоставлены примерные характеристики сети, аспекты настоящего изобретения могут использоваться для того, чтобы модифицировать свойства видеопотока, в других контекстах без отступления от объема заявленного предмета изобретения.
Все в большей степени видеопоток передается по нескольким сетевым линиям связи. Например, модуль многоточечного управления - это устройство, которое поддерживает видеоконференцию между несколькими пользователями. В этом отношении, фиг.7 иллюстрирует сетевое окружение 700, которое включает в себя модуль 701 многоточечного управления, множество конечных точек видеоконференции, включая отправляющее устройство 702 и приемные устройства 704-708. Кроме того, сетевое окружение 700 включает в себя сетевое соединение 710 между равноправными узлами между отправляющим устройством 702 и модулем 701 многоточечного управления, а также множество нисходящих сетевых соединений 712-716 между модулем 701 многоточечного управления и приемными устройствами 704-708. В общем, модуль 701 многоточечного управления собирает информацию о возможностях устройств, которые должны участвовать в видеоконференции. На основе собранной информации могут быть установлены свойства видеопотока между сетевыми конечными точками.
Теперь в отношении фиг.8 подробно описываются компоненты модуля 701 многоточечного управления, отправляющего устройства 702 и приемных устройств 704-708, показанных на фиг.7. Аналогично описанию, предоставленному выше в отношении фиг.1, отправляющее устройство 702 и приемные устройства 704-708 включают в себя кодер/декодер 802, компоненты 804 восстановления после ошибок, контроллеры 806 качества канала и локальные контроллеры 808 качества. В этом примерном варианте осуществления модуль 701 многоточечного управления включает в себя коммутатор 810, устройства 812 согласования скорости, контроллеры 814 качества канала и контроллер 816 видеоконференций.
В этом примерном варианте осуществления видеопоток, кодируемый посредством кодера/декодера 802 в отправляющем устройстве 702, передается в коммутатор 810. Когда принят, коммутатор 810 маршрутизирует кодированный видеопоток в каждое из устройств 812 согласования скорости. Для каждого устройства, которое должно принимать видеопоток, одно из устройств 812 согласования скорости применяет алгоритмы к кодируемому видеопотоку, что дает возможность воспроизведения одного и того же содержимого на устройствах, которые обмениваются данными при различных полосах пропускания. Как только устройства 812 согласования скорости применили алгоритмы согласования скорости, видеопоток передается в приемные устройства 704-708, где видеопоток может быть декодирован для отображения пользователю.
К сожалению, существующие системы могут задавать свойства видеопотока равными самому низкому общему знаменателю, чтобы приспособить устройство, которое поддерживает подключение самого худшего качества в сетевом окружении 700. Кроме того, передача видеопотока с помощью модуля 701 многоточечного управления может не масштабироваться для больших количеств конечных точек. Например, когда отправляющее устройство 702 передает видеопоток в модуль 701 многоточечного управления, данные могут быть перенаправлены в каждое из приемных устройств 704-708 по нисходящим сетевым соединениям 712-716, соответственно. Когда в нисходящих сетевых соединениях 712-716 происходит потеря пакетов, запросы на то, чтобы повторно отправить потерянные пакеты, могут быть переданы обратно в отправляющее устройство 702, если выполняется восстановление после ошибок. Тем не менее, поскольку отправляющее устройство 702 поддерживает восстановление после ошибок для всех приемных устройств 704-708, отправляющее устройство 702 может быть перегружено запросами. В общем, по мере того, как число конечных точек, участвующих в видеоконференции, увеличивается, также увеличиваются отрицательные последствия выполнения восстановления после ошибок. Таким образом, объективное измерение качества видео и задание свойств видеопотока так, чтобы учесть характеристики сети, особенно применимы в контексте модуля многоточечного управления, который управляет видеоконференцией. Тем не менее, хотя аспекты настоящего изобретения могут быть описаны как реализуемые в контексте модуля многоточечного управления, специалисты в данной области техники должны признавать, что аспекты изобретения должны применяться в других контекстах.
Контроллеры 814 качества канала в модуле 701 многоточечного управления обмениваются данными с контроллерами 806 качества канала в отправляющем устройстве 702 и приемных устройствах 704-708. В этом отношении, контроллеры 814 качества канала отслеживают полосу пропускания, RTT и потерю пакетов на каждом из соответствующих каналов связи. Контроллер 816 видеоконференций может получать данные от каждого из контроллеров 806 качества канала и задавать свойства одного или более видеопотоков. В этом отношении, контроллер 816 видеоконференций может обмениваться данными с устройствами 812 согласования скорости и локальными контроллерами 808 качества, чтобы задавать свойства для кодирования видеопотока в отправляющем устройстве 702. Эти свойства могут включать в себя, но не только, частоты кадров и скорости передачи данных, значения GOP, распределение типов кадров, восстановление после ошибок, избыточность в канальном кодировании, размеры кадров и/или пакетов и т.п.
Аспекты настоящего изобретения могут быть реализованы в контроллере 816 видеоконференций, чтобы настроить свойства, с которыми видеоданные передаются между отправляющими и приемными устройствами. В соответствии с одним вариантом осуществления свойства видеопотока модифицируются динамически на основе наблюдаемых характеристик сети. Например, контроллер 816 видеоконференций может получать данные от каждого из соответствующих контроллеров 806 качества канала, которые описывают наблюдаемые характеристики сети. Затем вычисления могут быть выполнены, чтобы определить то, может ли уменьшение артефакта в видеопотоке быть достигнуто. Например, используя информацию, описанную в отношении фиг.3-6, может быть сделано определение относительно того, уменьшит ли другой набор свойств видео величину артефакта в видеопотоке. В этом отношении, контроллер 816 видеоконференций может обмениваться данными с устройствами 812 согласования скорости и локальными контроллерами 808 качества, чтобы задавать свойства одного или более видеопотоков.
В соответствии с одним вариантом осуществления контроллер 816 видеоконференций обменивается данными с устройством 812 согласования скорости с целью динамической модификации свойств видеопотока, который передается от отправляющего устройства 702. С этой целью данные, которые описывают характеристики сети в нисходящих сетевых соединениях 712-714, объединяются в модуле 701 многоточечного управления. Затем идентифицируется оптимизированный набор свойств видео, чтобы кодировать видеопоток в отправляющем устройстве 702. Например, с помощью математической модели, описанной выше, идентифицируется набор оптимизированных свойств видео, который учитывает характеристики сети, наблюдаемые относительно нисходящих сетевых соединений. Затем аспекты настоящего изобретения предписывают кодирование видеопотока в отправляющем устройстве 702 в соответствии с оптимизированным набором свойств видео для передачи по сетевому соединению 710. В этом отношении, контроллер 816 видеоконференций может обмениваться данными с устройствами 812 согласования скорости и локальными контроллерами 808 качества, чтобы задавать свойства для кодирования видеопотока в отправляющем устройстве 702.
В соответствии с другим вариантом осуществления контроллер 816 видеоконференций обменивается данными с устройством 812 согласования скорости с целью динамической модификации свойств одного или более видеопотоков, которые передаются из модуля 701 многоточечного управления. В этом отношении, получаются данные, которые описывают характеристики сети, по меньшей мере, в одном нисходящем сетевом соединении. Например, с помощью математической модели, описанной выше, идентифицируется набор оптимизированных свойств видео, который учитывает характеристики сети, наблюдаемые относительно нисходящего сетевого соединения. Затем, аспекты настоящего изобретения предписывают перекодировать видеопоток в модуле 701 многоточечного управления в соответствии с оптимизированным набором свойств видео для передачи по соответствующему нисходящему сетевому соединению. С этой целью контроллер 816 видеоконференций может обмениваться данными с устройствами 812 согласования скорости, чтобы задавать свойства для перекодирования видеопотоков в модуле 701 многоточечного управления.
В еще одном варианте осуществления аспекты настоящего изобретения объединяют данные, получаемые из отправляющих и приемных устройств 702-708, чтобы улучшить качество видео. Например, специалисты в данной области техники должны признавать то, что избыточность в канальном кодировании может быть реализована при передаче видеопотока. С одной стороны, избыточность в канальном кодировании повышает отказоустойчивость для передачи видеопотока за счет предоставления возможности выполнения таких методик, как прямая коррекция ошибок. С другой стороны, избыточность в канальном кодировании ассоциативно связана с недостатками, которые могут негативно влиять на качество видео, поскольку дополнительные сетевые ресурсы используются для того, чтобы избыточно передавать данные. Только в качестве примера, аспекты настоящего изобретения могут объединить информацию, полученную из отправляющих и приемных устройств 702-708, чтобы определить, реализует ли и как реализует отправляющее устройство 702 избыточность в канальном кодировании. Например, интенсивности потерь пакетов, наблюдаемые при передаче данных в приемные устройства 704-708, могут быть объединены в модуле 701 многоточечного управления. Затем выполняются вычисления, чтобы определить то, должна ли избыточность в канальном кодировании быть реализована с учетом компромисса избыточной передачи данных в видеопотоке. В этом примере аспекты настоящего изобретения могут использоваться для того, чтобы определять то, приведет ли избыточность в канальном кодировании к улучшению качества видео с учетом наблюдаемых характеристик сети и конфигурации сети.
В отношении теперь фиг.9 описывается блок-схема последовательности операций способа, иллюстрирующая процедуру 900 динамической модификации. Вообще говоря, настоящее изобретение может использоваться в многочисленных контекстах, чтобы улучшить качество видеопотока. В одном варианте осуществления изобретение применяется в оффлайновом контексте, чтобы задавать свойства по умолчанию для передачи видеопотока. В другом варианте осуществления изобретение применяется в онлайновом контексте, чтобы динамически модифицировать свойства видеопотока так, чтобы учитывать наблюдаемые характеристики сети. Хотя процедура 900, проиллюстрированная на фиг.9, описывается как применяемая и в онлайновых, и в оффлайновых контекстах, специалисты в данной области техники должны признавать, что это является примерным.
На этапе 902 передача видеоданных инициируется с использованием свойств по умолчанию. Как упомянуто ранее, аспекты настоящего изобретения могут быть реализованы в различных типах сетей, включая глобальные вычислительные сети и локальные вычислительные сети, которые используют протоколы, разработанные для Интернета, беспроводные сети (к примеру, сотовые сети, IEEE 802.11, Bluetooth-сети) и т.п. Кроме того, видеопоток может быть передан между устройствами и сетями, которые поддерживают различные конфигурации. Например, как упомянуто ранее, отправляющее устройство может просто передавать видеопоток по сетевому соединению между равноправными узлами. Альтернативно, в примере, описанном выше в отношении фиг.7 и 8, видеопоток может быть передан с помощью модуля управления, который управляет видеоконференцией. В этом примере видеопоток передается по сетевому соединению между равноправными узлами и одному или более нисходящих сетевых соединений.
Специалисты в данной области техники должны признавать то, что возможности сети влияют на то, как видеопоток может быть передан. Например, в беспроводной сети скорость, с которой данные могут передаваться, типично меньше скорости в проводной сети. Аспекты настоящего изобретения могут быть применены в оффлайновом контексте, чтобы устанавливать свойства по умолчанию для передачи видеопотока с учетом возможностей сети. В этом отношении, оптимизированный набор свойств, который минимизирует артефакт в видеопотоке, может быть идентифицирован для каждого типа сети и/или конфигурации, которая может встречаться. Например, распределения, проиллюстрированные на фиг.3-6, могут использоваться для того, чтобы идентифицировать комбинацию свойств для передачи видеопотока, которые минимизируют артефакт с учетом возможностей сети и ожидаемых характеристик сети.
Как только передача видеопотока инициирована, характеристики сети наблюдаются, и статистические данные, которые описывают характеристики сети, собираются на этапе 904. Как упомянуто ранее, контроллеры качества в устройствах, вовлеченных в передачу видеопотока, могут предоставлять отчеты по качеству обслуживания в форме набора статистики. Эти статистические данные могут включать в себя интенсивности потерь пакетов, времена прохождения пакета до адресата и обратно, доступную и использованную полосу пропускания или любые другие данные, которые описывают сетевые изменения. В соответствии с одним вариантом осуществления данные, передаваемые в соответствии с протоколом RTCP, используются для того, чтобы собирать статистические данные, которые описывают характеристики сети. Тем не менее, управляющие данные могут быть получены с помощью других протоколов без отступления от объема заявленного предмета изобретения.
Как проиллюстрировано на фиг.9, на этапе 906 вычисляется величина прогнозируемого артефакта в видеопотоке. Как описано выше в отношении уравнений 1 и 2, математическая модель может использоваться для того, чтобы вычислять величину прогнозируемого артефакта в видеопотоке. Как только статистические данные, которые описывают характеристики сети, собраны, на этапе 904 может быть вычислена величина прогнозируемого артефакта в видеопотоке. Кроме того, различные распределения, такие как распределение, проиллюстрированное на фиг.3-6, могут быть сформированы с помощью статистических данных, которые описывают характеристики сети.
Как проиллюстрировано на фиг.9, на этапе 908 принятия решения выполняется определение в отношении того, произошло ли инициирующее событие. В одном варианте осуществления задаются инициирующие события, которые предписывают аспектам настоящего изобретения модифицировать свойства видеопотока на основе наблюдаемых характеристик сети. Например, одно инициирующее событие, заданное в соответствии с настоящим изобретением, является прогнозируемым артефактом, пересекающим заранее заданное пороговое значение. В этом отношении, если прогнозируемый артефакт увеличивается/уменьшается через заранее заданный порог, свойства видеопотока могут быть динамически модифицированы так, чтобы учитывать изменение в качестве видео. Другие инициирующие события, которые могут быть заданы, включают в себя, но не только, изменения интенсивностей потерь пакетов, доступной полосы пропускания, числа участников видеоконференции и т.п. Хотя предоставлены конкретные примеры инициирующих событий, эти примеры должны рассматриваться как иллюстративные, а не ограничивающие, поскольку могут быть заданы другие типы инициирующих событий. В любом случае, когда инициирующее событие идентифицировано, процедура 900 переходит к этапу 910. Если инициирующее событие не идентифицировано, на этапе 908 процедура 900 возвращается к этапу 904, и этапы 904-908 повторяются до тех пор, пока инициирующее событие не идентифицировано.
На этапе 910 свойства видеопотока модифицируются так, чтобы учитывать наблюдаемые характеристики сети. Аналогично оффлайновому контексту, описанному выше (на этапе 902), распределения, проиллюстрированные в фиг.3-6, могут использоваться для того, чтобы идентифицировать набор свойств, которые будут иметь в результате минимальную величину артефакта. Тем не менее, в этом случае ожидаемые характеристики сети не используются при идентификации качества видеопотока. Наоборот, фактические характеристики сети, наблюдаемые "на лету", используются для того, чтобы выполнять вычисления и идентифицировать набор свойств, которые минимизируют величину артефакта в видеопотоке. Как упомянуто ранее, свойства видеопотока, которые могут быть модифицированы посредством аспектов настоящего изобретения, могут включать в себя, но не только, значения группы изображений (GOP), распределение типов кадра, избыточность в канальном кодировании, которая может включать в себя прямую коррекцию ошибок, восстановление после ошибок, кадр и размер пакета, частоту кадров и т.п. В этом отношении процедура 900 может обмениваться данными с другими программными модулями, такими как контроллеры видеоконференций, устройства согласования скорости, контроллеры качества канала и т.п., чтобы модифицировать свойства видеопотока на этапе 910. Затем процедура переходит к этапу 912, где она завершается.
Хотя проиллюстрированы и описаны иллюстративные варианты осуществления, следует принимать во внимание, что различные изменения могут выполняться в них без отступления от духа и области применения настоящего изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СИСТЕМА И СПОСОБ СЖАТИЯ МУЛЬТИТИПОТОКОВОГО ВИДЕО С ИСПОЛЬЗОВАНИЕМ МНОЖЕСТВА ФОРМАТОВ КОДИРОВАНИЯ | 2010 |
|
RU2524845C2 |
СИСТЕМА И СПОСОБ КОДИРОВАНИЯ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ВЫБРАННОГО ФРАГМЕНТА И СХЕМЫ ЦИКЛИЧЕСКОГО СДВИГА ФРАГМЕНТА | 2010 |
|
RU2543548C2 |
ОСНОВАННАЯ НА ФРАГМЕНТАХ СИСТЕМА И СПОСОБ СЖАТИЯ ВИДЕО | 2008 |
|
RU2506709C2 |
СПОСОБ И УСТРОЙСТВО ВРЕМЕННОГО ДЕКОДЕРА | 2010 |
|
RU2525441C2 |
СИСТЕМА И СПОСОБ УСКОРЕННОГО ПЕРЕКЛЮЧЕНИЯ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ | 2010 |
|
RU2524850C2 |
СИСТЕМА И СПОСОБ СЖАТИЯ МУЛЬТИПОТОКОВОГО ВИДЕО | 2010 |
|
RU2528152C2 |
СИСТЕМА И СПОСОБ ЗАЩИТЫ ОПРЕДЕЛЕННЫХ ТИПОВ МУЛЬТИМЕДИЙНЫХ ДАННЫХ, ПЕРЕДАВАЕМЫХ ПО КАНАЛУ СВЯЗИ | 2008 |
|
RU2491756C2 |
СИСТЕМА СЖАТИЯ ВИДЕО И СПОСОБ КОМПЕНСАЦИИ ДЛЯ ОГРАНИЧЕНИЯ ПОЛОСЫ ПРОПУСКАНИЯ КАНАЛА СВЯЗИ | 2008 |
|
RU2501180C2 |
СИСТЕМА И СПОСОБ СЖАТИЯ ВИДЕО, ОСНОВАННЫЕ НА ОБНАРУЖЕНИИ СКОРОСТИ ПЕРЕДАЧИ ДАННЫХ КАНАЛА СВЯЗИ | 2008 |
|
RU2491757C2 |
ПОТОКОВОЕ ИНТЕРАКТИВНОЕ ВИДЕОКЛИЕНТСКОЕ УСТРОЙСТВО | 2008 |
|
RU2500022C2 |
Изобретение относится к системам обработки и передачи видеопотока для снижения искажений в видеопотоке. Техническим результатом является улучшение качества видеопотока, который передается между сетевыми компьютерами с учетом характеристик сети. Указанный технический результат достигается тем, что устанавливают свойства по умолчанию для передачи видеопотока; инициируют передачу видеопотока на основе свойств по умолчанию; собирают данные о характеристиках сети при передаче видеопотока; вычисляют величину прогнозируемых искажений в видеопотоке с использованием данных о характеристиках сети, причем прогнозируемые искажения соответствуют количеству кадров в группе изображений, на которые влияет потеря пакетов, при этом прогнозируемые искажения вычисляются на основе следующего: количество В-кадров в группе изображений, количество кадров в группе изображений, количество Р-кадров между по меньшей мере одним из следующего: последовательные I-I, I-SP, SP-SP и SP-I кадры, количество SP-кадров в группе изображений, вероятность потери В-кадра, вероятность потери I-кадра, вероятность потери Р-кадра и вероятность потери SP-кадра, причем величину прогнозируемых искажений вычисляют только тогда, когда восстановление после ошибок не выполняется; модифицируют свойства по умолчанию видеопотока, чтобы минимизировать прогнозируемые искажения. 3 н. и 16 з.п. ф-лы, 9 ил.
1. Способ минимизации искажений в видеопотоке, реализуемый в сетевом окружении, которое включает в себя передающее устройство и приемное устройство, при этом способ содержит этапы, на которых:
устанавливают свойства по умолчанию для передачи видеопотока;
инициируют передачу видеопотока на основе свойств по умолчанию;
собирают данные о характеристиках сети, которые имеют место при передаче видеопотока;
вычисляют величину прогнозируемых искажений в видеопотоке с использованием собранных данных о характеристиках сети, причем прогнозируемые искажения соответствуют количеству кадров в группе изображений, на которые влияет потеря пакетов, при этом прогнозируемые искажения вычисляются на основе следующего: количество В-кадров в группе изображений, количество кадров в группе изображений, количество Р-кадров между по меньшей мере одним из следующего: последовательные I-I, I-SP, SP-SP и SP-I кадры, количество SP-кадров в группе изображений, вероятность потери В-кадра, вероятность потери 1-кадра, вероятность потери Р-кадра и вероятность потери SP-кадра, причем величину прогнозируемых искажений вычисляют только тогда, когда восстановление после ошибок не выполняется;
модифицируют свойства по умолчанию видеопотока, чтобы минимизировать прогнозируемые искажения.
2. Способ по п.1, в котором при установлении свойств по умолчанию для передачи видеопотока идентифицируют оптимизированный набор из значения группы изображений, частоты кадров и распределения типов кадра, который минимизирует прогнозируемые искажения в видеопотоке с учетом собранных характеристик сети.
3. Способ по п.1, в котором кадры в видеопотоке передаются с помощью транспортного протокола реального времени, при этом данные, которые описывают характеристики сети, передаются в соответствии с протоколом управления в реальном времени.
4. Способ по п.1, в котором кадры в видеопотоке сжимаются во множество различных типов кадра, при этом при модификации свойств по умолчанию видеопотока изменяют распределение типов кадра.
5. Способ по п.1, в котором при сборе данных о характеристиках сети, которые имеют место при передаче видеопотока, идентифицируют частоту потерь пакетов.
6. Способ по п.1, в котором свойства по умолчанию видеопотока модифицируются в ответ на то, что прогнозируемые искажения в видеопотоке становятся выше или ниже порогового значения.
7. Способ по п.1, в котором при модификации свойств по умолчанию видеопотока применяют различный уровень к избыточности в канальном кодировании для видеопотока при определении того, что время, требующееся для прохождения сетевой связи от передающего устройства до приемного устройства и обратно, выше или ниже порогового уровня.
8. Способ по п.1, в котором при модификации свойств по умолчанию видеопотока: определяют, выполняется ли восстановление после ошибок; и если восстановление после ошибок выполняется, увеличивают значение группы изображений, чтобы достичь соответствующего уменьшения искажений.
9. Способ по п.8, дополнительно содержащий этап, на котором, если восстановление после ошибок не выполняется, уменьшают значение группы изображений, чтобы достичь соответствующего уменьшения искажений.
10. Система для модификации свойств видеопотока на основе характеристик сети, содержащая:
передающее устройство, которое включает в себя по меньшей мере один программный компонент для кодирования видеопотока и отправки кодированного видеопотока по восходящему сетевому соединению;
одно или более приемных устройств, которые включают в себя по меньшей мере один программный компонент для приема и декодирования видеопотока, принимаемого по множеству нисходящих сетевых соединений; и
устройство модуля управления с одним или более программными компонентами, которые устанавливают свойства по умолчанию для передачи видеопотока,
собирают данные о характеристиках сети, которые имеют место при передаче видеопотока по восходящему и нисходящим сетевым соединениям,
вычисляют величину прогнозируемых искажений в видеопотоке с использованием собранных данных о характеристиках сети, причем прогнозируемые искажения соответствуют количеству кадров в группе изображений, на которые влияет потеря пакетов, при этом прогнозируемые искажения вычисляются на основе следующего: количество В-кадров в группе изображений, количество кадров в группе изображений, количество Р-кадров между по меньшей мере одним из следующего: последовательные I-I, I-SP, SP-SP и SP-I кадры, количество SP-кадров в группе изображений, вероятность потери В-кадра, вероятность потери 1-кадра, вероятность потери Р-кадра и вероятность потери SP-кадра, причем величина прогнозируемых искажений вычисляется только тогда, когда восстановление после ошибок не выполняется, и
модифицируют свойства по умолчанию, чтобы минимизировать прогнозируемые искажения.
11. Система по п.10, в которой устройство модуля управления дополнительно выполнено с возможностью: объединять данные, которые описывают характеристики сети в нисходящих сетевых соединениях; использовать математическую модель для идентификации оптимизированного набора свойств видео для кодирования видеопотока в передающем устройстве, при этом оптимизированный набор свойств видео учитывает характеристики сети, наблюдаемые в нисходящих сетевых соединениях; и предписывать кодирование видеопотока в передающем устройстве в соответствии с оптимизированным набором свойств видео для передачи по восходящему сетевому соединению.
12. Система по п.10, в которой устройство модуля управления дополнительно выполнено с возможностью: получать данные, которые описывают характеристики сети в нисходящем сетевом соединении; использовать математическую модель, чтобы идентифицировать оптимизированный набор свойств видео для перекодирования видеопотока в устройстве модуля управления, при этом оптимизированный набор свойств видео учитывает характеристики сети, наблюдаемые в нисходящем сетевом соединении; и предписывать перекодирование видеопотока в соответствии с оптимизированным набором свойств видео для передачи по нисходящему сетевому соединению.
13. Машиночитаемый носитель, содержащий машиночитаемые инструкции, которые при их исполнении в сетевом окружении, включающем в себя передающее устройство и приемное устройство, осуществляют способ динамической модификации свойств видеопотока, содержащий этапы, на которых:
собирают данные качества обслуживания, относящиеся к видеопотоку, передаваемому от передающего устройства в приемное устройство;
вычисляют прогнозируемые искажения в видеопотоке с использованием собранных данных качества обслуживания, причем прогнозируемые искажения соответствуют количеству кадров в группе изображений, на которые влияет потеря пакетов, при этом прогнозируемые искажения вычисляются на основе следующего: количество В-кадров в группе изображений, количество кадров в группе изображений, количество Р-кадров между по меньшей мере
одним из следующего: последовательные I-I, I-SP, SP-SP и SP-I кадры, количество SP-кадров в группе изображений, вероятность потери В-кадра, вероятность потери I-кадра, вероятность потери Р-кадра и вероятность потери SP-кадра, причем величину прогнозируемых искажений вычисляют только тогда, когда восстановление после ошибок не выполняется; и
в ответ на идентификацию инициирующего события модифицируют свойства видеопотока, чтобы минимизировать прогнозируемые искажения.
14. Машиночитаемый носитель по п.13, в котором вычисление прогнозируемых искажений включает в себя определение того, выполняется ли восстановление после ошибок; при этом, если восстановление после ошибок выполняется, модификация свойств видеопотока включает в себя увеличение значения группы изображений, чтобы достичь соответствующего уменьшения искажений; и при этом, если восстановление после ошибок не выполняется, модификация свойств видеопотока включает в себя уменьшение значения группы изображений, чтобы достичь соответствующего уменьшения искажений.
15. Машиночитаемый носитель по п.13, в котором кадры в видеопотоке сжимаются во множество различных типов кадра, при этом модификация свойств видеопотока включает в себя: идентификацию режима сжатия, используемого кодером для сжатия каждого типа кадра в видеопотоке; использование математической модели для того, чтобы идентифицировать оптимизированный набор свойств видео для кодирования каждого типа кадра в видеопотоке.
16. Машиночитаемый носитель по п.13, в котором инициирующее событие, которое инициирует модификацию в свойствах видеопотока, является величиной, на которую прогнозируемые искажения становятся больше или меньше порогового значения.
17. Машиночитаемый носитель по п.13, в котором инициирующее событие, которое инициирует модификацию в свойствах видеопотока, является изменением в частоте потерь пакетов.
18. Машиночитаемый носитель по п.13, в котором модификация свойств по умолчанию видеопотока включает в себя применение различного уровня избыточности в канальном кодировании, который зависит от типа кадра.
19. Машиночитаемый носитель по п.13, в котором свойства видеопотока, которые модифицируются, включают в себя значения группы изображений, частоту кадров и/или распределение типов кадра.
Н | |||
WU et al, A Model for MPEG with Forward Error Correction and TCP-Friendly Bandwidth, NOSSDAV'03, Monterey, 1 June 2003 | |||
US 2003099298 A1, 2003.05.29 | |||
EP 1202487 A2, 2002.05.02 | |||
US 2005105608 A1, 2005.05.19 | |||
US 6658618 B1, 2003.12.02 | |||
US 6317795 B1, 2001.11.13 | |||
US 6014694 A, 2000.01.11 | |||
W02004054269 A1, 2004.06.24 | |||
WO 2005074291 A1, 2005.08.11 | |||
US 2005281329 A1, 2005.12.22 | |||
СПОСОБ И УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ И ПРИЕМА МУЛЬТИМЕДИЙНЫХ ДАННЫХ | 2000 |
|
RU2219671C2 |
Авторы
Даты
2013-10-27—Публикация
2007-09-05—Подача