BRPI1013734B1 - Sistema de comunicação de vídeo de múltiplos canais e método para processar comunicação de vídeo de múltiplos canais - Google Patents
Sistema de comunicação de vídeo de múltiplos canais e método para processar comunicação de vídeo de múltiplos canais Download PDFInfo
- Publication number
- BRPI1013734B1 BRPI1013734B1 BRPI1013734-3A BRPI1013734A BRPI1013734B1 BR PI1013734 B1 BRPI1013734 B1 BR PI1013734B1 BR PI1013734 A BRPI1013734 A BR PI1013734A BR PI1013734 B1 BRPI1013734 B1 BR PI1013734B1
- Authority
- BR
- Brazil
- Prior art keywords
- bitstream
- client device
- video
- truncation
- module
- Prior art date
Links
Images
Classifications
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/114—Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/36—Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25825—Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
sistema de comunicação de vídeo de múltiplos canais e métodos para processar comunicação de vídeo de múltiplos canais. a presente invenção refere-se a um sistema de comunicação de vídeo de múltiplos canais que inclui um codec de vídeo escalável, um módulo de truncamento de fluxo de bits, um módulo de rede e um módulo de controle de truncamento de fluxo de bits de múltiplos canais. o codec de vídeo escalável codifica uma fonte de vídeo para gerar um fluxo de bits de vídeo original escalável. o módulo de truncamento d fluxo de bits é ajustado entre o codec de vídeo escalável e o módulo de rede, trunca o fluxo de bits de vídeo original para obter um fluxo de bits de vídeo final, e envia o fluxo de bits de vídeo final para o dispositivo de cliente remoto através do módulo de rede. o módulo de controle de truncamento de fluxo bits de múltiplos canais é conectado com o módulo de truncamento de fluxo de bits, e calcula um parâmetro de filtro para cada unidade de truncamento de fluxo de bits no módulo de truncamento de fluxo de bits com base nas capacidades de dispositivo recebidas e nas condições de rede do dispositivo de cliente remoto. a presente invenção também provê um método de comunicação de vídeo de múltiplos canais no sistema de comunicação de vídeo de múltiplos canais acima.
Description
[0001] A presente invenção refere-se a um sistema de comunicação de vídeo e a um método, e, mais particularmente, a um sistema de comunicação de vídeo de múltiplos canais e a um método para processar comunicação de vídeo de múltiplos canais.
[0002] Juntamente com o desenvolvimento e a popularização da Internet e de comunicações sem fio, as comunicações de vídeo de múltiplos canais, incluindo conversas de vídeo de múltiplas pessoas, videoconferências e vídeo games em rede, etc., proveem comunicações mais convenientes e expeditas entre pessoas, atividades de entretenimento mais enriquecidas, se tornando, portanto, cada vez mais populares.
[0003] Nas comunicações de vídeo de múltiplos canais, uma vez que uma rede de múltiplos canais pode ser heterogênea e variante no tempo, e dispositivos de terminal (tais como telefones móveis e PCs) podem ter diferentes capacidades de processamento, é exigido que um codificador de vídeo possa gerar um fluxo de bits que possa satisfazer diferentes exigências e que seja adaptativo às flutuações de condições de rede. Além disso, quando o número de pessoas participantes na comunicação de vídeo aumentar, a quantidade de dados de transmissão de rede aumentará correspondentemente, e muita pressão de processamento poderá ser também acrescentada aos dispositivos de terminal. Desse modo, é importante adequadamente atribuir larguras de banda para as comunicações de vídeo de múltiplos canais para obter uma ótima qualidade de comunicação de vídeo com recursos limitados de largura de barda.
[0004] Nas comunicações de vídeo convencionais, cada dispositivo de cliente participante na comunicação de vídeo dispõe de um codec (codificador/decodificador) de vídeo. Os parâmetros de codificação do codec são configurados para codificação e decodificação de vídeo de acordo com as condições da rede ou a capacidade de processamento do terminal de um usuário médio ou da maioria dos usuários. Dados de vídeo originais são codificados para gerar um único fluxo de bits com qualidade de vídeo de decodificação específica, e o único fluxo de bits é transmitido a todos os usuários participantes na comunicação de vídeo. Para a mesma fonte de vídeo, os vídeos recebidos por todos os usuários têm a mesma qualidade. As desvantagens da tecnologia convencional são óbvias, isto é, ela pode não acomodar as várias capacidades de processamento de terminal e as diferentes condições de rede. Para um usuário com condições de rede relativamente boas (por exemplo, com largura de banda de rede relativamente grande) ou com um dispositivo de terminal apresentando uma grande capacidade de processamento (por exemplo, pode manipular imagens com alta resolução de vídeo que não podem ser processadas pela maioria dos dispositivos de terminal), recursos (a largura de banda de rede ou a capacidade de processamento de dispositivo) não são totalmente usados e a qualidade da comunicação de vídeo não é ótima. Para um usuário com condições de rede relativamente ruins (por exemplo, com largura de banda de rede relativamente pequena ou em uma rede com tráfego pesado) ou com um dispositivo de terminal apresentando uma pobre capacidade de processamento (por exemplo, pode apenas exibir imagens com baixa resolução), a comunicação de vídeo pode congestionar a rede (o que resulta em um armazenamento em cache prolongado do vídeo) ou o dispositivo de terminal pode não executar o processamento adequadamente (por exemplo, não pode exibir o vídeo normalmente).
[0005] Com referência aos problemas acima, cada dispositivo de cliente pode ajustar um codec de vídeo separado para cada percurso de conexão conectado ao dispositivo de cliente, e parâmetros de codificação de cada codec de vídeo são ajustados separadamente de acordo com as condições da rede de cada percurso de conexão e a capacidade de processamento do dispositivo de terminal para gerar e transmitir fluxos de bit que têm diferentes qualidades de vídeo de decodificação para diferentes terminais. Contudo, uma vez que a codificação de vídeo apresenta uma alta complexidade de computação e um codec de vídeo dedicado, precisa ser configurado para cada terminal recentemente conectado ao dispositivo de cliente, quando o número de conexões na comunicação de vídeo aumentar, uma grande quantidade de recursos de processamento será ocupada e excessivos recursos de memória serão consumidos, o que faz com que alguns dispositivos manuais possam não executar a comunicação de múltiplos canais.
[0006] É necessário prover um sistema de comunicação de vídeo de múltiplos canais aplicável a diferentes condições de rede e dispositivos de terminal.
[0007] Além disso, a presente invenção também provê um método para processar comunicação de vídeo de múltiplos canais aplicável a diferentes condições de rede e dispositivos de terminal.
[0008] Um sistema de comunicação de vídeo de múltiplos canais inclui: um codec de vídeo escalável, para codificar uma fonte de vídeo para gerar um fluxo de bits de vídeo original escalável, e enviar o fluxo de bits de vídeo original escalável para um módulo de truncamento de fluxo de bits; o módulo de rede, para obter capacidades de dispositivo e condições de rede de um dispositivo de cliente, enviar as capacidades de dispositivo e as condições de rede para o módulo de truncamento de fluxo de bits, e enviar um fluxo de bits de vídeo final obtido pelo módulo de truncamento de fluxo de bits para o dispositivo de cliente remoto; o módulo de truncamento de fluxo de bits, para enviar as capacidades de dispositivo e as condições de rede do dispositivo de cliente remoto para um módulo de controle de truncamento de fluxo de bits de múltiplos canais, truncar o fluxo de bits de vídeo original de acordo com um parâmetro de filtro enviado pelo módulo de controle de truncamento de fluxo de bits de múltiplos canais, obter o primeiro fluxo de bits de vídeo final e enviar o primeiro fluxo de bits de vídeo final para o módulo de rede; o módulo de controle de truncamento de fluxo de bits de múltiplos canais, para calcular o parâmetro de filtro de cada unidade de truncamento de fluxo de bits no módulo de truncamento de fluxo de bits de acordo com as capacidades de dispositivo recebidas e as condições de rede do dispositivo de cliente remoto, e enviar o parâmetro de filtro para o módulo de truncamento de fluxo de bits.
[0009] Um método para processar a comunicação de vídeo de múltiplos canais inclui: a codificação de uma fonte de vídeo para gerar um fluxo de bits de vídeo original escalável; a obtenção de capacidades de dispositivo e condições de rede de um dispositivo de cliente remoto; o cálculo de um parâmetro de filtro de acordo com as capacidades de dispositivo e a condição de rede; o truncamento do fluxo de bits de vídeo original de acordo com o parâmetro de filtro, a obtenção de um fluxo de bits de vídeo final e o envio do fluxo de bits de vídeo final para o dispositivo de cliente remoto.
[00010] Com o uso do sistema de comunicação de vídeo de múltiplos canais incluindo o codec de vídeo escalável, com o uso da escalabilidade do fluxo de bits, as capacidades de processamento de diferentes dispositivos de terminal e diferentes status de largura de barda de rede são adaptados, e, portanto, uma maior flexibilidade é conseguida em comparação com o modo de transmissão do único fluxo de bits convencional; entrementes, a complexidade da codificação de vídeo escalável é similar à codificação de vídeo convencional; consequentemente, a complexidade do sistema de comunicação de vídeo de múltiplos canais incluindo o codec de vídeo escalável é grandemente reduzida em comparação com o sistema de comunicação de vídeo de múltiplos canais incluindo codec de vídeo convencional múltiplo.
[00011] Nos exemplos da presente invenção, o limite de prioridade de cada unidade de truncamento de fluxo de bits é calculado de acordo com a capacidade de processamento do terminal e o status de largura de banda de rede em tempo real com o uso de uma relação de prioridade de todos os pacotes de fluxo de bits em um grupo de imagens determinado de acordo com uma distância de quadro de codificação atual; consequentemente, o truncamento de fluxo de bits é executado em tempo real, e a taxa de bit para truncar o fluxo de bits pode ser adaptada à solicitação de largura de banda corretamente. Além disso, em vista dos caracteres de distorção de taxa do fluxo de bits de múltiplos canais, a largura de banda é atribuída aos vídeos dos múltiplos percursos de modo razoável, que forma toda a qualidade da otimização de abordagem de vídeo de múltiplos canais, aperfeiçoando assim toda a qualidade de comunicação de vídeo da comunicação de vídeo de múltiplas pessoas.
[00012] A figura 1 é um esquema que ilustra uma estrutura de um fluxo de bits de acordo com a JVT SVC (Joint Video Team Scalable Video Coding).
[00013] A figura 2 é um esquema que ilustra uma estrutura de um sistema de acordo com um exemplo.
[00014] A figura 3 é um fluxograma que ilustra um procedimento de processamento de comunicação de vídeo de múltiplos canais.
[00015] A figura 4 é um fluxograma que ilustra um procedimento de processamento de ajuste de um limite de prioridade.
[00016] A figura 5 é um esquema que ilustra uma estrutura de um sistema de acordo com outro exemplo.
[00017] A Codificação de Vídeo Escalável é um esquema de codificação de vídeo desenvolvido para redes heterogêneas e variedade de dispositivo de terminal, que forma um fluxo de bits escalável em domínio espacial, domínio de tempo e qualidade. Na comunicação de vídeo de múltiplos canais, a escalabilidade do fluxo de bits permite que um fluxo de bits mais adequado para um dispositivo de cliente remoto possa ser obtido de acordo com as capacidades do dispositivo do dispositivo de cliente remoto e as condições de rede e seja transmitido. Por isso, os recursos de largura de banda de rede e a capacidade de processamento de dispositivo de cliente podem ser razoavelmente utilizados e toda a qualidade de comunicação de vídeo da comunicação de vídeo de múltiplas pessoas é aperfeiçoada.
[00018] A JVT SVC (Joint Video Team Advanced Video Coding) definida com base em H264 AVC pode prover escalabilidade em cada do domínio espacial, domínio de tempo e qualidade que serão respectivamente descritos.
[00019] Com relação à escalabilidade no domínio espacial, pelo fato de diferentes dispositivos de vídeo apresentarem diferentes resoluções máximas para exibir imagens, múltiplas resoluções espaciais são providas para cada quadro de imagem em um vídeo para implementar a escalabilidade no domínio espacial. Cada resolução espacial corresponde a um nível de domínio espacial e diferentes níveis de domínio espacial indicam diferentes resoluções, e isto é projetado principalmente para situações onde as telas de vídeo de diferentes dispositivos de recepção apresentam diferentes resoluções.
[00020] A escalabilidade no domínio de tempo é implementada com o uso de uma estrutura de codificação de imagem B hierárquica. Cada quadro de imagem é alocado para um nível de domínio de tempo, o prognóstico de compensação de movimento é executado com o uso de imagens de níveis de domínio de tempo inferiores como quadros de referência para imagens de maiores níveis de domínio de tempo.
[00021] A codificação de imagem B hierárquica é um esquema de codificação que se conforma completamente ao padrão H264/AVC, e adota uma ordem de codificação em pirâmide. De acordo com a codificação de imagem B hierárquica, se essas imagens, codificadas antes de uma certa imagem ser codificada, forem exibidas antes da exibição da certa imagem, a certa imagem será referida como um quadro-chave. Quando a codificação de imagem B hierárquica for adotada, o primeiro quadro de uma sequência de vídeo será codificado como um quadro I, sendo então codificados os quadros-chave. Um quadro-chave pode ser codificado como um quadro I, ou codificado como um quadro P com o uso de um quadro-chave precedente como uma imagem de referência. Outras imagens em um grupo de imagens são codificadas pela codificação de quadro B, mas a codificação é executada em uma ordem de codificação em pirâmide. Tomando um grupo de imagens de 8 quadros como um exemplo, o oitavo quadro é codificado primeiro, depois, o quarto quadro, e, então, o segundo e o sexto quadros. Finalmente, o primeiro, o terceiro, o quinto e o sétimo quadros são codificados. A ordem de codificação em pirâmide realiza a escalabilidade no domínio de tempo (classificação de tempo). Todo os quadros-chave compõem uma sequência de vídeo que apresenta a maior granularidade em resolução de tempo. E a resolução de tempo aumenta com o aumento da ordem de codificação das imagens, sendo finalmente obtida uma sequência de vídeo com completa resolução de tempo.
[00022] Com relação à escalabilidade em qualidade, o vídeo original é codificado para gerar múltiplas camadas de qualidade de fluxo de bits, e as camadas de qualidade de fluxo de bits incluem uma camada de qualidade básica e múltiplas camadas de maior qualidade. A camada de qualidade de fluxo de bits para uma resolução espacial pode ser a camada de qualidade básica ou uma das múltiplas camadas de qualidade. A camada de qualidade básica inclui sinais de vídeo, e é a camada de qualidade mais básica e mais importante. Depois de receber informação incluindo a camada de qualidade básica, uma extremidade de recebimento pode processar a informação para obter uma imagem com qualidade básica (isto é, uma imagem que atende as exigências básicas para identificação). Uma camada de qualidade intensificada inclui informação detalhada dos sinais de vídeo. Depois do recebimento da informação detalhada, a extremidade de recebimento pode processar a informação na camada de qualidade básica e na camada de maior qualidade juntas para obter uma imagem com maior qualidade. As camadas de maior qualidade são obtidas com o decréscimo gradual do comprimento de bloco de quantificação; portanto, a qualidade de imagens obtidas com a decodificação da camada de qualidade básica e das camadas de maior qualidade é aumentada gradualmente.
[00023] Para uma determinada resolução especial, a JVT SVC acondiciona dados de fluxo de bits em uma camada de qualidade de cada quadro em um pacote de fluxo de bits. A figura 1 mostra uma estrutura de um fluxo de bits que inclui dois níveis de domínio espacial (isto é, níveis de domínio espacial 0 e 1 são respectivamente correspondentes a QCIF (Quarter Common Intermediate Format) (176 pixels*144 pixels) e CIF (352 pixels*288 pixels), quatro níveis de domínio de tempo (isto é, níveis de domínio de tempo 0-3 são respectivamente correspondentes a taxas de quadros de 3,75 fps, 7,5 fps, 15 fps, 30 fps), e cada nível de domínio espacial inclui três camadas de qualidade.
[00024] Em comunicações de vídeo de múltiplas pessoas, pelo menos três partes na rede executam comunicação de vídeo instantânea ao mesmo tempo, e as partes interagem entre si através de dispositivos de cliente de sistema de comunicação de vídeo de múltiplos canais.
[00025] A figura 2 mostra módulos em um sistema de comunicação de vídeo de múltiplos canais. Na figura 2, um dispositivo de cliente local 500 executa a comunicação de vídeo com outros dispositivos de cliente remotos N (N > 2).
[00026] O sistema de comunicação de vídeo de múltiplos canais inclui um codec de vídeo escalável 100, um módulo de truncamento de fluxo de bits 200 que inclui N unidades de truncamento de fluxo de bits, um módulo de rede 300 incluindo N unidades de conexão de rede que são conectadas com N unidades de truncamento de fluxo de bits respectivamente, e um módulo de controle de truncamento de fluxo de bits de múltiplos canais 400 conectado com as N unidades de truncamento de fluxo de bits.
[00027] O codec de vídeo escalável 100 é adaptado para codificar uma fonte de vídeo para gerar um fluxo de bits original escalável, enviar o fluxo de bits original escalável para o módulo de truncamento de fluxo de bits 200, e decodificar um fluxo de bits de vídeo recebido pelo módulo de rede 300 de um dispositivo de cliente remoto para gerar um vídeo.
[00028] O módulo de rede 300 é adaptado para obter capacidades de dispositivo e condições de rede do dispositivo de cliente remoto, enviar as capacidades de dispositivo e as condições de rede para o módulo de truncamento de fluxo de bits 200, enviar um fluxo de bits vídeo final obtido do módulo de truncamento de fluxo de bits 200 para o dispositivo de cliente remoto, e enviar o fluxo de bits de vídeo do dispositivo de cliente remoto para o codec de vídeo escalável 100.
[00029] O módulo de truncamento de fluxo de bits 200 é adaptado para enviar as capacidades de dispositivo e as condições de rede do dispositivo de cliente remoto para o módulo de controle de truncamento de fluxo de bits de múltiplos canais 400, filtrar o fluxo de bits de vídeo original de acordo com um parâmetro de filtro enviado pelo módulo de controle de truncamento de fluxo de bits de múltiplos canais 400, obter o fluxo de bits de vídeo final e enviar o fluxo de bits de vídeo final para o módulo de rede 300.
[00030] O módulo de truncamento de fluxo de bits 200 inclui pelo menos duas unidades de truncamento de fluxo de bits, e o módulo de rede 300 inclui pelo menos duas unidades de conexão de rede.
[00031] As unidades de truncamento de fluxo de bits são conectadas com as unidades de conexão de rede em uma correspondência de um para um. A unidade de conexão de rede é conectada com o dispositivo de cliente remoto. A unidade de truncamento de fluxo de bits filtra o fluxo de bits de vídeo original de acordo com o parâmetro de filtro provido pelo módulo de controle de truncamento de fluxo de bits de múltiplos canais 400 e obtém o fluxo de bits de vídeo final. A unidade de conexão de rede obtém e envia as capacidades de dispositivo e as condições de rede do dispositivo de cliente remoto para as unidades de truncamento de fluxo de bits e envia o fluxo de bits de vídeo recebido do dispositivo remoto para o codec de vídeo escalável, ou envia o fluxo de bits de vídeo final do dispositivo de cliente local para o dispositivo de cliente remoto.
[00032] O módulo de controle de truncamento de fluxo de bits de múltiplos canais 400 configura o parâmetro de filtro para o truncamento de fluxo de bits de acordo com as capacidades de dispositivo recebidas e as condições de rede do dispositivo de cliente remoto e envia o parâmetro de filtro para o módulo de truncamento de fluxo de bits 200.
[00033] O módulo de controle de truncamento de fluxo de bits de múltiplos canais 400 inclui uma unidade de armazenamento 402 e uma unidade de cálculo 404. A unidade de armazenamento 402 é adaptada para armazenar a informação de parâmetro referente à filtragem. A unidade de cálculo 404 é adaptada para calcular o parâmetro de filtro para o módulo de truncamento de fluxo de bits 200 de acordo com as capacidades de dispositivo, as condições de rede e a informação de parâmetro.
[00034] Durante a comunicação de vídeo, uma unidade de truncamento de fluxo de bits e uma unidade de conexão de rede são estabelecidas para cada dispositivo de cliente remoto para implementar a comunicação com o dispositivo de cliente remoto.
[00035] Conforme mostrado na figura 2, de acordo com a direção de fluxo de dados do dispositivo de cliente local, o codec de vídeo escalável 100 é conectado com N unidades de truncamento de fluxo de bits, isto é, a primeira unidade de truncamento de fluxo de bits 202, a segunda unidade de truncamento de fluxo de bits 204, ..., a Nésima unidade de truncamento de fluxo de bits 206. A primeira unidade de truncamento de fluxo de bits 202 é conectada com a primeira unidade de conexão de rede 302, a segunda unidade de truncamento de fluxo de bits 204 é conectada com a segunda unidade de conexão de rede 304, ..., a Nésimaunidade de truncamento de fluxo de bits 206 é conectada com a Nésimaunidade de conexão de rede 306. A primeira unidade de conexão de rede 302 é conectada com o segundo dispositivo de cliente 504, ..., a Nésimaunidade de conexão de rede 306 é conectada com o Nésimodispositivo de cliente 506.
[00036] As N unidades de conexão de rede do módulo de rede 300 são todas conectadas com o codec de vídeo escalável 100.
[00037] Tomando como exemplo o processo para estabelecer a desconexão da conexão de comunicação entre o dispositivo de cliente local 500 e o primeiro dispositivo de cliente 502 mostrado na figura 2, o procedimento de processamento da comunicação de vídeo de múltiplos canais com o uso do sistema de comunicação de vídeo de múltiplos canais com a estrutura acima se dá conforme mostrado na figura 3, que pode incluir os seguintes procedimentos.
[00038] No bloco S101, o dispositivo de cliente local 500 verifica se o primeiro dispositivo de cliente remoto 502 ao qual foi recentemente estabelecida uma conexão é o primeiro dispositivo de cliente que estabelece uma conexão com o dispositivo de cliente local. Uma vez que o sistema de comunicação de vídeo de múltiplos canais do dispositivo de cliente local 500 precisa apenas de um codec de vídeo escalável 100, se o primeiro dispositivo de cliente remoto 502 for o primeiro dispositivo de cliente que estabelece tal conexão, um codec de vídeo escalável 100 precisará ser estabelecido no dispositivo de cliente local, não havendo, portanto, nenhuma necessidade de estabelecer outro codec de vídeo escalável 100, quando outro dispositivo de cliente estabelecer uma conexão subsequentemente, mas o codec de vídeo escalável existente é usado. Por esta razão, é verificado se cada dispositivo de cliente que estabelece a conexão é o primeiro dispositivo de cliente que estabelece uma conexão com o dispositivo de cliente local.
[00039] No bloco S102, a fonte de vídeo é codificada para obter fluxo de bits de vídeo original escalável. O codec de vídeo escalável 100 codifica a fonte de vídeo de acordo com a JVT SVC para obter o fluxo de bits de vídeo original escalável, isto é, um fluxo de bits com pacotes de fluxo de bits para diferentes níveis de domínio de tempo, níveis de domínio espacial e níveis de qualidade. Cada pacote de fluxo de bits inclui uma identidade que indica a informação do pacote de fluxo de bits. As identidades, isto é, a informação dos pacotes de fluxo de bits, são transmitidas para a unidade de armazenamento 402 do módulo de controle de truncamento de fluxo de bits de múltiplos canais 400 e armazenadas na mesma.
[00040] No bloco S103, são obtidas as capacidades do dispositivo e as condições de rede do dispositivo de cliente. É a primeira unidade de conexão de rede 302 que obtém as capacidades de dispositivo e as condições de rede. As condições de rede podem incluir a largura de banda de enlace ascendente usável máxima do dispositivo de cliente local 500 e a largura de banda enlace descendente usável máxima do primeiro dispositivo de cliente remoto 502. As capacidades do dispositivo podem incluir a resolução de vídeo máxima e a taxa de quadros máxima do primeiro dispositivo de cliente remoto 502. Toda a informação acima mencionada é transmitida para a unidade de truncamento de fluxo de bits 202.
[00041] No bloco S104, o parâmetro de filtro é configurado de acordo com as capacidades do dispositivo e as condições de rede. Especificamente, o parâmetro de filtro da primeira unidade de truncamento de fluxo de bits 202 é ajustado de acordo com as capacidades de dispositivo e as condições de rede do dispositivo de cliente 502 conectado com a primeira unidade de truncamento de fluxo de bits 202. Os pacotes de fluxo de bits que não satisfazem a condição estabelecida pelo parâmetro de filtro não passarão através da primeira unidade de truncamento de fluxo de bits 202. O procedimento detalhado para filtrar os pacotes será descrito no bloco S402-S410.
[00042] No bloco S105, um fluxo de bits de vídeo final é obtido com a filtragem do fluxo de bits de vídeo original de acordo com o parâmetro de filtro, e é enviado para o dispositivo de cliente remoto. Depois que o parâmetro de filtro é determinado, a primeira unidade de truncamento de fluxo de bits 202 trunca o fluxo de bits de vídeo original, obtém o fluxo de bits de vídeo final e envia o fluxo de bits de vídeo final para o primeiro dispositivo de cliente remoto 502 através da primeira unidade de conexão de rede 302.
[00043] No bloco S106, é verificado se o dispositivo de cliente remoto é fechado. Depois do primeiro dispositivo de cliente remoto 502 ser fechado, a primeira unidade de truncamento de fluxo de bits 202 e a primeira unidade de conexão de rede 302 alocadas para o primeiro dispositivo de cliente remoto 502 não são mais necessárias, sendo assim canceladas para liberar os recursos ocupados. Em resposta a uma determinação de que o primeiro dispositivo de cliente remoto 502 está fechado, é executado o bloco S109; em resposta a uma determinação de que o primeiro dispositivo de cliente remoto 502 não está fechado, é executado o bloco S107.
[00044] No bloco S107, é verificado se o dispositivo de cliente local 500 está fechado. Quando não houver nenhuma demanda para comunicação de vídeo, o dispositivo de cliente local 500 será então fechado, e os recursos ocupados por todos os módulos envolvidos são também liberados. Em resposta a uma determinação de que o dispositivo de cliente local 500 está fechado, é executado o bloco S110; em resposta a uma determinação de que o dispositivo de cliente local 500 está ainda trabalhando, é executado o bloco S108.
[00045] Os blocos S107 e S106 podem ser executados em paralelo ou um depois do outro.
[00046] No bloco S108, depois de um período de tempo, as condições de rede são verificadas. Devido ao fato de as condições de rede não serem fixadas, o parâmetro de filtro precisa ser mudado quando as condições de rede mudarem, de modo que há necessidade de verificar as condições de rede do primeiro dispositivo de cliente remoto 502 em intervalos para obter as condições de rede a tempo.
[00047] No bloco S109, a unidade de conexão de rede e a unidade de truncamento de fluxo de bits correspondentes são canceladas. Quando o primeiro dispositivo de cliente remoto 502 terminar a comunicação de vídeo, a primeira unidade de conexão de rede 302 e a primeira unidade de truncamento de fluxo de bits 202 serão canceladas.
[00048] No bloco S110, o módulo de rede e o módulo de unidade de truncamento de fluxo de bits são cancelados. Quando o dispositivo de cliente local 500 for fechado, as conexões de comunicação de vídeo com todos os dispositivos de cliente remoto serão desconectadas; portanto, todos os módulos de truncamento de fluxo de bits 200 e os módulos de rede 300 envolvidos na comunicação de vídeo não mais serão necessários, sendo, portanto, cancelados para liberarem os recursos de sistema ocupados, e executado então o bloco S112.
[00049] No bloco S111, é verificado se há qualquer dispositivo de cliente que esteja conectado com o dispositivo de cliente local 500. Quando for monitorado que o primeiro dispositivo de cliente remoto 502 está fechado, será verificado se o primeiro dispositivo de cliente remoto 502 é o último dispositivo de cliente. Em resposta a uma determinação de que todos os dispositivos de cliente remoto conectados estão fechados, é executado o bloco S112; de outro modo, o procedimento de processamento para a comunicação entre o dispositivo de cliente local 500 e o primeiro dispositivo de cliente remoto 502 está terminado.
[00050] No bloco S112, o codec de vídeo escalável 100 é cancelado e o processamento de comunicação de vídeo é terminado.
[00051] No bloco S104, a chave para obter o fluxo de bits adaptativo está no truncamento de fluxo de bits em tempo real, isto é, configurando o parâmetro de filtro em tempo real, e, portanto, as concretizações da presente invenção proveem um método de calcular um limite de prioridade para cada unidade de truncamento de fluxo de bits de acordo com as prioridades de todos os pacotes de fluxo de bits que apresentam uma distância dentro do tamanho de um grupo de imagens do quadro de codificação atual. Depois de obter o limite de prioridade com o uso do método acima, os pacotes de fluxo de bits com uma prioridade maior do que o limite de prioridade passa através da unidade de truncamento de fluxo de bits e são então transmitidos, e os pacotes de fluxo de bits com uma prioridade menor do que o limite de prioridade não podem passar através da unidade de truncamento de fluxo de bits. Aqui, o grupo de imagens consiste de todos os quadros entre um quadro-chave e um quadro-chave precedente antes do quadro-chave.
[00052] A unidade de armazenamento 402 do módulo de truncamento de fluxo de bits de múltiplos canais 400 armazena uma fila cíclica de informação de todos os pacotes de fluxo de bits no último grupo de imagens. A informação de cada pacote de fluxo de bits inclui uma prioridade pk, um nível de domínio de tempo tk, um nível de domínio espacial sk e um incremento de taxa de bit Rk. Rk=lkxFpsmax/GopSize de um pacote de fluxo de bits k. Rk.indica o incremento de recursos de rede para transmitir o pacote de fluxo de bits lk representa o comprimento do pacote de fluxo de bits k, Fpsmax representa uma taxa de quadros correspondendo ao nível de domínio de tempo máximo, GopSize representa o número de imagens incluídas em um grupo de imagens.
[00053] É assumido que, no codec de vídeo escalável 100 do terminal 500, o número de níveis de domínio espacial é S, o número de níveis de domínio de tempo é T. si representa um nível de domínio espacial correspondendo à resolução de vídeo máxima do jésimo dispositivo de cliente conectado com o dispositivo de cliente local, e fi representa um nível de domínio de tempo correspondendo à taxa de quadros máxima do iésimocliente conectado com o dispositivo de cliente local. Bup0 representa a largura de banda de enlace ascendente disponível máxima do dispositivo de cliente local, e B0i representa a largura de banda enlace descendente disponível máxima do dispositivo de cliente local para o dispositivo de cliente i. No procedimento de calcular o limite de prioridade, o módulo de controle de truncamento de fluxo de bits de múltiplos canais 400 pode também armazenar a taxa de bit de cada percurso dos fluxos de bits atualmente truncados, isto é, a taxa de bit atual Ri, a soma das taxas de bit de todos os fluxos de bits atualmente truncados, isto é, a taxa de bit total Rsum, e o limite de prioridade atual de cada unidade de truncamento de fluxo de bits i.
[00054] No bloco S104, o parâmetro de filtro se refere ao limite de prioridade usado para executar a filtragem de acordo com as prioridades dos pacotes de fluxo de bits no fluxo de bits de vídeo. O processamento detalhado de configurar o limite de prioridade na unidade de cálculo 404 se dá conforme mostrado na figura 3. Conforme mostrado na figura 3, o processo pode incluir os seguintes procedimentos.
[00055] No bloco S402, a informação dos pacotes de fluxo de bits armazenados em uma fila cíclica na unidade de armazenamento 402 é armazenada em uma ordem decrescente da prioridade, e o pacote de fluxo de bits recebe números de índice, Index=0,1,2, ..., n (n é o número dos pacotes de fluxo de bits na fila cíclica).
[00056] No bloco S404, cada pacote de fluxo de bits é atravessado por todas as unidades de truncamento de fluxo de bits em uma ordem decrescente da prioridade, isto é, em uma ordem crescente do índice.
[00057] No bloco S406, é verificado se uma condição de atualização do limite de prioridade é satisfeita. A condição de atualização é, s(Index)<Si, f(Index) <fi, Ri+R(Index) <Boi, Rsum+R(Index) <Bupo onde s(Index), f(Index), R(Index)respectivamente representam o nível de domínio espacial, a taxa de quadros e o incremento de taxa de bit de um pacote de fluxo de bits com o número de índice de Index. A condição de atualização acima representa que a transmissão de uma imagem na camada de qualidade do pacote de fluxo de bits atual não excede as capacidades do dispositivo do dispositivo de cliente conectado i, a taxa de bit de transmissão de enlace ascendente não excede a largura de banda de enlace ascendente do dispositivo de cliente local, a taxa de bit de transmissão enlace descendente não excede a largura de banda enlace descendente disponível máxima para o dispositivo de cliente conectado i, o que significa que o limite de prioridade pode ser reduzido para transmitir os pacotes de fluxo de bits de maior qualidade e menor qualidade. Se a condição de atualização for satisfeita, o processamento no bloco S408 será executado; de outro modo, o processamento no bloco S410 será executado.
[00058] No bloco S408, o limite de prioridade da unidade de truncamento de fluxo de bits, a taxa de bit atual e a taxa de bit total atual são atualizados, isto é, Thresholdi = P(Index) Ri = Ri + R(Index) Rsum = Rsum+ R(Index)
[00059] O limite de prioridade é ajustado para ser o valor da prioridade dos pacotes de fluxo de bits que atualmente satisfazem a condição de atualização; a nova taxa de bit atual é ajustada para ser a soma da taxa de bit atual e do incremento de taxa de bit, e a nova taxa de bit total atual é ajustada para ser a soma da taxa de bit total atual e do incremento de taxa de bit.
[00060] No bloco S410, é verificado se todos os pacotes de fluxo de bits foram atravessados por todas as unidades de truncamento de fluxo de bits. Se todos os pacotes de fluxo de bits foram atravessados por todas as unidades de truncamento de fluxo de bits, o processamento de comparação será terminado; de outro modo, o processamento no bloco S404 será executado para processar outro pacote de fluxo de bits.
[00061] Devido ao fato de as sequências de vídeo dentro de um curto intervalo de tempo apresentarem similaridade nos conteúdos, as prioridades de todos os pacotes de fluxo de bits dentro de um grupo de imagens na estrutura de codificação de imagem B hierárquica podem aproximadamente refletir a relação de prioridade dos pacotes de fluxo de bits em toda a sequência. Por isso, o cálculo do limite de prioridade de cada unidade de truncamento de fluxo de bits com base nas prioridades de todos os pacotes de fluxo de bits que apresentam uma distância dentro do tamanho de um grupo de imagens com relação ao quadro de codificação atual não apenas assegura que o fluxo de bits seja obtido em tempo real, mas também assegura que a taxa de bit do fluxo de bits truncado possa satisfazer a exigência de largura de banda precisamente e prover aproximadamente uma ótima qualidade de vídeo.
[00062] 1. Neste exemplo, além dos módulos descritos no exemplo um, um sistema de comunicação de vídeo de múltiplos canais pode também incluir um módulo de informação de dispositivo de cliente 600, conforme mostrado na figura 5. O módulo de informação de dispositivo de cliente 600 inclui uma tabela de informação de dispositivo de cliente. O módulo de informação de dispositivo de cliente 600 pode obter informação de comunicação de um dispositivo de cliente remoto através do módulo de controle de rede 300, e enviar a informação de comunicação para o módulo de controle de truncamento de fluxo de bits de múltiplos canais 400.
[00063] Os itens na tabela de informação de dispositivo de cliente incluem a informação referente à comunicação de vídeo, tal como um endereço IP ou endereço físico de rede, a resolução máxima, a taxa de quadros máxima e a largura de banda de enlace ascendente máxima, etc. de um dispositivo de cliente.
[00064] Depois da informação acima ser acrescentada à tabela de informação de dispositivo de cliente, as capacidades de dispositivo do dispositivo de cliente remoto podem ser obtidas através de diferentes maneiras. Quando um dispositivo de cliente remoto for recentemente conectado com um dispositivo de cliente local, a tabela de informação de dispositivo de cliente será enviada para o dispositivo de cliente remoto. Quando não for estabelecida nenhuma conexão, a tabela de informação de dispositivo de cliente do dispositivo de cliente local apenas incluirá informação do dispositivo de terminal do dispositivo de cliente local. Depois que uma conexão é estabelecida, a tabela de informação de dispositivo de cliente recebida e a tabela de informação de dispositivo de cliente local são combinadas para se obter uma nova tabela de informação de dispositivo de cliente. Consequentemente, a informação referente à comunicação de vídeo de cada dispositivo de cliente pode ser obtida com a consulta da tabela de informação de dispositivo de cliente antes de o fluxo de bits ser transmitido.
[00065] O procedimento de processamento da comunicação de vídeo de múltiplos canais no exemplo dois é igual àquele do exemplo um, e não será adicionalmente descrito aqui.
[00066] As concretizações acima apresentam apenas um certo modo de implementação da presente invenção, e são descritas em detalhes, mas não para limitar o escopo de proteção da presente invenção. Para aqueles versados na técnica, qualquer modificação, substituição equivalente e aperfeiçoamento feitos dentro do escopo da presente invenção devem ser cobertos sob o escopo de proteção da presente invenção. Consequentemente, o escopo de proteção da presente invenção é limitado, conforme reivindicado nas concretizações.
Claims (14)
1. Sistema de comunicação de vídeo de múltiplos canais, caracterizado pelo fato de que compreende: um codec de vídeo escalável (100), para codificar uma fonte de vídeo para gerar um fluxo de bits de vídeo original escalável, e enviar o fluxo de bits de vídeo original escalável para um módulo de truncamento de fluxo de bits (200); um módulo de rede (300), para obter capacidades de dispositivo e condições de rede de um dispositivo de cliente remoto, enviar as capacidades de dispositivo e as condições de rede para o módulo de truncamento de fluxo de bits (200), e enviar um fluxo de bits de vídeo final obtido pelo módulo de truncamento de fluxo de bits (200) para o dispositivo de cliente remoto; o módulo de truncamento de fluxo de bits (200), para enviar as capacidades de dispositivo e as condições de rede do dispositivo de cliente remoto para um módulo de controle de truncamento de fluxo de bits de múltiplos canais (400), truncar o fluxo de bits de vídeo original de acordo com um parâmetro de filtro que compreende: um limite de prioridade enviado pelo módulo de controle de truncamento de fluxo de bits de múltiplos canais (400), obter o fluxo de bits de vídeo final no qual pacotes de fluxo de bits são pacotes de fluxo de bits cujos as prioridades são maiores do que o limite de prioridade no fluxo de bit de vídeo original, e enviar o fluxo de bits de vídeo final para o módulo de rede (300); o módulo de controle de truncamento de fluxo de bits de múltiplos canais (400), para calcular o parâmetro de filtro de cada unidade de truncamento de fluxo de bits no módulo de truncamento de fluxo de bits (200) de acordo com as capacidades de dispositivo recebidas e as condições de rede do dispositivo de cliente remoto, e enviar o parâmetro de filtro para o módulo de truncamento de fluxo de bits (200).
2. Sistema de comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 1, caracterizado pelo fato de que o módulo de truncamento de fluxo de bits (200) compreende pelo menos duas unidades de truncamento de fluxo de bits (202, 204, 206), e o módulo de rede (300) compreende pelo menos duas unidades de conexão de rede (302, 304, 406); as pelo menos duas unidades de truncamento de fluxo de bits (202, 204, 206) são conectadas com as pelo menos duas unidades de conexão de rede (302, 304, 406) em uma relação de um para um, e cada das unidades de conexão de rede (302, 304, 406) é conectada com um dispositivo de cliente remoto; a unidade de truncamento de fluxo de bits (202, 204, 206) é para truncar o fluxo de bits de vídeo original de acordo com o parâmetro de filtro calculado pelo módulo de controle de truncamento de fluxo de bits de múltiplos canais (400) e obter o fluxo de bits de vídeo final; a unidade de conexão de rede (302, 304, 406) é para obter e enviar as capacidades de dispositivo e as condições de rede do dispositivo de cliente remoto para a unidade de truncamento de fluxo de bits (202, 204, 206), e a enviar o fluxo de bits de vídeo final do dispositivo de cliente local para o dispositivo de cliente remoto.
3. Sistema de comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que o módulo de controle de truncamento de fluxo de bits de múltiplos canais (400) compreende uma unidade de armazenamento (402) e uma unidade de cálculo (404); a unidade de armazenamento (402) é para armazenar informação relacionada ao truncamento de fluxo de bits; a unidade de cálculo (404) é para calcular o parâmetro de filtro para cada unidade de truncamento de fluxo de bits (202, 204, 206) no módulo de truncamento de fluxo de bits (200) de acordo com as capacidades de dispositivo, as condições de rede e a informação de parâmetro do parâmetro; em que a informação relacionada ao truncamento de fluxo de bits compreende informação de pelo menos um dentre: um limite de prioridade, um nível de domínio de tempo, um nível de domínio espacial, e um tamanho de um pacote de fluxo de bits, e uma taxa de quadros correspondendo a um nível de domínio de tempo máximo e ao número de imagens em um grupo de imagens.
4. Sistema de comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende um módulo de informação de dispositivo de cliente, em que o módulo de informação de dispositivo de cliente é para obter informação de comunicação do dispositivo de cliente remoto através do módulo de controle de rede e enviar a informação de comunicação para o módulo de controle de truncamento de fluxo de bits de múltiplos canais (400); em que o módulo de informação de dispositivo de cliente compreende uma tabela de informação de dispositivo de cliente, a tabela de informação de dispositivo de cliente compreende informação de comunicação do dispositivo de cliente local e todos os dispositivos de cliente remoto conectados ao dispositivo de cliente local, a informação de comunicação compreende pelo menos um dentre: um endereço IP, um endereço físico de rede, uma resolução máxima, uma taxa de quadros máxima e uma largura de banda de enlace ascendente máxima.
5. Sistema de comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 3, caracterizado pelo fato de que ainda compreende: um primeiro módulo, para armazenar informação de pacotes de fluxo de bits na unidade de armazenamento (402) em uma ordem decrescente de prioridade, alocar números de índice à informação dos pacotes de fluxo de bits com números de índice menores alocados à informação de pacotes de fluxo de bits com maior prioridade, em que a unidade de truncamento de fluxo de bits (202, 204, 206) é adicionalmente para a atravessar todos os pacotes de fluxo de bits na unidade de armazenamento (402) em uma ordem crescente do número de índice; determinar se uma condição de atualização é satisfeita com base nas capacidades de processamento e na largura de banda de rede do dispositivo de cliente correspondendo à unidade de truncamento de fluxo de bits (202, 204, 206); e atualizar o limite de prioridade em resposta a uma determinação de que a condição de atualização é satisfeita.
6. Método para processar comunicação de vídeo de múltiplos canais, caracterizado pelo fato de que compreende as etapas de: codificar (S102) uma fonte de vídeo para gerar um fluxo de bits de vídeo original escalável; obter (S103) capacidades de dispositivo e condições de rede de um dispositivo de cliente remoto; calcular (S104) um parâmetro de filtro de acordo com as capacidades de dispositivo e as condições de rede, o parâmetro de filtro compreende: um limite de prioridade usado em truncamento do fluxo de bits de acordo com prioridades de pacotes de fluxo de bits no fluxo de bits de vídeo; truncar (S105) o fluxo de bits de vídeo original de acordo com o parâmetro de filtro para obter um fluxo de bits de vídeo final no qual pacotes de fluxo de bits são pacotes de fluxo de bits cujos prioridades são maiores do que o limite de prioridade no fluxo de bit de vídeo original, e enviar o fluxo de bits de vídeo final para o dispositivo de cliente remoto.
7. Método para processar comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 6, caracterizado pelo fato de que o limite de prioridade é calculado de acordo com as capacidades de dispositivo e as condições de rede do dispositivo de cliente remoto e informação de parâmetro que é uma fila cíclica de informação de todos os pacotes de fluxo de bits no último grupo de imagens.
8. Método para processar comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 7, caracterizado pelo fato de que a informação do pacote de fluxo de bits compreende uma prioridade, um nível de domínio de tempo, um nível de domínio espacial, e um incremento de taxa de bit, o método ainda compreende a etapa de: quando codificando cada quadro de imagem, acrescentar informação de todos os pacotes de fluxo de bits correspondendo à imagem na fila cíclica.
9. Método para processar comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 6, caracterizado pelo fato de que ainda adicionalmente, antes da etapa de codificar (S102) uma fonte de vídeo para gerar um fluxo de bits de vídeo original escalável, quando um dispositivo de cliente remoto participar na comunicação de vídeo de múltiplos canais, verificar se o dispositivo de cliente remoto a ser conectado ao dispositivo de cliente local é o primeiro dispositivo de cliente remoto que é conectado ao dispositivo de cliente local, se o dispositivo de cliente remoto a ser conectado ao dispositivo de cliente local for o primeiro dispositivo de cliente remoto conectado ao dispositivo de cliente local, estabelecer um codec de vídeo escalável; de outro modo, codificar a fonte de vídeo com o uso de um codec de vídeo escalável existente.
10. Método para processar comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 6, caracterizado pelo fato de que ainda compreende as etapas de: verificar (S107) se o dispositivo de cliente local é fechado depois de truncar o fluxo de bits de vídeo original de acordo com o parâmetro de filtro, obter um fluxo de bits de vídeo fina e enviar o fluxo de bits de vídeo final para o dispositivo de cliente remoto; cancelar (S110) o módulo de rede, o módulo de truncamento de fluxo de bits, e o codec de vídeo escalável para completar a comunicação de vídeo de múltiplos canais local; ou continuar a comunicação de vídeo de múltiplos canais, verificar (S108) as condições de rede em intervalos, e ajustar o parâmetro de filtro para truncar o fluxo de bits de vídeo original em resposta a uma determinação de que o dispositivo de cliente local não está fechado.
11. Método para processar comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 6, caracterizado pelo fato de que ainda compreende as etapas de: verificar (S106) se o dispositivo de cliente remoto é fechado depois de truncar o fluxo de bits de vídeo original de acordo com o parâmetro de filtro, obter um fluxo de bits de vídeo final e enviar o fluxo de bits de vídeo final para o dispositivo de cliente remoto; cancelar (S109) o módulo de conexão de rede e a unidade de truncamento de fluxo de bits correspondendo ao dispositivo de cliente remoto, verificar (S111) se há outra conexão, cancelar (S112) o codec de vídeo escalável em resposta a uma determinação de que o dispositivo de cliente remoto está fechado e se não há nenhuma outra conexão; ou continuar a comunicação de vídeo de múltiplos canais, verificar as condições de rede em intervalos, e ajustar o parâmetro de filtro para truncar o fluxo de bits de vídeo original em resposta a uma determinação de que o dispositivo de cliente remoto está fechado e há outra conexão.
12. Método para processar comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 7, caracterizado pelo fato de que a etapa de calcular (S104) o parâmetro de filtro compreende: classificar (S402) informação dos pacotes de fluxo de bits na fila cíclica em uma ordem decrescente de prioridade, alocar números de índice à informação dos pacotes de fluxo de bits com números de índice menores alocados a informação de pacotes de fluxo de bits de maior prioridade; atravessar (S404), por cada unidade de truncamento de fluxo de bits, todos os pacotes de fluxo de bits em uma ordem crescente do número de índice; determinar (S406) se uma condição de atualização é satisfeita com base nas capacidades de processamento e na largura de banda de rede de todos os dispositivos de cliente conectados; atualizar (S408) o limite de prioridade em resposta a uma determinação de que a condição de atualização é satisfeita; verificar (S410) se todos os pacotes de fluxo de bits são processados depois que todas as unidades de truncamento de fluxo de bits tenham atravessado o pacote de fluxo de bits atual; terminar o processamento em resposta a uma determinação de que todos os pacotes de fluxo de bits foram processados; ou processar outro pacote de fluxo de bits em resposta a uma determinação de que todos os pacotes de fluxo de bits não foram processados.
13. Método para processar comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 12, caracterizado pelo fato de que a condição de atualização compreende que: o nível de domínio espacial do pacote de fluxo de bits atual não é maior do que um nível de domínio espacial correspondendo à resolução de vídeo máxima do dispositivo de cliente verificado; o nível de domínio de tempo do pacote de fluxo de bits atual é menor do que ou igual ao nível de domínio de tempo correspondendo à taxa de quadros máxima do dispositivo de cliente verificado; a taxa de bit de transmissão para o dispositivo de cliente verificado, isto é, a soma da taxa de bit atual e de um incremento de taxa de bit, é menor do que ou igual à largura de banda enlace descendente disponível máxima do dispositivo de cliente verificado; a taxa de bit de saída total atual, isto é, a soma da taxa de bit total atual e do incremento de taxa de bit, é menor do que ou igual à largura de banda de enlace ascendente disponível máxima do dispositivo de cliente local; quando as condições acima forem satisfeitas ao mesmo tempo, ajustar o limite de prioridade para ser o valor da prioridade do pacote de fluxo de bits atual, atualizar a taxa de bit atual para ser a soma da taxa de bit atual e do incremento de taxa de bit, e atualizar a taxa de bit total atual para ser a soma da taxa de bit total atual e do incremento de taxa de bit.
14. Método para processar comunicação de vídeo de múltiplos canais, de acordo com a reivindicação 8 ou 13, caracterizado pelo fato de que o incremento de taxa de bit é Rk=lkxFpsmax/GopSize, lkrepresenta o comprimento de um pacote de fluxo de bits k, Fpsmax representa uma taxa de quadros correspondendo ao nível de domínio de tempo máximo, GopSize representa o número de imagens incluídas em um grupo de imagens.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200910039393.6 | 2009-05-12 | ||
| CN2009100393936A CN101552913B (zh) | 2009-05-12 | 2009-05-12 | 多路视频通讯系统及处理方法 |
| PCT/CN2010/072488 WO2010130182A1 (zh) | 2009-05-12 | 2010-05-06 | 多路视频通讯系统及处理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| BRPI1013734A2 BRPI1013734A2 (pt) | 2016-04-05 |
| BRPI1013734B1 true BRPI1013734B1 (pt) | 2021-07-20 |
Family
ID=41156851
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI1013734-3A BRPI1013734B1 (pt) | 2009-05-12 | 2010-05-06 | Sistema de comunicação de vídeo de múltiplos canais e método para processar comunicação de vídeo de múltiplos canais |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8890930B2 (pt) |
| CN (1) | CN101552913B (pt) |
| BR (1) | BRPI1013734B1 (pt) |
| MX (1) | MX2011012029A (pt) |
| RU (1) | RU2516010C2 (pt) |
| WO (1) | WO2010130182A1 (pt) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101552913B (zh) | 2009-05-12 | 2011-07-06 | 腾讯科技(深圳)有限公司 | 多路视频通讯系统及处理方法 |
| CN102238066B (zh) * | 2010-04-27 | 2014-06-04 | 杭州华三通信技术有限公司 | 实时上报流量的方法、媒体终端及系统 |
| EP2727395B1 (en) * | 2011-06-28 | 2018-08-08 | Nokia Technologies Oy | Live video sharing with multimodal modes |
| CN103200399B (zh) * | 2012-01-04 | 2016-08-31 | 北京大学 | 基于可伸缩视频编码的控制视频质量波动的方法及装置 |
| US8806529B2 (en) * | 2012-04-06 | 2014-08-12 | Time Warner Cable Enterprises Llc | Variability in available levels of quality of encoded content |
| WO2014042662A1 (en) * | 2012-09-17 | 2014-03-20 | Google Inc. | Bandwidth reduction system and method |
| WO2014137175A1 (ko) * | 2013-03-06 | 2014-09-12 | 삼성전자 주식회사 | 선택적인 노이즈제거 필터링을 이용한 스케일러블 비디오 부호화 방법 및 그 장치, 선택적인 노이즈제거 필터링을 이용한 스케일러블 비디오 복호화 방법 및 그 장치 |
| US9210444B2 (en) * | 2013-03-15 | 2015-12-08 | Sri International | Method and apparatus for vision and network guided prefiltering |
| GB2514543B (en) * | 2013-04-23 | 2017-11-08 | Gurulogic Microsystems Oy | Server node arrangement and method |
| CN103338355A (zh) * | 2013-06-17 | 2013-10-02 | 广东新视野信息科技有限公司 | 一种3g航空腹舱视频监控方法 |
| US9344218B1 (en) | 2013-08-19 | 2016-05-17 | Zoom Video Communications, Inc. | Error resilience for interactive real-time multimedia applications |
| CN103747077B (zh) * | 2013-12-31 | 2017-07-14 | 华为技术有限公司 | 一种传输机制调整方法和服务端、客户端 |
| DE102014012355A1 (de) * | 2014-08-25 | 2016-02-25 | Unify Gmbh & Co. Kg | Verfahren zur Steuerung einer Multimedia-Anwendung, Softwareprodukt und Vorrichtung |
| CN104159107B (zh) * | 2014-09-04 | 2017-09-29 | 上海航天电子通讯设备研究所 | 多通道视频信号的静态图像编码方法 |
| CN105376595A (zh) * | 2015-12-17 | 2016-03-02 | 杭州雄迈信息技术有限公司 | 一种视频混合编码系统和方法 |
| CN105681826B (zh) * | 2016-01-08 | 2019-08-23 | 全时云商务服务股份有限公司 | 视频数据传输系统和方法以及视频数据解码方法 |
| KR102160621B1 (ko) * | 2016-09-20 | 2020-09-29 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 디스플레이 매핑 |
| CN107968768A (zh) * | 2016-10-19 | 2018-04-27 | 中兴通讯股份有限公司 | 媒体流的发送、接收方法及装置、系统、视频中继 |
| CN108093197B (zh) * | 2016-11-21 | 2021-06-15 | 阿里巴巴集团控股有限公司 | 用于信息分享的方法、系统及机器可读介质 |
| CN108206924A (zh) * | 2016-12-20 | 2018-06-26 | 展讯通信(上海)有限公司 | 多路视频通话的控制方法、装置及多通终端 |
| CN106878659B (zh) * | 2017-03-08 | 2019-11-29 | 威盛电子股份有限公司 | 视频会议系统以及服务器 |
| CN107332818B (zh) * | 2017-05-18 | 2020-10-30 | 西安万像电子科技有限公司 | 媒体数据的处理方法、装置和系统、存储介质及处理器 |
| CN111034154B (zh) * | 2017-09-29 | 2022-10-28 | 苹果公司 | 多设备通信管理 |
| EP3493535B1 (en) * | 2017-11-29 | 2020-09-09 | Mitsubishi Electric R & D Centre Europe B.V. | Method for controlling a video encoder of a video camera installed on a moving conveyance |
| CN111314738A (zh) * | 2018-12-12 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 数据传输方法和装置 |
| CN110139113B (zh) * | 2019-04-30 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 视频资源的传输参数分发方法及装置 |
| CN112307821A (zh) * | 2019-07-29 | 2021-02-02 | 顺丰科技有限公司 | 一种视频流处理方法、装置、设备及存储介质 |
| CN111405231B (zh) * | 2020-03-03 | 2021-10-15 | 浙江华创视讯科技有限公司 | 视频会议方法、装置、设备和计算机可读存储介质 |
| CN113747102B (zh) * | 2021-08-31 | 2024-04-26 | 百果园技术(新加坡)有限公司 | 视频通话处理方法、装置、设备及存储介质 |
| CN116567256A (zh) * | 2022-01-27 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 分层编码方法、装置、设备及存储介质 |
| CN114640818B (zh) * | 2022-03-04 | 2026-04-14 | 京东科技信息技术有限公司 | 视频处理方法、装置、电子设备及存储介质 |
| CN115208862A (zh) * | 2022-07-12 | 2022-10-18 | 厦门立林科技有限公司 | 云对讲视频传输控制方法及云对讲视频装置 |
| US12531665B2 (en) * | 2023-09-14 | 2026-01-20 | Qualcomm Incorporated | Harq procedures for distributed video coding |
| CN118524219B (zh) * | 2024-07-23 | 2024-10-18 | 浙江大华技术股份有限公司 | 一种编码通道的动态切换方法、装置和计算机设备 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9817292D0 (en) * | 1998-08-07 | 1998-10-07 | Nokia Mobile Phones Ltd | Digital video coding |
| US7103668B1 (en) | 2000-08-29 | 2006-09-05 | Inetcam, Inc. | Method and apparatus for distributing multimedia to remote clients |
| PL356718A1 (en) * | 2000-10-11 | 2004-06-28 | Koninklijke Philips Electronics N.V. | Scalable coding of multi-media objects |
| EP1454250A4 (en) | 2001-12-15 | 2010-08-25 | Thomson Licensing | SYSTEM AND METHOD FOR MODIFYING A VIDEO POWER ON THE BASIS OF A CLIENT OR NETWORK ENVIRONMENT |
| US20030135863A1 (en) * | 2002-01-17 | 2003-07-17 | Koninklijke Philips Electronics N.V. | Targeted scalable multicast based on client bandwidth or capability |
| US20050165849A1 (en) * | 2003-08-05 | 2005-07-28 | G-4, Inc. | Extended intelligent video streaming system |
| US7535484B2 (en) * | 2005-03-14 | 2009-05-19 | Sony Ericsson Mobile Communications Ab | Communication terminals that vary a video stream based on how it is displayed |
| MX2007012564A (es) | 2005-04-13 | 2007-11-15 | Nokia Corp | Codificacion, almacenamiento y senalizacion de informacion de escalabilidad. |
| US7593032B2 (en) * | 2005-07-20 | 2009-09-22 | Vidyo, Inc. | System and method for a conference server architecture for low delay and distributed conferencing applications |
| US8289370B2 (en) * | 2005-07-20 | 2012-10-16 | Vidyo, Inc. | System and method for scalable and low-delay videoconferencing using scalable video coding |
| CN101043618B (zh) * | 2006-03-24 | 2010-04-07 | 腾讯科技(深圳)有限公司 | 一种在多路视频通讯中控制帧率的装置和方法 |
| US7764965B2 (en) * | 2007-04-10 | 2010-07-27 | Microsoft Corporation | Dynamically changing service characteristics based on device and network connectivity attributes |
| US8300556B2 (en) * | 2007-04-27 | 2012-10-30 | Cisco Technology, Inc. | Optimizing bandwidth in a multipoint video conference |
| US8345083B2 (en) * | 2007-07-31 | 2013-01-01 | Cisco Technology, Inc. | Dynamic management of picture quality in a video conference with diversified constraints |
| US9113176B2 (en) * | 2007-08-29 | 2015-08-18 | The Regents Of The University Of California | Network and device aware video scaling system, method, software, and device |
| EP2051525A1 (en) | 2007-10-15 | 2009-04-22 | Mitsubishi Electric Information Technology Centre Europe B.V. | Bandwidth and content dependent transmission of scalable video layers |
| CN101365125B (zh) * | 2008-09-27 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 多路视频通信方法与系统 |
| CN101552913B (zh) * | 2009-05-12 | 2011-07-06 | 腾讯科技(深圳)有限公司 | 多路视频通讯系统及处理方法 |
-
2009
- 2009-05-12 CN CN2009100393936A patent/CN101552913B/zh active Active
-
2010
- 2010-05-06 US US13/318,721 patent/US8890930B2/en active Active
- 2010-05-06 WO PCT/CN2010/072488 patent/WO2010130182A1/zh not_active Ceased
- 2010-05-06 MX MX2011012029A patent/MX2011012029A/es active IP Right Grant
- 2010-05-06 BR BRPI1013734-3A patent/BRPI1013734B1/pt active IP Right Grant
- 2010-05-06 RU RU2011149387/07A patent/RU2516010C2/ru active
Also Published As
| Publication number | Publication date |
|---|---|
| RU2516010C2 (ru) | 2014-05-20 |
| WO2010130182A1 (zh) | 2010-11-18 |
| CN101552913B (zh) | 2011-07-06 |
| RU2011149387A (ru) | 2013-06-20 |
| US8890930B2 (en) | 2014-11-18 |
| US20120050457A1 (en) | 2012-03-01 |
| CN101552913A (zh) | 2009-10-07 |
| MX2011012029A (es) | 2011-12-12 |
| BRPI1013734A2 (pt) | 2016-04-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8890930B2 (en) | Multi-channel video communication system and method for processing multi-channel video communication | |
| CA2390715C (en) | Method of transmitting layered video-coded information | |
| CN104735470B (zh) | 一种流媒体数据传输方法及装置 | |
| CN101951331B (zh) | 数字家庭网络多媒体共享系统及其共享方法 | |
| JP2013526795A (ja) | レイヤーコーディングビデオを送受信する方法及び装置 | |
| EP1825684A1 (en) | Wireless video streaming using single layer coding and prioritized streaming | |
| CN105791836A (zh) | 视频编码方法、视频码流自适应传输方法和显示方法 | |
| CN107995493A (zh) | 一种全景视频的多描述视频编码方法 | |
| CN101137060B (zh) | 一种视频传输方法、系统及设备 | |
| CN101656887A (zh) | 码率控制算法的选择方法和装置 | |
| US9001701B1 (en) | Priority assignment and signaling of scalable video in a switch based system | |
| Wang et al. | TwinStar: A practical multi-path transmission framework for ultra-low latency video delivery | |
| Fiandrotti et al. | Traffic prioritization of H. 264/SVC video over 802.11 e ad hoc wireless networks | |
| CN101185333A (zh) | 编码视频信号时发送画面信息的方法以及解码视频信号时使用该画面信息的方法 | |
| Monteiro et al. | Evaluation of the H. 264 scalable video coding in error prone IP networks | |
| Chen et al. | Buffer-driven rate control and packet distribution for real-time videos in heterogeneous wireless networks | |
| CN106330713A (zh) | 一种报文传输方法及装置 | |
| KR101343877B1 (ko) | 순방향 오류 정정 패킷 생성방법과 이를 이용한 서버와 클라이언트 장치 | |
| Wang et al. | Bit-rate allocation for broadcasting of scalable video over wireless networks | |
| KR100978355B1 (ko) | 계층화된 데이터를 전송하는 데이터 전송 장치 및 데이터 전송 방법 | |
| Haems et al. | Towards efficient transport for Real-Time immersive applications over hybrid networks | |
| Pliakas et al. | Joint scalable video coding and packet prioritization for video streaming over IP/802.11 e heterogeneous networks | |
| Mansour et al. | Channel adaptive multi-user scalable video streaming with unequal erasure protection | |
| Gao et al. | Real-Time scheduling for scalable video coding streaming system | |
| Viet | 2 against Sudden Network Drops |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
| B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
| B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
| B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 06/05/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |