СИСТЕМА И СПОСОБ ДЛЯ ПЕРЕДАЧИ ИЗОБРАЖЕНИЙ В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ
SYSTEM AND METHOD FOR REAL-TIME IMAGE TRANSMISSION

Объект изобретения
Предлагаемое изобретение относится к системе (устройству) и способу для передачи изображений в режиме реального времени, при помощи которых возможно осуществление передачи и получения изображений через телематические сети, например через сеть Интернет.
Область применения изобретения
Данное изобретение применимо в области передачи видеоизображений и мультимедийного контента, распространяемого в телематических сетях с подключением компьютеров или устройств с вычислительными возможностями.
Предпосылки создания изобретения
Передача изображений в режиме реального времени через телематические сети является на сегодняшний день сервисом, спрос на который среди пользователей постоянно и неуклонно растет.
В настоящее время для передачи и получения изображений в режиме реального времени требуется, чтобы на принимающем компьютере или принимающем устройстве было установлено специальное программное обеспечение (плееры, такие как, например, Adobe Flash Player), версии которого изменяются с выпуском новых обновлений и во многих случаях недоступны для установки на всех устройствах, используемых для воспроизведения мультимедиа контента на экране.
Это специальное программное обеспечение устанавливается в виде автономных программных приложений или, в обобщенном аспекте, как плагины для веб-браузеров, обеспечивая возможность отображения контента устройствами, в которых используются веб-браузеры. Основная проблема, связанная с этим типом программного обеспечения, заключается в следующем: его нельзя установить на всех платформах и устройствах, применяемых для воспроизведения изображений, например таких, где установлены устаревшие версии браузеров, или на устройствах с ограниченными возможностями, например, мобильных телефонах. Эти устройства не позволяют воспроизводить видео в реальном времени через сеть интернет или в скором времени становятся устаревшими из-за того, что установленное на них программное обеспечение не может быть обновлено.
Другая проблема используемых в настоящее время систем для воспроизведения видео в реальном времени заключается в следующем: преобразование кадров изображений в видеопоток требует широкой полосы пропускания и интенсивного использования ресурсов процессора и памяти. Эта среда делает невозможным стремительное развитие передачи видео в реальном времени через масштабные сети (Интернет).
Заявителю настоящего изобретения не известно о существовании предпосылок для удовлетворительного решения изложенных проблем.
Описание изобретения
Система и способ для передачи изображений в реальном времени, являющиеся целью изобретения, представляют собой некоторые технические особенности, направленные на обеспечение для всех пользователей возможности неограниченно передавать и принимать видео в режиме реального времени с использованием любых устройств, оснащенных веб-браузером. Система и способ делают возможным пользование указанным сервисом с применением устройств или принимающего оборудования, подключенного к телематическим сетям и с установленным на нем веб-браузером, без строгих требований к версии выпуска, делают возможным прием изображений или видеоряда в реальном времени без необходимости устанавливать специальное программное обеспечение для воспроизведения или специальных плагинов для веб-браузера.
Таким образом, система (устройство) относится к типу, включающему в себя передающее оборудование, оснащенное устройствами получения изображений и подключенное к телематической сети; оборудование сервера изображений, также подключенного к телематической сети, и принимающее оборудование, оснащенное программным обеспечением, соответствующим веб-браузерам.
Разработанная система (устройство) служит достижению следующих целей:
a) оборудование, передающее изображение, может обеспечивать указанную передачу через стандартные коммуникационные протоколы, такие как TCP или HTTP.
b) для обеспечения коммуникации ширина полосы пропускания может быть минимальной.
Согласно изобретению:
- Передающее оборудование объединяет программное обеспечение для передачи отдельных изображений через протоколы TCP или HTTP как элемент совокупности и последовательности передачи независимых изображений с идентификационным кодом «guide» (глобальный уникальный идентификатор) в последовательности передач,
- оборудование сервера включает выделенные свободные пространства в памяти, соответствующие различным идентификационным кодам, в которых индивидуально сохраняются изображения, переданные посредством передающего оборудования и обновляемые последними изображениями, полученными от передающего оборудования для последующего перенаправления на принимающее оборудование по требованию в форме отдельных и независимых передач изображений, совместимых с протоколом HTTP для просмотра в веб-браузере. Для каждого идентификационного кода (глобального уникального идентификатора), соответствующего отдельной единице передающего оборудования, генерируется отдельный поток последовательных изображений.
В варианте осуществления изобретения оборудование сервера изображений включает средства для редактирования и обработки изображений, временно хранящихся в выделенных пространствах памяти.
Для обеспечения возможности управления, идентификационные коды сохраняются в виде списка на сервере изображений, элементы списка возможно просматривать, добавлять и удалять. Таким образом, при отображении списка идентификационных кодов для каждого выделенного пространства памяти элементы списка всегда доступны для просмотра и управления. При приостановке передачи изображений передающим оборудованием, соответствующий идентификационный код удаляется из списка, и освободившееся пространство становится доступным для повторного использования.
Согласно изобретению способ передачи изображений в режиме реального времени заключается в следующем:
- связь посредством протокола TCP или HTTP по крайней мере одной единицы передающего оборудования (1) с оборудованием сервера изображений (4), на котором происходит согласование соединения для передачи изображения с идентификационным кодом «guid» (глобальным уникальным идентификатором);
- Создание выделенных пространств памяти (5) на оборудовании сервера изображений (4) соответственно идентификационному коду последовательности передач изображении для хранения полученных изображений,
- хранение изображений, полученных через оборудование сервера изображений (4) в выделенных пространствах памяти (5) в соответствии с присвоенным уникальным идентификационным кодом «guid»;
- объединенную трансляцию последовательности независимых и индивидуальных изображений с их соответствующими идентификационными кодами «guid» на оборудование сервера изображений (4) для размещения в выделенные пространства памяти (5) в соответствии с присвоенными уникальными идентификационными кодами «guid»;
- подключение удаленного принимающего оборудования (6) к рабочей станции (компьютеру) сервера изображений (4) через протокол HTTP с запросом на передачу через упомянутый протокол HTTP изображений, сохраненных в выделенных пространствах памяти (5) и соответствующих определенному присвоенному уникальному идентификатору «guid», и последующее повторение запроса на получение последовательности изображений, сохраненных в упомянутом выделенном пространстве памяти (5) в соответствии с динамическими изображениями в режиме реального времени.
Эта процедура не требует использования на принимающем оборудовании специального программного обеспечения. Трансляция изображений с передающего оборудования на оборудование сервера изображений и, в свою очередь, с сервера изображений на принимающее оборудование осуществляется через протоколы HTTP и TCP/IP, являющиеся полностью безопасными и совместимыми с системами безопасности, используемыми различными операторами и администраторами телематических сетей, что исключает конфликты систем безопасности.
Таким образом, оборудование сервера изображений находится постоянно в режиме ожидания поступления сообщений через выделенный порт (например, такой как порт Tcp port 80hex), стандартный коммуникационный порт для обмена данными через Интернет, и не вызывает проблем, связанных с настройками системы безопасности компаний.
Когда на сервер изображений поступает запрос с указанного порта, сервер выполняет обработку запроса и посылает ответ. Всего может быть получено три вида запросов, идентифицируемых по их буквальному значению. Каждый запрос обрабатывается в отдельном потоке, что позволяет одновременно осуществлять множественное количество подключений.
a) Запрос от передающего оборудования: команда с буквенным обозначением «Desktop» («Рабочий стол»). Этот запрос обрабатывается через протокол TCP/IP, посредством открытия отдельного сокета и установления устойчивой двухточечной связи в рамках этого протокола.
b) Запрос от передающего оборудования: команда с буквенным обозначением «HDesktop». Этот запрос обрабатывается через HTTP протокол посредством открытия отдельного сокета и установления устойчивой двухточечной связи через этот протокол с использованием стандарта HTTP 1.1. Эти запросы на доставку контента на оборудование сервера изображений всегда относятся к типу «post».
c) Запрос от принимающего оборудования: команда с буквенным обозначением «Client». Этот запрос всегда обрабатывается через протокол HTTP с использованием стандарта 1.1 и повторяется до получения ответа. Эти запросы всегда относятся к типу «get», их целью является получение контента с сервера изображений.
Когда на оборудование сервера изображений от передающего оборудования поступает такой запрос, как «Desktop», происходит следующее:
- Сервер изображений устанавливает и поддерживает коммуникацию через сокет,
- Выполняет по строке запроса поиск идентификационного кода «guid» для идентификации доставленных изображений,
- Постоянно обращаясь к памяти, проверяет, имеется ли уже указанный идентификационный код «guid», и, если его нет, выделяет ему специальное место в памяти (Указатель).
- Сообщает второй точке, что готов принять контент.
После однократного прохождения фазы согласования двухточечная связь будет поддерживаться до тех пор, пока она будет активна.
После завершения фазы согласования передающее оборудование посылает инструкцию «setconnect», обозначающую:
a - Тип изображения, которое будет получено
b - Размер изображения
c - Собственно изображение в двоичном коде
Оборудование сервера изображений после получения указанной инструкции ожидает получения всего изображения (размер изображения в битах указывается во втором признаке).
После завершения приема целого изображения сервер изображений выполняет следующую последовательность действий:
- в указателе пространства памяти, приписанного к этой сессии коммуникации, идентифицируемому по идентификационному коду «guid», упомянутому выше, сохраняет изображение.
- отправляет на передающее оборудование инструкцию «nextconnect» в знак готовности к приему нового сообщения и ожидает следующего подтверждения «setconnect».
Если во время коммуникационной сессии между передающим оборудованием и оборудованием сервера изображений происходит обрыв связи, соединение может быть восстановлено посредством повторного прохождения фазы согласования, с доступом к тому же пространству памяти при получении того же идентификационного кода, что и при первоначальном согласовании.
Когда на оборудование сервера изображений от передающего оборудования поступает запрос типа «HDesktop», выполняется следующая последовательность действий:
- Устанавливается и поддерживается коммуникация через сокет,
- По строке запроса выполняется поиск идентификатора, обозначающего доставленные изображения,
- Постоянно работая с памятью, сервер изображений проверяет, существует ли уже указанный идентификатор в базе, если нет, присваивает выделенное пространство памяти (Указатель).
- Этот запрос проходит через «POST» метод протокола HTTP 1.1. У указанного протокола имеется заголовок, обозначающий итоговый размер сообщения и тип контента. Полученное сообщение состоит из изображения в двоичном коде. При получении этого подтверждения, оборудование сервера изображений ожидает получения полного текста запроса (полного количества битов, указанных в заголовке сообщения).
После завершения приема полного текста сообщения выполняются следующие действия:
- Изображение, после его преобразования в двоичный код, сохраняется в присвоенное упомянутому выше идентификатору "guid" пространство памяти.
- Затем во время ожидания следующей партии контента через протокол HTTP на запрос посылается ответ «ok» или «error».
Пока возможно, этот сокет будет оставаться активным, что позволяет избежать излишних отправок в первоначальную точку, к фазе согласования. Когда сервер изображений получает от принимающего оборудования запрос типа «Client», выполняются следующие шаги:
- Устанавливается и поддерживается коммуникация.
- В строке запроса выполняется поиск идентификационного кода, по которому идентифицируются изображения, которые должны быть получены.
- Этот запрос принимается по «get» методу протокола HTTP 1.1, таким образом ожидается получение контента.
- Постоянно работая с памятью, оборудование сервера проверяет, существует ли уже полученный с запросом идентификатор «guid» в базе данных. Если нет, через протокол HTTP 1.1 доставляется пустое изображение.
Если присланный в запросе идентификационный код «guid» уже существует, с использованием соответствующего указателя на выделенное место в памяти через протокол HTTP 1.1 доставляется заполненное изображение. Это действие выполняется посредством создания специального заголовка для этого протокола, где обозначается формат изображения, размер и содержание изображения. Эта форма доставки совместима со всеми браузерами, используемыми на сегодняшний день.
Поэтому каждый раз при доставке с передающего оборудования принимается последнее отправленное изображение.
Таким образом, у нас имеется специальное выделенное пространство памяти на сервере, где сохраняется только последнее изображение (кадр), отправленное передающим оборудованием.
Получение изображения принимающим оборудованием выполняется в любое время и не требует создания собственных данных и управления ими, равно как и буфера данных или изображений, что придает получаемой последовательности изображений высокую гибкость и текучесть. Эта последовательность изображений производится собственно приложением в направлении от принимающего оборудования к оборудованию сервера изображений, и устойчива к обрывам соединения, без исключений, вызванных насыщенностью полосы пропускания при коммуникации, как это происходит при использовании других плееров, применяемых для воспроизведения динамических изображений в режиме реального времени или видеоконтента, сохраненного в предварительно записанных файлах.
Коммуникация между передающим оборудованием, принимающим оборудованием и оборудованием сервера изображений осуществляется с использованием стандартных сокетов TCP/IP. Эти сокеты преимущественно позволяют передачу изображений через передающий порт при стандартизированном согласовании, типе контента, в данном случае изображений в формате JPG, GIF, BMP и сходных с ними, длины такого контента и собственно изображения как контента.
Оборудованием сервера изображений может осуществляться редактирование изображений, полученных с передающего оборудования (1), перед их размещением в соответствующие выделенные пространства памяти. Функция редактирования позволяет добавлять субтитры, логотипы, маркеры даты и времени или любую другую информацию, направленную на улучшение качества контента.
Похожим образом, метод также включает в себя хранение последовательностей изображений, полученных с передающего оборудования, в последовательностях файлов на сервере изображений. Сохраненные файлы могут храниться на внутренних ресурсах или пересылаться на внешние системы хранения, что дает дополнительную возможность редактирования изображений, распространяемых передающим оборудованием.
Если от принимающего оборудования на оборудование сервера изображений поступает запрос идентификатора «guid», у которого нет приписанного пространства в активной памяти, оборудование сервера возвращает пустое изображение или изображение с обозначением данной ситуации.
Предусматривается, что передающее оборудование имеет приписанные различные идентификаторы, соответствующие различным устройствам создания (получения) изображений, которые передаются независимо на оборудование сервера изображений. Таким образом, одним и тем же передающим оборудованием могут передаваться изображения, полученные от разных источников получения изображений (съемки).
Предлагаемые система и способ позволяют получить стандартизированный способ для последовательной отправки изображений в режиме реального времени. Передача изображений осуществляется через оборудование центрального сервера, которое собирает и отправляет информацию из множества точек на множество точек. Оборудование сервера постоянно работает с памятью, поддерживая только последнее полученное изображение.
По изложенным причинам для поддержания «живой» видеосессии (видеосессии в реальном времени) требуется очень малое количество ресурсов - только свободное место в памяти для последнего полученного изображения.
С другой стороны, при использовании предлагаемой системы не соблюдается реальная хронологическая последовательность (тайминг) передачи, поскольку передача осуществляется по требованию, в результате чего возможны нерегулярные потери промежуточных изображений (кадров). Тем не менее, эти потери происходят прозрачным для системы образом, не влекут за собой ошибок переполнения при генерировании и/или выполнении, в результате чего операционные системы, установленные на оборудовании, работают более стабильно.
Описание чертежей
Для дополнения сделанного описания и в целях облегчения понимания ключевых особенностей изобретения к данной спецификации прилагается чертеж, в котором в иллюстративном и неограниченном словесным описанием виде представлено:
- На фиг.1 изображена упрощенная схема системы.
Предпочтительное воплощение изобретения
Как видно из представленного чертежа, система включает в себя передающее оборудование (1), подключенное к телематической сети при использовании различных средств для коммуникации. Каждая единица передающего оборудования (1) оснащена средствами получения изображения (2), в данном случае веб-камерами, и работающим программным обеспечением (3), специфическим для получения изображений и их передачи по телематической сети по протоколу TCP или HTTP с использованием сокетов в стандартных портах TCP/IP, таких как порт 80hex. В этом случае коммуникации в телематических сетях представлены как линии связи, соответствующие потокам данных.
Передающее оборудование (1) подключено к оборудованию центрального сервера изображений (4). Комплект оборудования сервера изображений (4) включает память, в которой выделены несколько пространств памяти (5), ассоциирующиеся с идентификационным кодом (глобальным уникальным идентификатором) каждой передаваемой последовательности изображений, и достаточное количество памяти для сохранения изображения в случае, если изображение в пространстве памяти (5) сохраняется при замене его на последнее изображение, полученное с передающего оборудования (1), идентифицируемое по коду «guid», для его обновления в режиме реального времени.
Пример запроса передающего оборудования (1) к компьютеру сервера изображений (4) представлен ниже, пример приведен для информационных целей:
В примере показано выполнение последовательных запросов на получение изображений, при которых всегда осуществляется получение последнего изображения, поступившего с передающего оборудования (1).
После приведения достаточно подробного описания сути изобретения, равно как и предпочтительного воплощения для уместных предложений, устанавливается, что материалы, форма, размер и порядок размещения описанных элементов могут быть изменены при условии, что это не предполагает изменения существенных признаков изобретения, перечисленных ниже.