BRPI0306317B1 - sistema e método de servidor de vídeo sob demanda - Google Patents

sistema e método de servidor de vídeo sob demanda Download PDF

Info

Publication number
BRPI0306317B1
BRPI0306317B1 BRPI0306317A BRPI0306317A BRPI0306317B1 BR PI0306317 B1 BRPI0306317 B1 BR PI0306317B1 BR PI0306317 A BRPI0306317 A BR PI0306317A BR PI0306317 A BRPI0306317 A BR PI0306317A BR PI0306317 B1 BRPI0306317 B1 BR PI0306317B1
Authority
BR
Brazil
Prior art keywords
program
representation
bit rate
quality
fact
Prior art date
Application number
BRPI0306317A
Other languages
English (en)
Inventor
Macdonald Boyce Jill
Ramaswamy Kumar
Original Assignee
Thomson Licensing Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing Sa filed Critical Thomson Licensing Sa
Publication of BRPI0306317B1 publication Critical patent/BRPI0306317B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Abstract

sistema e método de servidor de vídeo sob demanda uma arquitetura de servidor de vídeo sob demanda (100, 200, 300) transmite uma pluralidade de programas précodificados tendo taxas de bits diferentes ao longo de um canal de largura da banda fixa (11). para cada programa, um gerador (12~ o~-12~ p~~ -~~ 1~, 110, 210) gera uma pluralidade de representações de taxas de bits diferentes para cada programa. cada gerador também fornece informação de controle a cada uma de uma pluralidade de janelas de tempo sucessivas t para cada representação de taxa de bits. a informação de controle fornece uma taxa de bits e uma medida de qualidade durante cada janela de tempo t. a informação de controle permite a um multiplexador estatístico (16, 160, 260) selecionar uma representação de taxa de bits para cada programa durante cada janela de tempo t para maximizar a qualidade das representações selecionadas ao mesmo tempo em que não excede a capacidade do canal disponível total.

Description

