RU2527206C2 - Подписка на видеоконференцсвязь с использованием потоков со множеством скоростей передачи битов - Google Patents
Подписка на видеоконференцсвязь с использованием потоков со множеством скоростей передачи битов Download PDFInfo
- Publication number
- RU2527206C2 RU2527206C2 RU2011124036/08A RU2011124036A RU2527206C2 RU 2527206 C2 RU2527206 C2 RU 2527206C2 RU 2011124036/08 A RU2011124036/08 A RU 2011124036/08A RU 2011124036 A RU2011124036 A RU 2011124036A RU 2527206 C2 RU2527206 C2 RU 2527206C2
- Authority
- RU
- Russia
- Prior art keywords
- video
- client
- video stream
- stream
- clients
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 22
- 239000002131 composite material Substances 0.000 claims description 13
- 238000004891 communication Methods 0.000 abstract description 12
- 239000000126 substance Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1818—Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42203—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4223—Cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1877—Measures taken prior to transmission
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
Abstract
Изобретение относится к области видеоконференцсвязи. Техническим результатом является обеспечение подписок на видеоконференции с использованием потоков с множеством скоростей передачи битов. Сервер видеоконференции может принимать видеопотоки от каждого клиента в видеоконференции и может принимать запросы на подписку от каждого клиента. Запросы на подписку могут включать в себя запросы на просмотр видеопотоков от конкретных других клиентов с заданным разрешением и/или частотой кадров. Сервер видеоконференции может сопоставлять принятые видеопотоки с запросами на подписку, чтобы послать подписавшимся клиентам необходимые им видеопотоки. Сервер может также запрашивать различные версии видеопотоков от участников (например, с другими разрешениями) и/или изменять видеопотоки, чтобы они лучше соответствовали запросу на подписку. 3 н. и 17 з.п. ф-лы, 6 ил.
Description
Уровень техники
Подписки на видеоконференцию предоставляют клиентам возможность выбрать участников, которых они хотят видеть. Для вызова видеоконференцсвязи можно использовать технологии интерактивной связи, которые предоставляют возможность взаимодействовать из двух и/или более местоположений посредством двунаправленных видео- и аудиопередач одновременно. В видеоконференциях может использоваться передача аудио и видео, чтобы организовать совместную встречу людей, находящихся в разных местах. Это может быть беседа между двумя лицами, находящимися в личных кабинетах (двухточечная связь), и/или можно задействовать несколько мест (многоточечная связь) с более чем одним человеком в больших помещениях в разных местах. Кроме аудио- и визуальной передачи проводимых встреч, видеоконференцсвязь можно использовать для совместной работы с документами, отображаемой компьютером информацией и «белыми досками». Аудио/видео передачи могут захватываться, записываться и оцифровываться с использованием процесса, известного как кодирование, передаваться через среду связи, такую как компьютерная сеть, в другое место, а также приниматься, декодироваться и отображаться другому участнику видеоконференции. С этим процессом совместимо множество стандартов кодирования/декодирования.
Традиционная стратегия видеоконференцсвязи заключается в направлении видеопотока от одного участника к другому вместо смешивания видеоконтента (декодирование всех входящих видеопотоков, составление их вместе, повторное кодирование в единый поток и посылка повторно закодированного потока каждому участнику). Таким образом, некоторые системы могут лишь переключаться на активного в данный момент говорящего и показывать его в ходе вызова видеоконференцсвязи вместо того, чтобы показывать видео от всех участников, либо вместо того, чтобы предоставлять пользователю возможность выбора, чтобы видеть любых участников, которых он захочет. Кроме того, традиционные системы не могут предоставлять клиенту ни возможность подписки на конкретные потоки, нежели на статический смешанный поток, ни возможность клиентам принимать так много потоков из-за ограничений на пропускную способность.
Сущность изобретения
Может быть предоставлена подписка на видеоконференцсвязь с использованием потоков со множеством скоростей передачи битов. Данный раздел «Сущность изобретения» предоставлен в качестве введения для выбора концепций в упрощенной форме, которые дополнительно описаны ниже в разделе «Подробное описание». Данный раздел «Сущность изобретения» не предназначен ни для идентификации ключевых признаков или существенных признаков заявленного предмета изобретения, ни для использования данного раздела для ограничения объема заявленного предмета изобретения.
Предоставлена возможность подписок на видеоконференции. Сервер видеоконференций может принимать видеопотоки со множеством различных скоростей передачи битов от каждого клиента в видеоконференции, а также может принимать от каждого клиента запросы на подписку. Запросы на подписку могут включать в себя запросы на просмотр видеопотоков от других конкретных клиентов с заданными разрешением и/или частотой кадров. Сервер видеоконференций может сопоставить принятые видеопотоки с запросами на подписку, чтобы послать подписавшимся клиентам те видеопотоки, которые они желают. Указанный сервер также способен запрашивать различные версии видеопотоков от участников (то есть с другими разрешениями) и/или изменять видеопотоки, чтобы они лучше соответствовали запросу на подписку.
Приведенное выше общее описание и последующее подробное описание предоставляют примеры и приведены только для разъяснения. Соответственно, приведенное выше общее описание и последующее подробное описание не следует рассматривать как ограничения. Кроме того, вдобавок к изложенным здесь признакам или их разновидностям могут быть предоставлены другие. Например, варианты осуществления могут быть направлены на различные совокупности и подсовокупности признаков, описанных в подробном описании.
Краткое описание чертежей
Сопроводительные чертежи, которые заключены в данный документ и являются составной частью этого раскрытия, иллюстрируют различные варианты осуществления настоящего изобретения.
На чертежах:
фиг.1 - блок-схема среды видеоконференции;
фиг.2 - схема, иллюстрирующая различные конфигурации подписки на видео;
фиг.3 - схема, иллюстрирующая кодирование со множеством скоростей передачи битов (MBR);
фиг.4 - блок-схема способа предоставления подписок на видеоконференцию;
фиг.5 - блок-схема подпрограммы, используемой в способе по фиг.4, для выбора видеопотока, который соответствует запросу на подписку; и
фиг.6 - блок-схема системы, включающей в себя вычислительное устройство.
Подробное описание
Последующее подробное описание ссылается на сопроводительные чертежи. Везде, где это возможно, на чертежах и в последующем описании для обращения к одинаковым или подобным элементам используются одинаковые ссылочные позиции. Хотя некоторые варианты осуществления изобретения описаны, возможны их модификации, адаптации и другие варианты реализации. Например, элементы, проиллюстрированные на чертежах, могут быть заменены, модифицированы или могут быть добавлены новые элементы, а описанные здесь способы могут быть модифицированы путем замены, переупорядочивания или добавления этапов в раскрытые способы. Соответственно, последующее подробное описание не ограничивает изобретение. Более того, надлежащий объем изобретения определяется прилагаемой формулой изобретения.
Могут быть предоставлены подписки на видеоконференцию. Согласно вариантам осуществления настоящего изобретения для направления потока данных клиентам в соответствии с их запросами на подписку на видеопотоки, предоставляемыми другими клиентами-участниками видеоконференции, может быть использована схема со множеством скоростей передачи битов (MBR). Например, один клиент может захотеть одновременно просматривать исходящий видеопоток от каждого из других клиентов-участников видеоконференции, в то время как другой клиент хочет просматривать поток только от одного другого клиента.
На фиг.1 представлена блок-схема среды 100 видеоконференции. Среда 100 видеоконференции может содержать клиент 110 интрасети и сервер 120 видеоконференции, подсоединенный через сетевое соединение 115 интрасети. Среда 100 видеоконференции, кроме того, может содержать первый клиент 130 сети Интернет, второй клиент 140 сети Интернет и третий клиент 150 сети Интернет. Каждый из клиентов сети Интернет может быть подсоединен к серверу 120 видеоконференции через сеть 160 Интернет. Согласно вариантам осуществления настоящего изобретения каждый из сервера 120 видеоконференции, клиента 110 интрасети, первого клиента 130 сети Интернет, второго клиента 140 сети Интернет и третьего клиента 150 сети Интернет может содержать вычислительное устройство 600, более подробно описанное ниже в отношении фиг.6.
Среду 100 видеоконференции можно использовать, когда множество клиентов хотят совместно использовать видеопотоки между друг другом. Каждый клиент может подсоединиться к серверу 120 видеоконференции. Сервер 120 видеоконференции может поддерживать список подсоединенных клиентов и возможностей каждого клиента. Согласно вариантам осуществления изобретения сервер 120 видеоконференции может быть ответственным за определение того, какие клиенты могут отвечать за посылку видеопотоков на сервер 120 видеоконференции. Сервер 120 видеоконференции может посылать видеопотоки, принятые от клиентов, другим подсоединенным клиентам. Видеопоток может быть закодирован в виде последовательности видеокадров, причем каждый кадр может содержать единое изображение. Каждый кадр может быть представлен битами данных. Видеопоток может быть закодирован таким образом, что не каждый бит данных в каждом кадре должен посылаться для представления источника видеопотока. Для кодирования и/или сжатия видеопотока могут быть использованы другие типы кадров.
Каждый клиент может кодировать, по меньшей мере, один видеопоток для посылки на сервер 120 видеоконференции. Например, каждый клиент может иметь средство ввода аудио/видео, такое как веб-камера и/или микрофон, подсоединенные к клиенту. Указанное средство ввода можно использовать для создания видеопотока (который может включать в себя аудио), и клиент может кодировать видеопоток перед его посылкой на сервер 120 видеоконференции. Сервер 120 видеоконференции может принимать кодированные потоки от каждого клиента и принимать решение о том, какие потоки ретранслировать каждому клиенту. Например, клиент 110 интрасети может кодировать видеопоток в виде последовательности видеокадров, содержащих текущую речь человека. Сервер 120 видеоконференции может послать от клиента 110 интрасети кодированный поток, показывающий говорящего в данный момент, первому клиенту 130 сети Интернет, второму клиенту 140 сети Интернет и третьему клиенту 150 сети Интернет. Сервер 120 видеоконференции может послать кодированный исходящий поток от каждого из первого клиента 130 сети Интернет, второго клиента 140 сети Интернет и третьего клиента 150 сети Интернет клиенту 110 интрасети, чтобы показать зрителей.
На фиг.2 представлена схема, иллюстрирующая различные конфигурации подписки на видео в среде 100 видеоконференции. Первый клиент 130 сети Интернет может посылать первый исходящий видеопоток 230 на сервер 120 видеоконференции. Второй клиент 140 сети Интернет может посылать второй исходящий видеопоток 240 на сервер 120 видеоконференции. Третий клиент 150 сети Интернет может посылать третий исходящий видеопоток 250 на сервер 120 видеоконференции. Клиент 110 интрасети может посылать четвертый исходящий видеопоток 210 на сервер 120 видеоконференции.
Каждый исходящий видеопоток может содержать некоторые свойства, в том числе разрешение и частоту кадров. Например, исходящие видеопотоки могут содержать видео, закодированное с разрешением Hi-Definition (высокой четкости) (1280×720 пикселей) при 30 кадрах в секунду (кадр/с), с разрешением VGA (640×480) при 30 кадр/с и/или с разрешением CIF (320×240) при 15 кадр/с.
Каждый клиент может послать на сервер 120 видеоконференции запрос на подписку. Запрос на подписку может включать в себя запрашиваемые параметры, такие как клиент-источник, разрешение и/или частота кадров. Например, клиент 110 интрасети может запросить подписку на видеопоток от первого клиента 130 сети Интернет. Сервер 120 видеоконференции может определить, доступен ли видеопоток, соответствующий данному запросу на подписку, например, первый исходящий видеопоток 230. Согласно вариантам осуществления изобретения сервер 120 видеоконференции может определить, содержит ли первый исходящий видеопоток 230 какой-либо и/или все другие параметры запроса на подписку. Например, запрос на подписку может включать в себя запрос на видеопоток от первого клиента 230 сети Интернет, закодированный с разрешением VGA при 30 кадр/с. Если первый исходящий видеопоток 230 соответствует этим параметрам, то есть, если первый исходящий видеопоток 230 закодирован с разрешением VGA при 30 кадр/с, то сервер 120 видеоконференции может ретранслировать первый исходящий видеопоток 230 клиенту 110 интрасети.
Если первый исходящий видеопоток 230 не соответствует этим параметрам, сервер видеоконференции может дать команду первому клиенту сети Интернет закодировать дополнительный исходящий видеопоток, содержащий другую версию первого исходящего видеопотока 230, причем эта другая версия содержит настолько близко соответствующие параметры запроса на подписку, насколько первый клиент 130 сети Интернет может закодировать. Например, первый клиент 130 сети Интернет может быть не способен закодировать исходящий видеопоток с разрешением VGA при 30 кадр/с, но может быть способен закодировать исходящий видеопоток с разрешением VGA при 15 кадр/с. Таким образом, первый клиент 130 сети Интернет может закодировать дополнительный исходящий видеопоток с разрешением VGA при 15 кадр/с и послать этот дополнительный исходящий видеопоток на сервер 120 видеоконференции. Сервер 120 видеоконференции может ретранслировать дополнительный исходящий видеопоток клиенту 110 интрасети в ответ на запрос на подписку от клиента 110 интрасети.
Согласно вариантам осуществления изобретения клиент видеоконференции может послать на сервер 120 видеоконференции запрос на подписку на более чем один видеопоток. Например, первый клиент 130 сети Интернет может запросить подписку на исходящие видеопотоки от каждого из других клиентов, участвующих в данной видеоконференции. Сервер 120 видеоконференции может ретранслировать второй исходящий видеопоток 240, третий исходящий видеопоток 250 и четвертый исходящий видеопоток 210 первому клиенту 130 сети Интернет.
Кроме того, согласно вариантам осуществления изобретения клиент может захотеть просматривать исходящие видеопотоки от всех клиентов-участников видеоконференции. Например, второй клиент 140 сети Интернет может принимать участие в видеоконференции четырех клиентов и запросить подписку на составной видеопоток 2×2, показывающий всех четырех клиентов-участников. Сервер видеоконференции может объединить первый исходящий видеопоток 230, второй исходящий видеопоток 240, третий исходящий видеопоток 250 и четвертый исходящий видеопоток 210 в единый видеопоток, используя обработку цифровых сигналов, скомпоновать четыре источника в виде сетки 2×2 и послать единый составной видеопоток второму клиенту 240 сети Интернет.
Кроме того, согласно вариантам осуществления изобретения клиент может пожелать подписаться на множество исходящих видеопотоков, но он может не обладать достаточной пропускной способностью для приема оригинальных версий запрошенных потоков. Например, третий клиент 150 сети Интернет может запросить подписку на видеопоток от клиента 110 интрасети и первого клиента 130 сети Интернет. Эта подписка может включать в себя параметр, запрашивающий два потока, подлежащих пересылке в виде матрицы 2×1 с разрешением VGA при 15 кадр/с. Если первый исходящий видеопоток 230 и четвертый исходящий видеопоток 210 посылаются на сервер 120 видеоконференции с разрешением VGA при 30 кадр/с, то сервер 120 видеоконференции может изменить каждый из первого исходящего видеопотока 230 и четвертого исходящего видеопотока 210, например, путем удаления каждого другого кадра, до составления двух видеопотоков в новый видеопоток для посылки третьему клиенту 150 сети Интернет.
На фиг.3 представлена схема, иллюстрирующая кодирование со множеством скоростей передачи битов (MBR). Как было описано выше в отношении фиг.1, система 100 видеоконференции может содержать клиент 110 интрасети, сервер 120 видеоконференции, первый клиент 130 сети Интернет и второй клиент 140 сети Интернет. Согласно вариантам осуществления изобретения клиент 110 интрасети может посылать на сервер 120 видеоконференции версию 310 исходящего видеопотока с высоким разрешением и версию 320 исходящего видеопотока с низким разрешением на основе запросов на подписку от других клиентов. Например, первый клиент сети Интернет может послать на сервер 120 видеоконференции запрос 305 на подписку на видеопоток с высоким разрешением от клиента 110 интрасети, а сервер 120 видеоконференции может ответить на это путем ретрансляции версии 310 исходящего видеопотока с высоким разрешением первому клиенту 130 сети Интернет.
Второй клиент 140 сети Интернет может послать запрос 340 на подписку на видеопоток с низким разрешением от клиента 110 интрасети с частотой кадров, отличной от версии 320 исходящего видеопотока с низким разрешением, выдаваемого клиентом 110 интрасети. Сервер 120 видеоконференции может изменить версию 320 с низким разрешением для соответствия с запрошенной частотой кадров и послать измененную версию 350 исходящего видеопотока второму клиенту 140 сети Интернет.
Согласно вариантам осуществления изобретения запрос на подписку может включать в себя параметр режима. Например, клиент может захотеть подписаться на видеопотоки от всех других участников, но принимать поток говорящего в данный момент с более высоким разрешением. Таким образом, клиент может послать запрос на подписку, содержащий параметр режима речи. Сервер 120 видеоконференции может выполнять переключение видеопотоков для клиентской подписки, как только каждый исходящий видеопоток указывает, что он является носителем говорящего в данный момент, и говорящий в данный момент клиент может добавить дополнительный видеопоток с более высоким разрешением, когда он является говорящим в данный момент. Другой возможный формат может иметь одного главного клиента-говорящего и много клиентов-зрителей. Говорящий может захотеть просматривать много и/или все видеопотоки от клиентов-зрителей, в то время как клиенты-зрители могут захотеть видеть только говорящего и/или клиента, задающего вопросы во время сессии Q&A (вопрос-ответ). Сервер 120 видеоконференции может предоставить клиенту-говорящему возможность подписаться на всех клиентов-зрителей путем запроса потоков с низким разрешением. Сервер 120 видеоконференции может изменить потоки для уменьшения частоты кадров, если общая пропускная способность для всех потоков с низким разрешением все еще превышает ту, которую сможет обработать клиент-говорящий. Согласно вариантам осуществления изобретения клиент-говорящий может переключаться на просмотр одного клиента-зрителя или множество клиентов-зрителей. Клиенты-зрители могут посылать на сервер 120 видеоконференции видеопотоки с более высоким разрешением, если, например, количество клиентов-зрителей меньше конфигурируемого порога.
На фиг.4 представлена блок-схема, раскрывающая общие этапы, задействованные в способе 400 согласно варианту осуществлениия изобретения для предоставления подписок в видеоконференции. Способ 400 можно реализовать, используя вычислительное устройство 600, более подробно описанное ниже в отношении фиг.6. Пути реализации этапов способа 400 более подробно описаны ниже. Согласно вариантам осуществления изобретения любой и/или все этапы способа 400 могут быть выполнены на сервере 120 видеоконференции и/или любом из множества клиентов видеоконференции.
Способ 400 может начаться с начального блока 410 и продолжаться на этапе 420, где вычислительное устройство 600 может зарегистрировать, по меньшей мере, одного клиента. Например, по меньшей мере, один клиент может быть функционально подсоединен к вычислительному устройству 600 через сетевое соединение и может запросить участие в вызове видеоконференции, хостом которой является вычислительное устройство 600.
Как часть регистрации вычислительное устройство 600 может определить возможности, по меньшей мере, одного клиента, в том числе доступную вычислительную мощность и схемы кодирования/декодирования и может запросить, по меньшей мере, одного клиента предоставить множество видеопотоков со множеством различных скоростей передачи битов. Согласно вариантам осуществления изобретения вычислительное устройство 600 может запросить, по меньшей мере, одного клиента предоставить несколько потоков, если клиент имеет такую возможность, но может запросить клиента предоставить только один поток, если клиент имеет небольшую доступную вычислительную мощность, тактовую частоту процессора, память и/или пропускную способность.
От этапа 420 способ 400 может перейти к этапу 430, где вычислительное устройство 600 может принять, по меньшей мере, один кодированный видеопоток, по меньшей мере, от одного клиента. В видеоконференции может участвовать множество клиентов, и каждый клиент может посылать, по меньшей мере, один видеопоток. Например, вычислительное устройство 600 может принимать аудио/видеопоток, закодированный с разрешением VGA при 30 кадр/с, по меньшей мере, от одного клиента. Согласно вариантам осуществления изобретения вычислительное устройство 600 может принимать множество потоков, по меньшей мере, от одного клиента. Например, клиент может посылать три версии видеопотока: один поток, закодированный с разрешением высокой четкости при 30 кадр/с; один поток, закодированный с разрешением VGA при 30 кадр/с, и один поток, закодированный с разрешением CIF при 15 кадр/с.
От этапа 430 способ 400 может перейти к этапу 440, где вычислительное устройство 600 может принять запрос на подписку, по меньшей мере, от одного клиента в видеоконференции. Например, вычислительное устройство 600 может принять запрос на подписку от одного клиента на закодированный поток с разрешением VGA при 30 кадр/с от второго клиента. Согласно вариантам осуществления изобретения вычислительное устройство 600 может принять множество запросов на подписку от любого и/или всех клиентов, принимающих участие в видеоконференции. Например, один клиент может запросить версии других участвующих клиентов с более низким разрешением; другой клиент может запросить версию с высоким разрешением от клиента, который может быть обозначен как активный говорящий на видеоконференции, и версии с низким разрешением от некоторых либо всех других клиентов.
От этапа 440 способ 400 может перейти к подпрограмме 450, где вычислительное устройство 600 может найти видеопоток, соответствующий запросу на подписку, для посылки, по меньшей мере, одному клиенту. Например, вычислительное устройство 600 может определить, что второй клиент уже посылает видеопоток, закодированный с разрешением VGA при 80 кадр/с, на вычислительное устройство 600, и тогда вычислительное устройство 600 может определить, что данный видеопоток соответствует запросу на подписку. Дополнительные подробности, касающиеся подпрограммы 450, описываются ниже в отношении фиг.5.
От подпрограммы 450 способ может перейти к этапу 460, где вычислительное устройство 600 может послать клиенту соответствующий поток. Например, вычислительное устройство 600 может транслировать соответствующий видеопоток, принятый от второго клиента, через сетевое соединение тому клиенту, который послал запрос на подписку.
От этапа 460 способ 400 может перейти к этапу 470, где вычислительное устройство 600 может определить, были ли приняты какие-либо еще запросы на подписку. Запросы на подписку могут содержать запросы на изменение существующей подписки, например, когда один клиент запрашивает версию потока, который клиент уже принимает в данный момент, но с более низким разрешением. Такой запрос может быть сделан, например, в ответ на снижение доступной пропускной способности. Запросы на подписку также могут содержать запрос, выполненный клиентом, уже принимающим, по меньшей мере, один видеопоток, на видеопотоки от дополнительного клиента (клиентов), или запросы от других клиентов в видеоконференции.
Если вычислительное устройство 600 определяет, что принят еще один запрос на подписку, то способ 400 может вернуться к подпрограмме 450 и попытаться найти соответствующий видеопоток. Если дополнительные запросы на подписку не приняты, то вычислительное устройство 600 может продолжать ждать дополнительные запросы до окончания видеоконференции и тогда способ 400 может закончиться на этапе 480.
На фиг.5 представлена блок-схема подпрограммы, используемой в способе по фиг.4 для выбора видеопотока, который соответствует запросу на подписку. В подпрограмме 450 вычислительное устройство 600 может проанализировать свойства, связанные с запросом на подписку, например, клиента-источника на запрошенный видеопоток. Подпрограмма 450 может начаться на этапе 510, где вычислительное устройство 600 может определить, доступен ли видеопоток, связанный с запрошенным клиентом-источником. Указанное определение может содержать определение того, подключен ли клиент-источник к видеоконференции, посылает ли в данный момент клиент-источник видеопоток на вычислительное устройство 600 и/или способен ли клиент-источник послать видеопоток, если он будет запрошен вычислительным устройством 600 и/или другим клиентом, участвующим в видеоконференции. Если на этапе 510 вычислительное устройство 600 определяет, что запрашиваемый клиент-источник не способен предоставить запрашиваемый видеопоток, то подпрограмма 450 может перейти к этапу 515, где вычислительное устройство 600 может выбрать альтернативного клиента-источника согласно предварительно определенной логике. Например, вычислительное устройство 600 может выбрать клиента, обозначенного как активный говорящий. Согласно вариантам осуществления изобретения вычислительное устройство 600 может возвратить запрашивающему клиенту сообщение об ошибке, информирующее этого клиента о том, что запрашиваемая подписка недоступна. Вычислительное устройство 600 может продолжать периодически определять, не стал ли запрашиваемый клиент-источник доступным, на протяжении всей видеоконференции. Если на этапе 515 альтернативный клиент-источник выбран, то подпрограмма 450 может вернуться к этапу 510, чтобы определить, доступен ли вновь выбранный клиент-источник.
Если на этапе 510 вычислительное устройство 600 определяет, что запрашиваемый клиент-источник доступен и/или он способен предоставить видеопоток, то подпрограмма 450 может перейти к этапу 520, где вычислительное устройство 600 может определить, посылает ли в данный момент клиент-источник, связанный с запросом на подписку, видеопоток с разрешением, связанным с данным запросом на подписку. Например, клиент может запросить подписку на видеопоток от клиента-источника с разрешением VGA (640×480). Вычислительное устройство 600 может определить, предоставляет ли клиент-источник версию видеопотока с разрешением VGA. Если нет, то подпрограмма 450 может перейти к этапу 525, где вычислительное устройство 600 может определить, способен ли клиент-источник предоставить видеопоток с правильным разрешением.
Если на этапе 525 вычислительное устройство 600 определяет, что клиент-источник способен предоставить видеопоток с запрошенным разрешением, то подпрограмма 450 может перейти к этапу 530, где вычислительное устройство 600 может запросить клиент-источник начать посылку видеопотока с запрошенным разрешением. Если определено, что клиент-источник не способен предоставить видеопоток с запрошенным разрешением, то подпрограмма 450 может перейти к этапу 535, где вычислительное устройство 600 может выбрать использование другой версии видеопотока клиента-источника с ближайшим возможным разрешением. Например, клиент-источник может оказаться способным предоставить видеопоток с разрешением CIF вместо видеопотока с разрешением VGA.
Как только вычислительное устройство 600 выбрало разрешение видеопотока, подпрограмма 450 может перейти к этапу 540, где вычислительное устройство 600 может определить, доступен ли видеопоток с частотой кадров, связанной с запросом на подписку. Если поток, выбранный на этапе 520, не соответствует запрошенной частоте кадров, то подпрограмма 450 может перейти к этапу 545, где вычислительное устройство 600 может изменить видеопоток, например, путем удаления попеременных кадров для уменьшения частоты кадров. Например, вычислительное устройство 600 может принять запрос на подписку на видеопоток с разрешением VGA при 15 кадр/с, но видеопоток, предоставленный клиентом- источником, может кодироваться при 30 кадр/с. Вычислительное устройство 600 может, например, отбрасывать кадры из видеопотока, чтобы уменьшить частоту кадров. Согласно вариантам осуществления изобретения вычислительное устройство 600 может определить, способен ли клиент-источник кодировать и посылать видеопоток с запрошенной частотой кадров, подобно процессу на этапе 525, относящемся к разрешению, и может запросить, чтобы клиент-источник послал на вычислительное устройство 600 соответствующий поток. От этапа 540 и/или этапа 545 подпрограмма 450 может вернуться к способу 400 на этапе 460.
Согласно вариантам осуществления изобретения запрос на подписку может предоставить допустимые альтернативные значения для таких свойств, как клиент-источник, разрешение и частота кадров. Например, запрос на подписку может содержать запрос на видеопоток от первого клиента и может указывать, что также допустим видеопоток от второго клиента. Аналогичным образом, запрос на подписку может отдавать предпочтение запрашиваемому разрешению, например, предпочтение видеопотоку высокой четкости, если доступно, указывая при этом, что поток с разрешением VGA также допустим, но запрашивая, чтобы вычислительное устройство 600 не посылало видеопоток в ответ на запрос на подписку, если доступным является только поток с разрешением CIF.
Вариант осуществления, согласно изобретению, может содержать систему для предоставления данных множеству клиентов. Такая система может содержать запоминающее устройство и блок обработки, подсоединенный к запоминающему устройству. Блок обработки может функционировать с возможностью принимать, по меньшей мере, один видеопоток, по меньшей мере, от одного первого клиента, принимать запрос на подписку, по меньшей мере, от одного второго клиента, определять, соответствует ли, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, запросу на подписку на видео, по меньшей мере, от одного второго клиента, и в ответ на определение того, что, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента, посылать, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, по меньшей мере, одному второму клиенту. Запрос на подписку на видео может содержать запрашиваемое разрешение и/или запрашиваемую частоту кадров. Если, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, не соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента, блок обработки может функционировать с возможностью посылать команду, по меньшей мере, одному первому клиенту прекратить кодирование и посылку, по меньшей мере, одного видеопотока.
Согласно вариантам осуществления изобретения блок обработки может функционировать с возможностью регистрировать множество клиентов, участвующих в видеоконференции, принимать, по меньшей мере, один видеопоток от каждого из множества клиентов, принимать, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов, определять, соответствует ли, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов, по меньшей мере, одному из видеопотоков, принятых от множества клиентов, и посылать соответствующий, по меньшей мере, один из принятых видеопотоков каждому из множества клиентов. Определение соответствия между запросом на подписку и принятым видеопотоком может содержать определение того, соответствует ли видеопоток запрошенному клиенту-источнику, запрошенному разрешению и/или запрошенной частоте кадров в запросе на подписку.
Если принятый видеопоток не соответствует, по меньшей мере, одному из запросов на подписку, процессор может функционировать с возможностью определить, можно ли изменить, по меньшей мере, один принятый видеопоток, чтобы он соответствовал, по меньшей мере, одному запросу на подписку на видео, изменить видеопоток и послать измененный видеопоток запрашивающему клиенту. Изменение видеопотока может содержать его повторное кодирование с другим разрешением, отбрасывание, по меньшей мере, одного кадра из видеопотока, и/или объединение, по меньшей мере, двух из принятых видеопотоков в единый видеопоток.
Согласно дополнительным вариантам осуществления изобретения блок обработки может функционировать с возможностью определить, способен ли клиент-источник видеопотока, связанный с запросом на подписку, кодировать видеопоток так, чтобы он удовлетворял запросу на подписку. Если клиент-источник способен это сделать, то блок обработки может послать команду клиенту-источнику видеопотока на кодирование соответствующего видеопотока и послать результирующий соответствующий видеопоток, по меньшей мере, одному запрашивающему клиенту из зарегистрированных клиентов. Функционирование с возможностью определения, способен ли клиент- источник посылать соответствующий видеопоток, может содержать функционирование с возможностью определения, способен ли клиент-источник видеопотока кодировать две разные версии видеопотока, причем эти две версии отличаются по разрешению и/или по частоте кадров.
Если блок обработки определяет, что, по меньшей мере, один запрос на подписку не может быть удовлетворен принятым видеопотоком, и/или ни один из клиентов не способен предоставить запрошенный видеопоток, то блок обработки может функционировать с возможностью вычислить, какой из принятых видеопотоков наиболее близко соответствует, по меньшей мере, одному запросу на подписку на видео, и послать видеопоток, наиболее близко соответствующий, по меньшей мере, одному запросу на подписку на видео, по меньшей мере, одному запрашивающему клиенту из зарегистрированных клиентов. Например, блок обработки может определить, соответствует ли, по меньшей мере, один из видеопотоков клиенту-источнику видеопотока, связанному с запросом на подписку, соответствует ли, по меньшей мере, один из видеопотоков, соответствующих клиенту-источнику видеопотока, связанному с запросом на подписку, разрешению, связанному с запросом на подписку, и/или соответствует ли, по меньшей мере, один из видеопотоков, соответствующих клиенту-источнику видеопотока и разрешению, связанному с запросом на подписку, частоте кадров, связанных с запросом на подписку. Блок обработки может послать, по меньшей мере, один из видеопотоков запрашивающему клиенту.
Если блок обработки определяет, что, по меньшей мере, один из видеопотоков не соответствует клиенту-источнику видеопотока, связанному с запросом на подписку, то блок обработки может функционировать с возможностью выбрать второго клиента- источника видеопотока среди множества клиентов, отличных от клиента-источника видеопотока, связанного с запросом на подписку, и послать, по меньшей мере, один видеопоток, принятый от выбранного второго клиента-источника видеопотока, запрашивающему клиенту. Выбор второго клиента-источника видеопотока среди множества клиентов, отличных от клиента-источника видеопотока, связанного с запросом на подписку, может содержать выбор второго клиента-источника видеопотока, который посылает видеопоток, содержащий говорящего в данный момент.
Другой вариант осуществления, согласно изобретению, может содержать систему для предоставления видеопотоков множеству клиентов. Система может содержать запоминающее устройство и блок обработки, подсоединенный к запоминающему устройству. Блок обработки может функционировать с возможностью регистрировать множество клиентов видеоконференции, принимать от каждого из множества клиентов видеоконференции, по меньшей мере, один исходящий видеопоток, принимать, по меньшей мере, от одного из множества клиентов видеоконференции, по меньшей мере, один запрос на подписку на видеопотоки, определять, соответствует ли, по меньшей мере, один первый поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, по меньшей мере, одному запросу на подписку на видеопотоки, и в ответ на определение того, что, по меньшей мере, один первый поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, соответствует, по меньшей мере, одному запросу на подписку на видеопотоки, посылать соответствующий, по меньшей мере, один первый поток из исходящих видеопотоков, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции. Блок обработки, кроме того, может функционировать с возможностью принимать, по меньшей мере, от одного из множества клиентов видеоконференции, по меньшей мере, один второй запрос на подписку на видеопотоки, определять, соответствует ли, по меньшей мере, один второй поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, по меньшей мере, одному второму запросу на подписку на видеопотоки, и в ответ на определение того, что, по меньшей мере, один второй поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, соответствует, по меньшей мере, одному второму запросу на подписку на видеопотоки, посылать соответствующий, по меньшей мере, один второй поток из исходящих видеопотоков, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции.
Согласно вариантам осуществления изобретения функционирование с возможностью посылки соответствующего, по меньшей мере, одного второго потока из исходящих видеопотоков, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции может содержать функционирование с возможностью создания блоком обработки составного видеопотока из соответствующего, по меньшей мере, одного первого потока из исходящих видеопотоков и из соответствующего, по меньшей мере, одного второго потока из исходящих видеопотоков, и посылки составного видеопотока, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции.
Блок обработки, кроме того, может функционировать с возможностью принимать, по меньшей мере, один второй исходящий видеопоток, по меньшей мере, от одного из множества клиентов видеоконференции, причем, по меньшей мере, один второй исходящий видеопоток содержит другую версию, по меньшей мере, одного исходящего видеопотока. Эта другая версия может содержать версию с более низким разрешением, по меньшей мере, одного первого исходящего видеопотока.
Блок обработки может функционировать с возможностью принимать, по меньшей мере, один первый исходящий видеопоток, по меньшей мере, от одного первого клиента видеоконференции, принимать, по меньшей мере, один второй исходящий видеопоток, по меньшей мере, от одного второго клиента видеоконференции, принимать, по меньшей мере, от одного третьего клиента видеоконференции запрос на подписку на исходящий видеопоток от, по меньшей мере, одного первого клиента видеоконференции и, по меньшей мере, одного второго клиента видеоконференции, и создавать составной видеопоток из, по меньшей мере, одного первого исходящего видеопотока и, по меньшей мере, одного второго исходящего видеопотока. Функционирование с возможностью создания составного видеопотока может содержать функционирование с возможностью изменения частоты кадров, по меньшей мере, одного из исходящих видеопотоков и объединять измененный поток (потоки) в единый видеопоток.
Еще один вариант осуществления согласно изобретению может содержать систему для предоставления соответствующей частоты в видеоконференции. Система может содержать запоминающее устройство и блок обработки, подсоединенный к запоминающему устройству. Блок обработки может функционировать с возможностью принимать множество видеопотоков от множества клиентов видеоконференции, принимать, по меньшей мере, один запрос на подписку, по меньшей мере, от одного из множества клиентов видеоконференции, и определять, принимается ли, по меньшей мере, один запрошенный видеопоток из множества видеопотоков от клиента-источника для, по меньшей мере, одного запрошенного видеопотока из множества видеопотоков с запрошенным разрешением и запрошенной частотой кадров. Если ни один видеопоток из множества видеопотоков не соответствует запрошенному разрешению и/или частоте кадров, то блок обработки может функционировать с возможностью определить, способен ли клиент-источник послать соответствующий видеопоток, запрос на который сделал данный клиент-источник, и посылает соответствующий видеопоток запрашивающему клиенту. Запрос на подписку может содержать запрос, по меньшей мере, на один из множества видеопотоков, запрошенное разрешение и/или запрошенную частоту кадров. Каждый клиент может посылать, по меньшей мере, один из множества видеопотоков.
На фиг.6 представлена блок-схема системы, включающей в себя вычислительное устройство 600. Согласно варианту осуществления изобретения вышеупомянутые запоминающее устройство и блок обработки могут быть реализованы в вычислительном устройстве, таком как вычислительное устройство 600 по фиг.6. Для реализации запоминающего устройства и блока обработки можно использовать любую подходящую комбинацию аппаратных средств, программных средств или программно-аппаратных средств. Например, запоминающее устройство и блок обработки могут быть реализованы с помощью вычислительного устройства 600 или любого из других вычислительных устройств 618 в комбинации с вычислительным устройством 600. Вышеупомянутые система, устройство и процессоры являются примерами, и согласно вариантам изобретения вышеупомянутые запоминающее устройство и блок обработки могут содержаться в других системах, устройствах и процессорах. Кроме того, вычислительное устройство 600 может содержать операционную среду для системы 100, как было описано выше. Система 100 может функционировать в других средах, и она не ограничена вычислительным устройством 600.
Обратимся к фиг.6, где система согласно варианту осуществления изобретения может включать в себя вычислительное устройство, такое как вычислительное устройство 600. В базовой конфигурации вычислительное устройство 600 может включать в себя, по меньшей мере, один блок обработки 602 и системную память 604. В зависимости от конфигурации и типа вычислительного устройства системная память 604 может содержать, но не только, энергозависимую память (например, оперативную память (RAM)), энергонезависимую память (например, постоянную память (ROM)), флэш-память или любую их комбинацию. Системная память 604 может содержать операционную систему 605, один или множество программных модулей 606, а также может содержать программные данные 607. Операционная система 605, например, может подходить для управления функционированием вычислительного устройства 600. В одном варианте осуществления программные модули 606 могут включать в себя, например, модуль анализа данных и/или сервер 630 видеоконференции. Кроме того, варианты осуществления изобретения можно практически реализовать в сочетании с графической библиотекой, другими операционными системами или любой другой прикладной программой, и это не ограничивается какими-либо конкретными приложениями или системами. Описанная базовая конфигурация проиллюстрирована на фиг.6 в виде компонентов, находящихся в пределах пунктирной линии 608.
Вычислительное устройство 600 может иметь дополнительные признаки или функциональные возможности. Например, вычислительное устройство 600 может также включать в себя дополнительные запоминающие устройства (съемные и/или несъемные), такие, как например, магнитные диски, оптические диски или лента. Такое дополнительное запоминающее устройство проиллюстрировано на фиг.6 в виде съемного запоминающего устройства 609 и несъемного запоминающего устройства 610. Компьютерный носитель информации может включать в себя энергозависимый и энергонезависимый, съемный и несъемный носитель, реализованный любым способом или по любой технологии для запоминания информации, такой как считываемые компьютером команды, структуры данных, программные модули или другие данные. Системная память 604, съемное запоминающее устройство 609 и несъемное запоминающее устройство 610 являются примерами компьютерного носителя информации. Компьютерный носитель информации может включать в себя, но не только, RAM, ROM, электрически стираемую постоянную память (EEPROM), флэш-память или память другой технологии, CD-ROM, цифровые универсальные диски (DVD), или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства, либо любой другой носитель, который можно использовать для запоминания информации и к которому может осуществлять доступ вычислительное устройство 600. Любой такой компьютерный носитель информации может быть частью устройства 600. Вычислительное устройство 600 также может иметь устройство (устройства) 612 ввода, такое как клавиатура, мышь, перо, устройство звукового ввода, устройство сенсорного ввода и т.д. Также в устройство 600 может быть включено устройство (устройства) 614 вывода, такое как дисплей, громкоговорители, принтер и т.д. Вышеупомянутые устройства являются примерами и могут быть использованы другие устройства.
Вычислительное устройство 600 может также содержать соединение 616 связи, которое предоставляет возможность устройству 600 осуществлять связь с другими вычислительными устройствами 618, например, через сеть в распределенной вычислительной среде, например интрасети или сети Интернет. Соединение 616 связи является одним из примеров среды связи. Среда связи, как правило, может быть осуществлена с помощью считываемых компьютером команд, структур данных, программных модулей или иных данных в модулированном сигнале данных, таком как несущая волна или другой механизм транспортировки, и включает в себя любую среду для доставки информации. Термин «модулированный сигнал данных» может описывать сигнал, который имеет одну или множество характеристик, установленных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, но не как ограничение, среда связи может включать в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная (RF), инфракрасная или иная беспроводная среда. Используемый здесь термин «считываемая компьютером среда» может включать в себя как запоминающую среду, так и среду связи.
Как было установлено выше, в системной памяти 604, включающей в себя операционную систему 605, может храниться множество программных модулей и файлов данных. При исполнении в блоке 602 обработки программные модули 606 (например, сервер 620 видеоконференции) могут выполнять процессы, включая, например, один или более из вышеописанных этапов способа 400. Вышеупомянутая обработка является примером, и блок обработки 602 может выполнять и другие операции. Другие программные модули, которые могут использоваться согласно вариантам осуществления настоящего изобретения, могут включать в себя приложения для электронной почты и контактов, приложения для обработки текстов, приложения для работы с электронными таблицами, приложения для баз данных, приложения для презентации слайдов, прикладные программы для автоматизированного проектирования или создания чертежей и т.д.
Обычно, согласно вариантам осуществления изобретения, программные модули могут включать в себя стандартные программы, программы, компоненты, структуры данных и другие типы структур, которые могут выполнять конкретные задачи или которые могут реализовывать конкретные типы абстрактных данных. Кроме того, вариант осуществления изобретения можно практически реализовать с помощью других конфигураций компьютерной системы, включая карманные устройства, многопроцессорные системы, микропроцессорную или программируемую бытовую электронику, миникомпьютеры, универсальные компьютеры и т.п. Варианты осуществления изобретения можно также реализовать на практике в распределенных вычислительных средах, где задачи выполняются удаленным обрабатывающими устройствами, связанными между собой через сеть связи. В распределенной вычислительной среде программные модули могут находиться как в локальных, так и в удаленных запоминающих устройствах.
Кроме того, варианты осуществления изобретения можно практически реализовать в виде электрической схемы, содержащей дискретные электронные элементы, корпусные или интегральные электронные микросхемы, содержащие логические элементы, в виде схемы, использующей микропроцессор, или на единой микросхеме, содержащей электронные элементы или микропроцессоры. Варианты осуществления изобретения можно также реализовать на практике, используя другие технологии, дающие возможность выполнять такие логические операции, как например, И, ИЛИ и НЕ, включая, но не только механические, оптические, струйные и квантовые технологии. Вдобавок, варианты осуществления изобретения можно реализовать в пределах компьютера общего назначения или в любых других схемах или системах.
Варианты осуществления изобретения могут быть, например, реализованы в виде компьютерного процесса (способа), вычислительной системы или в виде изделия, такого как компьютерный программный продукт или считываемый компьютером носитель. Компьютерный программный продукт может представлять собой считываемый вычислительной системой носитель информации с закодированной компьютерной программой, состоящей из команд для исполнения вычислительного процесса. Компьютерный программный продукт также может представлять собой распространяемый сигнал или сигнал несущей, считываемый вычислительной системой, где закодирована компьютерная программа, состоящая из команд для исполнения вычислительного процесса. Соответственно, настоящее изобретение может быть осуществлено аппаратным средствами и/или программными средствами (включая программно-аппаратные средства, резидентное программное обеспечение, микрокод и т.д.). Другими словами, варианты осуществления настоящего изобретения могут быть представлены в виде компьютерного программного продукта на считываемом компьютером или используемом компьютером носителе, имеющем используемый компьютером или считываемый компьютером программный код, осуществленный на носителе для его использования путем соединения (или при соединении) с системой исполнения команд. Используемый компьютером или считываемый компьютером носитель может представлять собой любой носитель, который может содержать, хранить, передавать, распространять или транспортировать программу для ее использования путем соединения (или при соединении) с системой, устройством или прибором для исполнения команд.
Используемый компьютером или считываемый компьютером носитель может представлять собой, например, но не только, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, устройство, прибор или носитель. Более конкретные примеры считываемого компьютером носителя (не исчерпывающий список) могут включать в себя следующее: электрическое соединение, имеющее один или множество проводов; портативная компьютерная дискета, оперативная память (RAM), постоянная память (ROM), стираемую программируемую постоянную память (EPROM или флэш-память), волоконно-оптическую и портативную постоянную память на компакт-диске (CD-ROM). Заметим, что используемым компьютером или считываемым компьютером носителем может быть даже бумага или другой подходящий носитель, на котором напечатана программа, когда программа может быть захвачена электронным путем, например, посредством оптического сканирования бумаги или другого носителя, а затем скомпилирована, интерпретирована или по иному обработана подходящим образом, если это необходимо, после чего она запоминается в компьютерной памяти.
Варианты осуществления настоящего изобретения, например, описаны выше со ссылками на блок-схемы и/или функциональные иллюстрации способов, систем и компьютерных программных продуктов согласно вариантам осуществления изобретения. Функции/действия, отмеченные в блоках, могут появляться не в том порядке, какой показан на той или иной блок-схеме. Например, два блока, показанные как последовательные, в действительности, могут по существу исполняться параллельно либо эти блоки иногда могут исполняться в обратном порядке в зависимости от задействованных функциональных возможностей/действий.
Хотя здесь были описаны некоторые конкретные варианты осуществления изобретения, могут быть предложены и другие варианты осуществления. Кроме того, хотя варианты осуществления настоящего изобретения были описаны в связи с данными, хранящимися в памяти и на других носителях, данные могут также храниться на или считываться с других типов считываемых компьютером носителей, таких как вторичные запоминающие устройства типа жестких дисков, гибких дисков или CD-ROM, несущие волны из сети Интернет или другие виды RAM или ROM. Кроме того, раскрытые здесь этапы способов могут быть модифицированы любым образом, включая переупорядочивание этапов и/или вставку или удаление этапов, не выходя за рамки изобретения.
Все права, включая авторское право, закреплены за заявителем и являются его собственностью. Заявитель сохраняет за собой все права и выдает разрешение на воспроизведение данного материала только в связи с воспроизведением выданного патента, но не с какой-либо иной целью.
Хотя описание содержит конкретные примеры, объем изобретения указан в последующей формуле изобретения. Кроме того, хотя описание представлено на языке, ориентированном на структурные признаки и/или методологические действия, формула изобретения не ограничена вышеописанными признаками и действиями. Скорее, вышеописанные конкретные признаки и действия представлены в качестве примера для вариантов осуществления изобретения.
Claims (20)
1. Способ предоставления подписки на видеопоток, причем способ содержит этапы, на которых:
принимают, по меньшей мере, один видеопоток, по меньшей мере, от одного первого клиента;
принимают запрос на подписку на видео, по меньшей мере, от одного второго клиента, содержащий запрошенное разрешение, которое должно быть принято от первого клиента, которое указывает разрешение видеопотока, которое может варьироваться от низкого разрешения до высокого разрешения;
определяют, соответствует ли, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, запросу на подписку на видео, по меньшей мере, от одного второго клиента;
в ответ на определение того, что, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, не соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента, запрашивают другой видеопоток, по меньшей мере, от одного первого клиента, который соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента; и
в ответ на определение того, что, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента, посылают, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, по меньшей мере, одному второму клиенту.
принимают, по меньшей мере, один видеопоток, по меньшей мере, от одного первого клиента;
принимают запрос на подписку на видео, по меньшей мере, от одного второго клиента, содержащий запрошенное разрешение, которое должно быть принято от первого клиента, которое указывает разрешение видеопотока, которое может варьироваться от низкого разрешения до высокого разрешения;
определяют, соответствует ли, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, запросу на подписку на видео, по меньшей мере, от одного второго клиента;
в ответ на определение того, что, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, не соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента, запрашивают другой видеопоток, по меньшей мере, от одного первого клиента, который соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента; и
в ответ на определение того, что, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента, посылают, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, по меньшей мере, одному второму клиенту.
2. Способ по п.1, в котором запрос на подписку на видео дополнительно содержит запрошенную частоту кадров.
3. Способ по п.1, дополнительно содержащий этап, на котором:
в ответ на определение того, что, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, не соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента, посылают команду, по меньшей мере, одному первому клиенту на прекращение кодирования и посылки, по меньшей мере, одного видеопотока.
в ответ на определение того, что, по меньшей мере, один видеопоток, принятый, по меньшей мере, от одного первого клиента, не соответствует запросу на подписку на видео, по меньшей мере, от одного второго клиента, посылают команду, по меньшей мере, одному первому клиенту на прекращение кодирования и посылки, по меньшей мере, одного видеопотока.
4. Способ по п.1, дополнительно содержащий этапы, на которых:
регистрируют множество клиентов;
принимают, по меньшей мере, один видеопоток от каждого из множества клиентов;
принимают, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов;
определяют, соответствует ли, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов, по меньшей мере, одному из видеопотоков, принятых от множества клиентов; и
в ответ на определение того, что, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов соответствует, по меньшей мере, одному из видеопотоков, принятых от множества клиентов, посылают соответствующий, по меньшей мере, один из принятых видеопотоков каждому из множества клиентов.
регистрируют множество клиентов;
принимают, по меньшей мере, один видеопоток от каждого из множества клиентов;
принимают, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов;
определяют, соответствует ли, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов, по меньшей мере, одному из видеопотоков, принятых от множества клиентов; и
в ответ на определение того, что, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов соответствует, по меньшей мере, одному из видеопотоков, принятых от множества клиентов, посылают соответствующий, по меньшей мере, один из принятых видеопотоков каждому из множества клиентов.
5. Способ по п.4, в котором определение того, соответствует ли, по меньшей мере, один запрос на подписку на видео от каждого из зарегистрированных клиентов, по меньшей мере, одному из видеопотоков, принятых от множества клиентов, содержит этап, на котором определяют, содержит ли, по меньшей мере, один из принятых видеопотоков, по меньшей мере, одно из: запрошенного клиента-источника, запрошенного разрешения и запрошенной частоты кадров из запроса на подписку от каждого из зарегистрированных клиентов.
6. Способ по п.4, дополнительно содержащий этапы, на которых:
в ответ на определение того, что, по меньшей мере, один запрос на подписку на видео, по меньшей мере, от одного из зарегистрированных клиентов не может быть удовлетворен, по меньшей мере, одним из видеопотоков, принятых от множества клиентов, определяют, может ли быть изменен, по меньшей мере, один принятый видеопоток, чтобы он соответствовал, по меньшей мере, одному запросу на подписку на видео;
в ответ на определение того, что, по меньшей мере, один принятый видеопоток может быть изменен, чтобы он соответствовал, по меньшей мере, одному запросу на подписку на видео, изменяют принятый видеопоток; и
посылают измененный видеопоток, по меньшей мере, одному запрашивающему клиенту из зарегистрированных клиентов.
в ответ на определение того, что, по меньшей мере, один запрос на подписку на видео, по меньшей мере, от одного из зарегистрированных клиентов не может быть удовлетворен, по меньшей мере, одним из видеопотоков, принятых от множества клиентов, определяют, может ли быть изменен, по меньшей мере, один принятый видеопоток, чтобы он соответствовал, по меньшей мере, одному запросу на подписку на видео;
в ответ на определение того, что, по меньшей мере, один принятый видеопоток может быть изменен, чтобы он соответствовал, по меньшей мере, одному запросу на подписку на видео, изменяют принятый видеопоток; и
посылают измененный видеопоток, по меньшей мере, одному запрашивающему клиенту из зарегистрированных клиентов.
7. Способ по п.6, в котором изменение видеопотока содержит, по меньшей мере, один из этапов, на которых: повторно кодируют видеопоток с другим разрешением, отбрасывают, по меньшей мере, один кадр из видеопотока, и объединяют, по меньшей мере, два из принятых видеопотоков в единый видеопоток.
8. Способ по п.4, дополнительно содержащий этапы, на которых:
в ответ на определение того, что, по меньшей мере, один запрос на подписку на видео, по меньшей мере, от одного из зарегистрированных клиентов не может быть удовлетворен, по меньшей мере, одним из видеопотоков, принятых от множества клиентов, определяют, способен ли клиент-источник видеопотока, связанный с запросом на подписку, кодировать соответствующий видеопоток;
в ответ на определение того, что клиент-источник видеопотока, связанный с запросом на подписку, способен кодировать соответствующий видеопоток, посылают команду клиенту-источнику видеопотока на кодирование соответствующего видеопотока; и
посылают соответствующий видеопоток, по меньшей мере, одному запрашивающему клиенту из зарегистрированных клиентов.
в ответ на определение того, что, по меньшей мере, один запрос на подписку на видео, по меньшей мере, от одного из зарегистрированных клиентов не может быть удовлетворен, по меньшей мере, одним из видеопотоков, принятых от множества клиентов, определяют, способен ли клиент-источник видеопотока, связанный с запросом на подписку, кодировать соответствующий видеопоток;
в ответ на определение того, что клиент-источник видеопотока, связанный с запросом на подписку, способен кодировать соответствующий видеопоток, посылают команду клиенту-источнику видеопотока на кодирование соответствующего видеопотока; и
посылают соответствующий видеопоток, по меньшей мере, одному запрашивающему клиенту из зарегистрированных клиентов.
9. Способ по п.8, в котором определение, способен ли клиент-источник видеопотока, связанный с запросом на подписку, кодировать соответствующий видеопоток, содержит этап, на котором определяют, способен ли клиент-источник видеопотока кодировать, по меньшей мере, два видеопотока, содержащих, по меньшей мере, одно из: другого разрешения и другой частоты кадров.
10. Способ по п.4, дополнительно содержащий этапы, на которых:
в ответ на определение того, что, по меньшей мере, один запрос на подписку на видео, по меньшей мере, от одного из зарегистрированных клиентов не может быть удовлетворен, по меньшей мере, одним из видеопотоков, принятых от множества клиентов, вычисляют, какой из видеопотоков наиболее близко соответствует, по меньшей мере, одному запросу на подписку на видео; и
посылают видеопоток, наиболее близко соответствующий, по меньшей мере, одному запросу на подписку на видео, по меньшей мере, одному из зарегистрированных клиентов.
в ответ на определение того, что, по меньшей мере, один запрос на подписку на видео, по меньшей мере, от одного из зарегистрированных клиентов не может быть удовлетворен, по меньшей мере, одним из видеопотоков, принятых от множества клиентов, вычисляют, какой из видеопотоков наиболее близко соответствует, по меньшей мере, одному запросу на подписку на видео; и
посылают видеопоток, наиболее близко соответствующий, по меньшей мере, одному запросу на подписку на видео, по меньшей мере, одному из зарегистрированных клиентов.
11. Способ по п.10, в котором вычисление того, какой из видеопотоков наиболее близко соответствует, по меньшей мере, одному запросу на подписку на видео, содержит этапы, на которых:
определяют, соответствует ли, по меньшей мере, один из видеопотоков клиенту-источнику видеопотока, связанному с запросом на подписку;
определяют, соответствует ли, по меньшей мере, один из видеопотоков, соответствующих клиенту-источнику видеопотока, связанному с запросом на подписку, разрешению, связанному с запросом на подписку;
определяют, соответствует ли, по меньшей мере, один из видеопотоков, соответствующих клиенту-источнику видеопотока, частоте кадров, связанной с запросом на подписку; и
в ответ на определение того, что, по меньшей мере, один из видеопотоков соответствует клиенту-источнику видеопотока и разрешению, связанному с запросом на подписку, но не соответствует частоте кадров, связанной с запросом на подписку, посылают, по меньшей мере, один из видеопотоков запрашивающему клиенту.
определяют, соответствует ли, по меньшей мере, один из видеопотоков клиенту-источнику видеопотока, связанному с запросом на подписку;
определяют, соответствует ли, по меньшей мере, один из видеопотоков, соответствующих клиенту-источнику видеопотока, связанному с запросом на подписку, разрешению, связанному с запросом на подписку;
определяют, соответствует ли, по меньшей мере, один из видеопотоков, соответствующих клиенту-источнику видеопотока, частоте кадров, связанной с запросом на подписку; и
в ответ на определение того, что, по меньшей мере, один из видеопотоков соответствует клиенту-источнику видеопотока и разрешению, связанному с запросом на подписку, но не соответствует частоте кадров, связанной с запросом на подписку, посылают, по меньшей мере, один из видеопотоков запрашивающему клиенту.
12. Способ по п.11, дополнительно содержащий этапы, на которых:
в ответ на определение того, что, по меньшей мере, один из видеопотоков не соответствует клиенту-источнику видеопотока, связанному с запросом на подписку:
выбирают второй клиент-источник видеопотока среди множества клиентов, отличных от клиента-источника видеопотока, связанного с запросом на подписку; и
посылают, по меньшей мере, один видеопоток, принятый от выбранного второго клиента-источника видеопотока, запрашивающему клиенту.
в ответ на определение того, что, по меньшей мере, один из видеопотоков не соответствует клиенту-источнику видеопотока, связанному с запросом на подписку:
выбирают второй клиент-источник видеопотока среди множества клиентов, отличных от клиента-источника видеопотока, связанного с запросом на подписку; и
посылают, по меньшей мере, один видеопоток, принятый от выбранного второго клиента-источника видеопотока, запрашивающему клиенту.
13. Способ по п.12, в котором выбор второго клиента-источника видеопотока среди множества клиентов, отличных от клиента-источника видеопотока, связанного с запросом на подписку, содержит этап, на котором выбирают второй клиент-источник видеопотока, который посылает видеопоток, содержащий говорящего в данный момент.
14. Считываемый компьютером запоминающий носитель, на котором хранится набор команд, который при его исполнении выполняет способ предоставления подписки на видеопотоки, причем способ исполняется набором команд, содержащих:
регистрацию множества клиентов видеоконференции;
прием, по меньшей мере, одного исходящего видеопотока от каждого из множества клиентов видеоконференции;
прием, по меньшей мере, одного запроса на подписку на видеопоток, по меньшей мере, от одного из множества клиентов видеоконференции, который содержит запрошенное разрешение, которое может варьироваться от низкого разрешения до высокого разрешения;
определение того, соответствует ли, по меньшей мере, один первый поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, по меньшей мере, одному запросу на подписку на видеопоток;
в ответ на определение того, что, по меньшей мере, один первый поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, не соответствует запросу на подписку на видеопоток, запрос другого исходящего видеопотока, который соответствует запросу на подписку на видеопоток; и
в ответ на определение того, что, по меньшей мере, один первый поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, соответствует, по меньшей мере, одному запросу на подписку на видеопоток, посылку соответствующего, по меньшей мере, одного первого потока из исходящих видеопотоков, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции.
регистрацию множества клиентов видеоконференции;
прием, по меньшей мере, одного исходящего видеопотока от каждого из множества клиентов видеоконференции;
прием, по меньшей мере, одного запроса на подписку на видеопоток, по меньшей мере, от одного из множества клиентов видеоконференции, который содержит запрошенное разрешение, которое может варьироваться от низкого разрешения до высокого разрешения;
определение того, соответствует ли, по меньшей мере, один первый поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, по меньшей мере, одному запросу на подписку на видеопоток;
в ответ на определение того, что, по меньшей мере, один первый поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, не соответствует запросу на подписку на видеопоток, запрос другого исходящего видеопотока, который соответствует запросу на подписку на видеопоток; и
в ответ на определение того, что, по меньшей мере, один первый поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, соответствует, по меньшей мере, одному запросу на подписку на видеопоток, посылку соответствующего, по меньшей мере, одного первого потока из исходящих видеопотоков, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции.
15. Считываемый компьютером запоминающий носитель по п.14, дополнительно содержащий:
прием, по меньшей мере, от одного из множества клиентов видеоконференции, по меньшей мере, одного второго запроса на подписку на видеопоток;
определение того, соответствует ли, по меньшей мере, один второй поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, по меньшей мере, одному запросу на подписку на второй видеопоток; и
в ответ на определение того, что, по меньшей мере, один второй поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, соответствует, по меньшей мере, одному запросу на подписку на второй видеопоток, посылку соответствующего, по меньшей мере, одного второго потока из исходящих видеопотоков, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции.
прием, по меньшей мере, от одного из множества клиентов видеоконференции, по меньшей мере, одного второго запроса на подписку на видеопоток;
определение того, соответствует ли, по меньшей мере, один второй поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, по меньшей мере, одному запросу на подписку на второй видеопоток; и
в ответ на определение того, что, по меньшей мере, один второй поток из исходящих видеопотоков, принятых от каждого из множества клиентов видеоконференции, соответствует, по меньшей мере, одному запросу на подписку на второй видеопоток, посылку соответствующего, по меньшей мере, одного второго потока из исходящих видеопотоков, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции.
16. Считываемый компьютером запоминающий носитель по п.15, в котором посылка соответствующего, по меньшей мере, одного второго потока из исходящих видеопотоков, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции содержит:
создание составного видеопотока из, по меньшей мере, одного соответствующего первого потока из исходящих видеопотоков и, по меньшей мере, одного соответствующего второго потока из исходящих видеопотоков; и
посылку составного видеопотока, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции.
создание составного видеопотока из, по меньшей мере, одного соответствующего первого потока из исходящих видеопотоков и, по меньшей мере, одного соответствующего второго потока из исходящих видеопотоков; и
посылку составного видеопотока, по меньшей мере, одному запрашивающему клиенту из множества клиентов видеоконференции.
17. Считываемый компьютером запоминающий носитель по п.14, дополнительно содержащий прием, по меньшей мере, одного второго исходящего видеопотока от, по меньшей мере, одного из множества клиентов видеоконференции, причем, по меньшей мере, один второй исходящий видеопоток содержит другую версию, по меньшей мере, одного исходящего видеопотока.
18. Считываемый компьютером запоминающий носитель по п.14, дополнительно содержащий:
прием, по меньшей мере, от одного первого клиента видеоконференции, по меньшей мере, одного первого исходящего видеопотока и, по меньшей мере, одного второго исходящего видеопотока, причем, по меньшей мере, один второй исходящий видеопоток содержит версию с более низким разрешением, по меньшей мере, одного первого исходящего видеопотока;
прием, по меньшей мере, от одного второго клиента видеоконференции, по меньшей мере, одного первого исходящего видеопотока и, по меньшей мере, одного второго исходящего видеопотока, причем, по меньшей мере, один второй исходящий видеопоток содержит версию с более низким разрешением, по меньшей мере, одного первого исходящего видеопотока;
прием, по меньшей мере, от одного третьего клиента видеоконференции запроса на подписку на исходящий видеопоток от, по меньшей мере, одного первого клиента видеоконференции и, по меньшей мере, одного второго клиента видеоконференции;
создание составного видеопотока из, по меньшей мере, одного второго исходящего видеопотока от, по меньшей мере, одного первого клиента видеоконференции и, по меньшей мере, одного второго исходящего видеопотока, по меньшей мере, от одного второго клиента видеоконференции; и
посылку составного видеопотока, по меньшей мере, одному третьему клиенту видеоконференции.
прием, по меньшей мере, от одного первого клиента видеоконференции, по меньшей мере, одного первого исходящего видеопотока и, по меньшей мере, одного второго исходящего видеопотока, причем, по меньшей мере, один второй исходящий видеопоток содержит версию с более низким разрешением, по меньшей мере, одного первого исходящего видеопотока;
прием, по меньшей мере, от одного второго клиента видеоконференции, по меньшей мере, одного первого исходящего видеопотока и, по меньшей мере, одного второго исходящего видеопотока, причем, по меньшей мере, один второй исходящий видеопоток содержит версию с более низким разрешением, по меньшей мере, одного первого исходящего видеопотока;
прием, по меньшей мере, от одного третьего клиента видеоконференции запроса на подписку на исходящий видеопоток от, по меньшей мере, одного первого клиента видеоконференции и, по меньшей мере, одного второго клиента видеоконференции;
создание составного видеопотока из, по меньшей мере, одного второго исходящего видеопотока от, по меньшей мере, одного первого клиента видеоконференции и, по меньшей мере, одного второго исходящего видеопотока, по меньшей мере, от одного второго клиента видеоконференции; и
посылку составного видеопотока, по меньшей мере, одному третьему клиенту видеоконференции.
19. Считываемый компьютером запоминающий носитель по п.14, дополнительно содержащий:
прием, по меньшей мере, одного первого исходящего видеопотока, по меньшей мере, от одного первого клиента видеоконференции;
прием, по меньшей мере, одного второго исходящего видеопотока, по меньшей мере, от одного второго клиента видеоконференции;
прием, по меньшей мере, от одного третьего клиента видеоконференции запроса на подписку на исходящий видеопоток от, по меньшей мере, одного первого клиента видеоконференции и, по меньшей мере, одного второго клиента видеоконференции;
создание составного видеопотока из, по меньшей мере, одного первого исходящего видеопотока и, по меньшей мере, одного второго исходящего видеопотока, причем создание составного видеопотока содержит:
изменение частоты кадров, по меньшей мере, одного первого исходящего видеопотока,
изменение частоты кадров, по меньшей мере, одного второго исходящего видеопотока, и
объединение измененного первого исходящего видеопотока и измененного второго исходящего видеопотока в единый видеопоток; и
посылку составного видеопотока, по меньшей мере, одному третьему клиенту видеоконференции.
прием, по меньшей мере, одного первого исходящего видеопотока, по меньшей мере, от одного первого клиента видеоконференции;
прием, по меньшей мере, одного второго исходящего видеопотока, по меньшей мере, от одного второго клиента видеоконференции;
прием, по меньшей мере, от одного третьего клиента видеоконференции запроса на подписку на исходящий видеопоток от, по меньшей мере, одного первого клиента видеоконференции и, по меньшей мере, одного второго клиента видеоконференции;
создание составного видеопотока из, по меньшей мере, одного первого исходящего видеопотока и, по меньшей мере, одного второго исходящего видеопотока, причем создание составного видеопотока содержит:
изменение частоты кадров, по меньшей мере, одного первого исходящего видеопотока,
изменение частоты кадров, по меньшей мере, одного второго исходящего видеопотока, и
объединение измененного первого исходящего видеопотока и измененного второго исходящего видеопотока в единый видеопоток; и
посылку составного видеопотока, по меньшей мере, одному третьему клиенту видеоконференции.
20. Система для предоставления подписок в видеоконференции, причем система содержит:
запоминающее устройство; и
блок обработки, подсоединенный к запоминающему устройству, причем блок обработки функционирует с возможностью:
принимать множество видеопотоков от множества клиентов видеоконференции, причем каждый клиент посылает, по меньшей мере, один из множества видеопотоков;
принимать, по меньшей мере, один запрос на подписку, по меньшей мере, от одного из множества клиентов видеоконференции, причем запрос на подписку содержит запрос на, по меньшей мере, одно из: множества видеопотоков, запрошенного разрешения, которое может варьироваться от низкого разрешения до высокого разрешения, и запрошенной частоты кадров;
определять, принимается ли, по меньшей мере, один из множества видеопотоков от клиента-источника для, по меньшей мере, одного запрошенного потока из множества видеопотоков с запрошенным разрешением и запрошенной частотой кадров;
в ответ на определение того, что, по меньшей мере, один запрошенный видеопоток из множества видеопотоков не принимается от клиента-источника для, по меньшей мере, одного запрошенного видеопотока из множества видеопотоков с запрошенным разрешением и запрошенной частотой кадров, определять, способен ли клиент-источник для, по меньшей мере, одного запрошенного видеопотока из множества видеопотоков послать, по меньшей мере, один запрошенный видеопоток из множества видеопотоков с запрошенным разрешением при запрошенной частоте кадров;
в ответ на определение того, что клиент-источник для, по меньшей мере, одного запрошенного видеопотока из множества видеопотоков способен послать, по меньшей мере, один запрошенный видеопоток из множества видеопотоков с запрошенным разрешением при запрошенной частоте кадров, посылать команду клиенту-источнику, которая запрашивает, чтобы клиент-источник кодировал и посылал в систему, по меньшей мере, один запрошенный видеопоток из множества видеопотоков с запрошенным разрешением при запрошенной частоте кадров; и
посылать, по меньшей мере, один запрошенный видеопоток из множества видеопотоков с запрошенным разрешением при запрошенной частоте кадров, по меньшей мере, одному клиенту из множества клиентов видеоконференции, посылающих запрос на подписку.
запоминающее устройство; и
блок обработки, подсоединенный к запоминающему устройству, причем блок обработки функционирует с возможностью:
принимать множество видеопотоков от множества клиентов видеоконференции, причем каждый клиент посылает, по меньшей мере, один из множества видеопотоков;
принимать, по меньшей мере, один запрос на подписку, по меньшей мере, от одного из множества клиентов видеоконференции, причем запрос на подписку содержит запрос на, по меньшей мере, одно из: множества видеопотоков, запрошенного разрешения, которое может варьироваться от низкого разрешения до высокого разрешения, и запрошенной частоты кадров;
определять, принимается ли, по меньшей мере, один из множества видеопотоков от клиента-источника для, по меньшей мере, одного запрошенного потока из множества видеопотоков с запрошенным разрешением и запрошенной частотой кадров;
в ответ на определение того, что, по меньшей мере, один запрошенный видеопоток из множества видеопотоков не принимается от клиента-источника для, по меньшей мере, одного запрошенного видеопотока из множества видеопотоков с запрошенным разрешением и запрошенной частотой кадров, определять, способен ли клиент-источник для, по меньшей мере, одного запрошенного видеопотока из множества видеопотоков послать, по меньшей мере, один запрошенный видеопоток из множества видеопотоков с запрошенным разрешением при запрошенной частоте кадров;
в ответ на определение того, что клиент-источник для, по меньшей мере, одного запрошенного видеопотока из множества видеопотоков способен послать, по меньшей мере, один запрошенный видеопоток из множества видеопотоков с запрошенным разрешением при запрошенной частоте кадров, посылать команду клиенту-источнику, которая запрашивает, чтобы клиент-источник кодировал и посылал в систему, по меньшей мере, один запрошенный видеопоток из множества видеопотоков с запрошенным разрешением при запрошенной частоте кадров; и
посылать, по меньшей мере, один запрошенный видеопоток из множества видеопотоков с запрошенным разрешением при запрошенной частоте кадров, по меньшей мере, одному клиенту из множества клиентов видеоконференции, посылающих запрос на подписку.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/334,836 | 2008-12-15 | ||
US12/334,836 US20100149301A1 (en) | 2008-12-15 | 2008-12-15 | Video Conferencing Subscription Using Multiple Bit Rate Streams |
PCT/US2009/063697 WO2010074826A1 (en) | 2008-12-15 | 2009-11-09 | Video conferencing subscription using multiple bit rate streams |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2011124036A RU2011124036A (ru) | 2013-01-10 |
RU2527206C2 true RU2527206C2 (ru) | 2014-08-27 |
Family
ID=42240011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011124036/08A RU2527206C2 (ru) | 2008-12-15 | 2009-11-09 | Подписка на видеоконференцсвязь с использованием потоков со множеством скоростей передачи битов |
Country Status (11)
Country | Link |
---|---|
US (1) | US20100149301A1 (ru) |
EP (1) | EP2359531A4 (ru) |
JP (1) | JP5781441B2 (ru) |
KR (1) | KR101617906B1 (ru) |
CN (1) | CN102246458B (ru) |
AU (1) | AU2009330646B2 (ru) |
BR (1) | BRPI0921384A2 (ru) |
CA (1) | CA2742466A1 (ru) |
RU (1) | RU2527206C2 (ru) |
TW (1) | TWI479840B (ru) |
WO (1) | WO2010074826A1 (ru) |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8797377B2 (en) | 2008-02-14 | 2014-08-05 | Cisco Technology, Inc. | Method and system for videoconference configuration |
US8694658B2 (en) | 2008-09-19 | 2014-04-08 | Cisco Technology, Inc. | System and method for enabling communication sessions in a network environment |
JP5495572B2 (ja) * | 2009-01-07 | 2014-05-21 | キヤノン株式会社 | プロジェクタ・システム及びこれを含むビデオ会議システム |
US8659637B2 (en) | 2009-03-09 | 2014-02-25 | Cisco Technology, Inc. | System and method for providing three dimensional video conferencing in a network environment |
US9769504B2 (en) | 2009-03-31 | 2017-09-19 | Comcast Cable Communications, Llc | Dynamic distribution of media content assets for a content delivery network |
US20100302346A1 (en) * | 2009-05-27 | 2010-12-02 | Tingxue Huang | System for processing and synchronizing large scale video conferencing and document sharing |
US8659639B2 (en) | 2009-05-29 | 2014-02-25 | Cisco Technology, Inc. | System and method for extending communications between participants in a conferencing environment |
WO2010147263A1 (en) * | 2009-06-16 | 2010-12-23 | Lg Electronics Inc. | Method of exchanging messages, sink device and source device |
US9082297B2 (en) | 2009-08-11 | 2015-07-14 | Cisco Technology, Inc. | System and method for verifying parameters in an audiovisual environment |
US20110066745A1 (en) * | 2009-09-14 | 2011-03-17 | Sony Ericsson Mobile Communications Ab | Sharing video streams in commnication sessions |
US8621098B2 (en) * | 2009-12-10 | 2013-12-31 | At&T Intellectual Property I, L.P. | Method and apparatus for providing media content using a mobile device |
US20110157298A1 (en) * | 2009-12-31 | 2011-06-30 | Tingxue Huang | System for processing and synchronizing large scale video conferencing and document sharing |
US9225916B2 (en) | 2010-03-18 | 2015-12-29 | Cisco Technology, Inc. | System and method for enhancing video images in a conferencing environment |
US9313452B2 (en) | 2010-05-17 | 2016-04-12 | Cisco Technology, Inc. | System and method for providing retracting optics in a video conferencing environment |
US8947492B2 (en) * | 2010-06-18 | 2015-02-03 | Microsoft Corporation | Combining multiple bit rate and scalable video coding |
US8576271B2 (en) * | 2010-06-25 | 2013-11-05 | Microsoft Corporation | Combining direct and routed communication in a video conference |
EP2408196B1 (en) * | 2010-07-14 | 2017-01-11 | Alcatel Lucent | A method, server and terminal for generating a composite view from multiple content items |
US8896655B2 (en) | 2010-08-31 | 2014-11-25 | Cisco Technology, Inc. | System and method for providing depth adaptive video conferencing |
US8599934B2 (en) | 2010-09-08 | 2013-12-03 | Cisco Technology, Inc. | System and method for skip coding during video conferencing in a network environment |
US8599865B2 (en) | 2010-10-26 | 2013-12-03 | Cisco Technology, Inc. | System and method for provisioning flows in a mobile network environment |
JP2012099890A (ja) * | 2010-10-29 | 2012-05-24 | Sony Corp | 画像処理装置、画像処理方法、および画像処理システム |
US8699457B2 (en) | 2010-11-03 | 2014-04-15 | Cisco Technology, Inc. | System and method for managing flows in a mobile network environment |
US9143725B2 (en) | 2010-11-15 | 2015-09-22 | Cisco Technology, Inc. | System and method for providing enhanced graphics in a video environment |
US9338394B2 (en) | 2010-11-15 | 2016-05-10 | Cisco Technology, Inc. | System and method for providing enhanced audio in a video environment |
US8730297B2 (en) | 2010-11-15 | 2014-05-20 | Cisco Technology, Inc. | System and method for providing camera functions in a video environment |
US8902244B2 (en) | 2010-11-15 | 2014-12-02 | Cisco Technology, Inc. | System and method for providing enhanced graphics in a video environment |
US8723914B2 (en) | 2010-11-19 | 2014-05-13 | Cisco Technology, Inc. | System and method for providing enhanced video processing in a network environment |
US9111138B2 (en) | 2010-11-30 | 2015-08-18 | Cisco Technology, Inc. | System and method for gesture interface control |
US8838680B1 (en) | 2011-02-08 | 2014-09-16 | Google Inc. | Buffer objects for web-based configurable pipeline media processing |
US8692862B2 (en) * | 2011-02-28 | 2014-04-08 | Cisco Technology, Inc. | System and method for selection of video data in a video conference environment |
US8984144B2 (en) | 2011-03-02 | 2015-03-17 | Comcast Cable Communications, Llc | Delivery of content |
US8681866B1 (en) | 2011-04-28 | 2014-03-25 | Google Inc. | Method and apparatus for encoding video by downsampling frame resolution |
US8670019B2 (en) | 2011-04-28 | 2014-03-11 | Cisco Technology, Inc. | System and method for providing enhanced eye gaze in a video conferencing environment |
US8786631B1 (en) | 2011-04-30 | 2014-07-22 | Cisco Technology, Inc. | System and method for transferring transparency information in a video environment |
US9106787B1 (en) | 2011-05-09 | 2015-08-11 | Google Inc. | Apparatus and method for media transmission bandwidth control using bandwidth estimation |
US8934026B2 (en) | 2011-05-12 | 2015-01-13 | Cisco Technology, Inc. | System and method for video coding in a dynamic environment |
US8947493B2 (en) | 2011-11-16 | 2015-02-03 | Cisco Technology, Inc. | System and method for alerting a participant in a video conference |
US8782271B1 (en) * | 2012-03-19 | 2014-07-15 | Google, Inc. | Video mixing using video speech detection |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
CN103384235B (zh) | 2012-05-04 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 多人会话时数据呈现的方法、服务器及系统 |
WO2014014238A1 (en) | 2012-07-17 | 2014-01-23 | Samsung Electronics Co., Ltd. | System and method for providing image |
US20140028788A1 (en) * | 2012-07-30 | 2014-01-30 | Polycom, Inc. | Method and system for conducting video conferences of diverse participating devices |
US9131111B2 (en) * | 2012-11-02 | 2015-09-08 | OpenExchange, Inc. | Methods and apparatus for video communications |
CN103856741B (zh) * | 2012-12-06 | 2017-06-06 | 中兴通讯股份有限公司 | 视频会议流控方法及视频会议多点控制装置 |
US8976223B1 (en) * | 2012-12-21 | 2015-03-10 | Google Inc. | Speaker switching in multiway conversation |
US9172740B1 (en) | 2013-01-15 | 2015-10-27 | Google Inc. | Adjustable buffer remote access |
US9311692B1 (en) | 2013-01-25 | 2016-04-12 | Google Inc. | Scalable buffer remote access |
US9225979B1 (en) | 2013-01-30 | 2015-12-29 | Google Inc. | Remote access encoding |
NO341411B1 (no) * | 2013-03-04 | 2017-10-30 | Cisco Tech Inc | Virtuelle endepunkter i videokonferanser |
EP2947825A4 (en) * | 2013-03-08 | 2016-02-17 | Huawei Device Co Ltd | VIDEO COMMUNICATION PROCEDURE, HOME DEVICE AND HOME SERVERS |
JP2014183321A (ja) * | 2013-03-15 | 2014-09-29 | Ricoh Co Ltd | 通信システム、通信装置及び通信プログラム |
EP2884743A1 (en) * | 2013-12-12 | 2015-06-17 | Alcatel Lucent | Process for managing the exchanges of video streams between users of a video conference service |
EP3164963A4 (en) * | 2014-07-04 | 2018-04-04 | Telefonaktiebolaget LM Ericsson (publ) | Priority of uplink streams in video switching |
DE102014115188A1 (de) * | 2014-10-17 | 2016-04-21 | Visocon Gmbh | Verfahren zur Anpassung eines zu übertragenden Datenstroms an eine Ressourcenauslastung |
JP6435987B2 (ja) * | 2015-05-18 | 2018-12-12 | 富士通株式会社 | 通信装置、通信システム、および、通信方法 |
KR20170012979A (ko) | 2015-07-27 | 2017-02-06 | 삼성전자주식회사 | 영상 공유 서비스를 위한 전자 장치 및 방법 |
CN105897698B (zh) * | 2016-03-28 | 2019-08-30 | 深圳明心科技有限公司 | 一种基于QoS的多流的视频会议系统及控制方法 |
US10332296B2 (en) * | 2016-07-05 | 2019-06-25 | Ubitus Inc. | Overlaying multi-source media in VRAM |
KR101770070B1 (ko) | 2016-08-16 | 2017-08-21 | 라인 가부시키가이샤 | 비디오 컨퍼런스를 위한 비디오 스트림 제공 방법 및 시스템 |
CN108063745B (zh) * | 2016-11-08 | 2019-03-01 | 视联动力信息技术股份有限公司 | 一种基于安卓设备的视频通话方法及其系统 |
US20180352156A1 (en) | 2017-06-02 | 2018-12-06 | Apple Inc. | High-Quality Audio/Visual Conferencing |
US10708320B2 (en) * | 2017-06-27 | 2020-07-07 | Atlassian Pty Ltd | Selective internal forwarding in conferences with distributed media servers |
CN108134918A (zh) * | 2018-01-30 | 2018-06-08 | 苏州科达科技股份有限公司 | 视频处理方法、装置及多点视频处理单元、会议设备 |
US10820236B2 (en) * | 2018-02-27 | 2020-10-27 | Verizon Patent And Licensing Inc. | Method and system for carrier-initiated traffic tuning and communication of subscriber parameters |
US11317130B2 (en) | 2018-02-27 | 2022-04-26 | Verizon Patent And Licensing Inc. | Method and system for carrier-initiated traffic tuning and communication of subscriber parameters |
CN111083430B (zh) * | 2018-10-18 | 2021-04-23 | 杭州海康威视系统技术有限公司 | 一种图像获取方法、装置、电子设备及存储介质 |
CN111385515B (zh) * | 2018-12-27 | 2022-01-11 | 北京紫荆视通科技有限公司 | 视频会议数据的传输方法和视频会议数据的传输系统 |
CN111385516A (zh) * | 2018-12-27 | 2020-07-07 | 北京紫荆视通科技有限公司 | 多媒体资源的传输方法、装置、系统和可读存储介质 |
CN109819333B (zh) * | 2019-01-10 | 2021-05-07 | 广州视源电子科技股份有限公司 | 视频流码率分配方法、装置及计算机可读存储介质 |
CN109660826B (zh) * | 2019-02-01 | 2020-09-29 | 广州视源电子科技股份有限公司 | 一种视频传输方法、装置、设备及存储介质 |
CN112995570B (zh) * | 2019-12-18 | 2023-08-01 | 中国移动通信有限公司研究院 | 一种信息处理方法、装置、设备、系统及存储介质 |
CN111083428A (zh) * | 2019-12-27 | 2020-04-28 | 北京东土科技股份有限公司 | 音视频数据处理方法、装置、计算机设备及存储介质 |
US10999344B1 (en) * | 2020-06-15 | 2021-05-04 | Google Llc | Dynamic video resolution and quality for improved video conferencing |
CN111935436B (zh) * | 2020-09-15 | 2021-02-19 | 杭州盖视科技有限公司 | 多视频流在播放端的无缝切换方法与系统 |
CN114500914A (zh) * | 2020-11-11 | 2022-05-13 | 中兴通讯股份有限公司 | 音视频转发方法、装置、终端与系统 |
WO2023063945A1 (en) * | 2021-10-13 | 2023-04-20 | Hewlett-Packard Development Company, L.P. | Output of video streams at multiple resolutions |
CN116418937A (zh) * | 2021-12-31 | 2023-07-11 | 广州迈聆信息科技有限公司 | 视频分辨率调整方法、装置、存储介质以及电子设备 |
CN115865877B (zh) * | 2023-02-13 | 2023-05-16 | 共道网络科技有限公司 | 音视频处理方法、设备及计算机可读存储介质 |
WO2024188475A1 (en) * | 2023-03-15 | 2024-09-19 | Eyeson Gmbh | Video conferencing systems and respective methods |
CN116938897B (zh) * | 2023-09-19 | 2023-12-15 | 好信云(北京)网络通信有限公司 | 一种用于会议的实时通信的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2282888C2 (ru) * | 2001-09-26 | 2006-08-27 | Интерэкт Дивайсиз, Инк. | Система и способ для обмена сигналами аудиовизуальной информации |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5687095A (en) * | 1994-11-01 | 1997-11-11 | Lucent Technologies Inc. | Video transmission rate matching for multimedia communication systems |
US5600646A (en) * | 1995-01-27 | 1997-02-04 | Videoserver, Inc. | Video teleconferencing system with digital transcoding |
US5838664A (en) * | 1997-07-17 | 1998-11-17 | Videoserver, Inc. | Video teleconferencing system with digital transcoding |
US5963547A (en) * | 1996-09-18 | 1999-10-05 | Videoserver, Inc. | Method and apparatus for centralized multipoint conferencing in a packet network |
US6229850B1 (en) * | 1997-07-22 | 2001-05-08 | C-Cube Semiconductor Ii, Inc. | Multiple resolution video compression |
US6091777A (en) * | 1997-09-18 | 2000-07-18 | Cubic Video Technologies, Inc. | Continuously adaptive digital video compression system and method for a web streamer |
US6622171B2 (en) * | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
US6501797B1 (en) * | 1999-07-06 | 2002-12-31 | Koninklijke Phillips Electronics N.V. | System and method for improved fine granular scalable video using base layer coding information |
US7111316B1 (en) * | 1999-08-06 | 2006-09-19 | Wisconsin Alumni Research Foundation | Method for efficient, on-demand data streaming |
US7089285B1 (en) * | 1999-10-05 | 2006-08-08 | Polycom, Inc. | Videoconferencing apparatus having integrated multi-point conference capabilities |
AU4338800A (en) * | 1999-12-22 | 2001-07-03 | General Instrument Corporation | Video compression for multicast environments using spatial scalability and simulcast coding |
JP2002034047A (ja) * | 2000-07-18 | 2002-01-31 | Pioneer Electronic Corp | 画像符号化装置及び画像符号化方法、情報符号化装置及び情報符号化方法、情報記録装置並びに情報記録媒体 |
US7007098B1 (en) * | 2000-08-17 | 2006-02-28 | Nortel Networks Limited | Methods of controlling video signals in a video conference |
US7313593B1 (en) * | 2000-10-24 | 2007-12-25 | International Business Machines Corporation | Method and apparatus for providing full duplex and multipoint IP audio streaming |
US20020131496A1 (en) * | 2001-01-18 | 2002-09-19 | Vinod Vasudevan | System and method for adjusting bit rate and cost of delivery of digital data |
US6766407B1 (en) * | 2001-03-27 | 2004-07-20 | Microsoft Corporation | Intelligent streaming framework |
US6535238B1 (en) * | 2001-10-23 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for automatically scaling processor resource usage during video conferencing |
WO2003053004A1 (en) * | 2001-12-15 | 2003-06-26 | Thomson Licensing S.A. | Videoconference bandwidth selection mechanism |
US7362349B2 (en) * | 2002-07-10 | 2008-04-22 | Seiko Epson Corporation | Multi-participant conference system with controllable content delivery using a client monitor back-channel |
US20090118019A1 (en) * | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US7034860B2 (en) * | 2003-06-20 | 2006-04-25 | Tandberg Telecom As | Method and apparatus for video conferencing having dynamic picture layout |
US20040257434A1 (en) * | 2003-06-23 | 2004-12-23 | Robert Davis | Personal multimedia device video format conversion across multiple video formats |
US7054774B2 (en) * | 2003-06-27 | 2006-05-30 | Microsoft Corporation | Midstream determination of varying bandwidth availability |
US20050013309A1 (en) * | 2003-07-14 | 2005-01-20 | Channasandra Ravishankar | System and method for high quality video conferencing with heterogeneous end-points and networks |
US20050049957A1 (en) * | 2003-08-29 | 2005-03-03 | Valla Vakili | System and method for auctioning utilizing a broadcast-based device |
US7346556B2 (en) * | 2003-08-29 | 2008-03-18 | Yahoo! Inc. | System and method for performing purchase transactions utilizing a broadcast-based device |
US20050076363A1 (en) * | 2003-08-29 | 2005-04-07 | Derek Dukes | System and method for navigation of a multimedia interface |
US7844992B2 (en) * | 2003-09-10 | 2010-11-30 | Thomson Licensing | Video on demand server system and method |
IL158276A (en) * | 2003-10-02 | 2010-04-29 | Radvision Ltd | Method for dynamically optimizing bandwidth allocation in variable bitrate (multi-rate) conferences |
NO318911B1 (no) * | 2003-11-14 | 2005-05-23 | Tandberg Telecom As | Distribuert sammensetting av sanntids-media |
US7447740B2 (en) * | 2003-12-19 | 2008-11-04 | Microsoft Corporation | Internet video conferencing on a home television |
EP1769318B1 (en) * | 2004-06-03 | 2015-12-23 | Hillcrest Laboratories, Inc. | Client-Server Architectures and Methods for a Zoomable User Interface |
US8948262B2 (en) * | 2004-07-01 | 2015-02-03 | Qualcomm Incorporated | Method and apparatus for using frame rate up conversion techniques in scalable video coding |
US8442108B2 (en) * | 2004-07-12 | 2013-05-14 | Microsoft Corporation | Adaptive updates in motion-compensated temporal filtering |
US8340177B2 (en) * | 2004-07-12 | 2012-12-25 | Microsoft Corporation | Embedded base layer codec for 3D sub-band coding |
US20060047779A1 (en) * | 2004-07-12 | 2006-03-02 | Sharp Laboratories Of America, Inc. | HTTP agent-driven content negotiation for scalable video coding |
US8374238B2 (en) * | 2004-07-13 | 2013-02-12 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video |
US20060143678A1 (en) * | 2004-12-10 | 2006-06-29 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model |
US7543073B2 (en) * | 2004-12-10 | 2009-06-02 | Microsoft Corporation | System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate |
US7536469B2 (en) * | 2004-12-10 | 2009-05-19 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates |
US7653129B2 (en) * | 2004-12-28 | 2010-01-26 | General Instrument Corporation | Method and apparatus for providing intra coding frame bit budget |
US8184720B2 (en) * | 2005-04-11 | 2012-05-22 | Tubitak Biltien | Optimal video adaptation for resource constrained mobile devices based on subjective utility models |
EP1936996A3 (en) * | 2005-04-28 | 2011-07-27 | Apple Inc. | Video processing in a multi-participant video conference |
US7692682B2 (en) * | 2005-04-28 | 2010-04-06 | Apple Inc. | Video encoding in a video conference |
US7949117B2 (en) * | 2005-04-28 | 2011-05-24 | Apple Inc. | Heterogeneous video conferencing |
US7899170B2 (en) * | 2005-04-28 | 2011-03-01 | Apple Inc. | Multi-participant conference setup |
US20070022215A1 (en) * | 2005-07-19 | 2007-01-25 | Singer David W | Method and apparatus for media data transmission |
US20070024705A1 (en) * | 2005-08-01 | 2007-02-01 | Richter Roger K | Systems and methods for video stream selection |
KR100703354B1 (ko) * | 2005-08-11 | 2007-04-03 | 삼성전자주식회사 | 휴대단말기의 화상통화모드에서 영상데이터 전송방법 |
EP1758334A1 (en) * | 2005-08-26 | 2007-02-28 | Matsushita Electric Industrial Co., Ltd. | Establishment of media sessions with media adaptation |
JP5265383B2 (ja) * | 2005-09-07 | 2013-08-14 | ヴィドヨ,インコーポレーテッド | 低遅延かつ分散した会議アプリケーション向けコンファレンスサーバアーキテクチャのためのシステムおよび方法 |
DE102005050588B4 (de) * | 2005-10-21 | 2010-07-08 | Siemens Ag | Signalisierung bezüglich des Aufbaus von H.324 Videotelefonie zwischen einer Mediagateway und einem Controller |
JP2007124354A (ja) * | 2005-10-28 | 2007-05-17 | Canon Inc | サーバ及びその制御方法並びに映像配信システム |
EP1985116A4 (en) * | 2005-12-22 | 2013-06-05 | Vidyo Inc | SYSTEM AND METHOD FOR VIDEO CONFERENCES USING SCALABLE VIDEO CODING AND COMPOSITION OF SCALABLE VIDEO CONFERENCE SERVER |
US8619865B2 (en) * | 2006-02-16 | 2013-12-31 | Vidyo, Inc. | System and method for thinning of scalable video coding bit-streams |
US8718100B2 (en) * | 2006-02-27 | 2014-05-06 | Time Warner Cable Enterprises Llc | Methods and apparatus for selecting digital interface technology for programming and data delivery |
US7916755B2 (en) * | 2006-02-27 | 2011-03-29 | Time Warner Cable Inc. | Methods and apparatus for selecting digital coding/decoding technology for programming and data delivery |
JP4585479B2 (ja) * | 2006-03-30 | 2010-11-24 | 株式会社東芝 | サーバ装置および映像配信方法 |
WO2007134549A1 (fr) * | 2006-05-24 | 2007-11-29 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système pour mettre en oeuvre le service de session |
US7773672B2 (en) * | 2006-05-30 | 2010-08-10 | Freescale Semiconductor, Inc. | Scalable rate control system for a video encoder |
KR100800748B1 (ko) * | 2006-07-28 | 2008-02-01 | 삼성전자주식회사 | 블루투스를 이용한 동영상 스트림 전송 장치 및 방법 |
US7764632B2 (en) * | 2006-08-24 | 2010-07-27 | Interwise Ltd. | Software bridge for multi-point multi-media teleconferencing and telecollaboration |
JP5155323B2 (ja) * | 2006-09-29 | 2013-03-06 | ヴィドヨ,インコーポレーテッド | スケーラブルビデオ符号化サーバ及びマルチキャストを用いる多地点会議のためのシステム及び方法 |
JP2008288974A (ja) * | 2007-05-18 | 2008-11-27 | Sony Corp | ビデオ会議システム及びビデオ会議装置 |
US9060094B2 (en) * | 2007-09-30 | 2015-06-16 | Optical Fusion, Inc. | Individual adjustment of audio and video properties in network conferencing |
US20090184962A1 (en) * | 2008-01-22 | 2009-07-23 | Dell Product L.P. | Systems and Methods for Managing Video Resolution in a Multiple-Output Information Handling System |
US8144187B2 (en) * | 2008-03-14 | 2012-03-27 | Microsoft Corporation | Multiple video stream capability negotiation |
AU2009257627B2 (en) * | 2008-06-09 | 2014-05-01 | Vidyo, Inc. | Improved view layout management in scalable video and audio communication systems |
EP2439952A3 (en) * | 2008-06-20 | 2013-11-27 | Dolby Laboratories Licensing Corporation | Video compression under multiple distortion constraints |
US8319820B2 (en) * | 2008-06-23 | 2012-11-27 | Radvision, Ltd. | Systems, methods, and media for providing cascaded multi-point video conferencing units |
US8249144B2 (en) * | 2008-07-08 | 2012-08-21 | Imagine Communications Ltd. | Distributed transcoding |
US20100091888A1 (en) * | 2008-10-13 | 2010-04-15 | General Instrument Corporation | Multi-Rate Encoder with GOP Alignment |
US8380790B2 (en) * | 2008-12-15 | 2013-02-19 | Microsoft Corporation | Video conference rate matching |
US20130007831A1 (en) * | 2010-03-05 | 2013-01-03 | Thomson Licensing | Bit rate adjustment in an adaptive streaming system |
-
2008
- 2008-12-15 US US12/334,836 patent/US20100149301A1/en not_active Abandoned
-
2009
- 2009-11-09 AU AU2009330646A patent/AU2009330646B2/en not_active Ceased
- 2009-11-09 BR BRPI0921384A patent/BRPI0921384A2/pt not_active IP Right Cessation
- 2009-11-09 WO PCT/US2009/063697 patent/WO2010074826A1/en active Application Filing
- 2009-11-09 EP EP09835434.3A patent/EP2359531A4/en not_active Withdrawn
- 2009-11-09 RU RU2011124036/08A patent/RU2527206C2/ru not_active IP Right Cessation
- 2009-11-09 KR KR1020117013104A patent/KR101617906B1/ko not_active IP Right Cessation
- 2009-11-09 CN CN200980151608.1A patent/CN102246458B/zh not_active Expired - Fee Related
- 2009-11-09 JP JP2011542168A patent/JP5781441B2/ja not_active Expired - Fee Related
- 2009-11-09 CA CA2742466A patent/CA2742466A1/en not_active Abandoned
- 2009-11-13 TW TW098138617A patent/TWI479840B/zh not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2282888C2 (ru) * | 2001-09-26 | 2006-08-27 | Интерэкт Дивайсиз, Инк. | Система и способ для обмена сигналами аудиовизуальной информации |
Also Published As
Publication number | Publication date |
---|---|
CN102246458A (zh) | 2011-11-16 |
US20100149301A1 (en) | 2010-06-17 |
EP2359531A1 (en) | 2011-08-24 |
KR101617906B1 (ko) | 2016-05-03 |
AU2009330646B2 (en) | 2014-07-24 |
JP2012512604A (ja) | 2012-05-31 |
CN102246458B (zh) | 2015-06-17 |
AU2009330646A1 (en) | 2011-06-30 |
JP5781441B2 (ja) | 2015-09-24 |
KR20110103948A (ko) | 2011-09-21 |
TWI479840B (zh) | 2015-04-01 |
BRPI0921384A2 (pt) | 2018-06-19 |
CA2742466A1 (en) | 2010-07-01 |
TW201126963A (en) | 2011-08-01 |
EP2359531A4 (en) | 2015-10-07 |
RU2011124036A (ru) | 2013-01-10 |
WO2010074826A1 (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2527206C2 (ru) | Подписка на видеоконференцсвязь с использованием потоков со множеством скоростей передачи битов | |
CA2742111C (en) | Video conference rate matching | |
US8947492B2 (en) | Combining multiple bit rate and scalable video coding | |
US8456509B2 (en) | Providing presentations in a videoconference | |
US8787547B2 (en) | Selective audio combination for a conference | |
US8635274B2 (en) | Video conferencing using white board | |
CN104580991A (zh) | 用于会议系统对会议会话的当前条件的实时适应的系统和方法 | |
US20140028778A1 (en) | Systems and methods for ad-hoc integration of tablets and phones in video communication systems | |
CN102299917A (zh) | 在视频会议中结合直接和路由通信 | |
US20140218464A1 (en) | User interface control in a multimedia conference system | |
CN112423013A (zh) | 在线互动方法、客户端、服务器、计算设备和存储介质 | |
KR100747895B1 (ko) | 다자간 화상 통화 방법 | |
CN115334058A (zh) | 一种媒体文件播放系统及其方法 | |
Arachchi et al. | Advanced delivery of sensitive multimedia content for better serving user expectations in Virtual Collaboration applications | |
US20120200659A1 (en) | Displaying Unseen Participants in a Videoconference | |
Andrade et al. | Anna Carreras, Vitor Barbosa, Hemantha Kodikara Arachchi, Jaime Delgado & Ahmet M. Kondoz |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20171110 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20181110 |