BR112013015576B1 - Aparelho para multiplexação estatística e reescrever um fluxo de bits escalonável - Google Patents

Aparelho para multiplexação estatística e reescrever um fluxo de bits escalonável Download PDF

Info

Publication number
BR112013015576B1
BR112013015576B1 BR112013015576-0A BR112013015576A BR112013015576B1 BR 112013015576 B1 BR112013015576 B1 BR 112013015576B1 BR 112013015576 A BR112013015576 A BR 112013015576A BR 112013015576 B1 BR112013015576 B1 BR 112013015576B1
Authority
BR
Brazil
Prior art keywords
layer
bit rate
bitrate
bit
streams
Prior art date
Application number
BR112013015576-0A
Other languages
English (en)
Other versions
BR112013015576A2 (pt
Inventor
Mark R. Magee
Sukesh V. Kaithakapuzha
Sean T. Mccarthy
Wayne D. Michelsen
Original Assignee
General Instrument Corporation
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 General Instrument Corporation filed Critical General Instrument Corporation
Publication of BR112013015576A2 publication Critical patent/BR112013015576A2/pt
Publication of BR112013015576B1 publication Critical patent/BR112013015576B1/pt

Links

Images

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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234309Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234327Processing 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

reescritor svc-a-avc com multiplexador estatístico de circuito aberto. um método para processamento de uma pluralidade de fluxos de bits de camadas múltiplas inclui receber uma pluralidade de fluxos de bits de camadas múltiplas tendo cada uma camada de base e pelo menos uma camada de reforço. uma ou mais das camadas de reforço são extraídas, no todo ou em parte, a partir de pelo menos um dos fluxos de bits de camadas múltiplas de modo que a pluralidade de fluxos de bits de camadas múltiplas são coletivamente reduzidos na sua largura de banda total. cada um dos fluxos de bits de camadas múltiplas são reconfigurados para um fluxo de bits de camada única. os fluxos de bits de camada única são multiplexados para formar um fluxo de bits de camada única multiplexado.

Description

FUNDAMENTOS
[001] O uso de servidores de streaming de mídia para suportar televisão a cabo, IPTV e transmissão de vídeo sem fio apresenta muitos desafios. Por exemplo, diferentes clientes, tais como terminais “set-top” de definição padrão (SD) e alta definição (HD), computadores pessoais e PDAs e telefones celulares podem ter capacidades de tela, energia, comunicação e computacionais diferentes. Um sistema de streaming de vídeo de sucesso deve ser capaz de transmitir vídeo para esses clientes heterogêneos. A título de exemplo, no contexto da televisão a cabo e IPTV, taxas de transmissão padrão de indústria suportam tanto definição padrão e alta definição. Devido à diferença de codificação entre uma versão SD e HD de um mesmo programa, a versão HD requer tipicamente uma taxa de transmissão 4-5 vezes mais elevada e 4-5 vezes mais espaço de armazenamento no servidor. Dependendo da técnica de codificação e do comprimento do programa, taxas de transmissão típicas variam entre 2-4 Mbps para programação SD e 8-15 Mbps para taxas de transmissão de programação HD e requisitos de armazenamento de arquivos típicos variam de cerca de 0,75-1,66 GBytes / hora para SD e 3-7 GBytes / hora para HD. Em contraste, dispositivos sem fios, que normalmente suportam taxas de transmissão de interface de rede muito mais baixas e resoluções muito mais baixas, têm taxas de transmissão de cerca de 0,256-1 Mbps e requisitos de armazenamento de arquivos de 100-400 Mbytes / hora.
[002] Uma maneira de suportar uma ampla variedade de dispositivos de cliente sem manter vários arquivos de um mesmo programa em diferentes formatos é empregar técnicas de codificação escalonáveis. Codificação escalonável gera camadas múltiplas, por exemplo, uma camada de base e uma camada de reforço, para a codificação de dados de vídeo. A camada de base tem, tipicamente, uma taxa de bits mais baixa e menor resolução espacial e qualidade, enquanto a camada de reforço aumenta a resolução espacial e qualidade da camada de base, o que requer uma taxa de bits mais elevada. O fluxo de bits de camada de melhoramento é apenas decodificado em conjunto com a camada de base, ou seja, contém referências aos dados de vídeo de camada de base decodificados que são utilizados para gerar os dados de vídeo decodificados finais. Por usar codificação escalonável, um único arquivo pode ser transmitido por streaming para dispositivos de cliente com diferentes capacidades. Cada dispositivo de cliente pode decodificar apenas as camadas que ele precisa e é capaz de suportar.
[003] Codificação escalonável foi aceita para incorporar em padrões de codificação de vídeo estabelecidos. Em particular, a extensão de Codificação de Vídeo Escalonável (SVC) do padrão de codificação de vídeo (AVC) H.264/AVC caracterizam escalabilidade espacial, qualidade e temporal. Compatibilidade com dispositivos de decodificação anteriores é mantida através de uma camada de base compatível H.264/AVC, o que representa a menor qualidade de um fluxo de bits SVC. No entanto, muitas vezes é desejável também proporcionar as camadas de maior qualidade para os dispositivos H.264/AVC anteriores.
[004] Servidores de streaming de mídia podem ser usados em combinação com técnicas de multiplexação estatísticas a fim de entregar conteúdo para dispositivos de cliente. Em multiplexação estatística, vários programas cada um compreendendo um fluxo de bits de vídeo comprimido são combinados em um único fluxo de bits multiplexado, por exemplo, para transmissão em um único canal. Quando um multiplexador estatístico combina múltiplos fluxos de bit, um algoritmo pode ser utilizado para adaptar a taxa de bits de cada fluxo, mas a taxa de bits total da multiplexação de saída pode ser mantida em um valor constante. Multiplexação estatística engloba arquitetura de multiplexação tendo um caminho de mensagem inverso do multiplexador para os codificadores. Isto também é muitas vezes referido com multiplexação estatística de circuito fechado. Multiplexadores estatísticos de circuito fechado são tipicamente maiores no custo que multiplexadores estatísticos de circuito aberto, porque eles exigem codificadores de alta performance e, portanto, são normalmente utilizados apenas para transmitir fluxos de bits através de um canal que serve muitos assinantes. Multiplexadores estatísticos de circuito aberto são menos caros e, portanto, podem ser usados para transmitir fluxos de bits ao longo de um canal que serve um conjunto menor de assinantes.
[005] Embora a entrega de conteúdo utilizando ambos os fluxos SVC e multiplexação estatística possa ser muito eficaz, geralmente não é prática, porque, como mencionado acima, a maioria dos dispositivos de cliente anteriores não incorpora decodificadores SVC. Em vez disso, a maioria dos dispositivos anteriores só pode decodificar a camada de base compatível com AVC, que representa a qualidade mais baixa de um fluxo de bits SVC. No entanto, muitas vezes é desejável também proporcionar as camadas de maior qualidade para os dispositivos clientes AVC anteriores.
[006] Apesar de multiplexação estatística poder ser utilizada com fluxos AVC para entregar conteúdo, tal técnica não oferece as vantagens acima mencionadas que podem surgir da utilização de fluxos SVC. Além disso, se os multiplexadores estatísticos de circuito aberto de custo inferior são usados para fluxos AVC de multiplexação, apenas um aumento de eficiência muito limitado pode ser obtido, em parte porque fluxos AVC já são codificados relativamente eficazmente. Em particular, multiplexação estatística de circuito aberto geralmente não pode reduzir a taxa de bits de um fluxo AVC por mais do que cerca de 10% sem degradação inaceitável na qualidade de vídeo.
RESUMO
[007] Em conformidade com a presente invenção, um método e aparelho é fornecido para o processamento de uma pluralidade de fluxos de bits de camadas múltiplas. O método inclui receber uma pluralidade de fluxos de bits de camadas múltiplas tendo cada uma camada de base e pelo menos uma camada de reforço. Uma ou mais das camadas de reforço são extraídas no todo ou em parte a partir de pelo menos um dos fluxos de bits de camadas múltiplas de modo que a pluralidade de fluxos de bits de camadas múltiplas são coletivamente reduzidos na sua largura de banda total. Cada um dos fluxos de bits de camadas múltiplas, é reconfigurado para um fluxo de bits de camada única. Os fluxos de bits de camada única são multiplexados para formar um fluxo de bits de camada única multiplexado.
[008] De acordo com outro aspecto da invenção, é fornecido um aparelho para estatisticamente multiplexar e reescrever um bit escalonável. O aparelho inclui uma pluralidade de unidades de extração de taxa de bits para receber uma pluralidade de fluxos de bits de camadas múltiplas. As unidades de extração de taxa de bits são cada configurada para extrair uma ou mais camadas de reforço no todo ou em parte a partir de pelo menos um dos fluxos de bits de camadas múltiplas de modo que a pluralidade de fluxos de bits de camadas múltiplas são coletivamente reduzidos na sua largura de banda total. Uma pluralidade de camadas múltiplas para reescritores de camada única é fornecida para a conversão da pluralidade de fluxos de bits de camadas múltiplas recebidos das unidades de extração de taxa de bits para uma pluralidade de fluxos de bits de camada única. Um multiplexador é fornecido para multiplexação dos fluxos de bits de camada única de modo a formar um fluxo de bits de camada única multiplexado.
[009] De acordo com outro aspecto da invenção, é fornecido um método para processamento de uma pluralidade de fluxos de bits de camadas múltiplas. O método inclui receber uma pluralidade de fluxos de bit escalonáveis. A taxa de bit de uma ou mais dos fluxos de bits de camadas múltiplas é adaptada de modo que a pluralidade de fluxos de bit escalonáveis têm coletivamente uma taxa de bit prescrita. A pluralidade de fluxos de bit escalonáveis tendo a taxa de bits prescrita são convertidos para uma pluralidade de fluxos de bit não escalonáveis. A pluralidade de fluxos de bits não escalonáveis é multiplexada para fornecer um fluxo de bits não escalonável multiplexado.
BREVE DESCRIÇÃO DOS DESENHOS
[0010] A Figura 1 mostra um exemplo de uma arquitetura que pode ser utilizada para entregar conteúdos e serviços de vídeo e outros para os utilizadores associados com uma variedade de diferentes dispositivos de cliente.
[0011] A Figura 2 mostra um exemplo da reescritor de multiplexação estatística na Figura 1.
[0012] A Figura 3 é um diagrama de blocos funcional mostrando um exemplo de um reescritor que pode ser empregue no reescritor de multiplexação estatística da Figura 2.
[0013] A Figura 4 é um fluxograma que ilustra um exemplo de um método para processar uma pluralidade de fluxos de bits de camadas múltiplas, tais como fluxo de Codificação de Vídeo Escalonável (SVC).
DESCRIÇÃO DETALHADA
[0014] A Figura 1 mostra um exemplo de uma arquitetura 200 que pode ser usada para entregar conteúdos e serviços de vídeo e outros para os utilizadores associados com uma variedade de diferentes dispositivos de cliente, que podem incluir, sem limitação, PCs, PDAs, computadores portáteis, centros de mídia, reprodutores de mídia portáteis, telefones celulares e caixas “set-top”. Neste exemplo ilustrativo, três dispositivos de cliente são apresentados, um telefone celular 220, um terminal “set-top” 230 e um computador pessoal (PC) 240. Um terminal principal 210 está em comunicação com cada um dos dispositivos de cliente 220, 230 e 240 através da rede IP 270. Telefone celular 220 comunica com terminal principal 210 através da rede IP 270 e uma rede sem fio, tais como rede GSM ou UMTS, por exemplo. Terminal “set-top” 230 comunica com terminal principal 210 através da rede IP 270 e uma rede híbrida de fibra / coaxial (HFC) 260 e PC 240 comunica com o terminal principal 210 através da rede IP 270, normalmente através de um provedor de serviço de Internet (não mostrado). Claro que, a arquitetura representada na Figura 1 é apresentada apenas para fins ilustrativos. De modo mais geral, uma grande variedade de diferentes dispositivos de cliente pode comunicar com o terminal principal sobre outros tipos de redes, incluindo, por exemplo, toda coaxial, xDSL (por exemplo, ADSL, ADLS2, ADSL2 +, VDSL, e VDSL2) e sistemas de satélite.
[0015] O terminal principal 210 é a instalação a partir de que um operador de rede fornece conteúdo de programação e oferece outros serviços para os dispositivos de cliente. Conforme detalhado abaixo, o terminal principal 210 pode incluir um servidor de streaming 215 para transmitir o conteúdo de programação que é codificado por um codificador escalonável 212. O termo "streaming" é usado para indicar que os dados que representam o conteúdo de mídia é fornecido através de uma rede para um dispositivo de cliente e que a reprodução do conteúdo pode começar antes do conteúdo ser entregue na sua totalidade (por exemplo, fornecendo os dados em uma base conforme a necessidade, em vez de pré-entregar os dados em sua totalidade antes da reprodução).
[0016] Em um arranjo convencional, o terminal principal mantém e gerencia várias cópias de cada programa. Cada cópia contém uma versão diferente do programa que está adaptada às características de exibição dos diferentes dispositivos de cliente. Quando é utilizado um codificador escalonável 212 realizando codificação escalonável, cada dispositivo de cliente pode receber o mesmo fluxo de transporte codificado escalonável, que é entregue pelo terminal principal 210. Infelizmente, tal como mencionado anteriormente, as camadas de reforço em fluxos SVC não podem ser decodificadas pela maioria dos dispositivos de cliente anteriores. No entanto, uma forma de reter muitos dos benefícios da codificação escalonável é através da conversão dos fluxos SVC em fluxos AVC, que podem ser decodificados por uma ampla variedade de dispositivos anteriores. Antes da conversão, no entanto, os fluxos SVC podem necessitar ser adaptados para diminuir taxa de bits de fluxos SVC para que eles possam ser alojados pelo canal sobre o qual eles devem ser transportados e de modo que eles deixam quaisquer camadas de reforço, que não podem ser usadas pelos dispositivos de cliente menos capazes. Estas duas funções são executadas pelo reescritor de multiplexação estatística (SMR) 230, o qual recebe os fluxos SVC 215 de servidor de streaming. Isto é, SMR 230 executa uma função de multiplexação estatística e uma função de conversão SVC-a- AVC.
[0017] Um exemplo de SMR 230 é mostrado na Figura 2. Quanto à sua função de multiplexação estatística, o SMR 230 recebe um ou mais fluxos SVC que, individualmente, cada um tem uma taxa de bits especificada e produz um fluxo AVC multiplexados em uma taxa de bits de saída total alvo. O ARM 230 atinge a taxa de bits de saída alvo em uma forma de circuito aberto por transcodificar um ou mais dos fluxos SVC de entrada de modo que coletivamente sua taxa de bits total corresponda à taxa de bits de saída desejada. Depois de realizar sua função de multiplexação estatística, o SMR 230 converte então o fluxo SVC para um fluxo AVC em um processo que será descrito mais abaixo.
[0018] Como mostrado na Figura 2, o SMR 230 inclui uma etapa de extração 310 e uma etapa de reescrever SVC-a-AVC 320. A etapa de extração 310 inclui uma série de unidades de extração de fluxo de bits 3121, 3122, ... 312n que cada um recebe um fluxo SVC. A fase de reescrever SVC-a-AVC 320 inclui uma série reescritores SVC-a-AVC 2321, 2322, ... 232n, que recebem cada um, respectivamente, um fluxo de bits a partir de uma respectiva uma das unidades de extração de taxa de bits 3121, 3122, ... 312n. A etapa de extração 310 executa a multiplexação estatística e a fase de reescrever SVC-a-AVC realiza a conversão SVC-a-AVC. O SMR 230 também inclui um gerente de alocação de taxa de bits 340 para determinar a largura de banda a ser alocada pelas unidades de extração de taxa de bits 3121, 3122, ... 312n para os fluxos SVC e um banco de dados modelo de canal 330 que contém as informações de canal que o gerente de alocação 340 usa em sua análise. Um multiplexador 350 multiplexa os fluxos AVC recebidos a partir da fase de reescrever para fornecer um fluxo multiplexado AVC que pode ser transmitido através de um canal em uma rede.
[0019] Começando com a função de multiplexação estatística de circuito aberto do SMR 230, em um multiplexador estatístico de circuito aberto convencional transcodificação é tipicamente acompanhada por totalmente ou parcialmente decodificar o fluxo de bits de requantizá-lo para atingir uma taxa de bits mais baixa. No entanto, no SMR 230 transcodificação está sendo executada em um fluxo SVC. Como discutido anteriormente, codificação escalonável emprega uma camada de base e uma ou mais camadas de reforço. Um fluxo VCS com camadas múltiplas de reforço tendo uma taxa de bits pode ser adaptado a um fluxo SVC em uma taxa de bits inferior simplesmente por truncar camadas de reforço suficientes ou partes da mesma a partir do fluxo SVC inicial. Adaptação de um fluxo SVC pode ser conseguida pelas unidades de extração de taxa de bits na etapa de extração 310 utilizando um processo de extração para extrair a partir do fluxo SVC um subfluxo com uma taxa de bits média particular.
[0020] As unidades de extração de taxa de bits 3121, 3122, ... 312n no SMR 230 podem executar a adaptação de taxa de bits por truncar as camadas adequadas a partir do fluxo de vídeo codificado escalonável em uma variedade de maneiras diferentes. Por exemplo, as unidades de extração podem examinar um fluxo SVC de entrada para determinar os tipos de ID de pacote (PID), a localização de quadros chave, taxa de bits e outras informações pertinentes. Em particular, as unidades de extração podem distinguir entre os PIDs atribuídos aos pacotes que transportam a camada de base e os PID atribuídos aos pacotes que contêm cada camada de reforço. Desta forma, quando o SMR 230 está entregando conteúdo para um ou mais dispositivos de cliente em particular, ele pode deixar todos os pacotes que têm um PID atribuído a uma camada de reforço que não é necessária para o dispositivo de cliente ou pode deixar pacotes para atingir uma taxa de bits mais baixa para acomodar as diferentes condições de rede, tais como as limitações de largura de banda do canal no qual o fluxo é transportado.
[0021] Em outras implementações as unidades de extração de taxa de bits 3121, 3122, ... 312n podem extrair as unidades de Camada de Abstração de Rede Individual (NAL) a partir dos fluxos SVC, que são as unidades elementares em que os dados codificados são organizados. Por exemplo, a taxa de bit do fluxo SCV pode ser ajustada por descartar unidades NAL de refinamento de qualidade diferentes. Em um exemplo, um identificador de prioridade é atribuído a cada unidade NAL de fatia codificada pelo codificador. A sintaxe SVC oferece diferentes meios para a inclusão de tais informações em um fluxo de bits. Durante o processo de extração, unidades NAL de fatia codificadas com a prioridade mais baixa são descartadas, e se a taxa de bits alvo não é atingida, unidades NAL de fatia codificadas da próxima classe de prioridade são descartadas, e assim por diante, até que a taxa de bits alvo seja atingida. Detalhes adicionais relativos a esta técnica podem ser encontrados em I. Amonou et al. "Extração de distorção de taxa otimizada com camadas de qualidade", IEEE Trans. Circuits Syst. Video Technol., Vol. 17, n. 9, pp 1 186-1193, setembro de 2007.
[0022] A taxa de bits alocada para cada fluxo que é recebido pelas unidades de extração 3121, 3122, ... 312n é determinada por dados contidos no banco de dados de modelo de canal 330. Esta informação permite as capacidades e necessidades de cada canal que é recebido pelos dispositivos de cliente serem estimadas. Por exemplo, o banco de dados de modelo de canal pode incluir informações que especificam o número de fluxos que cada canal pode suportar, sua taxa máxima de bits, se os fluxos são “multicast” ou “unicast”, se correção de erro antecipada (FEC) é usada, se a programação nos fluxos é conteúdo ágil ou não ágil e se é conteúdo ao vivo ou vídeo sob demanda, e assim por diante.
[0023] Os dados de modelo de canal são enviados para o gerente de alocação de taxa de bit 340. O gerente de alocação 340 analisa esses dados para determinar uma alocação adequada de bits que cada unidade de extração deve atribuir aos fluxos SVC. O gerente de alocação 340 envia informações sobre a taxa de bits alocada para cada uma das unidades de extração. As unidades de extração por sua vez ajustam a taxa de bits dos fluxos de bits que estão recebendo em conformidade com a atribuição determinada pelo gerente de alocação 340. O gerente de alocação de taxa de bits 340 pode alocar bits para cada fluxo em qualquer maneira apropriada. Em uma implementação, o gerente 340 aloca apenas bits suficientes para cada fluxo de modo que a qualidade de vídeo perceptual é a mesmo para todos os fluxos. Isso pressupõe que todos os fluxos têm a mesma prioridade, o que obviamente pode não ser sempre o caso. O modelo de canal geralmente especifica a prioridade de cada fluxo. No caso em que certos fluxos têm uma prioridade mais elevada, como pode ser o caso para os canais ágeis, por exemplo, então esses canais tendem a ter uma melhor qualidade do que os canais de prioridade mais baixa.
[0024] O modelo a seguir pode ser utilizado quando todos os fluxos têm prioridades iguais ou diferentes, mesmo que tenham significativamente diferentes complexidades. Neste exemplo, a taxa de bits alocada para fluxo i, Bi, pode ser determinada como segue:
Figure img0001
onde Bi = a taxa de bits alocada para transmitir i. BT = taxa de bits total disponível para o conjunto de fluxos 1 a N. pi = a prioridade do fluxo i. ci = a complexidade do fluxo i.
[0025] Como mencionado anteriormente, a prioridade do fluxo pode ser de dados fornecidos pelo modelo de canal.
[0026] A complexidade do fluxo pode ser transmitida pelo codificador de fonte como metadados. Também pode ser calculada internamente pelo modelo de alocação de taxa de bits que é empregue. A complexidade é uma medida do número de bits necessários para alcançar um determinado nível de qualidade perceptual. Uma maneira de medir a complexidade consiste em medir o número de bits necessários para o conteúdo de código em um nível de quantização predeterminado e constante. Outra forma de medir a complexidade é medir os valores de quantização médios de fluxo, e medir o número médio de bits utilizados no fluxo, e inserir estes valores para uma tabela de pesquisa predeterminada que mapeia o valor de quantização e o número de bits para um valor complexidade. Este último método pode ser parte do modelo de alocação de taxa de bits.
[0027] Depois das unidades de extração terem realizado adaptação de taxa de bits, tal como descrito acima, o reescritores SVC-AVC 320 executam um processo de conversão para converter eficientemente fluxos SVC a fluxos AVC. Este processo de conversão pode ser obtido por um processo que é referido como reescrever fluxo de bits. Reescrever fluxo de bits aproveita as semelhanças entre os codecs SVC e AVC, portanto, não é necessário a transcodificação completa do fluxo de bits.
[0028] A Figura 3 é um diagrama de blocos funcional mostrando um exemplo de um reescritor que pode ser empregue como os reescritores 2321, 2322, ... 232n da Figura 2. Evidentemente, este exemplo é apresentado com fins ilustrativos e de modo mais geral outras técnicas de reescrita podem ser usadas também. Nesta implementação a camada de base 101 e a camada de reforço 103 são recebidas no reescritor SVC-AVC 100. Os dados de camada de base podem ser quantificados inversos 105 e os coeficientes de transformada podem ser escalonadas 106 para coincidir uma característica da camada de reforço. Em algumas modalidades, a característica correspondida pode compreender uma característica de parâmetro de quantização. A camada de reforço 103 também pode ser quantizada inversa 111 e acrescentada 107 para os coeficientes residuais de base escalonada para criar coeficientes combinados. Estes coeficientes combinados podem então ser analisados para determinar 150 se coeficientes de transformada diferentes de zero estão presentes. Se os coeficientes de transformada diferentes de zero estiverem presentes, um parâmetro de quantificação sinalizado no fluxo de bit pode ser usado para processar l52 essa porção da imagem. Se não há coeficientes de transformada diferentes de zero, um parâmetro de quantificação de uma porção da imagem anterior ou última 151 pode ser usado para processar essa porção da imagem.
[0029] Em algumas modalidades, os coeficientes combinados são então transformados inversos 110 para produzir valores de intensidade de domínio espacial. Em algumas modalidades, a informação de camada de base pode ser ignorada quando ela não é necessária. Os valores de intensidade de domínio espacial podem então ser filtrados 112 para remover artefatos de bloqueio ou por outras razões. Esta filtragem pode utilizar ou estar dependente do parâmetro de quantificação selecionado 151, 152, com referência aos coeficientes de transformada diferentes de zero.
[0030] Detalhes adicionais sobre reescrever SVC-AVC podem ser encontrados no manual de Software JSVM (Modelo de Vídeo Escalonável Conjunto), versão JSVM 9.19.9, que é o software de referência para o projeto Codificação de Vídeo Escalonável (SVC) da Equipe de Vídeo Conjunta (JVT) do Grupo de Especialistas de Imagens de Movimento ISO / IEC (MPEG) e o Grupo de Especialistas de Codificação de Vídeo ITU-T (VCEG).
[0031] Nos exemplos acima apresentados o reescritor de multiplexação estatística foi descrito como estando localizado no terminal principal de um operador de rede que entrega conteúdo de programação. De modo mais geral, deve notar-se que o reescritor de multiplexação estatística pode estar localizado em qualquer lugar ao longo da rede. Por exemplo, o reescritor de multiplexação estatística pode estar localizado perto da borda de uma rede ou até mesmo nas instalações de cliente. Deste modo, o operador de rede pode armazenar e fornecer uma versão mestre do conteúdo para o local em que a sua taxa de bits tem de ser adaptada por causa de diferentes capacidades de largura de banda limitadas e capacidades de dispositivo de cliente. Por exemplo, nas instalações de cliente, que podem ser limitadas a uma largura de banda de, por exemplo, 20Mbit/sec, a taxa de bits do conteúdo pode ser ajustada dependendo do número de diferentes programas simultaneamente sendo renderizados em diversos monitores. Assim, uma maior taxa de bits pode ser atribuída a um programa quando ele é o único programa que está sendo renderizado enquanto s taxas de bits mais baixas podem ser alocadas a cada programa quando dois ou mais programas estão sendo renderizados.
[0032] Como outro exemplo, um operador de cabo local que serve alguns milhares de clientes pode usar o reescritor de multiplexação estatística dentro de seu circuito local para entregar conteúdo. Em todos estes exemplos, o reescritor de multiplexação estatística pode ser utilizado de uma forma rentável, apesar do relativamente pequeno número de clientes envolvido uma vez que o reescritor de multiplexação estatística usa multiplexação estatística de circuito aberto e, portanto, é significativamente menos dispendioso para implementar do que um dispositivo de multiplexação de circuito fechado.
[0033] Nos exemplos apresentados acima o reescritor de multiplexação estatística recebe fluxos de bits que estão em conformidade com o padrão SVC e gera um fluxo de bits multiplexado em conformidade com o padrão AVC. No entanto, os métodos e técnicas descritos aqui são igualmente aplicáveis a outros padrões escalonáveis e não escalonáveis. Assim, de modo mais geral, o reescritor de multiplexação estatística pode receber dois ou mais fluxos de camadas múltiplas e retornar um fluxo de camada única multiplexado.
[0034] A Figura 4 é um fluxograma que ilustra um exemplo de um método para processar uma pluralidade de fluxos de bits de camadas múltiplas. O método começa no passo 410 quando uma pluralidade de fluxos de bits de camadas múltiplas é recebida. Cada fluxo de bits de múltiplas tem uma camada de base e pelo menos uma camada de reforço. Na etapa 420, uma taxa de bits a ser alocada a cada um dos fluxos é determinada. Esta determinação pode ser feita com qualquer base apropriada, tal como examinando, por exemplo, um ou parâmetros cujos valores podem ser armazenados em umo banco de dados de modelo de canal. Uma ou mais das camadas de reforço é extraída, no todo ou em parte, a partir de pelo menos um dos fluxos de bits de camadas múltiplas no passo 430 de modo que as taxas de bits dos fluxos de bits de camadas múltiplas são adaptadas em conformidade com a taxa de alocação de bits que foi feita. Em seguida, no passo 440, cada um dos fluxos de bits de camadas múltiplas é submetido a um processo de reescrever a um fluxo de bits de camada única. Os fluxos de bits de camada única são multiplexados em passo 450, para formar um fluxo de bits de camada única multiplexado, que posteriormente pode ser comunicado através de um canal de rede.
[0035] Tal como utilizado neste pedido, os termos "componente", “módulo", "unidade", "sistema", "aparelho", "interface", ou semelhantes, geralmente destinam-se a referir a uma entidade relacionada com computador, ou hardware, uma combinação de hardware e software, software, ou software em execução. Por exemplo, um componente pode ser, mas não está limitado a ser, um processo executado em um processador, um processador, um objeto, um executável, uma rotina de execução, um programa, e / ou em um computador. A título de ilustração, tanto um aplicativo em execução em um controlador e o controlador podem ser um componente. Um ou mais componentes podem residir dentro de um processo e / ou rotina de execução e um componente pode ser localizado em um computador e / ou distribuído entre dois ou mais computadores.
[0036] Além disso, a matéria reivindicada pode ser implementada como método, dispositivo ou artigo de manufatura utilizando programação padrão e / ou técnicas de engenharia para produzir software, firmware, hardware, ou qualquer combinação dos mesmos para controlar um computador para implementar o divulgado assunto. O termo "artigo de manufatura", como aqui utilizado se destina a abranger um programa de computador acessível a partir de qualquer dispositivo, portadora ou mídia legível por computador. Por exemplo, meios de armazenamento legíveis por computador podem incluir, mas não estão limitados a, dispositivos de armazenamento magnéticos (por exemplo, disco rígido, disco flexível, tiras magnéticas ...), discos ópticos (por exemplo, disco compacto (CD), Disco Versátil Digital (DVD) ...), cartões inteligentes e dispositivos de memória flash (por exemplo, cartão, haste, unidade de chave ...). Claro que, os peritos na arte reconhecerão que muitas modificações podem ser feitas a esta configuração sem sair do âmbito ou espírito da matéria reivindicada.
[0037] Embora tenha sido descrita especificamente, ao longo de toda a divulgação instantânea, modalidades representativas do presente invento têm utilidade sobre uma ampla gama de aplicações, e a discussão acima não pretende e não deve ser interpretada de forma a ser limitativa, mas é oferecida como uma discussão ilustrativa de aspectos da invenção.
[0038] O que foi descrito e ilustrado aqui são modalidades da invenção, juntamente com algumas das suas variações. Os termos, descrições e figuras usados aqui são estabelecidos por meio de ilustração apenas e não são entendidos como limitações. Os peritos na arte reconhecerão que são possíveis muitas variações dentro do espírito e âmbito da invenção, em que a invenção se destina a ser definido pelas seguintes reivindicações e seus equivalentes - em que todos os termos são significados no seu sentido mais amplo razoável a menos que de outra forma indicado.

Claims (8)

1. Aparelho para multiplexação estatística e reescrever um fluxo de bits escalonável, caracterizado pelo fato de que compreende: uma pluralidade de unidades de extração de taxa de bits (3121, 3122, ... 312n) para receber uma pluralidade de fluxos de bits de camadas múltiplas de codificação de vídeo escalonável (SVC), as referidas unidades de extração de taxa de bits sendo cada configurada para extrair uma ou mais camadas de reforço, no todo ou em parte, a partir de pelo menos um dos fluxos de bits de camadas múltiplas, um gerente de alocação de taxa de bits (340), em que o gerente de alocação de taxa de bits (340) obtém parâmetros de gerenciamento de alocação de taxa de bits a partir de um provedor de serviço de vídeo; em que um gerente de alocação de taxa de bits (340) determina uma taxa de bits para alocar a cada um dos fluxos de bit de camadas múltiplas baseado pelo menos em parte nos parâmetros de gerenciamento de alocação de taxa de bits, e informações referentes a um canal sobre o qual um fluxo de bits de camada única multiplexado não escalonáveis está para ser transportado; um banco de dados para armazenar em que os parâmetros de gerenciamento de alocação de taxa de bits são armazenados e são acessíveis ao gerente de alocação da taxa de bits (340); em que o gerente de alocação de taxa de bits (340) produz as alocações de taxa de bits para programas simultâneos de uma maneira que tende a igualar o vídeo entre os programas na medida em que consiste nos parâmetros de gerenciamento de alocação da taxa de bits especificados pelo provedor de serviço de vídeo; uma pluralidade de reescritores de camadas múltiplas para camada única para converter a pluralidade de fluxos de bits de camadas múltiplas recebidos das unidades de extração de taxa de bits para uma pluralidade de fluxos de bits de camada única, em que os reescritores selecionam umas das camadas de reforço para cada programa em uma maneira que seja consistente com a alocação da taxa de bits determinada pelo gerente de alocação de taxa de bits, em que os reescritores extraem uma ou mais das camadas de reforço, no todo ou em parte, a partir de, pelo menos, um fluxo de bits de modo que a pluralidade de fluxos de bits de camadas múltiplas são coletivamente reduzidas em sua largura de banda total, e de modo que cada programa em cada camada de reforço seja provido de maneira consistente com a alocação de taxa de bits e os parâmetros de alocação de taxa de bits; em que os reescritores reescrevem cada uma das camadas de reforço para produzir um fluxo de bits de camada única para cada uma das camadas de reforço extraídas; e um multiplexador para multiplexar os fluxos de bits de camada única para formar o fluxo de bits de camada única multiplexado não escalonável.
2. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda: um banco de dados de modelo de canal para armazenar informações relativas às capacidades e exigências dos canais sobre os quais os fluxos de bits podem ser transmitidos; e um gerente de alocação de taxa de bit para determinação de uma ou mais camadas de reforço que devem ser extraídas pelas unidades de extração de taxa de bits com base, pelo menos em parte, na informação no banco de dados de modelo de canal.
3. Aparelho, de acordo com a reivindicação 2, caracterizado pelo fato de que o gerente de atribuição de taxa de bits atribui taxas de bits para cada um dos fluxos de bits de camadas múltiplas com base, pelo menos em parte, em uma prioridade atribuída a cada um dos fluxos tais que fluxos de bits de camadas múltiplas tendo uma prioridade comum são cada alocado um fluxo de bits necessário para produzir um nível comum de qualidade perceptual.
4. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que as unidades de extração de taxa de bits são configuradas para distinguir entre tipos de ID de pacote atribuídos aos pacotes que transportam as informações de camada de base e tipos de ID de pacote atribuídos aos pacotes que transportam as informações de camada de reforço.
5. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que os fluxos de bits de camadas múltiplas conformam com um padrão de codificação de vídeo escalonável (SVC) e os fluxos de bits de camada única conformam com um padrão de Codificação de Vídeo Avançada (AVC), e em que a pluralidade de unidades de extração de taxa de bits recebem os fluxos de bits SVC antes do multiplexador multiplexar os fluxos de bits de camada única para formar um fluxo de bits de camada única multiplexado não escalonável.
6. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que os parâmetros de gerenciamento de alocação de taxa de bits usados pelo gerente de alocação de taxa de bits incluem pelo menos uma dentre a prioridade do fluxo de programa, resolução de programa máxima, taxa de bits de programa máxima e taxa de bits total máxima que pode ser alocada.
7. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que reescrever seleciona camadas de reforço para cada programa particularmente baseado na resolução e taxa de quadros.
8. Aparelho, de acordo com a reivindicação 1, caracterizado pelo fato de que a adaptação de taxa de bits é realizada de acordo com uma técnica de circuito aberto.
BR112013015576-0A 2010-12-20 2011-11-21 Aparelho para multiplexação estatística e reescrever um fluxo de bits escalonável BR112013015576B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/973,458 US9118939B2 (en) 2010-12-20 2010-12-20 SVC-to-AVC rewriter with open-loop statistical multiplexer
US12/973,458 2010-12-20
PCT/US2011/061676 WO2012087478A1 (en) 2010-12-20 2011-11-21 Svc-to-avc rewriter with open-loop statistal multplexer

Publications (2)

Publication Number Publication Date
BR112013015576A2 BR112013015576A2 (pt) 2016-10-04
BR112013015576B1 true BR112013015576B1 (pt) 2021-12-14

Family

ID=45094807

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013015576-0A BR112013015576B1 (pt) 2010-12-20 2011-11-21 Aparelho para multiplexação estatística e reescrever um fluxo de bits escalonável

Country Status (8)

Country Link
US (2) US9118939B2 (pt)
EP (1) EP2656616A1 (pt)
KR (1) KR101501396B1 (pt)
CN (1) CN103283248B (pt)
BR (1) BR112013015576B1 (pt)
CA (1) CA2821685C (pt)
MX (1) MX2013007030A (pt)
WO (1) WO2012087478A1 (pt)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2824751A1 (en) 2009-09-26 2011-03-31 Disternet Technology Inc. System and method for micro-cloud computing
WO2011132883A2 (ko) * 2010-04-19 2011-10-27 엘지전자 주식회사 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
US9118939B2 (en) * 2010-12-20 2015-08-25 Arris Technology, Inc. SVC-to-AVC rewriter with open-loop statistical multiplexer
US20130318251A1 (en) * 2012-05-22 2013-11-28 Alimuddin Mohammad Adaptive multipath content streaming
US9345573B2 (en) 2012-05-30 2016-05-24 Neovasc Tiara Inc. Methods and apparatus for loading a prosthesis onto a delivery system
WO2014034463A1 (ja) * 2012-08-27 2014-03-06 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10165227B2 (en) * 2013-03-12 2018-12-25 Futurewei Technologies, Inc. Context based video distribution and storage
US9578342B2 (en) * 2013-06-24 2017-02-21 Dialogic Corporation Rate control algorithm for scalable video encoding with disposable P-frames
CN105874804A (zh) * 2014-01-02 2016-08-17 Vid拓展公司 针对hevc扩展的子比特流提取过程
EP2894860A1 (en) * 2014-01-14 2015-07-15 Thomson Licensing Method and apparatus for multiplexing layered coded contents
WO2017020021A1 (en) * 2015-07-29 2017-02-02 Vid Scale, Inc. Scalable high efficiency video coding to high efficiency video coding transcoding
CN106412620A (zh) * 2015-07-31 2017-02-15 华为技术有限公司 一种码流发送方法及设备
US10225211B2 (en) * 2017-07-20 2019-03-05 Arris Enterprises Llc Statistical multiplexer with service priority weighting
US10778991B1 (en) * 2018-09-25 2020-09-15 Amazon Technologies, Inc. Adaptive group of pictures (GOP) encoding
CA3144466A1 (en) 2019-07-23 2021-01-28 Lazar Entertainment Inc. Live media content delivery systems and methods
CN111935436B (zh) * 2020-09-15 2021-02-19 杭州盖视科技有限公司 多视频流在播放端的无缝切换方法与系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506844A (en) * 1994-05-20 1996-04-09 Compression Labs, Inc. Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
US6795506B1 (en) * 1999-10-05 2004-09-21 Cisco Technology, Inc. Methods and apparatus for efficient scheduling and multiplexing
US6731685B1 (en) 2000-09-20 2004-05-04 General Instrument Corporation Method and apparatus for determining a bit rate need parameter in a statistical multiplexer
US6847656B1 (en) 2000-09-25 2005-01-25 General Instrument Corporation Statistical remultiplexing with bandwidth allocation among different transcoding channels
US6925120B2 (en) * 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
US6959042B1 (en) 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
US7725593B2 (en) 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
KR100772868B1 (ko) * 2005-11-29 2007-11-02 삼성전자주식회사 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치
US8767836B2 (en) 2006-03-27 2014-07-01 Nokia Corporation Picture delimiter in scalable video coding
US7535383B2 (en) * 2006-07-10 2009-05-19 Sharp Laboratories Of America Inc. Methods and systems for signaling multi-layer bitstream data
US8767834B2 (en) * 2007-03-09 2014-07-01 Sharp Laboratories Of America, Inc. Methods and systems for scalable-to-non-scalable bit-stream rewriting
US8259793B2 (en) 2007-03-19 2012-09-04 Sony Corporation System and method of fast MPEG-4/AVC quantization
US8121191B1 (en) 2007-11-13 2012-02-21 Harmonic Inc. AVC to SVC transcoder
US8908765B2 (en) 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
US8711948B2 (en) * 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
US20110090921A1 (en) * 2008-07-01 2011-04-21 Shemimon Manalikudy Anthru Network abstraction layer (nal)-aware multiplexer
IT1394245B1 (it) * 2008-09-15 2012-06-01 St Microelectronics Pvt Ltd Convertitore per video da tipo non-scalabile a tipo scalabile
US20100091841A1 (en) * 2008-10-07 2010-04-15 Motorola, Inc. System and method of optimized bit extraction for scalable video coding
US20100150168A1 (en) 2008-11-17 2010-06-17 Chanchal Chatterjee Method and apparatus for multiplexing of digital video
US9118939B2 (en) * 2010-12-20 2015-08-25 Arris Technology, Inc. SVC-to-AVC rewriter with open-loop statistical multiplexer

Also Published As

Publication number Publication date
US9674561B2 (en) 2017-06-06
KR101501396B1 (ko) 2015-03-10
CA2821685C (en) 2016-07-12
CN103283248B (zh) 2016-05-18
MX2013007030A (es) 2013-09-13
US9118939B2 (en) 2015-08-25
KR20130090929A (ko) 2013-08-14
CN103283248A (zh) 2013-09-04
CA2821685A1 (en) 2012-06-28
BR112013015576A2 (pt) 2016-10-04
US20150326858A1 (en) 2015-11-12
US20120155554A1 (en) 2012-06-21
EP2656616A1 (en) 2013-10-30
WO2012087478A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
BR112013015576B1 (pt) Aparelho para multiplexação estatística e reescrever um fluxo de bits escalonável
US10708608B2 (en) Layer based HRD buffer management for scalable HEVC
US10863187B2 (en) Image decoding method and apparatus using same
US11350114B2 (en) Signaling for addition or removal of layers in video coding
US8619871B2 (en) Coding systems
US9357248B2 (en) Method and apparatus for adaptive bit rate content delivery
US10863203B2 (en) Decoding multi-layer images
JP6472449B2 (ja) ビデオシーケンスを復号するための方法
JP2023171865A (ja) ビットストリームマージ
WO2010002420A1 (en) Network abstraction layer (nal)-aware multiplexer
CA2934905C (en) Communication apparatus, communication data generation method, and communication data processing method
US10291922B2 (en) Method and apparatus for decoding an enhanced video stream
KR20230122106A (ko) 코딩된 비디오 시퀀스들에 대해 파라미터 세트들을사용하는 파일 파서, 파일 생성기, 인코더, 디코더, 클라이언트, 서버, 및 방법들
Liu et al. An HD IPTV system based on scalable video coding
Sun et al. MPEG-4/XML FGS approach to multicast video synchronization
Gao et al. Video Coding Optimization and Application System

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04N 21/2365 (2011.01), H04N 19/124 (2014.01), H04

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]
B350 Update of information on the portal [chapter 15.35 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 21/11/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.

B25C Requirement related to requested transfer of rights

Owner name: GENERAL INSTRUMENT CORPORATION (US)

Free format text: A FIM DE ATENDER A TRANSFERENCIA, REQUERIDA ATRAVES DA PETICAO NO 870220104647 DE 10/11/2022, E NECESSARIO APRESENTAR UMA GUIA DE RECOLHIMENTO, CODIGO 248, RELATIVA A ALTERACAO DE NOME OCORRIDA ANTES DA TRANSFERENCIA SOLICITADA. ALEM DISSO, E PRECISO APRESENTAR A GUIA DE CUMPRIMENTO DE EXIGENCIA.

B25D Requested change of name of applicant approved

Owner name: ARRIS TECHNOLOGY, INC. (US)

B25A Requested transfer of rights approved

Owner name: ARRIS INTERNATIONAL IP LTD. (GB)