СИСТЕМА ВИДЕОКОНТРОЛЯ И ЕЕ СПОСОБ ПРЯМОГО ИСПРАВЛЕНИЯ ОШИБОК (FEC)
VIDEO MONITORING SYSTEM AND FORWARD ERROR CORRECTION (FEC) METHOD THEREOF

Область изобретения
Настоящее изобретение касается области видеонаблюдения, в частности - системы видеонаблюдения и его способа прямого исправления ошибок.
Предпосылки изобретения
Услуга видеонаблюдения на основе IP сети является возникающей мультимедийной услугой с добавленной стоимостью. Система услуги в основном состоит из трех частей: внешнего интерфейса наблюдения, платформы наблюдения и клиентского интерфейса наблюдения. Внешний интерфейс наблюдения в основном совершает сбор, кодирование и загрузку видео и аудио сигнала, выполняет сбор и обработку сигнала тревоги и осуществляет контроль над вспомогательным оборудованием, таким как телекамера и головка рамы, и т.п. Платформа наблюдения в основном выполняет распространение медиаданных, управление оборудованием, управление услугой и поддержку работы, и т.п. Клиентский интерфейс наблюдения в основном предоставляет конкретную услугу видеонаблюдения клиентам. Проблема потери сетевых пакетов часто возникает между внешним интерфейсом наблюдения и платформой наблюдения по причине ограниченности пропускной способности линии связи, вызывая ухудшение качества изображения и вредя пользовательскому восприятию. В настоящее время способ автоматического запроса повторной передачи (ARQ) может использоваться для решения этой проблемы на прикладном уровне. Способ требует, чтобы получающая сторона отправляла обратно данные о состоянии сети в реальном времени, а отсылающая сторона - повторно передавала медиаданные в соответствии с полученной информацией обратной связи. В таком приложении видеонаблюдения ARQ имеет более высокое требование на внешнем интерфейсе наблюдения, так что является неподходящим. В существующем способе прямого исправления ошибок (FEC) отсылающая сторона одновременно посылает поток кода медиаданных и поток кода коррекции ошибки, а получающая сторона принимает решение в соответствии с полученными потоками кода медиаданных и кода коррекции ошибки и выполняет соответствующую коррекцию ошибки. Однако в рассматриваемой области проблема потери сетевых пакетов между внешним интерфейсом наблюдения и платформой наблюдения, часто происходящая по причине ограниченности пропускной способности линии связи, не решена с помощью способа FEC на уровне приложения.
Сущность изобретения
Настоящее изобретение предоставляет систему видеонаблюдения и ее способ прямого исправления ошибок, который решает проблему потери сетевых пакетов между внешним интерфейсом наблюдения и платформой наблюдения, происходящую по причине часто ограниченной пропускной способности линии связи.
С целью решения вышеуказанной проблемы настоящее изобретение предоставляет способ прямого исправления ошибок в системе видеонаблюдения, система видеонаблюдения содержит внешний интерфейс наблюдения и платформу наблюдения, и способ содержит:
инициацию внешним интерфейсом наблюдения запроса сеанса связи с платформой наблюдения и установление сеанса связи;
выполнение внешним интерфейсом наблюдения кодирования FEC (прямого исправления ошибок) на потоке кода исходных медиаданных, и передачу потока кода FEC, полученного путем кодирования, и потока кода исходных медиаданных на платформу наблюдения по одному и тому же каналу;
разделение платформой наблюдения полученных потоков кода на поток кода исходных медиаданных и поток кода FEC, и если определяется, что в потоке кода исходных медиаданных потерян пакет медиаданных, восстановление потерянного пакета медиаданных в потоке кода исходных медиаданных посредством потока кода FEC, полученного путем разделения.
Вышеуказанный способ может также содержать: когда внешний интерфейс наблюдения инициирует запрос сеанса связи с платформой наблюдения, перенос поля, поддерживающего FEC, в сообщении протокола описания сеанса связи (SDP), и отправку SDP сообщения на платформу наблюдения; получение платформой наблюдения поля, поддерживающего FEC, из SDP сообщения; выполнение инициализации на полученном поле и резервирование ресурсов, относящихся к полученному полю. SDP сообщение может быть m=<media> <port> <transport> <fmt list>, где<fmt list> - это поле, поддерживающее FEC, ключевые поля <fmt list> включают: тип нагрузки, обозначение потока исходного кода, обозначение кодирования FEC, кратность резервирования кодирования FEC, число исходных пакетов кодирования FEC и размер окна восстановления FEC; и платформа наблюдения разделяет полученные потоки кода на поток кода исходных медиаданных и поток кода FEC в соответствии с типом нагрузки.
Шаг выполнения внешним интерфейсом наблюдения кодирования FEC на потоке кода исходных медиаданных может содержать: добавление внешним интерфейсом заголовка FEC перед данными кодирования FEC, а потом - взятие заголовка FEC и данных кодирования FEC как содержимого нагрузки пакета транспортного протокола реального времени (RTP), подлежащего непосредственной упаковке; где, когда на данных кодирования FEC выполняется RTP инкапсуляция, тип нагрузки, отличный от потока кода исходных медиаданных, приспосабливается выполнять определение.
Платформа наблюдения может восстанавливать потерянный пакет медиаданных в потоке кода исходных медиаданных следующим образом: восстанавливая потерянный пакет медиаданных в потоке кода исходных медиаданных посредством потока кода FEC и операции декодирования FEC.
Вышеуказанный способ может также содержать: когда наблюдение останавливается, передачу платформой наблюдения запроса остановки действия на внешний интерфейс наблюдения, и ответ внешнего интерфейса наблюдения на запрос остановки действия и остановку передачи потока кода медиаданных и потока кода FEC; освобождение платформой наблюдения зарезервированных ресурсов после получения ответа остановки действия. Настоящее изобретение также предоставляет систему видеонаблюдения, которое содержит: внешний интерфейс наблюдения и платформу наблюдения, где
внешний интерфейс наблюдения сконфигурирован: инициировать запрос сеанса связи с платформой наблюдения и устанавливать сеанс связи; выполнять кодирование FEC на потоке кода исходных медиаданных и передавать поток кода FEC, полученный путем кодирования, и поток кода исходных медиаданных на платформу наблюдения по одному и тому же каналу;
платформа наблюдения сконфигурирована: разделять потоки кода, передаваемые внешним интерфейсом наблюдения, на поток кода исходных медиаданных и поток кода FEC, и если определяется, что потерян пакет медиаданных, восстанавливать потерянный пакет медиаданных в потоке кода исходных медиаданных посредством потока кода FEC.
Внешний интерфейс наблюдения может также быть сконфигурирован: при инициации запроса сеанса связи с платформой наблюдения, переносить поле, поддерживающее прямое исправление ошибок (FEC), в сообщении протокола описания сеанса связи (SDP) и отправлять SDP сообщение на платформу наблюдения; платформа наблюдения может также быть сконфигурирована: получать поле, поддерживающее FEC, из SDP сообщения, выполнять инициализацию на полученном поле и резервировать ресурсы, относящиеся к полученному полю. SDP сообщение может быть m=<media> <port> <transport> <fmt list>, где <fmt list> - это поле, поддерживающее FEC, ключевые поля <fmt list> включают: тип нагрузки, обозначение потока исходного кода, обозначение кодирования FEC, кратность резервирования кодирования FEC, число исходных пакетов кодирования FEC и размер окна восстановления FEC; и платформа наблюдения сконфигурирована разделять полученные потоки кода на поток кода исходных медиаданных и поток кода FEC в соответствии с типом нагрузки.
Внешний интерфейс наблюдения может также быть сконфигурирован: при выполнении кодирования FEC на потоке кода медиаданных добавлять заголовок FEC перед данными кодирования FEC, и затем брать заголовок FEC и данные кодирования FEC как содержимое нагрузки RTP пакета, подлежащего непосредственной упаковке; и где, при выполнении RTP инкапсуляции на данных кодирования FEC, приспосабливать тип нагрузки, отличный от потока кода исходных медиаданных, определять данные кодирования FEC.
Платформа наблюдения может восстанавливать потерянный пакет медиаданных в потоке кода исходных медиаданных следующим образом: восстанавливая потерянный пакет медиаданных в потоке кода исходных медиаданных посредством потока кода FEC и операции декодирования FEC.
Платформа наблюдения может также быть сконфигурирована: когда наблюдение останавливается, передавать запрос остановки действия на внешний интерфейс наблюдения и освобождать зарезервированные ресурсы после получения ответа остановки действия, посылаемого внешним интерфейсом наблюдения; внешний интерфейс наблюдения также сконфигурирован: производить ответ остановки действия для платформы наблюдения и останавливать пересылку потока кода медиаданных и потока кода FEC.
По сравнению с известным уровнем техники, путем использования настоящего изобретения, решается проблема потери сетевого пакета между внешним интерфейсом наблюдения и платформой наблюдения, часто возникающая по причине ограниченной пропускной способности линии связи, и уменьшаются эксплуатационные издержки.
Краткое описание графических материалов
Фиг.1 представляет собой блок-схему способа прямого исправления ошибок в системе видеонаблюдения в соответствии с настоящим изобретением.
Фиг.2 представляет собой блок-схему потока сигнального взаимодействия для поддержки FEC в настоящем изобретении.
Фиг.3 представляет собой блок-схему потока упаковки и передачи для пакета медиаданных и FEC пакета в настоящем изобретении.
Фиг.4 представляет собой принципиальную схему сущности устройства видео наблюдения в соответствии с настоящим изобретением.
Фиг.5 представляет собой блок-схему структуры системы видео наблюдения в соответствии с настоящим изобретением.
Предпочтительные варианты осуществления настоящего изобретения
Настоящее изобретение будет ниже описано подробнее вместе с сопутствующими графическими материалами и конкретными вариантами осуществления.
Как показано на фиг.1, способ прямого исправления ошибок в системе видеонаблюдения в соответствии с настоящим изобретением включает следующие шаги.
На шаге ПО внешний интерфейс наблюдения инициирует запрос сеанса связи с платформой наблюдения (которая может быть потоковым сервером (SS)) и устанавливает сеанс связи; и поле, поддерживающее FEC, переносится в сообщении протокола описания сеанса связи (SDP).
В настоящем изобретении сообщение SDP расширяется, чтобы поддерживать FEC, и конкретное описание следующее:
m=<media> <port> <transport> <fmt list>.
Где определения <media> <port> <transport> идентичны определениям протокола RFC2327, определение, относящееся к FEC, добавляется в <fmt list>, а ключевые поля <fmt list> определяются следующим образом:
тип нагрузки, обозначение потока исходного кода, обозначение кодирования FEC, кратность резервирования кодирования FEC, число исходных пакетов кодирования FEC и размер окна восстановления FEC, и т.п.
Например:
тип нагрузки FEC определяется как: 127;
fec-apt="apt="pt-id - это соответствующее отношение между потоком исходного кода и компенсационным потоком FEC, и pt-id означает обозначение потока исходного кода, где pt-id=1*DIGIT;
fec-encoding-id="encoding-id=" enc-id - это обозначение кодирования FEC, где enc-id=1*DIGIT;
fec-redundancy-rate=" redundancy-rate=" rate - это кратность резервирования кодирования FEC, величина является процентом, где rate=1*DIGIT;
fec-group-count="group-count=" gc - это число исходных пакетов кодирования FEC, raegc=1*DIGIT; и
fec-repair-window="repair-window=" rw - это окно восстановления FEC, и единицей измерения является миллисекунда, где rw=1*DIGIT.
На шаге 120 SS получает поле, поддерживающее FEC, из полученного сообщения протокола описания сеанса связи, выполняет инициализацию на полученном поле и резервирует ресурсы, относящиеся к полученному полю.
На шаге 130 внешний интерфейс наблюдения начинает посылать поток кода на SS.
Здесь внешний интерфейс наблюдения сначала выполняет кодирование FEC на потоке кода медиаданных и передает закодированный поток кода FEC и поток кода исходных медиаданных на SS соответствующим образом по одному и тому же каналу.
В существующих стандартах нет полного определения упаковки FEC. В настоящем изобретении протокол передачи в реальном времени (RTP) расширяется, чтобы поддерживать FEC, где
сначала заголовок FEC добавляется перед данными кодирования FEC, и затем заголовок FEC и данные кодирования FEC берутся вместе как содержимое нагрузки RTP пакета, подлежащего непосредственной упаковке; никакое расширение самого RTP заголовка не производится; при выполнении RTP инкапсуляции на данных кодирования FEC тип нагрузки, отличный от потока кода исходных медиаданных, приспосабливается определять (значение типа нагрузки равно 127), принимающая сторона определяет, является ли принятый поток кода потоком кода исходных медиаданных или потоком кода FEC в соответствии с типом нагрузки.
Расширенное определение FEC
Форматы упаковки FEC RTP пакета определяются следующим образом:
Где значение каждого поля в RTP заголовке пакета FEC соответствует стандарту RFC3550, а заголовок пакета FEC определяется следующим образом:
FEC SN base: 16 бит, порядковый номер первого RTP пакета, соответствующего проверочным данным FEC, генерируемым группой пакетов медиаданных.
L: 1 бит определяется как 1 и длина обратного шаблона составляет 48 бит.
Число пакетов FEC: 15 бит, указывает соответственно сколькими RTP пакетами передаются избыточные данные FEC текущей группы, то есть число RTP пакетов данных FEC текущей группы.
SN base: 16 бит, указывает первый порядковый номер RTP последовательности пакетов медиаданных, защищенных пакетом FEC.
Mask: 48 бит, маска шаблона используется для обозначения того, какие пакеты в оригинальных пакетах медиаданных берут участие в вычислении текущего пакета FEC, если i-ый (i=0, 1, 2 …) бит маски установлен в 1, порядковый номер RTP таков, что N+I пакет медиаданных связан с текущим пакетом FEC, где N - это значение поля SN base.
На шаге 140 SS разделяет полученный поток кода на поток кода медиаданных и поток кода FEC в соответствии с типом нагрузки и, если определяется потеря пакета медиаданных, - восстанавливает потерянный пакет медиаданных в потоке кода исходных медиаданных посредством потока кода FEC и операции декодирования FEC.
На шаге 150 внешний интерфейс наблюдения прекращает посылать поток кода медиаданных и поток кода FEC после получения запроса остановки действия SS.
Настоящее изобретение будет также описано посредством примера управления сеансом связи между внешним интерфейсом наблюдения и SS с помощью потокового протокола реального времени (RTSP), который разделяется на поток сигнального взаимодействия для поддержки FEC и поток упаковки и передачи для пакета медиаданных и пакета FEC.
Как показано на фиг.2, поток сигнального взаимодействия для поддержки FEC включает следующие шаги.
На шаге 210 внешний интерфейс наблюдения инициативно устанавливает TCP соединение с потоковым сервером после успешного включения и затем отсылает ANNOUNCE запрос RTSP на потоковый сервер, и запрос несет описание SDP.
На шаге 220 потоковый сервер разбирает полученное описание SDP, если определяется, что описание SDP поддерживает FEC, - выполняет инициализацию и резервирует ресурсы, а затем отсылает ответ ANNOUNCE на внешний интерфейс наблюдения.
На шаге 230 внешний интерфейс наблюдения посылает SETUP запрос (RTSP сообщение) на потоковый сервер.
На шаге 240 потоковый сервер отвечает на SETUP запрос (RTSP сообщение) внешнему интерфейсу наблюдения и переносит номер порта для потокового сервера, чтобы принимать медиаданные, в ответном сообщении.
Потоковый сервер будет получать на порт поток кода исходных медиаданных и поток кода FEC одновременно.
На шаге 250 внешний интерфейс наблюдения посылает на потоковый сервер запрос RECORD (RTSP сообщение).
На шаге 260 потоковый сервер посылает ответ RECORD (RTSP сообщение) на внешний интерфейс наблюдения, и сеанс связи между внешним интерфейсом наблюдения и потоковым сервером успешно устанавливается.
Как показано на фиг.3, поток упаковки и передачи для пакета медиаданных и пакета FEC включает следующие шаги.
На шаге 310 потоковый сервер отсылает запрос начала действия (RTSP сообщение установки параметров) на внешний интерфейс наблюдения.
На шаге 320 внешний интерфейс наблюдения подает ответ начала действия (RTSP ответ) на потоковый сервер.
На шаге 330 внешний интерфейс наблюдения одновременно посылает на потоковый сервер поток кода исходных медиаданых и поток кода FEC.
При этом поток кода исходных медиаданных и поток кода FEC пересылаются по одному и тому же каналу.
На шаге 340 потоковый сервер получает потоки кода по одному и тому же каналу и определяет, в соответствии с типом нагрузки, является ли он потоком кода исходных медиаданных или потоком кода FEC, если в соответствии с полученным потоком кода исходных медиаданных определяется, что происходит потеря сетевого пакета, использует полученный поток кода FEC, чтобы осуществлять исправление ошибок и восстановление.
На шаге 350, когда наблюдение останавливается, потоковый сервер посылает запрос остановки действия (RTSP сообщение установки параметров) на внешний интерфейс наблюдения; внешний интерфейс наблюдения подает ответ остановки действия и останавливает передачу потока кода медиаданных и потока кода FEC; и потоковый сервер освобождает зарезервированные ресурсы после получения ответа.
Как показано на фиг.4 и фиг.5, система видеонаблюдения настоящего изобретения включает: внешний интерфейс наблюдения и платформу наблюдения, где
внешний интерфейс наблюдения сконфигурирован: инициировать запрос сеанса связи к платформе наблюдения и устанавливать сеанс связи, и одновременно переносить поле, поддерживающее обратную коррекцию ошибок (FEC), в сообщении протокола (SDP) описания сеанса соединения; и выполнять кодирование FEC на потоке кода медиаданных и передавать закодированный поток кода FEC и поток кода исходных медиаданных на платформу наблюдения по одному и тому же каналу;
платформа наблюдения сконфигурирована: получать поле, поддерживающее FEC, из SDP сообщения, выполнять инициализацию на полученном поле и резервировать ресурсы; разделять потоки кода, передаваемые внешним интерфейсом наблюдения, на поток кода исходных медиаданных и поток кода FEC и, если определяется, что потерян пакет медиаданных, восстанавливать потерянный пакет медиаданных в потоке кода исходных медиаданных посредством потока кода FEC.
SDP сообщение, определенное внешним интерфейсом наблюдения, имеет следующий вид: m=<media> <port> <transport> <fmt list>, где ключевые поля <fmt list> включают: тип нагрузки, обозначение потока исходного кода, обозначение кодирования FEC, кратность резервирования кодирования FEC, число исходных пакетов кодирования FEC и размер окна восстановления FEC.
Платформа наблюдения разделяет полученные потоки кода на поток кода медиаданных и поток кода FEC в соответствии с типом нагрузки.
Внешний интерфейс наблюдения добавляет заголовок FEC перед данными кодирования FEC при выполнении кодирования FEC на потоке кода медиаданных, и затем берет добавленный заголовок FEC и данные кодирования FEC вместе как содержимое нагрузки RTP пакета, подлежащего непосредственной упаковке, причем сам RTP заголовок не расширяется; внешний интерфейс наблюдения приспосабливает тип нагрузки, отличный от потока кода исходных медиаданных, определять данные кодирования FEC при выполнении RTP инкапсуляции на данных кодирования FEC.
Платформа наблюдения восстанавливает потерянный пакет медиаданных в потоке кода исходных медиаданных следующим образом:
платформа наблюдения восстанавливает потерянный пакет медиаданных в потоке кода исходных медиаданных посредством потока кода FEC и операции декодирования FEC.
Платформа наблюдения также сконфигурирована: когда наблюдение останавливается, передавать запрос остановки действия на внешний интерфейс наблюдения и освобождать зарезервированные ресурсы после получения ответа остановки действия, посылаемого внешним интерфейсом наблюдения;
внешний интерфейс наблюдения также сконфигурирован: производить ответ остановки действия для платформы наблюдения и останавливать пересылку потока кода медиаданных и потока кода FEC.
Вышеприведенное описание подается только для конкретных вариантов осуществления настоящего изобретения, однако объем защиты настоящего изобретения не ограничивается вышеприведенным описанием. Любые изменения и замены, о которых может подумать специалист в данной области техники и которые могут быть в пределах технического объема, раскрытого настоящим изобретением, должны все попадать в пределы объема защиты настоящего изобретения. Следовательно, объем защиты настоящего изобретения должен быть предметом объема защиты формулы изобретения.
Промышленная применимость
По сравнению с известным уровнем техники, посредством настоящего изобретения, может быть решена проблема потери сетевого пакета между внешним интерфейсом наблюдения и платформой наблюдения, часто возникающая по причине ограниченной пропускной способности линии связи, и могут быть уменьшены эксплуатационные издержки.