(54) Título: SISTEMA E MÉTODO DE SERVIDOR DE VÍDEO SOB DEMANDA (73) Titular: THOMSON LICENSING S.A., Sociedade Francesa. Endereço: 46, Quai Alphonse Le Gallo, F-92648 Boulogne Cedex, FRANÇA(FR) (72) Inventor: JILL MACDONALD BOYCE; KUMAR RAMASWAMY.
Prazo de Validade: 10 (dez) anos contados a partir de 21/11/2018, observadas as condições legais
Expedida em: 21/11/2018
Assinado digitalmente por:
Alexandre Gomes Ciancio
Diretor Substituto de Patentes, Programas de Computador e Topografias de Circuitos Integrados
SISTEMA E MÉTODO DE SERVIDOR DE VÍDEO SOB DEMANDA
CAMPO TÉCNICO
Esta invenção diz respeito a uma técnica para eficientemente fornecer vídeo sob demanda ao mesmo tempo mantendo as restrições de largura da banda de um canal fixo.
TÉCNICA ANTERIOR
Os sistemas de Vídeo sob Demanda (VoD) hoje em dia tipicamente transmitem vídeo com Taxa de bits Constante (CBR). A transmissão de vídeo com CBR não alcança a mesma eficiência que transmitir vídeo com taxa de bits variável (VBR) para taxas de bits médias de longa duração equivalentes. A transmissão de múltiplos programas de vídeo codificados com VBR pré-gravados em um canal de largura da banda constante tem problemas, uma vez que a soma das taxas de bits instantâneas requeridas por cada programa às vezes pode exceder à taxa de bits disponível total. Por outro lado, as aplicações de radiodifusão que empregam codificadores de tempo real usam multiplexação estatística para explorar as variações da taxa de bits instantânea entre os múltiplos programas sendo carregados na mesma portadora ou transponder. Os codificadores operam em tempo real para permitir ao sistema restringir a taxa de bits combinada total para todos os programas para não exceder a capacidade do canal em uma janela de tempo dada. Cada programa de vídeo tem uma medida de complexidade associada. Um controlador central dinamicamente ajusta a taxa de bits alocada em cada programa de vídeo com base nas complexidades relativas.
Agora existem dispositivos conhecidos como trans
Petição 870180125611, de 03/09/2018, pág. 7/32 taxadores de vídeo (vídeo transraters) que operam para reduzir a taxa de bits dos fluxos de vídeo dentro de um padrão de compactação comum, como MPEG 2 por exemplo. Transtaxadores dos dias de hoje freqüentemente sofrem dificuldades ao converter entre taxas de bits constantes e variáveis. Tais transtaxadores também podem sofrer dificuldades quando tentam alterar a taxa de bits para fluxos de bits tendo muitas alterações de cena, ou um número grande de Imagens I.
A codificação de vídeo escalável, que permite dividir um sinal de vídeo em uma camada de base e uma ou mais camadas de otimização, podem também tratar dos assuntos de taxa de bits. Vários métodos de codificação de vídeo escalável existem, incluindo espacial, SNR, temporal, divisão de dados, escalabilidade de granulação fina (FGS), escalabilidade de freqüência. Os padrões de compactação de vídeo MPEG2 e MPEG-4 incluem vários métodos de escalabilidade. Usando codificação escalável requer que o transmissor e o receptor tenham a mesma capacidade para implementar algoritmos de codificação diferentes, desse modo introduzindo complexidade adicional.
Desse modo, existe uma necessidade por uma técnica para gerenciar vídeo sob demanda com taxa de bits variável que supera as desvantagens da técnica anterior.
BREVE SUMÁRIO DA INVENÇÃO
Brevemente, de acordo com os presentes princípios, é fornecido um método para transmitir uma pluralidade de programas pré-codificados tendo taxas de bits diferentes ao longo de um canal de largura da banda fixo. Para cada pro
Petição 870180125611, de 03/09/2018, pág. 8/32 grama, pelo menos dois, e preferivelmente, uma pluralidade de representações de taxas de bits diferentes é gerada. Informação de controle é fornecida a cada uma de uma pluralidade de janelas de tempo sucessivas para cada representação de taxa de bits. A informação de controle fornece uma taxa de bits e uma medida de qualidade durante cada janela de tempo. A informação de controle permite seleção durante cada janela de tempo de uma representação de taxa de bits para cada programa para maximizar a qualidade das representações selecionadas ao mesmo tempo não excedendo a capacidade total do canal disponível naquela janela de tempo.
BREVE SUMÁRIO DO DESENHO
FIGURA 1 ilustra um bloco esquemático da primeira modalidade preferida de uma arquitetura de servidor de Vídeo sob Demanda de acordo com os presentes princípios;
FIGURA 2 ilustra um bloco esquemático da segunda modalidade preferida de uma arquitetura de servidor de Vídeo sob Demanda de acordo com os presentes princípios; e
FIGURA 3 ilustra um bloco esquemático da terceira modalidade preferida de uma arquitetura de servidor de Vídeo sob Demanda de acordo com os presentes princípios.
DESCRIÇÃO DETALHADA
Antes de prosseguir para descrever a técnica dos presentes princípios, a terminologia a seguir virá a ser útil:
T é o intervalo de tempo no qual a otimização do sistema está sendo contemplada,
C é a capacidade do canal total disponível no quaPetição 870180125611, de 03/09/2018, pág. 9/32 dro de tempo T,
P é o número total de programas, p e (0, P-1), é o índice de um programa particular,
N[p] é o número total de representações de programa p, n[p] e (0, N[p] - 1) é o índice de uma representação particular de programa p, r[p, x] é a taxa de bits de representação x de programa p durante T, q[p, x] é a qualidade de representação x de programa p durante T.
FIGURA 1 ilustra uma primeira modalidade preferida de uma arquitetura de servidor de Vídeo sob Demanda 10 de acordo com os presentes princípios para transmitir programas de áudio/vídeo com CBR e/ou VBR pré-codificados em um canal de largura da banda fixo 11 tendo uma capacidade de canal total, C. A arquitetura do servidor 10 inclui uma pluralidade de geradores de fluxo de multi-taxas 120, 121... 12P-1, onde P é um número inteiro maior que zero que corresponde ao número de fluxos de entrada separados. Os geradores de taxa de fluxo 120-12P-1 cada um pré-codifica um correspondendo dos programas Programa 0, Programa 1... Programa P-1 em uma pluralidade de taxas de bits diferentes. Declarado de outro modo, cada gerador de fluxo de multi-taxas pré-codifica o programa correspondente para render pelo menos duas ou mais representações de taxa de bits diferentes. Uma representação pode incluir um fluxo de bits codificado armazenado particu
Petição 870180125611, de 03/09/2018, pág. 10/32 lar, ou uma combinação de várias partes dos fluxos de bits codificados diferentes. Um dispositivo de armazenamento 14, tipicamente na forma de uma unidade de disco simples, um Arranjo Redundante de Discos Baratos (RAID), ou uma pluralidade de RAIDs, serve para armazenar as representações précodificadas geradas pelos geradores de fluxo de multi-taxas 120-12p-1.
Cada um dos geradores de fluxo de multi-taxas 12012p-1 gera informação de controle para cada janela de tempo T para o correspondente dos Programas 0 a P-1, respectivamente. A informação de controle para cada janela de tempo T para cada representação de cada programa inclui uma indicação da taxa de bits daquela representação e uma medida de qualidade, como a razão de sinal-para-ruído de pico (PSNR) da representação. Um multiplexador estatístico central (“stat mux) 16 recebe a informação de controle para cada representação. Em cada janela de tempo sucessiva T, o stat mux 16 seleciona uma representação para cada programa maximizar a qualidade dos programas transmitidos ao mesmo tempo mantendo a taxa de bits total na ou abaixo da capacidade total C do canal 11.
A representação de taxa de bits mais baixa para cada programa não deve exceder a um valor prescrito, de modo que a soma das taxas de bits mais baixas para todos os programas não excederá a capacidade do canal para cada intervalo T. Deste modo, pelo menos uma representação de cada programa pode ser submetida à transmissão no canal 11. A requisição da representação de taxa de bits mais baixa para cada
Petição 870180125611, de 03/09/2018, pág. 11/32 programa ter uma taxa de bits de pico de C/P ou menos pode alcançar esta restrição. Outros métodos existem que satisfap-i zem a restrição Σr[p,0] < C para todas as janelas de tempo T p=0 de todos os programas. Tipicamente, conhecimento antecipado não existe sobre quando a reprodução dos programas particulares começarão. Portanto, para cumprir as restrições de capacidade fica mais fácil requerendo que o limite da taxa de bits da representação de taxa de bits mais baixa seja o mesmo para todas as janelas de tempo T de um programa particular.
O processo para a maximização da qualidade combinada geral pode ocorrer em vários modos diferentes. Em todos
P-l os casos, a restrição Σr[p,//|p]] < C deve continuar a satisfap=0 zer para todas as janelas de tempo T de todos os programas. Um método de minimax pode satisfazer a restrição selecionando n[p] para cada p e (0, P-1) para maximizar a qualidade do programa de qualidade mínima (isto é, minimizando a distorção máxima).
O método de minimax pode ser implementado ordenando a informação de controle para cada representação de cada programa de forma que o índice de qualidade e de taxa de bits aumenta de forma monotônica aumentando com o índice. A alteração na taxa de bits para cada etapa (referida como a taxa de bits delta (Δ)) é depois armazenada. O stat mux 16 começa com o índice mais baixo para cada representação de programa e computa a capacidade total S. O stat mux 16 depois seleciona a representação de programa na qualidade mais
Petição 870180125611, de 03/09/2018, pág. 12/32 baixa e verifica se adicionar sua taxa de bits delta a S excede C. Se a adição da representação não exceder C, o índice para aquela representação é incrementado, e o processo é repetido. Uma vez C é excedido, a representação com a qualidade próxima a mais baixa é verificada para ver se adicionando sua taxa de bits delta a S excede C. O processo é repetido até nenhum incremento em qualquer representação puder ser feito sem exceder a capacidade do canal C. Alternativamente, a qualidade total de todos os programas pode ser otimizada maximizando a soma das qualidades individuais do programa que envolve resolver o seguinte problema de otimização restringida:
P-lP-l maxΣq[p,//|p]]; submetido a Σ r[p,//|p]] < C n['] p=0p=0
É também possível otimizar o produto das qualidades individuais do programa da maneira a seguir:
P-lP-l maxΠq[p,//|p]]; submetido a Σ r[p,//|p]] < C n[']p=0
Uma média ponderada pode também ser usada para fornecer diferentes classes de serviço para diferentes espectadores.
Os geradores de fluxo de multi-taxas 120-12p-1 podem usar vários métodos diferentes, ou uma combinação de métodos para formar múltiplas representações de cada programa. Em todos os casos, um ponto de acesso aleatório, como uma estrutura intra-codificada (I) deve ocorrer no começo de cada janela de tempo T, para cada representação, de forma que para cada janela de tempo T uma representação diferente possa ser selecionada sem causar derivação. Cada representação
Petição 870180125611, de 03/09/2018, pág. 13/32 pode usar codificação com CBR ou VBR contanto que a capacidade da representação de taxa de bits mais baixa satisfaça a restrição da capacidade de canal total.
Em um primeiro método, um codificador de vídeo de multi-taxas codifica cada programa em várias taxas de bits diferentes em vários fluxos de bits independentes. Cada fluxo de bits de taxa de bits diferente serve como uma representação diferente. FIGURA 2 ilustra uma arquitetura 100 para realizar este método. Como visto na FIG. 2, um codificador de vídeo de multi-taxas 110 serve para codificar um programa correspondente para dar uma pluralidade de representações de taxa diferentes. Um separado dos empacotadores de transporte 1120, 1122 ... 112p-1 cada um empacota uma representação correspondente. A codificação de multi-taxas executada pelo codificador de multi-taxas 110 e o empacotamento executado pelos empacotadores 1120-112p-1 ocorrem uma vez, não necessariamente em tempo real, antes do armazenamento em um dispositivo de armazenamento 140 similar em construção ao dispositivo de armazenamento 14 da FIG. 1.
A seleção das representações armazenadas no dispositivo de armazenamento 140 para saída em tempo real ocorre em resposta a um sinal recebido de um bloco seletor 150. O bloco seletor 150 identifica a representação armazenada para saída em resposta a uma solicitação do stat mux 160 para uma representação particular. Na recepção do sinal do bloco seletor 150, o dispositivo de armazenamento 140 fornece as representações empacotadas selecionadas ao stat mux 160 para saída.
Petição 870180125611, de 03/09/2018, pág. 14/32
Em um segundo método, as partes dos vários fluxos de bits diferentes são combinadas para render representações adicionais de um programa. A presença de pontos de acesso aleatório na mesma localização em todos os fluxos de bits de um programa (como ocorreria naturalmente nas alterações de cena) ou o uso de estruturas fixas de grupo-de-imagens, permite a combinação dos dados comprimidos dos diferentes fluxos de taxa de bits nos limites de acesso aleatório para formar novas representações. Nenhuma necessidade existe em armazenar cada representação independentemente, contanto que a capacidade exista para gerar cada representação dos dados que são armazenados. Considere o exemplo a seguir onde T é um segundo, os dados são codificados a 30 fps, estruturas I são inseridas a cada 15 estruturas, rendendo três fluxos de bits de taxa de bits diferente, designados como Fluxo de bits 0, Fluxo de bits 1 e Fluxo de bits 2, respectivamente. Cada fluxo de bits constitui uma representação separada. Uma representação adicional pode ser formada usando o Fluxo de bits 0 para as primeiras 15 estruturas e o Fluxo de bits 1 para as segundas 15 estruturas, e assim por diante.
Assumindo alinhamento dos pontos de acesso aleatório com os pacotes de transporte, a arquitetura do servidor 100 da FIG. 2 trabalha bem quando o empacotamento de transporte ocorre com antecedência. FIGURA 3 ilustra melhor uma arquitetura de servidor de VoD 200 adequada quando os pontos de acesso aleatório não necessariamente não alinharem com os pacotes de transporte. Referindo à FIG. 3, a arquitetura de servidor de VoD 200 inclui codificador de vídeo de multi
Petição 870180125611, de 03/09/2018, pág. 15/32 taxas 210 para gerar uma pluralidade de representações de taxa de bits diferente para armazenamento em um dispositivo de armazenamento 240 similar aos dispositivos de armazenamento 14 e 140. As representações armazenadas no dispositivo de armazenamento 140 existem como fluxos de bits nãoempacotados.
A seleção das representações armazenadas no dispositivo de armazenamento 240 para saída em tempo real ocorre em resposta a um sinal recebido de um bloco seletor 250. O bloco seletor 250, similar na natureza ao bloco seletor 150 da FIG. 2, identifica a representação armazenada para saída em resposta a uma solicitação de um misturador/multiplexador estático 260 para uma representação particular. Após a recepção do sinal do bloco seletor 250, o dispositivo de armazenamento 240 fornece as representações empacotadas selecionadas para o misturador/multiplexador estático. Um empacotador 212 empacota o fluxo de saída do misturador/multiplexador estático 260 para saída no canal (não mostrado).
As representações também pode ser formadas trocando entre os fluxos de bits armazenados para imagens de nãoreferência, como para codecs de vídeo (não mostrados) que incluem imagens que não são usadas como imagens de referência para prognosticar outras imagens, como estruturas de MPEG-2 B ou imagens não-armazenadas de JVT. Cada imagem de não-referência pode ser selecionada de um Fluxo de bits armazenado diferente sem afetar a qualidade das imagens subseqüentemente codificadas, uma vez que as imagens não
Petição 870180125611, de 03/09/2018, pág. 16/32 armazenadas não são usadas para predição. A eliminação completa de uma imagem de não-referência em uma representação pode também ocorrer. Cada imagem de não-referência pode ser individualmente trocada, ou grupos de imagens de nãoreferência podem ser trocados junto, permitindo muitas possíveis representações de taxa de bits total. O sinal dos geradores de fluxo de multi-taxas 12ü-12p~1 da FIG. 1 pode selecionar para limitar o número de possíveis representações para enviar ao stat mux 16 da FIG. 1 para selecionar aqueles com diferenças significativas na qualidade e taxa de bits. Não é necessário cada representação ser independentemente armazenada no armazenamento, mas uma tabela que lista a localização e comprimento de cada estrutura codificada pode ser armazenada para simplificar a geração da representação quando necessário. É também possível armazenar fluxos de bits de taxa de bits múltiplos apenas para as imagens nãoarmazenadas e apenas armazenar uma versão simples das imagens de referência (I e P) que podem significativamente reduzir os requerimentos de armazenamento.
Com as arquiteturas de servidor de VoD 100 e 200 das FIGS. 2 e 3, respectivamente, o stat mux 160 e o misturador/multiplexador estático 260 geram um fluxo de bits que corresponde à representação selecionada. Se as imagens individuais não são pacote de transporte alinhado, a arquitetura 200 da FIG. realiza o empacotamento de transporte após a geração do fluxo de bits para uma representação particular. Do contrário, a arquitetura de servidor de VoD 100 da FIG. 2 trabalhará bem.
Petição 870180125611, de 03/09/2018, pág. 17/32
De acordo com outro aspecto dos presentes princípios, codificação de vídeo escalável pode ocorrer pelo uso de um codificador de vídeo escalável (não mostrado) para formar uma camada de base e uma ou mais camadas de otimização. Qualquer tipo de escalabilidade que emprega a camada de base para predição da imagem de referência compensada por movimento para evitar derivação pode ser usada, como escalabilidade de freqüência, FGS, escalabilidade de SNR ou escalabilidade temporal. A representação de taxa de bits mais baixa corresponde à camada de base. A taxa de bits de pico da camada de base deve ser de modo que quando as taxas de bits de todas as camadas de base dos programas são somadas, a capacidade C do canal não seja excedida para cada janela de tempo T. Outras representações de taxa de bits mais altas corresponderão à camada de base mais alguma parte da camada de otimização. Este método requer que o decodificador de vídeo suporte o tipo de escalabilidade usado. A arquitetura de servidor de VoD 100 da FIG. 2 é usada na inclusão de uma camada de otimização inteira em uma representação particular. A arquitetura de servidor de VoD 200 da FIG. 3 é usada se as partes de uma camada de otimização forem usadas em uma representação.
Para sistemas que usam criptografia para gerenciamento de direitos de conteúdo, a arquitetura de servidor de VoD 100 da FIG. 2 não requer qualquer decriptografia ou criptografia em tempo real, uma vez que a criptografia é adicionada ao processo de empacotamento de transporte feito em tempo não-real e os pacotes de transporte criptografados
Petição 870180125611, de 03/09/2018, pág. 18/32 inteiros são armazenados e transmitidos. A arquitetura de
servidor de VoD 200 da FIG. 3 requer que a criptografia seja
executada junto com o empacotamento de transporte em tempo
real.
Programas de VoD em geral inc luem áudio e vídeo.
Uma vez que as taxas de bits de áudio são em geral significativamente menores que as taxas de bits de vídeo e são também em geral a uma taxa de bits fixa, há menos vantagem a ser ganha selecionando dos fluxos de bits de áudio précodificados diferentes pelo stat mux 16 e 160 das FIGS 1 e 2, e o misturador/multiplexador estático 260 da FIG. 3. Um usuário provavelmente observará a comutação de qualidade de áudio durante a visualização de uma interferência de programa simples. A capacidade C do canal total pode ser considerada estar totalmente consumida pelo canal de vídeo assumindo que um fluxo de áudio de taxa de bits simples seja também enviado para cada programa. Alternativamente, os métodos acima descritos podem também ser aplicados em áudio, onde representações múltiplas de programas de áudio com diferentes taxas de bits e qualidades podem ser geradas.
Um reprodutor de vídeo (não mostrado) que trabalha com as arquiteturas de servidor de VoD dos presentes princípios conterá um decodificador de vídeo (não mostrado) e algum armazenamento para armazenamento intermediário. Para o programa particular sendo recebido, os dados podem chegar a uma taxa de dados não-uniforme, mas com o requerimento que os dados correspondendo à unidade de tempo T chegarão qualquer hora dentro da janela de tempo T. O reprodutor de vídeo
Petição 870180125611, de 03/09/2018, pág. 19/32 tem que ter a capacidade de armazenamento intermediário e retardamento para T. Um limite superior na taxa de bits máxima que pode ser transmitida para uma representação dada de um programa para uma janela de tempo T pode ser predeterminado para limitar a complexidade do decodificador e tamanho do armazenamento temporário do decodificador. O armazenamento temporário de decodificação é em geral um requerimento de um decodificador de vídeo, e.g. requerimentos particulares de tamanho do armazenamento temporário de aparelhos de níveis de MPEG-2, e a combinação de T e da taxa de bits pode ser selecionada para satisfazê-los.
As trilhas para frente e para trás para cada programa podem também ser armazenadas no servidor de VoD. Elas podem ser armazenadas a uma taxa de bits simples, ou em várias taxas de bits diferentes, e deixadas para adaptar como é feito para o programa de execução normal.
A determinação do comprimento da janela de tempo T é com base nos vários fatores. T deve ser tão grande quanto possível para adquirir o ganho de multiplexação mais estatístico, mas pequeno o bastante para limitar a demora no reprodutor de vídeo para iniciar e alternar entre execução normal e fluxos de execução normal. T deve ser pequeno o bastante para satisfazer os requerimentos do decodificador.
O antecedente descreve um sistema e método para eficazmente fornecer vídeo em demanda ao mesmo tempo mantendo as restrições de largura da banda de um canal fixo.
Petição 870180125611, de 03/09/2018, pág. 20/32

Claims (17)

  1. REIVINDICAÇÕES
    1. Método para transmitir uma pluralidade de programas pré-codificados tendo taxas de bits diferentes ao longo de um canal de largura da banda fixo, CARACTERIZADO pelo fato de que compreende as etapas de:
    gerar pelo menos duas representações de taxas de bits diferentes de cada programa, a dita geração compreendendo ainda gerar para cada programa uma representação de taxa de bits mais baixa tendo uma taxa de bits de pico não maior que C/P, onde C é a capacidade do canal total no tempo T e P é o número total de programas;
    fornecer informação de controle a cada uma de uma pluralidade de janelas de tempo sucessivas T para cada representação de cada programa, a informação de controle para cada janela sucessiva indicando uma taxa de bits e medida de qualidade para uma representação de um programa correspondente; e durante cada janela de tempo T, selecionar uma representação para cada tal programa de modo a maximizar a qualidade das representações selecionadas ao mesmo tempo que não excedendo uma capacidade disponível total para o canal;
    em que a etapa de selecionar compreende ainda a etapa de selecionar a representação para cada programa que p-i satisfaz a restrição ΣríP,NPll- C para todas as janelas de P=0 tempo, em que:
    C é a capacidade do canal total disponível no quadro de tempo T;
    P é o número total de programas;
    Petição 870180125611, de 03/09/2018, pág. 21/32 p e (0, P-1) é o índice de um programa particular;
    N[p] é o número total de representações de programa p;
    n[p] e (0, N[p] - 1) é o índice de uma representação particular de programa p; e r[p, x] é a taxa de bits de representação x de programa p durante T.
  2. 2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de fornecer a informação de controle adicionalmente compreende a etapa de estabelecer a relação sinal-ruído de pico (PSNR) como a medida de qualidade incorporada na informação de controle.
  3. 3. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de selecionar cada representação de programa n [p] e (0, N[P]-1) para maximizar a qualidade do programa p que tinha qualidade mínima.
  4. 4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que adicionalmente compreende as etapas de:
    (a) ordenar a informação de qualidade para com a taxa de bits e medida de qualidade de forma monotônica aumentando com um valor de índice;
    (b) armazenar cada incremento da taxa de bits (delta) e valor de qualidade para cada valor de índice;
    (c) começar com um valor de índice mais baixo, computando a capacidade total S para as representações de programa selecionadas até aqui para tal valor de índice;
    Petição 870180125611, de 03/09/2018, pág. 22/32 (d) selecionar uma representação de programa em uma medida de qualidade mais baixa;
    (e) verificar se o incremento da taxa de bits do programa selecionado na qualidade mais baixa, quando adicionado às representações selecionadas até aqui, excede a capacidade do canal total, e se não (f) incrementar o valor de índice; e (g) repetir as etapas (c)-(f).
  5. 5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de seleção adicionalmente compreende a etapa de selecionar a representação para cada programa de modo a maximizar uma soma das qualidades do programa individuais resolvendo
    P-l P-l maxΣq[p,n[p]] submetido a Σ r[p,n[p]] < C , ”[-] p=0 p=o em que,
    C é a capacidade do canal total disponível no quadro de tempo T;
    P é o número total de programas;
    p e (0, P-1) é o índice de um programa particular;
    N[p] é o número total de representações de programa p;
    n [p] e (0, N[p] - 1) é o índice de uma representação particular de programa p; r[p, x] é a t axa de bits de representação x de programa p durante T; e Q[p, x] é a qualidade de representação x de
    programa p durante T.
    Petição 870180125611, de 03/09/2018, pág. 23/32
  6. 6. Método, de acordo com a reivindicação 1,
    CARACTERIZADO pelo fato de que a etapa de seleção adicionalmente compreende a etapa de selecionar representação para cada programa de modo a maximizar um produto de qualidades de programa individuais
    P-l P-l submetido a Σ r[p, n[p]] < C , p=0 resolvendo maxΠq[p, n[p]] n[-] p=o onde
    C é a capacidade do canal total disponível no quadro de tempo T;
    P é o número total de programas;
    p e (0, P-1), é o índice de um programa particular;
    N[p] é o número total de representações de programa p;
    n [p] e (0, N[p] - 1) é o índice de uma representação particular de programa p; r[p, x] é a taxa de bits de representação x de programa p durante T; e q[p, x] é a qualidade de representação x de programa p durante T. 7. Método, de acordo com a reivindicação 6,
    CARACTERIZADO pelo fato de que adicionalmente compreende a etapa de aplicar uma média ponderada para fornecer diferentes classes de serviço para diferentes espectadores.
  7. 8. Sistema para transmitir uma pluralidade de programas pré-codificados tendo taxas de bits diferentes ao longo de um canal de largura da banda fixo, CARACTERIZADO pelo fato de que compreende:
    Petição 870180125611, de 03/09/2018, pág. 24/32 um dispositivo para gerar pelo menos duas representações de taxa de bits diferentes de cada programa;
    um dispositivo para fornecer informação de controle a cada uma de uma pluralidade de janelas de tempo sucessivas T para cada representação de cada programa, a informação de controle para cada janela sucessiva indicando uma taxa de bits e medida de qualidade para uma representação de um programa correspondente; e um dispositivo para selecionar durante cada janela de tempo T uma representação para cada programa de modo a maximizar a qualidade das representações selecionadas ao mesmo tempo em que não excede uma capacidade disponível total para o canal, o dito dispositivo de seleção gerando para cada programa uma representação de taxa de bits mais baixa tendo uma taxa de bits de pico não maior que C/P, onde C é a capacidade do canal total no tempo T e P é o número total de programas, em que o dispositivo de seleção seleciona a representação para cada programa que satisfaz a restrição p-i
    ΣríP,n[p]] < C para todas as janelas de tempo, p=0 em que:
    C é a capacidade do canal total disponível no quadro de tempo T;
    P é o número total de programas;
    p e (0, P-1) é o índice de um programa particular;
    N[p] é o número total de representações de programa p;
    Petição 870180125611, de 03/09/2018, pág. 25/32 n[p] e (0, Ν[ρ] - 1) é o índice de uma representação particular de programa p; e r[p, x] é a taxa de bits de representação x de programa p durante T.
  8. 9. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de geração e o dispositivo de fornecimento de informação de controle coletivamente compreendem:
    uma pluralidade de geradores de fluxo de multitaxas, cada um associado a um correspondente da pluralidade de programas pré-codificados.
  9. 10. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de geração e o dispositivo de fornecimento de informação de controle coletivamente compreendem:
    um codificador de vídeo de multi-taxas para codificar pelo menos duas representações de taxa de bits de cada programa pré-codificado.
  10. 11. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de geração e o dispositivo de fornecimento de informação de controle coletivamente compreendem:
    um codificador de vídeo de multi-taxas para codificar pelo menos duas representações de taxa de bits de cada programa pré-codificado; e uma pluralidade de empacotadores de transporte, cada um servindo para empacotar as apresentações de taxa de bits para cada programa pré-codificado.
    Petição 870180125611, de 03/09/2018, pág. 26/32
  11. 12. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de seleção inclui um multiplexador estático.
  12. 13. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de seleção compreende:
    um multiplexador estático; e um empacotador de transporte para empacotar a representação de seleção.
  13. 14. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de fornecimento de informação de controle estabelece a medida de qualidade de acordo com uma relação de sinal-ruído de pico (PSNR).
  14. 15. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de seleção compreende escolhe cada representação de programa n[p] e (0, N[P]-1) para maximizar a qualidade do programa p que tinha qualidade mínima.
  15. 16. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de seleção seleciona a representação para cada programa de modo a maximizar a soma das qualidades individuais do programa resolvendo:
    p-i maxΠQp, n[p]] ”['] p=o p-i submetido a Σ 4p, n[p]] < C p=0 onde:
    C é a capacidade do canal total disponível no quadro de tempo T;
    P é o número total de programas;
    Petição 870180125611, de 03/09/2018, pág. 27/32 p e (0, P-1), é o índice de um programa particular;
    N[p] é o número total de representações de programa p;
    n[p] e (0, N[p] - 1) é o índice de uma representação particular de programa p;
    r[p, x] é a taxa de bits de representação x de programa p durante T; e q[p, x] é a qualidade de representação x de programa p durante T.
  16. 17. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de seleção seleciona a representação para cada programa de modo a maximizar um produto de qualidades de programa individuais resolvendo:
    P-1 p-1 maxΣq[p,n[p]] submetido a Σ r[p,n[p]] < C , ”[-] p=0 p=0 onde:
    C é a capacidade do canal total disponível no quadro de tempo T;
    P é o número total de programas;
    p e (0, P-1) é o índice de um programa particular;
    N[p] é o número total de representações de programa p;
    n[p] e (0, N[p] - 1) é o índice de uma representação particular de programa p; r[p, x] é a t axa de bits de representação x de programa p durante T; e Q[p, x] é a qualidade de representação x de
    programa p durante T.
    Petição 870180125611, de 03/09/2018, pág. 28/32
  17. 18. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que uma média ponderada é aplicada para fornecer diferentes classes de serviço para diferentes espectadores.
    Petição 870180125611, de 03/09/2018, pág. 29/32
    Programa 0
    Gerador de fluxo de multitaxas /12°
    Controle
    Dados
    Programa 1 c
    o c
    o
    Programa P (Armazenamento /J2
    Gerador - contro|e de fluxo de multitaxas • / I2P-1 :
    Oerador de fluxo de multitaxas
    Dados
    Multiplexador estático
    Controle
    Dados
    T
    EIÇ. 2
    Petição 870180125611, de 03/09/2018, pág. 30/32 <FIÇ. 3
    1000
    Controle
    Empacotadoi Dad°S de transporte τ
    212
    Petição 870180125611, de 03/09/2018, pág. 31/32
BRPI0306317A 2002-09-10 2003-09-10 sistema e método de servidor de vídeo sob demanda BRPI0306317B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40964502P 2002-09-10 2002-09-10
PCT/US2003/028275 WO2004025405A2 (en) 2002-09-10 2003-09-10 Video on demand server system and method

Publications (1)

Publication Number Publication Date
BRPI0306317B1 true BRPI0306317B1 (pt) 2018-11-21

Family

ID=31993986

Family Applications (2)

Application Number Title Priority Date Filing Date
BRPI0306317-8A BR0306317A (pt) 2002-09-10 2003-09-10 sistema e método de servidor de vìdeo sob demanda
BRPI0306317A BRPI0306317B1 (pt) 2002-09-10 2003-09-10 sistema e método de servidor de vídeo sob demanda

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BRPI0306317-8A BR0306317A (pt) 2002-09-10 2003-09-10 sistema e método de servidor de vìdeo sob demanda

Country Status (7)

Country Link
EP (1) EP1550309A4 (pt)
JP (1) JP4643988B2 (pt)
KR (1) KR101014451B1 (pt)
CN (1) CN100344162C (pt)
AU (1) AU2003267076A1 (pt)
BR (2) BR0306317A (pt)
WO (1) WO2004025405A2 (pt)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7324592B2 (en) * 2003-08-13 2008-01-29 Mitsubishi Electric Research Laboratories, Inc. Resource-constrained encoding of multiple videos
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
CN1973550B (zh) * 2004-07-07 2010-08-18 汤姆森许可贸易公司 使用冗余视频流的通过dsl的数字视频广播系统中的快速频道改变
IL165585A (en) * 2004-12-06 2010-06-16 Eci Telecom Ltd Broadband communication network provided with media storage
EP2002653A2 (en) 2004-12-08 2008-12-17 Imagine Communications Ltd., Distributed statistical multiplexing of multi-media
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US7979885B2 (en) * 2005-08-11 2011-07-12 Harmonic Inc. Real time bit rate switching for internet protocol television
EP1798897B1 (en) 2005-12-14 2008-06-18 NTT DoCoMo, Inc. Apparatus and method for determining transmission policies for a plurality of applications of different types
IL176288A0 (en) 2006-06-13 2007-07-04 Imagine Comm Ltd Synchronous transmission over packet based network
CN101166263B (zh) * 2006-10-17 2010-06-02 盈汛科技股份有限公司 具有故障弱化暨容错的视频点播系统及方法
KR100950678B1 (ko) * 2007-10-23 2010-03-31 전자부품연구원 Svc 비디오 콘텐츠 제공 장치 및 방법
KR100869513B1 (ko) * 2007-11-30 2008-11-19 인하대학교 산학협력단 트랜스코딩 서버의 기억 공간을 관리하는 방법
US8468572B2 (en) 2008-03-26 2013-06-18 Cisco Technology, Inc. Distributing digital video content to multiple end-user devices
WO2010020890A1 (en) * 2008-08-20 2010-02-25 Nds Limited Receiving device
US9106544B2 (en) 2008-11-12 2015-08-11 Google Technology Holdings LLC Multi-rate statistical multiplexing
US8634436B2 (en) 2008-11-25 2014-01-21 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for statistical multiplexing
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
CN101931788A (zh) * 2009-06-24 2010-12-29 Rgb网络有限公司 视频点播系统中经预先统计多路复用流的递送
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US11089343B2 (en) * 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
CN107770145A (zh) * 2016-08-23 2018-03-06 中兴通讯股份有限公司 一种带宽管理的方法和装置
US11076179B2 (en) * 2017-06-13 2021-07-27 DISH Technologies L.L.C. Viewership-balanced video multiplexing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940738A (en) * 1995-05-26 1999-08-17 Hyundai Electronics America, Inc. Video pedestal network
US5812786A (en) * 1995-06-21 1998-09-22 Bell Atlantic Network Services, Inc. Variable rate and variable mode transmission system
US5926649A (en) * 1996-10-23 1999-07-20 Industrial Technology Research Institute Media server for storage and retrieval of voluminous multimedia data
JP3262510B2 (ja) * 1997-03-07 2002-03-04 松下電器産業株式会社 ストリーム通信制御装置
US6385771B1 (en) * 1998-04-27 2002-05-07 Diva Systems Corporation Generating constant timecast information sub-streams using variable timecast information streams
JP2000244509A (ja) * 1999-02-18 2000-09-08 Toshiba Corp 連続メディアデータ転送システム及びレート制御方法
US6879634B1 (en) * 1999-05-26 2005-04-12 Bigband Networks Inc. Method and system for transmitting media streams over a variable bandwidth network
JP2001144802A (ja) * 1999-11-11 2001-05-25 Canon Inc データ通信装置及びその方法及び通信システム及び記憶媒体
JP3498031B2 (ja) * 2000-01-25 2004-02-16 エヌイーシーケーブルメディア株式会社 ディジタル多重化装置およびその方法
US6542546B1 (en) * 2000-02-02 2003-04-01 Mitsubishi Electric Research Laboratories, Inc. Adaptable compressed bitstream transcoder
EP1327360A1 (en) * 2000-10-11 2003-07-16 Koninklijke Philips Electronics N.V. Scalable coding of multi-media objects

Also Published As

Publication number Publication date
AU2003267076A8 (en) 2004-04-30
AU2003267076A1 (en) 2004-04-30
CN100344162C (zh) 2007-10-17
KR20050036998A (ko) 2005-04-20
WO2004025405A3 (en) 2004-07-08
WO2004025405A2 (en) 2004-03-25
KR101014451B1 (ko) 2011-02-14
BR0306317A (pt) 2007-05-08
EP1550309A2 (en) 2005-07-06
JP4643988B2 (ja) 2011-03-02
JP2005538651A (ja) 2005-12-15
CN1679336A (zh) 2005-10-05
EP1550309A4 (en) 2017-02-01

Similar Documents

Publication Publication Date Title
BRPI0306317B1 (pt) sistema e método de servidor de vídeo sob demanda
US7844992B2 (en) Video on demand server system and method
US11350114B2 (en) Signaling for addition or removal of layers in video coding
ES2913984T3 (es) Sistemas y métodos para codificar contenido de vídeo
US8630355B2 (en) Multimedia data reorganization between base layer and enhancement layer
US11711522B2 (en) Signaling for addition or removal of layers in scalable video
CA2594118C (en) Distributed statistical multiplexing of multi-media
US11412282B2 (en) Edge optimized transrating system
US8238438B2 (en) Image data transmitting apparatus and method and image data reproducing apparatus and method
US8683542B1 (en) Concealment of errors in HTTP adaptive video sets
MXPA02010833A (es) Multiplexor y remultiplexor estadistico que comoda cambios en la estructura de un grupo de peliculas.
JP2012505569A (ja) 多視点メディアデータ
EP2759111A1 (en) Statistical multiplexing of streaming media
US20110090921A1 (en) Network abstraction layer (nal)-aware multiplexer
KR20110099663A (ko) 스케일러블 동영상 부호화를 이용한 적응적 스트리밍 방법 및 장치
KR101343877B1 (ko) 순방향 오류 정정 패킷 생성방법과 이를 이용한 서버와 클라이언트 장치
ES2386518T3 (es) Método y aparato para recibir contenidos
Sanchez et al. Shifted IDR representations for low delay live DASH streaming using HEVC tiles
JP6231046B2 (ja) 動画データ配信管理装置、動画データ配信管理方法、プログラム
KR20100125692A (ko) 비대칭 스케일러블 다운로딩 방법 및 시스템