BR122015005194A2 - Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top - Google Patents

Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top Download PDF

Info

Publication number
BR122015005194A2
BR122015005194A2 BR122015005194-0A BR122015005194A BR122015005194A2 BR 122015005194 A2 BR122015005194 A2 BR 122015005194A2 BR 122015005194 A BR122015005194 A BR 122015005194A BR 122015005194 A2 BR122015005194 A2 BR 122015005194A2
Authority
BR
Brazil
Prior art keywords
segment
metadata
manifest
program
segments
Prior art date
Application number
BR122015005194-0A
Other languages
English (en)
Inventor
Kevin J. Ma
Robert Hickey
Raj Nair
Paul Tweedale
Daniel Biagini
Jianguo Xu
Prabhudev Navali
Original Assignee
Ericsson Ab
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=49783889&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR122015005194(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Ericsson Ab filed Critical Ericsson Ab
Publication of BR122015005194A2 publication Critical patent/BR122015005194A2/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/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/26603Channel 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 for automatically generating descriptors from content, e.g. when it is not made available by its provider, using content analysis techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • 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/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)

Abstract

1/11/1 resumo .método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top. um método é provido para realizar inserção de anúncio alvo em entrega over the top de conteúdo detectando oportunidades de substituição de anúncio em um fluxo de conteúdo ao vivo e preparando o conteúdo para substituição sem emendas com en-trega de fluxo adaptativo http segmentado. método inclui provisões para substitui-ção de segmento baseado em proxy de múltiplos estágios para entrega de anúncio alvo. método provido trabalha de forma transparente com clientes de fluxo adaptati-vo http padrão. um sistema também é especificado para implementar uma infraes-trutura de entrega de conteúdo de servidor e cliente de acordo com as provisões do método.

Description

“MÉTODO E SISTEMA PARA INSERÇÃO DE ANÚNCIO EM ENTREGA DE MÍDIA AO VIVO OVER THE TOP” [0001] Dividido do pedido de patente de invenção BR 11 2014 032829 3, depositado em 28 de junho de 2013.
CAMPO DA INVENÇÃO [0002] Esta invenção refere-se em geral à entrega de mídia over the top (OTT) e mais especificamente à substituição de anúncio alvo para mídia de streaming próximo ao tempo real.
FUNDAMENTOS DA INVENÇÃO [0003] Os protocolos de entrega próximos ao tempo real são populares para entrega de mídia OTT devido à sua simplicidade, sua capacidade de se adaptar a várias condições de rede através do uso de adaptação de taxa, e o baixo custo de implantação usando infraestruturas de entrega HTTP básicas. A entrega de mídia OTT tipicamente conta com um paradigma de recuperação baseado em segmento usando o protocolo HTTP. O streaming adaptativo a HTTP usa múltiplas codificações (cada uma codificada em uma taxa de bits diferente, resolução, e/ou taxa de quadro), permitindo que o cliente selecione uma codificação apropriada para suas condições de rede local. Arquivos de manifesto são usados para conduzir a informação de codificação a clientes. Os arquivos de manifesto são também usados para indicar localizações de recuperação de segmento. Para conteúdo em tempo real (ao vivo), os segmentos e arquivos de manifesto são produzidos e recuperados por clientes em tempo real.
SUMÁRIO DA INVENÇÃO [0004] Um aspecto geral da entrega de mídia, se usando técnicas de transmissão tradicionais ou técnicas OTT mais recentes, é necessário inserir anúncios em mídia sendo entregues a consumidores como parte de um modelo de operação de negócios suportados por anúncios. A televisão linear tradicional tipicamente insere anúncios em uma base regional e então transmite o fluxo resultante a todos os espectadores na região. Entretanto, a natureza de difusão ponto a ponto de entrega baseada em HTTP permite a entrega de anúncios mais personalizada. Os anúncios
2/38 alvo em entrega OTT exigem paradigmas de inserção de anúncio alternativos.
[0005] Métodos e aparelhos são descritos para executar substituição de anúncio alvo em entrega de mídia over the top (OTT). Um sistema de entrega OTT descrito inclui um processador de fluxo ao vivo, um cliente HTTP, e um proxy de segmento de anúncio que incluem coletivamente uma variedade de mecanismos utilizáveis em diferentes formas para substituição de anúncio.
[0006] Em um aspecto, um método é fornecido para inserir dinamicamente metadados de anúncio em segmentos e arquivos de manifesto sendo gerados em tempo real, para habilitar a substituição de anúncios alvo. O método pode ser executado em parte por um processador de fluxo ao vivo usado para criar segmentos de mídia para entrega OTT via uma rede de entrega de conteúdo (CDN). Em uma modalidade, o fluxo de entrada em tempo real é um feed de televisão linear. Em uma modalidade, o feed de televisão linear contém tons de localização que indicam pods (grupos) de anúncios de chegada (comerciais), o início de cada grupo de anúncios, e o final de cada grupo de anúncios. Em uma modalidade, os tons de localização estão de acordo com a especificação da Society of Cable Telecommunications Engineers (SCTE) Digital Video Subcommitee SCTE-35 Digital Program Insertion Cueing Message for Cable. Em uma modalidade, os descritos de programa SCTE-35 descrevem a estrutura (isto é, o número de anúncios e duração de cada anúncio) dos grupos de anúncios. Em outra modalidade, convocações são usadas para determinar a estrutura (isto é, o número de anúncios e a duração de cada anúncio) do grupo de anúncios. Em uma modalidade, as mensagens de convocação estão de acordo com a especificação da Society of Cable Telecommunications Engineers (SCTE) Digital Video Subcommitee SCTE-130 Digital Program Insertion - Advertising Systems.
[0007] Em outra modalidade, os grupos de anúncios (comerciais) são definidos antecipadamente e especificados fora de banda usando marcadores de tempo (por exemplo, correspondentes à hora de transmissão ou tempo de apresentação de quadros MPEG-TS, ou deslocamento no tempo a partir do início do programa). Em uma modalidade, a estrutura (isto é, o número de anúncios e a duração de cada anúncio) dos grupos de anúncios é também incluída com a informação de desloca
3/38 mento de grupo de anúncios fora de banda. Em uma modalidade, uma Lista de reprodução de múltiplos anúncios de vídeo (VMAP) é usada para especificar a informação de grupo de anúncios fora de banda. Em outra modalidade, um formato XML padrão é usado para especificar a informação de grupo de anúncios fora de banda. Há numerosos métodos e protocolos disponíveis para fornecer informação de grupo de anúncios fora de banda como deveria ser conhecido pelos versados na técnica. Dever-se-ia entender que qualquer tal método seria adequado para uso com a presente invenção.
[0008] As estruturas de grupos de anúncios são usadas para definir limites de anúncios dentro do fluxo em tempo real. Os segmentos são então criados em limites de anúncios e metadados são inseridos nos segmentos e arquivos de manifesto para indicar o início e o fim dos anúncios. Os metadados indicando os anúncios de chegada são inseridos em segmentos e arquivos de manifesto levando aos limites de anúncios. Em uma modalidade, o servidor de decisão de anúncio, identificador de programa, e informação de ponto de anúncio (localização) é incluída nos metadados para habilitar os clientes e intermediários a emitir solicitações de colocação de anúncio alvo.
[0009] Em uma modalidade, as solicitações de colocação de anúncio são emitidas para um servidor de decisão de anúncio para uma ou mais das oportunidades de inserção de anúncio especificadas no grupo de anúncios. Em uma modalidade, o servidor de decisão de anúncio também funciona como um servidor SCTE-130 usado para determinar a estrutura de grupo de anúncios. Em uma modalidade, os segmentos dentro dos limites de programa de anúncio gerados a partir do fluxo de entrada em tempo real são substituídos por segmentos especificados na resposta de colocação de anúncio. Em uma modalidade, os segmentos de anúncio de colocação são transferidos para substituir os segmentos reais. Em outra modalidade, as URLs de segmento associadas com os anúncios (isto é, segmentos dentro dos limites de anúncio) são substituídas no arquivo de manifesto com URLs apontando para os segmentos especificados na resposta de colocação de anúncio. Em outra modalidade, as URLs de segmento associadas com os anúncios (isto é, segmentos dentro de
4/38 limites de anúncio) são substituídas no arquivo de manifesto com URLs apontando para um servidor proxy de segmento de anúncio. Em uma modalidade, as URLs de servidor proxy de anúncio contêm números de sequência exclusivos para habilitar a identificação e correlação de múltiplos segmentos a partir do mesmo anúncio. Em uma modalidade, as URLs de servidor proxy de anúncio contêm identificadores de programa exclusivos para habilitar o direcionamento de anúncios baseado em conteúdo.
[0010] Em outro aspecto, um método é fornecido para extrair dinamicamente metadados de anúncios a partir de segmentos e arquivos de manifesto sendo renderizados em tempo real, para habilitar a substituição de anúncio direcionada. Em uma modalidade, um cliente realiza proxy de solicitações de arquivo de manifesto a partir de um reprodutor de mídia local e extrai metadados de anúncio a partir de um manifesto recebido antes de encaminhá-los para o reprodutor de mídia (por exemplo, extraindo comentários a partir de um manifesto m3u8). Em outra modalidade, o cliente realiza proxy de solicitações de segmento a partir do reprodutor de mídia e extrai metadados de anúncio a partir do segmento antes de encaminhá-los para o reprodutor de mídia (por exemplo, extraindo cabeçalhos proprietários ou canais de dados alternados a partir de fluxos RTP ou MPEG-TS). Em outra modalidade, o cliente monitora chamadas a partir do reprodutor de mídia contendo metadados de anúncio (por exemplo, tags ID3 inseridas nos segmentos MPEG-TS).
[0011] Em uma modalidade, o cliente responde aos metadados que foram inseridos em um fluxo de mídia para indicar os limites de anúncio de chegada. Em uma modalidade, o servidor de decisão de anúncio, identificador de programa, e/ou informação de ponto (colocação) de anúncio é incluída com os metadados de notificação de limite de anúncio de chegada. O cliente pode então tentar realizar a prébusca de um anúncio para usar como uma substituição para o anúncio em fluxo. O cliente emite uma solicitação de colocação de anúncio para um servidor de decisão de anúncio fornecendo o identificador de programa e/ou informação de ponto de anúncio. Em uma modalidade, o cliente também fornece identificador de assinante e/ou usuário, localização (por exemplo, coordenadas GPS, endereço de IP, código
5/38 postal, código de área, código do país, área de comercialização designada (DMA), etc.), e/ou informação demográfica (por exemplo, sexo, idade, etc.) ao servidor de decisão de anúncio, para ajudar na personalização do anúncio.
[0012] Em uma modalidade, os metadados são inseridos em um fluxo de mídia para indicar o início exato do anúncio, isto é, o limite de início do anúncio. Em uma modalidade, o limite de início de anúncio se alinha exatamente com um limite de segmento permitindo substituição de anúncio sem emendas usando substituição de segmento. Em uma modalidade, os metadados são inseridos em um fluxo de mídia para indicar o fim exato do anúncio, isto é, o limite de fim do anúncio. Em uma modalidade, o limite de fim do anúncio é especificado explicitamente fornecendo a duração exata do anúncio. Em outra modalidade, o limite de fim do anúncio é especificado implicitamente pelo limite de início do próximo programa subsequente (que pode ser o início de um novo anúncio ou o reinicio do programa principal). Em uma modalidade, os metadados são inseridos para indicar exigências de relatório para reprodução de anúncio (por exemplo, uma URL a qual mensagens de sinalização deveríam ser postadas, bem como informação de autenticação e/ou o formato da mensagem de sinalização).
[0013] Em uma modalidade, o cliente somente aceita anúncios que casam exatamente a duração especificada do anúncio em fluxo, de modo que a substituição de anúncios não rompa o período do fluxo ao vivo. Em outra modalidade, o cliente insere qualquer anúncio, mas precisa monitorar o fluxo ao vivo para determinar quando reiniciar o fluxo ao vivo. Em uma modalidade, se o anúncio de substituição é mais curto do que o anúncio em fluxo, o cliente pode readerir ao fluxo ao vivo e reproduzir o restante do anúncio em fluxo. Em outra modalidade, se o anúncio de substituição é mais curto do que o anúncio em fluxo, o cliente pode exibir uma mensagem intersticial ou imagem pelo restante da duração do anúncio em fluxo e somente readerir ao fluxo ao vivo uma vez que o anúncio em fluxo esteja completo. Em uma modalidade, se o anúncio de substituição é mais longo do que o anúncio em fluxo, o cliente pode retornar para o fluxo ao vivo sem reproduzir o anúncio de substituição até a conclusão, para impedir que o usuário perca o conteúdo de fluxo ao vivo.
6/38 [0014] Em uma modalidade, o cliente executa a substituição de anúncio realizando proxy de solicitações de arquivo de manifesto a partir do reprodutor de mídia e mudando a URL de segmento (e quaisquer URLs chave de criptografia e/ou metadados de chave de criptografia associados com os segmentos de anúncio) no arquivo de manifesto que é apresentado ao reprodutor de mídia. Em outra modalidade, o cliente executa substituição de anúncio realizando proxy de transparentemente solicitações de segmento a partir do reprodutor de mídia (isto é, terminando a conexão a partir do reprodutor de mídia, emitindo uma solicitação para um segmento alternativo, e retomando esses dados ao reprodutor de mídia). Em outra modalidade, o cliente executa substituição de anúncio realizando proxy de solicitações de segmento a partir do reprodutor de mídia e redirecionando o reprodutor de mídia para um segmento alternativo (por exemplo, usando um redirecionamento HTTP 302).
[0015] Em uma modalidade, quando o cliente executa substituição de anúncio, o cliente somente seleciona uma codificação (isto é, taxa de bits, taxa de quadro, resolução, etc.) para o anúncio que corresponde à codificação (isto é, taxa de bits, taxa de quadro, resolução, etc.) do fluxo ao vivo atualmente sendo assistido. Em outra modalidade, se uma correspondência exata de codificação não existe para segmentos de anúncio, o cliente seleciona a codificação de correspondência mais próxima, favorecendo a maior codificação (isto é, taxa de bits, taxa de quadro, resolução, etc.) que não excedeu a codificação (isto é, taxa de bits, taxa de quadro, resolução, etc.) do fluxo ao vivo atualmente sendo assistido, isto é, a codificação com a maior taxa de bits que não excedeu a taxa de bits do fluxo ao vivo atualmente sendo usada, a maior taxa de quadro que não excedeu a taxa de quadro do fluxo ao vivo atualmente sendo usada, e a maior resolução que não excedeu a resolução do fluxo ao vivo atualmente sendo assistido, etc. Em uma modalidade, o cliente pode escolher uma codificação menor (isto é, taxa de bits, taxa de quadro, resolução mais baixa, etc.) para segmentos de anúncio para acomodar (isto é, compensar) latência mais alta em restaurar segmentos de anúncio. Em outra modalidade, o cliente pode escolher uma codificação maior (isto é, taxa de bits, taxa de quadro, resolução mais alta, etc.) para segmentos de anúncio para maximizar a qualidade do anúncio e geração de
7/38 lucro de anúncio. As técnicas para seleção dinâmica de diferentes codificações são descritas no pedido de patente PCT PCT/US2010/060317 de Ma e outros, publicado sob o pedido PCT No. WO/2011/139305.
[0016] Em outro aspecto, um método é fornecido para realizando proxy dinamicamente de solicitações de segmento de anúncio, para suportar substituição de anúncio alvo em tempo real. O método é adequado para uso em um proxy no lado de cliente como descrito acima, ou em um proxy baseado em rede. Em uma modalidade, um proxy de rede executa substituição de anúncio realizando proxy de solicitações de arquivo de manifesto a partir do reprodutor de mídia e alterando a URL de segmento (e quaisquer URLs de chave de criptografia e/ou metadados de chave de criptografia associados com os segmentos de anúncio) no arquivo de manifesto que é apresentado ao reprodutor de mídia. Em outra modalidade, um proxy de rede executa substituição de anúncio realizando proxy de transparentemente solicitações de segmento a partir do cliente (ou a partir do reprodutor de mídia de cliente ou proxy no lado de cliente), isto é, terminando a conexão a partir do cliente, emitindo uma solicitação por um segmento alternativo, e retornando esses dados ao cliente. Em outra modalidade, o proxy de rede executa substituição de anúncio realizando proxy de solicitações de segmentos a partir do cliente (ou a partir do reprodutor de mídia de cliente ou proxy no lado de cliente) e redirecionando o cliente para um segmento alternativo (por exemplo, usando um redirecionamento HTTP 302).
[0017] Em uma modalidade, o servidor de decisão de anúncio, identificador de programa, e/ou informação de ponto (colocação) de anúncio são incluídos na solicitação de segmento de anúncio. Em uma modalidade, o cliente também fornece identidade de assinante e/ou usuário, localização, e/ou informação demográfica na solicitação de segmento de anúncio. O proxy de rede emite uma solicitação de colocação de anúncio ao servidor de decisão de anúncio fornecendo o identificador de programa e/ou informação de colocação de anúncio. Em uma modalidade, o proxy de rede extrai identidade de assinante e/ou usuário, localização, e/ou informação demográfica a partir das solicitações de segmento e inclui essa informação na solicitação de colocação de anúncio, para possibilitar seleção de anúncio mais personalizada.
8/38 [0018] Em uma modalidade, quando um proxy de rede executa substituição de anúncio, o proxy de rede somente seleciona uma codificação (isto é, taxa de bits, taxa de quadro, resolução, etc.) para o anúncio que corresponde à codificação (isto é, taxa de bits, taxa de quadro, resolução, etc.) do fluxo ao vivo atualmente sendo assistido Em outra modalidade, se uma correspondência exata de codificação não existe para segmentos de anúncio, o proxy de rede seleciona a codificação de correspondência mais próxima, favorecendo a codificação maior (isto é, taxa de bits, taxa de quadro, resolução, etc.) que não excedeu a codificação (isto é, taxa de bits, taxa de quadro, resolução, etc.) do fluxo ao vivo atualmente sendo assistido, isto é, a codificação com a maior taxa de bits que não excedeu a taxa de bits de fluxo ao vivo atualmente sendo usada, a maior taxa de quadro que não excedeu a taxa de quadro de fluxo ao vivo atualmente sendo usada, a maior resolução que não excedeu a resolução de fluxo ao vivo atualmente sendo assistida, etc.). Em uma modalidade, um proxy de rede pode escolher uma menor codificação (isto é, taxa de bits, taxa de quadro, resolução menor, etc.) para segmentos de anúncio para acomodar (isto é, compensar) latência mais alta em restaurar segmentos de anúncio. Em outra modalidade, um proxy de rede pode escolher uma codificação maior (isto é, taxa de bits, taxa de quadro, resolução maior, etc.) para segmentos de anúncio para maximizar a qualidade de anúncio e a geração de lucro de anúncio. As técnicas para seleção dinâmica de diferentes codificações são descritas no pedido de patente PCT/US2010/060317 de Ma e outros, publicado sob a Publicação PCT No. WO/2011/139305.
[0019] Em uma modalidade, os segmentos de anúncio são criptografados com diferentes chaves de criptografia a partir dos segmentos correspondentes que eles estão substituindo no fluxo ao vivo e um proxy de cliente ou de rede precisa modificar o manifesto para refletir a URL de chave de criptografia e/ou metadados associados com o segmento de anúncio usado para substituir o segmento de fluxo ao vivo correspondente. Em outra modalidade, os segmentos de anúncio são criptografados com as mesmas chaves de criptografia dos segmentos correspondentes que estão substituindo no fluxo ao vivo e nenhuma manipulação de manifesto da URL de cha
9/38 ve de criptografia e/ou metadados é exigida. Em outra modalidade, os segmentos de anúncio são criptografados com diferentes chaves de criptografia a partir dos segmentos correspondentes que eles estão substituindo no fluxo ao vivo e a informação de chave está contida no cabeçalho de arquivo de segmento e nenhuma manipulação de manifesto da URL de chave de criptografia e/ou metadados é exigida. Em outra modalidade, os segmentos de anúncio são criptografados com diferentes chaves de criptografia a partir dos segmentos correspondentes que eles estão substituindo no fluxo ao vivo e um proxy de cliente ou de rede precisa descriptografar o segmento de anúncio e recriptografar o segmento de anúncio usando a chave de criptografia que corresponde ao segmento de fluxo ao vivo sendo substituído. Em outra modalidade, os segmentos de anúncio são criptografados com diferentes chaves de criptografia a partir dos segmentos correspondentes que eles estão substituindo no fluxo ao vivo, mas todos os dados são apresentados ao reprodutor de mídia em texto claro, assim um proxy de cliente ou de rede precisa descriptografar o segmento de anúncio antes de apresenta-lo ao reprodutor de mídia. Há muitas formas de apresentar a informação de chave de criptografia e/ou conteúdo ao reprodutor de mídia de modo que o reprodutor de mídia possa entender e renderizar o conteúdo, como deveria ser conhecido pelos versados na técnica. Em geral, qualquer método para reconciliar diferenças de chave de criptografia pode ser aceitável.
[0020] Um sistema é também descrito para implementar uma infraestrutura de cliente e servidor de acordo com as provisões desses métodos. O sistema inclui um processador de fluxo ao vivo para preparar conteúdo em tempo real e inserir metadados de anúncio, um cliente de streaming adaptativo para extrair metadados de anúncio e executar substituição de anúncio alvo, e um proxy de segmento de anúncio para executar substituição de anúncio alvo.
[0021] A presente descrição foca principalmente na substituição de anúncios no contexto de streaming ao vivo, no qual a entrada (por exemplo, um feed de TV) já tem anúncios nela (por exemplo, anúncios nacionais) que estão sendo substituídos por outros anúncios tal como anúncios locais ou anúncios personalizados. Estará claro que as técnicas descritas podem ser prontamente adaptadas para uso em in
10/38 serção de anúncio no qual os anúncios estão sendo adicionados a um fluxo de entrada, por exemplo, em aplicações de demanda sob demanda (VOD).
BREVE DESCRIÇÃO DOS DESENHOS [0022] As provisões acima junto com as várias provisões e características auxiliares que se tomarão claras para os versados na técnica à medida que a seguinte descrição prossegue são conseguidas por dispositivos, conjuntos, sistemas e métodos de modalidades da presente invenção, várias modalidades desses são mostradas com relação aos desenhos em anexo, a título de exemplo somente, onde:
[0023] A Figura 1 é um diagrama de blocos de um sistema que é capaz de conduzir entrega de conteúdo extremidade a extremidade e procedimentos de substituição de anúncio alvo, de acordo com várias modalidades da invenção.
[0024] A Figura 2 é um diagrama de blocos de um sistema que é capaz de conduzir procedimentos de inserção de metadados de anúncio, de acordo com várias modalidades da invenção.
[0025] A Figura 3 é um diagrama de blocos de um cliente que é capaz de conduzir procedimentos de substituição de anúncio alvo, de acordo com várias modalidades da invenção.
[0026] A Figura 4 é um diagrama de blocos de um proxy de rede que é capaz de conduzir procedimentos de substituição de anúncio alvo, de acordo com várias modalidades da invenção.
[0027] A Figura 5 é um fluxograma que mostra um método para executar inserção de metadados de anúncio, de acordo com uma modalidade da presente invenção.
[0028] A Figura 6 é um fluxograma que mostra um método para executar substituição de anúncio alvo no lado de cliente, de acordo com uma modalidade da presente invenção.
[0029] A Figura 7, consistindo de partes 7A e 7B, é um fluxograma que mostra um método para executar substituição de anúncio alvo baseada em proxy de rede, de acordo com uma modalidade da presente invenção.
DESCRIÇÃO DETALHADA DA INVENÇÃO
11/38 [0030] Na descrição fornecida aqui para modalidades da presente invenção, numerosos detalhes específicos são fornecidos, tal como exemplos de componentes e/ou métodos, para fornecer um entendimento completo de modalidades da presente invenção. Um versado na técnica reconhecerá, entretanto, que uma modalidade da invenção pode ser praticada sem um ou mais dos detalhes específicos, ou com outros aparelhos, sistemas, conjuntos, métodos, componentes, materiais, partes e/ou similares. Em outros casos, estruturas bem conhecidas, materiais ou operações não são especificamente mostrados ou descritos em detalhes para evitar ocultar aspectos de modalidades da presente invenção.
[0031] Na presente descrição, o termo “limites de programa” refere-se tanto a limites interprograma, isto é, limites entre o fim de um programa e o início de outro programa, e limites intraprograma que são tipicamente limites de anúncio (isto é, comerciais em um programa onde anúncios são inseridos). Estará claro que o limite interprograma é também tipicamente um limite de anúncio. O termo mais amplo “limite de programa” é usado para acomodar modalidades nas quais pode haver limites que podem ser usados para propósitos que não a inserção de anúncios.
[0032] A Figura 1 é um diagrama de blocos de um sistema 100 para uma modalidade da presente invenção. O sistema inclui um processador de fluxo ao vivo 102, rede de entrega de conteúdo (CDN) 104, servidor de decisão de anúncio (ADS) 108, proxy de segmento de anúncio 106 (também chamado aqui de um proxy de rede 106), e cliente 110. O processo de fluxo ao vivo 102 adquire e processa conteúdo de áudio/vídeo em tempo real, detecta oportunidades de substituição/inserção de anúncio e executa métodos de inserção e substituição de anúncio. A CDN 104 distribui o conteúdo processado do processador de fluxo ao vivo 102. O cliente 110 restaura e renderiza conteúdo a partir da CDN 104 e executa métodos de substituição e inserção de anúncio. O proxy de rede 106 realiza proxy de certas solicitações de conteúdo a partir do cliente 110 e executa métodos de substituição e inserção de anúncio. O ADS 108 executa processamento de colocação de anúncio alvo em tempo real para o processador de fluxo ao vivo 102, proxy de rede 106, e cliente 110.
[0033] O processador de fluxo ao vivo 102, CDN 104, ADS 108, proxy de rede
12/38
106, e cliente 110 podem ser realizados como um ou mais dispositivos computadorizados, cada um tendo memória armazenando instruções de programa de computador, um ou mais processadores para executar as instruções, circuito l/O conectando o dispositivo computadorizado a dispositivos externos, e circuito de interconexão tal como um ou mais barramentos de alta velocidade conectando a memória, processadores) e circuito l/O juntos. Tal coleção de elementos pode também adicionalmente ser chamada aqui de “circuito de processamento”. Vários componentes constituintes dos itens mostrados na Figura 1 são mostrados nas figuras adicionais e descritos abaixo, e entende-se que os componentes podem ser realizados como circuito de processamento executando instruções de elementos de software correspondentes. Por exemplo, um “analisador” pode ser realizado como circuito de processamento de computador executando instruções de um programa analisador, etc.
[0034] O processador de fluxo ao vivo 102 é responsável por adquirir conteúdo fonte a partir de um feed ao vivo e preparar o conteúdo para distribuição. Em uma modalidade, a preparação inclui transcodificar áudio e vídeo em uma pluralidade de codificações usando codecs diferentes, taxas de bits, taxas de quadros, taxas de amostra, e resoluções. O conteúdo transcodifiçado é então escrito em uma pluralidade de arquivos de saída. Em uma modalidade, uma pluralidade de arquivos de saída contém o mesmo conteúdo transcodificado encapsulado em diferentes formatos de recipiente (por exemplo, 3GP, MP4, MPEG-TS, WMV, MOV, etc.). Em uma modalidade, os arquivos de saída preparados são segmentos em arquivos de segmento de duração fixa (por exemplo, segmentos MPEG-TS, segmentos MP4 fragmentados, segmentos 3GP DASH, etc.). Em uma modalidade, os arquivos de saída, tanto segmentados quando não segmentados, são criptografados usando protocolos de criptografia padrão (por exemplo, AES-128, HC-128, RC4, etc.). Em uma modalidade, o processador de fluxo ao vivo 102 gera arquivos de manifesto indicando localizações de restauração de segmento para cada codificação (por exemplo, HLS m3u8, DASH MPD, etc.).
[0035] Em uma modalidade, o processador de fluxo ao vivo 102 detecta comerciais de anúncio no feed ao vivo. Em uma modalidade, o feed ao vivo é um feed de
13/38 televisão linear. Em uma modalidade, o feed ao vivo contém tons de localização SCTE-35 que indicam grupos de anúncios de chegada (comerciais), o início de cada grupo de anúncios, e o final de cada grupo de anúncios. Em uma modalidade, os descritores de programa SCTE-35 descrevem a estrutura (isto é, o número de anúncios e duração de cada anúncio) dos grupos de anúncios. Em outra modalidade, o processador de fluxo ao vivo 102 emite solicitações SCTE-130 a um ADS 108 para determinar a estrutura (isto é, o número de anúncios e a duração de cada anúncio) dos grupos de anúncios.
[0036] Em uma modalidade, o processador de fluxo ao vivo 102 cria segmentos a partir da entrada de fluxo ao vivo usando segmentos de duração fixa. Em uma modalidade, o processador de fluxo ao vivo 102 usa informação de estrutura de grupo de anúncios para criar dinamicamente limites de segmento nos limites de anúncio. Como um exemplo, dado o grupo de anúncios com dois anúncios, o primeiro com uma duração de 15 segundos e o segundo com uma duração de 25 segundos, onde o grupo de anúncios começaria 7 segundos em um dado segmento N, os segmentos de duração fixa feriam o anúncio 1 começando 7 segundos no segmento N, o anúncio 2 começando 3 segundos no segmento N+2, e o programa principal iniciando 7 segundos no segmento N+3:
10 10 10 10 10 10
+— 1 N + — 1 N+1 ---μ-- 1 N+2 --Ί--- 1 N+2 --Ί--- 1 N+3 -- + — 1 N+4 -- + 1
+— ---1--- ---μ-- --+— --+— --+— --+
adi AD2 Programa [0037] Com limites de segmento dinâmicos, o mesmo cenário de um grupo de anúncios com dois anúncios, o primeiro com uma duração de 15 segundos e o segundo com uma duração de 25 segundos, onde o grupo de anúncios começaria 7 segundos em um dado segmento N, os segmentos de duração fixa feriam o segmento N truncado em 7 segundos, o anúncio 1 começando em um novo limite de segmento (isto é, o início do segmento N+1), o segmento N+2 truncado em 5 se
14/38 gundos, o anúncio 2 começando em um novo limite de segmento (isto é, o início do segmento N+3), o segmento N+5 truncado em 5 segundos, e o programa principal iniciando em um novo limite de segmento (isto é, o início do segmento N+6):
7 10 5 10 10 5 10
+-- I N --+— I N+l -- + - 1 N+2 -+— 1 N+3 ---1--- 1 N+4 --+- 1 N+5 -+ — 1 N+6 -- + 1
+-- --+— --+ -+— ---1--- -+ — -- +
ADI AD2 Programa [0038] Em uma modalidade, o processador de fluxo ao vivo 102 emite solicitações de colocação de anúncio para o ADS 108 para uma ou mais das oportunidades de inserção de anúncio especificadas no grupo de anúncios. Em uma modalidade, o ADS 108 é o mesmo servidor SCTE-130 usado para determinar a estrutura de grupo de anúncios. Em uma modalidade, o processador de fluxo ao vivo 102 substitui os segmentos dentro dos limites de programa de anúncio gerados a partir do feed ao vivo com segmentos especificados na resposta de colocação de anúncio. Em uma modalidade, o processador de fluxo ao vivo 102 transmite os segmentos de substituição de anúncio para substituir os segmentos reais. Em outra modalidade, o processador ao vivo 102 substitui as URLs de segmento associadas com os anúncios (isto é, segmentos dentro dos limites de anúncio) no arquivo de manifesto com URLs apontando para os segmentos especificados na resposta de colocação de anúncio. Em uma modalidade, o processador de fluxo ao vivo 102 armazena em cache a resposta de colocação de anúncio para uso em oportunidades de substituição de anúncio futuras. Em uma modalidade, o processador de fluxo ao vivo 102 também processa o conteúdo de fonte de anúncio para assegurar que as codificações disponíveis para o anúncio correspondem às codificações sendo usadas para o processamento do fluxo ao vivo.
[0039] Em uma modalidade, o processador de fluxo ao vivo 102 insere metadados nos segmentos para indicar ao cliente 110 limites de anúncio de chegada, bem como o início e o fim real de cada anúncio. Em uma modalidade, os metadados são
15/38 inseridos usando o formato de recipiente de metadados facto padrão ID3 versão 2 (chamado aqui de tags ID3) em segmentos MPEG-TS. Em outra modalidade, os metadados são inseridos em canais de dados proprietários em segmentos RTP. Em outra modalidade, os metadados são inseridos em cabeçalhos DASH proprietários. Há muitos formatos de segmento e muitas formas de inserir metadados padrão em um dado formato de segmento como deveria ser conhecido pelos versados na técnica. Qualquer método para inserir metadados em um segmento seria adequado para metadados de limite de anúncio.
[0040] Em uma modalidade, o processador de fluxo ao vivo 102 insere metadados nos arquivos de manifesto para indicar ao cliente 110 limites de anúncio de chegada, bem como o início e o fim reais de cada anúncio. Em uma modalidade, o processador de fluxo ao vivo 102 insere metadados de estrutura de grupo de anúncios nos arquivos de manifesto para indicar ao cliente 110 o anúncio dentro do grupo ao qual cada segmento pertence. Em uma modalidade, o processador de fluxo ao vivo 102 insere metadados de deslocamento de segmento de anúncio nos arquivos de manifesto para indicar ao cliente 110 os números de sequência dos segmentos dentro de cada anúncio e dentro do grupo de anúncios. Em uma modalidade, os metadados são inseridos como comentários em um arquivo de manifesto m3u8. Em outra modalidade, os metadados são inseridos como etiquetas padrão em um arquivo de manifesto DASH MPD. Há muitos formatos de arquivo de manifesto e muitas formas de inserir metadados padrão em um dado formato de arquivo de manifesto como deveria ser conhecido pelos versados na técnica. Qualquer método para inserir metadados em um arquivo de manifesto seria adequado para metadados de limite de anúncio.
[0041] Em uma modalidade, as URLs de segmento inseridas no arquivo de manifesto apontam para um proxy de segmento de anúncio 106, ao invés de para os segmentos reais na CDN 104. Em uma modalidade, os metadados de anúncio incluem a duração de cada anúncio. Em uma modalidade, os metadados de anúncio incluem a duração do grupo de anúncios. Em uma modalidade, os metadados de anúncio incluem informação de endereço para o ADS 108. Em uma modalidade, os
16/38 metadados de anúncio incluem informação de ponto (colocação) para cada anúncio. Em uma modalidade, os metadados de anúncio incluem identificadores de programa, tempo de transmissão de programa original, restrições de anúncio, e informação demográfica de programa a serem usados no tom de localização de decisão de anúncio alvo. Em uma modalidade, os metadados para o fim do anúncio final no grupo de anúncios são incluídos como metadados indicando o reinicio do programa principal.
[0042] Em uma modalidade, o processador de fluxo ao vivo 102 carrega os arquivos de segmento e arquivos de manifesto em uma CDN 104 a partir da qual eles são restaurados pelo cliente 110. Em uma modalidade, o cliente 110 restaura arquivos de segmento e de manifesto diretamente a partir do processador de fluxo ao vivo 102. Em outra modalidade, o cliente 110 restaura arquivos de manifesto a partir do processador de fluxo ao vivo 102 e arquivos de segmento a partir da CDN 104. Em uma modalidade, o cliente 110 detecta os metadados de anúncio e executa substituição de anúncio alvo. Em uma modalidade, o cliente 110 detecta metadados de anúncio realizando proxy de solicitações de arquivo de manifesto a partir de seu reprodutor de mídia (ver descrição mais detalhada abaixo) e analisando o arquivo de manifesto (por exemplo, detectando comentários padrão em um HLS m3u8, ou etiquetas padrão em um DASH MPD). Em outra modalidade, o cliente 110 detecta metadados de anúncio realizando proxy de solicitações de segmento a partir do reprodutor de mídia e analisando os dados de segmento (por exemplo, detectando canais RTP de metadados padrão). Em outra modalidade, o cliente 110 detecta metadados de anúncio monitorando chamadas a partir do reprodutor de mídia (por exemplo, recebendo chamadas ID3).
[0043] Em uma modalidade, as URLs para segmento de anúncio apontam para um proxy de rede 106, como especificado pelo processador de fluxo ao vivo 102. Em uma modalidade, o cliente 110 aumenta as solicitações de segmento com identidade de assinante e/ou usuário, localização, e/ou informação demográfica. O proxy de rede 106 recebe a solicitação de segmento, extrai a informação de colocação de anúncio, e qualquer informação de programa fornecida pelo processador de fluxo ao
17/38 vivo 102, bem como qualquer identidade de assinante e/ou usuário, localização, e/ou informação demográfica fornecida pelo cliente 110, e emite uma solicitação de colocação de anúncio ao ADS 108 com essa informação. O ADS 108 seleciona um anúncio de substituição alvo e notifica o proxy de rede 106. Em uma modalidade, o proxy de rede realiza proxy transparente o segmento de anúncio a partir da CDN 104 para o cliente 110. Em outra modalidade, o proxy de rede redireciona o cliente 110 para o segmento de anúncio na CDN 104 (por exemplo, usando um redirecionamento de HTTP 302). Em uma modalidade, o proxy de rede 106 armazena em cache a resposta de colocação de anúncio para uso em oportunidades de substituição de anúncio futuras.
[0044] Em outra modalidade, o cliente 110 executa substituição de anúncio alvo contatando o ADS 108 diretamente. O cliente 110 extrai a informação de colocação de anúncio, e qualquer informação de programa fornecida pelo processador de fluxo ao vivo 102, e emite uma solicitação de colocação de anúncio para o ADS 108 com essa informação. Em uma modalidade, o cliente 110 aumenta as solicitações de colocação de anúncio com identidade de assinante e/ou usuário, localização, e/ou informação demográfica. Em uma modalidade, o cliente 110 executa substituição de anúncio realizando proxy de solicitações de arquivo de manifesto a partir do reprodutor de mídia e alterando a URL de segmento no arquivo de manifesto que é apresentado ao reprodutor de mídia. Em outra modalidade, o cliente 110 executa substituição de anúncio realizando proxy de solicitações de segmento a partir do reprodutor de mídia e realizando proxy de transparentemente a solicitação de segmento (isto é, terminando a conexão a partir do reprodutor de mídia, emitindo uma solicitação por um segmento alternativo, e retomando esses dados para o reprodutor de mídia). Em outra modalidade, o cliente 110 executa substituição de anúncio realizando proxy de solicitações de segmento a partir do reprodutor de mídia e redirecionando o reprodutor de mídia para um segmento alternativo (usando um redirecionamento de HTTP 302). Em uma modalidade, o cliente 110 armazena em cache a resposta de substituição de anúncio para uso em oportunidades de substituição anúncio futuras.
[0045] A Figura 2 é um diagrama de blocoss de um processador de fluxo ao vivo
18/38
102 para uma modalidade da presente invenção para implementar um processador de fluxo ao vivo 102. O processador de fluxo ao vivo 102 inclui múltiplos componentes, incluindo um gravador de fluxo ao vivo 202 que grava conteúdo de áudio/vídeo fonte, um transcodificador multitaxa de bits 204 que transcodifica o conteúdo fonte em diferentes codificações de taxa de bits, um segmentador multitaxa de bits 206 que cria arquivos de segmento a partir de conteúdo transcodificado, um módulo de inserção de metadados em linha 210 que insere metadados em arquivos de segmento, um criptografador de segmento 212 que criptografa segmentos antes de carregá-los em uma CDN 104, um gerador de manifesto 208 que cria arquivos de manifesto para descrever conteúdo segmentado, e um módulo de inserção de metadados de manifesto 218 que insere metadados em arquivos de manifesto antes de carregalos em uma CDN 104. O processador de fluxo ao vivo 102 também contém um analisador de tom de localização 214 que monitora conteúdo fonte e detecta limites de anúncio e de programa, bem como um resolvedor de grupo de anúncios que determina a estrutura dos grupos de anúncios (comerciais).
[0046] O gravador de fluxo ao vivo 202 é responsável por acoplar o feed ao vivo usando vários protocolos (por exemplo, MPEG-TS de difusão ponto a ponto, MPEGTS de multidifusão, RTP de difusão ponto a ponto, RTP de multidifusão, HLS, DASH, RTMP, etc.). O gravador de fluxo ao vivo 202 passa os dados de fluxo para o transcodificador multitaxa de bits 204 que transforma o conteúdo em uma pluralidade de codificações usando diferentes codecs, taxas de bits, taxas de quadros, taxas de amostragem, e resoluções. O gravador de fluxo ao vivo 202 também passa tons de localização SCTE-35, bem como informação de relógio atual e estampa de tempo de programa, ao analisador de tom de localização 214 que extrai informação de grupo de anúncios de chegada, incluindo início de grupo de anúncios, e informação de fim de grupo de anúncios. O analisador de tom de localização 214 então passa a informação de grupo de anúncios para o resolvedor de grupo de anúncios 216.
[0047] O resolvedor de grupo de anúncios 216 determina a estrutura do grupo de anúncios (isto é, o número de anúncios e a duração de cada anúncio). Em uma modalidade, o resolvedor de grupo de anúncios 216 usa informação de tom de localiza
19/38 ção SCTE-35 para determinar a estrutura do grupo de anúncios. Em outra modalidade, o resolvedor de grupo de anúncios 216 emite solicitações SCTE-130 para o ADS 108 para determinar a estrutura do grupo de anúncios. Em uma modalidade, a solicitação SCTE-130 inclui identificador de programa e tempo de relógio de programa correlacionado (isto é, o tempo de relógio gravado pelo gravador de fluxo ao vivo 202 correspondente à estampa de tempo de programa referenciada pelo tom de localização, calculada como um deslocamento relativo a partir do início do programa). Há muitos protocolos de notificação de estrutura de grupo de anúncios e tom de localização de anúncio além de SCTE-35 e SCTE-130 (por exemplo, IAB Video Multiple Ad Playlist (VMAP) ou outros protocolos proprietários baseados em XML), tanto em banda quanto fora de banda, como deveria ser conhecido pelos versados na técnica. Dever-se-ia entender que o analisador de tom de localização 214 e o resolvedor de grupo de anúncios 216 são flexíveis o bastante para suportar quaisquer protocolos de notificação de estrutura de grupo e/ou tom de localização de anúncio válidos.
[0048] Em uma modalidade, o resolvedor de grupo de anúncios 216 emite solicitações de colocação de anúncios ao ADS 108 para uma ou mais oportunidades de inserção de anúncios especificadas no grupo de anúncios. Em uma modalidade, o ADS 108 é o mesmo servidor SCTE-130 usado para determinar a estrutura de grupo de anúncios. Em uma modalidade, o resolvedor de grupo de anúncios 216 armazena em cache respostas de colocação de anúncios para uso em oportunidades de substituição de anúncio futuras.
[0049] O transcodificador multitaxas de bits 204 encaminha as várias codificações para o segmentador multitaxas de bits 206. O resolvedor de grupo de anúncios 206 encaminha as notificações de grupo de anúncios de chegada e a informação de estrutura de grupo de anúncios para o segmentador multitaxas de bits 206. O segmentador multitaxas de bits 206 é responsável por gerar limites de segmento dinâmicos com base na estrutura de grupo de anúncios, de modo que cada anúncio começa em um novo limite de segmento e o reinicio do programa principal também começa em um novo limite de segmento. Em uma modalidade, o segmentador multi
20/38 taxas de bits 206 transfere os segmentos de substituição de anúncio especificados na resposta de colocação de anúncio, substituindo os segmentos gerados com os segmentos transferidos.
[0050] O segmentador multitaxas de bits 206 encaminha a informação de limite de segmento para o gerador de manifesto 208. O gerador de manifesto 208 cria arquivos de manifesto em tempo real atualizados, com metadados indicando comerciais de anúncios de chegada bem como o início e o fim real de cada anúncio. O gerador de manifesto 208 então encaminha o manifesto para o módulo de inserção de metadados de manifesto 218. O módulo de inserção de metadados de manifesto 218 é responsável por inserir metadados adicionais no manifesto (por exemplo, informação de localização de ADS 108, identificadores de programa, tempo de transmissão de programa original, restrições de anúncio de programa, informação demográfica de programa, etc.). O módulo de inserção de metadados de manifesto 218 é também responsável por executar reescrita de URL de segmento. Em uma modalidade, as URLs de segmento de anúncio são reescritas para apontar para os segmentos de anúncios de substituição especificados na resposta de colocação de anúncio. Em uma modalidade, as URLs de segmento de anúncio são reescritas para apontar para o ADS 108. Há múltiplos formatos de manifesto (por exemplo, HLS m3u8, DASH MPD, etc.) como deveria ser conhecido pelos versados na técnica. Dever-se-ia entender que o gerador de manifesto 208 e o módulo de inserção de metadados de manifesto 218 são flexíveis o bastante para suportar gerar e modificar qualquer formato de arquivo de manifesto válido, respectivamente. O módulo de inserção de metadados de manifesto carrega o manifesto final na CDN 104.
[0051] O segmentador multitaxas de bits 206 encaminha segmentos para o módulo de inserção de metadados em linha 210. O módulo de inserção de metadados em linha 210 é responsável por inserir notificações de comercial de anúncio de chegada e notificação de início e fim de anúncio exatos nos segmentos. Em uma modalidade, o módulo de inserção de metadados 210 também insere informação de endereço de rede para o ADS 108, bem como identificador de programa, tempo de transmissão de programa original, restrições de anúncio de programa, e informação
21/38 demográfica de programa.
[0052] Há múltiplos formatos de arquivo de segmento (por exemplo, MPEG-TS, DASH, RTP, etc.), bem como múltiplos métodos de inserção de metadados para cada formato (por exemplo, tags ID3, cabeçalhos e metadados padrão, canais de dados alternativos, etc.), como seria conhecido pelos versados na técnica. Dever-se-ia entender que o módulo de inserção de metadados em linha 210 é flexível o bastante para suportar a modificação de qualquer formato de arquivo de segmento válido usando qualquer método de inserção de metadados válido. O módulo d inserção de metadados em linha 210 então encaminha os segmentos para o criptografador de segmento 212 que criptografa os segmentos usando protocolos de criptografia padrão (por exemplo, AES-128, HC-128, RC4, etc.). O criptografador de segmento 212 carrega os segmentos finais na CDN 104.
[0053] A Figura 3 é um diagrama de blocoss para uma modalidade da presente invenção para implementar um cliente de streaming adaptativo HTTP 110. O cliente 110 inclui um reprodutor de mídia 306 que renderiza conteúdo, um proxy de manifesto 304 que realiza proxy transparente de solicitações de manifesto a partir do reprodutor de mídia 306, e um proxy de segmento 310 que realiza proxy transparente de solicitações de segmento a partir do reprodutor de mídia 306 e redireciona solicitações de segmento para substituir anúncios. O cliente 110 também contém um analisador de segmento 308 que extrai metadados de arquivos de segmentos, bem como analisador de manifesto 302 que extrai metadados dos arquivos de manifesto e reescreve arquivos de manifesto para substituir anúncios.
[0054] Em uma modalidade, o reprodutor de mídia 306 inicia reprodução solicitando um arquivo de manifesto a partir do proxy de manifesto 304. Em uma modalidade, o proxy de manifesto 304 restaura o manifesto a partir da CDN 104. Em outra modalidade, o proxy de manifesto 304 restaura o manifesto diretamente a partir do processador de fluxo ao vivo 102. O proxy de manifesto 304 fornece o manifesto para o analisador de manifesto 302 que detecta comerciais de anúncio de chegada, detecta o início e o fim de anúncios, e extrai metadados de anúncio a partir do arquivo de manifesto. Há múltiplos formatos de manifesto (por exemplo, HLS m3u8,
22/38
DASH MPD, etc.) como deveria ser conhecido pelos versados na técnica. Dever-seia entender que o proxy de manifesto 304 e o analisador de manifesto 302 são flexíveis o bastante para suportar gerar e modificar qualquer formato de arquivo de manifesto válido.
[0055] Em uma modalidade, o analisador de manifesto 302, mediante detecção de um comercial de anúncio de chegada, extrai informação de endereço de rede para o ADS 108 bem como qualquer identificação de programa, tempo de transmissão de programa original, restrição de anúncio, e/ou informação demográfica de programa e emite uma solicitação de colocação para o ADS 108. Em uma modalidade, o analisador de manifesto 302 inclui identidade de assinante e/ou usuário, localização, e/ou informação demográfica na solicitação de colocação de anúncio. Em uma modalidade, o ADS 108 responde com um arquivo de manifesto ou uma URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição. Em outra modalidade, o ADS 108 responde com um identificador de mídia de anúncio a ser usado para procurar informação de segmento de anúncio. Em outra modalidade, o ADS 108 responde com uma URL apontando para um arquivo autônomo, não adequado para inserção em um manifesto de streaming adaptativo a HTTP.
[0056] Em uma modalidade, se o ADS 108 retorna uma URL apontando para um arquivo autônomo, não adequado para inserção em um manifesto de streaming adaptativo a HTTP, o cliente 110 usará uma abordagem de dois reprodutores onde um reprodutor de mídia 306 é parado ou pausado e um segundo reprodutor de mídia (não mostrado) é criado para reproduzir o anúncio, antes de reiniciar a reprodução no primeiro reprodutor de mídia 306. Em outra modalidade, quando o ADS 108 retorna um arquivo de manifesto ou uma URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição, o analisador de manifesto 302 modificará o manifesto apresentado ao reprodutor de mídia 306, substituindo as URLs de segmento de anúncio em fluxo (e quaisquer URLs de chave de criptografia associadas e/ou metadados de chave de criptografia) com as URLs de segmento de substituição de anúncio (e quaisquer URLs de chave de criptografia
23/38 associadas e/ou metadados de chave de criptografia) fornecidas pelo ADS 108. O analisador de manifesto 302 pré-busca a informação de substituição de anúncio mediante a detecção de um comercial de anúncio de chegada e espera pelo início real do comercial de anúncio para substituir as URLs de segmento de anúncio. Em outra modalidade, quando o ADS 108 retoma um identificador de mídia de anúncio, o analisador de manifesto 302 primeiro consulta a informação de localização de segmento para o dado identificador de mídia de anúncio, antes de modificar o manifesto apresentado ao reprodutor de mídia 306, substituindo as URLs de segmento de anúncio em fluxo pelas URLs de segmento de substituição de anúncio (e quaisquer URLs de chave de criptografia associadas e/ou metadados de chave de criptografia) encontradas na consulta.
[0057] Em uma modalidade, se o anúncio de substituição é mais curto do que o anúncio em fluxo, o analisador de manifesto 302 pode escolher para somente substituir um subconjunto das URLs de segmento de anúncio em fluxo, permitindo que o reprodutor de mídia 306 desempenhe o restante do anúncio em fluxo. Em outra modalidade, se o anúncio de substituição é mais curto o que o anúncio em fluxo, o analisador de manifesto 302 pode escolher exibir uma mensagem ou imagem intersticial pelo restante da duração do anúncio em fluxo e somente permitir que o reprodutor de mídia 306 reintegre o fluxo ao vivo uma vez que o anúncio em fluxo esteja completo. Em uma modalidade, se o anúncio de substituição é mais longo do que o anúncio em fluxo, o analisador de manifesto 302 pode usar somente um subconjunto dos segmentos de substituição de anúncio permitindo que o reprodutor de mídia 306 retorne para o fluxo ao vivo sem completar o anúncio de substituição inteiro, para impedir que o usuário perca o conteúdo de fluxo ao vivo. Em uma modalidade, o analisador de manifesto 302 detecta o término da reprodução de anúncio com base na solicitação consistente por arquivos de manifesto incluindo todos os segmentos para um dado anúncio bem como uma solicitação por um manifesto contendo segmentos de não anúncio subsequentes. Em uma modalidade, o analisador de manifesto 302 emite uma mensagem de sinalização ao ADS 108 para informá-lo da reprodução de anúncio completa e gravar a impressão de anúncio. Em uma modalida
24/38 de, o analisador de manifesto 302 emite sinalizadores para cada solicitação de manifesto correspondente a um subsequente segmento de anúncio para fornecer informação de impressão de anúncio progressiva ao ADS 108.
[0058] Em uma modalidade, se o anúncio de substituição não suporta uma codificação idêntica a do segmento de fluxo ao vivo sendo substituído, o analisador de manifesto 302 pode escolher a partir de qualquer das codificações disponíveis. Em uma modalidade, o analisador de manifesto 302 pode estimar uma codificação menor (isto é, taxa de bits menor, taxa de quadros, resolução, etc.) para acomodar (isto é, compensar) maior latência em restaurar segmentos de anúncio. Em outra modalidade, o analisador de manifesto 302 pode estimar uma codificação maior (isto é, taxa de bits maior, taxa de quadro, resolução, etc.) para maximizar a qualidade do anúncio e a geração de lucros de anúncio. Em outra modalidade, o analisador de manifesto 302 pode escolher exibir uma mensagem ou imagem intersticial pela duração do anúncio em fluxo ao invés de selecionar uma codificação que não corresponde exatamente.
[0059] Em uma modalidade, o reprodutor de mídia 306, mediante o recebimento de um arquivo de manifesto, emite solicitações por arquivos de segmento para o proxy de segmento 310. Em uma modalidade, o proxy de segmento 310 detecta as solicitações por segmentos de anúncio com base na estrutura de URL do segmento. Há múltiplas formas de codificar metadados em uma URL (por exemplo, estrutura de URL, argumentos de cadeia de consulta, etc.), como deveria ser conhecido pelos versados na técnica. Dever-se-ia entender que o proxy de segmento 310 é flexível o bastante para suportar a detecção de solicitações de segmento de anúncio usando qualquer método de codificação de metadados baseado em URL válida. Em uma modalidade, segmentos de não anúncio são restaurados a partir da CDN 104. Em outra modalidade, os segmentos de não anúncio são restaurados diretamente a partir do processador de fluxo ao vivo 102.
[0060] O proxy de segmento 310 encaminha segmentos de não anúncio para o analisador de segmento 308. Em uma modalidade, o analisador de segmento 308 detecta notificações de comercial de anúncio de chegada embutidas nos segmentos
25/38 e extrai informação de endereço de rede para o ADS 108, bem como qualquer informação de programa, tempo de transmissão de programa original, restrição de anúncio, e/ou informação demográfica de programa. Há múltiplos formatos de arquivo de segmento (por exemplo, MPEG-TS, DASH, RTP, etc.), bem como múltiplos métodos de inserção de metadados para cada formato (por exemplo, tags ID3, cabeçalhos de metadados padrão, canais de dados alternativos, etc.), como deveria ser conhecido pelos versados na técnica. Dever-se-ia entender que o analisador de segmento 308 é flexível o bastante para suportar analisar e detectar metadados em qualquer formato de arquivo e segmento válido usando qualquer método de inserção de metadados válido. Em uma modalidade, o analisador de segmento 308 fornece notificações de comercial de anúncio de chegada ao analisador de manifesto 302. Em uma modalidade, o analisador de segmento 308 também fornece notificações de comercial de anúncio de chegada ao proxy de segmento 310. O analisador de segmento 308 responde ao reprodutor de mídia 306 com o segmento.
[0061] Em uma modalidade, o proxy de segmento 310, mediante o recebimento da notificação de um comercial de anúncio de chegada, emite uma solicitação de colocação de anúncio para o ADS 108 incluindo qualquer identificação de programa, tempo de transmissão de programa original, restrição de anúncio, e/ou informação demográfica de programa. Em uma modalidade, o proxy de segmento 310 inclui identidade de assinante e/ou de usuário, localização, e/ou informação demográfica na solicitação de colocação de anúncio. Em uma modalidade, o ADS 108 responde com um arquivo de manifesto ou uma URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição. Em uma modalidade, quando o proxy de segmento 310 detecta uma solicitação pelo primeiro segmento de anúncio, ele substitui o anúncio com o fornecido pelo ADS 108. Em uma modalidade, a resposta de colocação de anúncio e arquivo de manifesto é armazenada em cache para uso em oportunidades de substituição de anúncio futuras. Em uma modalidade, o proxy de segmento 310 transfere os segmentos de anúncio alternativos e os fornece ao analisador de segmento 308. O analisador de segmento 308 responde ao reprodutor de mídia 306 com o segmento alternativo. Em uma modalidade, o ana
26/38 lisador de segmento 308 descriptografa o segmento de anúncio e recriptografa o segmento de anúncio usando a mesma chave de criptografia do segmento de fluxo ao vivo sendo substituído antes de enviá-lo ao reprodutor de mídia 306.
[0062] Em uma modalidade, se o anúncio de substituição é mais curto do que o anúncio em fluxo, o proxy de segmento 310 pode escolher somente substituir um subconjunto das URLs de segmento de anúncio em fluxo, permitindo que o reprodutor de mídia 306 desempenhe o restante do anúncio em fluxo. Em outra modalidade, se o anúncio de substituição é mais curto do que o anúncio em fluxo, o proxy de segmento 310 pode escolher exibir um anúncio intersticial pelo restante da duração do anúncio em fluxo e somente permitir que o reprodutor de mídia 306 reintegre o fluxo ao vivo uma vez que o anúncio em fluxo esteja completo. Em uma modalidade, se o anúncio de substituição é mais longo do que o anúncio em fluxo, o proxy de segmento 310 pode usar somente um subconjunto dos segmentos de substituição de anúncio permitindo que o reprodutor de mídia 306 retome para o fluxo ao vivo sem reproduzir o anúncio de substituição inteiro até o fim, para impedir que o usuário perca o conteúdo de fluxo ao vivo.
[0063] Em uma modalidade, se o anúncio de substituição não suporta uma codificação idêntica ao segmento de fluxo ao vivo sendo substituído, o proxy de segmento 310 pode escolher a partir de quaisquer das codificações disponíveis. Em uma modalidade, o proxy de segmento 310 pode estimar uma codificação menor (isto é, taxa de bits menor, taxa de quadro, resolução, etc.) para acomodar (isto é, compensar) latência maior em restaurar segmentos de anúncio. Em outra modalidade, o proxy de segmento 310 pode estimar uma codificação maior (isto é, taxa de bits maior, taxa de quadro, resolução, etc.) para maximizar a qualidade de anúncio e a geração de lucro de anúncio. Em outra modalidade, o proxy de segmento 310 pode escolher exibir uma mensagem ou imagem intersticial pela duração do anúncio em fluxo ao invés de selecionar uma codificação que não corresponde exatamente.
[0064] Em uma modalidade, o proxy de segmento 310 detecta o último segmento para um anúncio e notifica o analisador de segmento 308 de que o segmento restaurado é o último para o anúncio atual. O analisador de segmento 308 extrai metada
27/38 dos de mensagem de sinalização de anúncio (por exemplo, uma URL à qual mensagens de sinalização deveríam ser postadas, informação de autenticação, e/ou o formato da mensagem sinalização) a partir do segmento. Em uma modalidade, o analisador de segmento 308 notifica o analisador de manifesto 302 quando o reprodutor de mídia 306 completa a recuperação do último segmento para o anúncio. Em outra modalidade, o analisador de segmento emite uma mensagem de sinalização para o ADS 108 para notificar o ADS 108 de que o reprodutor de mídia 306 completou a recuperação do último segmento para o dado anúncio e gravar a impressão de anúncio. Em uma modalidade, o analisador de segmento 308 emite sinalizadores para cada segmento de anúncio entregue ao reprodutor de mídia 306 para fornecer informação de impressão de anúncio progressiva para o ADS 108.
[0065] A Figura 4 é um diagrama de blocoss para uma modalidade da presente invenção para implementar um proxy de segmento de anúncio (proxy de rede) 106. O proxy de rede 106 inclui um analisador de solicitação de HTTP 402 que manipula e extrai metadados a partir de solicitações de restauração de manifesto e/ou segmento baseado em HHTP a partir de clientes 110, um módulo de seleção de anúncio 404 que seleciona anúncios de substituição e mapeia solicitações individuais para segmentos específicos, um módulo de entrega de segmento 408 que responde a clientes 110 com dados de segmentos armazenados em cache ou redirecionamentos de localização de segmento, e uma cache 406 para armazenar informação de colocação de anúncio, bem como segmentos de anúncio.
[0066] Em uma modalidade, o analisador de solicitação de HTTP 402 recebe uma solicitação de manifesto a partir do cliente 110. O analisador de solicitação de HTTP 402 restaura o manifesto atual a partir da CDN 104 e analisa os números de sequência de segmento de anúncio, identificadores de colocação, identificadores de programa, tempo de transmissão de programa original, restrições de anúncio, informação demográfica de programa, informação de assinante, e/ou identidade de usuário, localização, e/ou informação demográfica e os encaminha para o módulo de seleção de anúncio 404. Se o segmento mais novo (mais recentemente gerado) listado no manifesto é o primeiro segmento de um anúncio, o módulo de seleção de anúncio
28/38
404 emite uma solicitação de colocação de anúncio ao ADS 108 incluindo a informação extraída. Em uma modalidade, o módulo de seleção de anúncio 404 pode usar respostas de colocação de anúncio armazenadas em cache para solicitações de cliente 110 demograficamente similar. Em uma modalidade, o ADS 108 responde com um arquivo de manifesto ou uma URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição. Em outra modalidade, o ADS 108 responde com um identificador de mídia de anúncio usado para consultar informação de manifesto e/ou de segmento para o anúncio selecionado. Em uma modalidade, o módulo de seleção de anúncio 404 armazena a resposta de colocação de anúncio na cache 406. Se o manifesto contém múltiplos segmentos para o anúncio, o módulo de seleção de anúncio 404 restaura a informação de segmento para cada um dos segmentos de anúncio listados no manifesto, com base no número de sequência de segmento de anúncio a partir da cache 406. O módulo de seleção de anúncio 404 então encaminha o manifesto atualizado para o módulo de entrega de HTTP 408 que encaminha o manifesto modificado para o cliente 110.
[0067] Em uma modalidade, o analisador de solicitação de HTTP 402 recebe uma solicitação de segmento de anúncio a partir do cliente 110. O analisador de solicitação de HTTP 402 analisa os números de sequência de segmento de anúncio, identificadores de colocação, identificadores de programa, tempo de transmissão de programa original, restrições de anúncio, informação demográfica de programa, informação de assinante, e/ou identidade de usuário, localização, e/ou informação demográfica e os encaminha para o módulo de seleção de anúncio 404. Se a solicitação é para o primeiro segmento no anúncio, o módulo de seleção de anúncio 404 emite uma solicitação de colocação de anúncio para o ADS 108 incluindo a informação extraída. Em uma modalidade, o módulo de seleção de anúncio 404 pode usar respostas de colocação de anúncio armazenadas em cache para solicitações de cliente 110 demograficamente similar. Em uma modalidade, o ADS 108 responde com um arquivo de manifesto ou uma URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição. Em outra modalidade, o ADS 108 responde com um identificador de mídia de anúncio usado para consultar
29/38 informação de manifesto e/ou de segmento para o anúncio selecionado. Em uma modalidade, o módulo de seleção de anúncio 404 armazena a resposta de colocação de anúncio na cache 406. Se a solicitação é por um segmento que não o primeiro segmento no anúncio, o módulo de seleção de anúncio 404 restaura a informação de segmento para o segmento atual, com base no número de sequência de segmento de anúncio a partir da cache 406. O módulo de seleção de anúncio 404 então encaminha a informação de segmento para o módulo de entrega de HTTP 408. Em uma modalidade, o módulo de entrega de HTTP 408 realiza proxy da solicitação de segmento restaurando o segmento real da CDN 104 e encaminha os dados para o cliente 110. Em uma modalidade, o módulo de entrega de segmento 408 armazena o segmento restaurado na cache 406. Em uma modalidade, o módulo de entrega de segmento 408 usa os segmentos armazenados em cache a partir da cache 406 para responde aos clientes 110 diretamente. Em outra modalidade, o módulo de entrega de segmento 408 redireciona o cliente 110 para a localização do segmento na CDN 104 (por exemplo, usando redirecionamentos de HTTP 302). Em uma modalidade, o módulo de entrega de HTTP 408 descriptografa o segmento de anúncio e recriptografa o segmento de anúncio usando a mesma chave de criptografia do segmento de fluxo ao vivo sendo substituindo antes de enviá-lo para o cliente 110.
[0068] Em uma modalidade, se o anúncio de substituição não suporta uma codificação idêntica a do segmento de fluxo ao vivo sendo substituído, o módulo de seleção de anúncio 404 pode escolher dentre qualquer uma das codificações disponíveis. Em uma modalidade, o módulo de seleção de anúncio 404 pode estimar uma codificação maior (isto é, maior taxa de bits, taxa de quadro, resolução, etc.) para maximizar a qualidade do anúncio e a geração de lucros de anúncio. Em outra modalidade, o módulo de seleção de anúncio 404 pode escolher não substituir o anúncio no fluxo ao vivo se ele for incapaz de selecionar uma codificação que correspondente exatamente.
[0069] A Figura 5 é um fluxograma que descreve um processo 500 do processador de fluxo ao vivo 102 para executar segmentação baseada em limite de anúncio e inserção de metadados de anúncio. Na etapa 502, o processador de fluxo ao vivo
30/38
102 começa a gravar dados de feed ao vivo e analisar dados de tom de localização (por exemplo, identificadores de programa, programa atual e informação de estampa de tempo de relógio, etc.). O tempo de relógio atual está correlacionado com a estampa de tempo de programa e armazenado como o tempo de transmissão original. Em uma modalidade, o tempo de relógio atual e a estampa de tempo de programa são gravados como o início do processamento de fluxo ao vivo, e todos os tempos de relógio futuros são calculados como um deslocamento a partir do início do processamento de fluxo ao vivo, isto é, dado um tempo de relógio inicial W e uma estampa de tempo de programa inicial P, e uma razão de conversão de estampa de tempo de programa para tempo de relógio R, o tempo de relógio atual C pode ser calculado a partir da estampa de tempo de programa atual T como C = W + (T - P) * R. Os dados de feed ao vivo são alimentados no transcodificador na etapa 504, onde o fluxo de entrada é transcodificado em uma pluralidade de codificações usando diferentes codecs, taxas de bits, taxas de quadros, taxas de amostragem, e resoluções.
[0070] Na etapa 506-510, o processador de fluxo ao vivo 102 verifica e responde os dados no fluxo ao vivo. Em uma modalidade, o feed ao vivo contém tons de localização SCTE-35 que indicam grupos de anúncios de chegada (comerciais), o início de cada grupo de anúncios, e o fim de cada grupo de anúncios. Esses tons de localização são usados para processamento seletivo como agora descrito em detalhes. Em outra modalidade, os grupos de anúncios (comerciais) são definidos a priori e fornecidos fora de banda.
[0071] Na etapa 506, se os localizados indicam o início de um novo anúncio, o processamento prossegue para a etapa 520 onde o segmento atual é truncado e um novo segmento é iniciado de modo que o início do anúncio se alinhará com um limite de segmento. Os metadados de início de anúncio são inseridos no novo segmento. O processamento então prossegue para a etapa 516 onde o segmento truncado é criptografado e carregado na CDN 104. O processamento então prossegue para a etapa 518 onde o arquivo de manifesto é atualizado com a informação de segmento truncado e os metadados de início de anúncio para o segmento subsequente são
31/38 carregados na CDN 104. O processamento então prossegue de volta para a etapa 502 onde o processamento do feed ao vivo continua.
[0072] Na etapa 506, se os localizadores não indicam o início de um anúncio, o processamento continua para a etapa 508. Na etapa 508, se os localizadores indicam o fim de um anúncio, o processamento prossegue para a etapa 522 onde o segmento atual é truncado e um novo segmento é iniciado de modo que o início do próximo programa (seja ele um anúncio ou o programa principal) se alinhará com um limite de segmento. Os metadados de mensagem de sinalização de anúncio são inseridos no segmento truncado. O processamento então prossegue para a etapa 516 onde o segmento truncado é criptografado e carregado na CDN 104. O processamento então prossegue para a etapa 518 onde o arquivo de manifesto é atualizado com a informação de segmento truncado e tanto os metadados de fim de anúncio quanto os metadados de mensagem de sinalização de anúncio são carregados na CDN 104. O processamento então prossegue de volta para a etapa 502 onde o processamento do feed ao vivo continua.
[0073] Na etapa 508, se os localizadores não indicam o fim de um anúncio, o processamento continua para a etapa 510. Na etapa 510, se os localizadores não indicam um comercial de anúncio de chegada, o processamento prossegue diretamente para a etapa 512. Na etapa 510, se os localizadores indicam um comercial de anúncio de chegada, o processamento prossegue para a etapa 526 na qual os metadados são inseridos no segmento atual especificando o comercial de anúncio de chegada, bem como o identificador de programa, tempo de transmissão de programa original, restrições de anúncio de programa, e metadados de informação demográfica de programa. Os metadados de comercial de anúncio, bem como identificador de programa, tempo de transmissão de programa original, restrições de anúncio de programa, e metadados de informação demográfica de programa são também inseridos no arquivo de manifesto. Em uma modalidade, os descritores de programa SCTE-35 descrevem a estrutura (isto é, o número de anúncios e a duração de cada anúncio) do grupo de anúncios. Em outra modalidade, na etapa 526, o processador de fluxo ao vivo 102 emite uma solicitação SCTE-130 para o ADS 108 para determi
32/38 nar a estrutura (isto é, o número de anúncios e a duração de cada anúncio) do grupo de anúncios. Em uma modalidade, a solicitação SCTE-130 inclui o identificador de programa e o tempo de relógio de programa correlacionado C para o ponto de localização. Os dados de localização para o grupo de anúncios atual são atualizados com a informação de estrutura de grupo de anúncios retomada pelo ADS 108. O processamento então prossegue para a etapa 512.
[0074] Na etapa 512, uma verificação é executada para ver se o segmento está completo (em termos da duração do segmento). Sob circunstâncias normais, os segmentos são considerados completos quando sua duração é maior ou igual à duração do segmento alvo fixa. Em uma modalidade, as durações dos segmentos são um múltiplo fixo da duração de GOP (grupo de imagens). Segmentos mais curtos podem ser criados nas etapas 520 e 522 se truncagem é exigida para alinhar apropriadamente inícios de segmento a limites de programa. De outra forma, os segmentos são criados em limites de duração na etapa 512. Se o segmento não está ainda completo, o processamento prossegue de volta para a etapa 502 onde o processamento de fluxo ao vivo continua. Se o segmento está completo, o processamento prossegue para a etapa 514 onde o segmento atual é fechado e um novo segmento é iniciado. O processamento prossegue para a etapa 516 onde o segmento completo é criptografado e carregado na CDN 104. O processamento então prossegue para a etapa 518 onde o manifesto é atualizado com a informação de segmento completa e carregado na CDN 104. Em uma modalidade, o processo mantém estado com relação a se ou não o segmento atual sendo processado é parte de um anúncio (isto é, mantendo rastreio do início e fim de tons de localização) e metadados adicionais são adicionados ao manifesto, incluindo números de sequência de segmento de anúncio. O processamento então prossegue de volta para a etapa 502 onde o processamento do feed ao vivo continua.
[0075] A Figura 6 é um fluxograma que descreve um processo 600 para executar substituição de anúncio alvo no lado do cliente. O processo é dividido em duas partes: realizando proxy de manifesto nas etapas 602 a 620 e realizando proxy de de segmento nas etapas 652 a 666. Os dois processos poderíam ser usados indepen
33/38 dentemente, ou em conjunto. Apesar de solicitações de colocação de anúncio serem especificadas em ambos os processos, se os dois processos são usados juntos, não há necessidade de emitir duas solicitações de colocação de anúncio.
[0076] No realizando proxy de manifesto começando na etapa 602, o proxy de manifesto 304 recebe uma solicitação de manifesto a partir do reprodutor de mídia 306. O proxy de manifesto 304 restaura um manifesto atualizado a partir da CDN 104 e analisa metadados de anúncio inseridos pelo processador de fluxo ao vivo 102. Na etapa 604, uma verificação é executada para ver se um novo início de anúncio é indicado no manifesto. Se um novo início de anúncio é indicado na etapa 604, o processamento prossegue para a etapa 606 onde o sinalizador de substituição de anúncio é configurado, indicando ao analisador de manifesto 302 que a reescrita de manifesto deveria ocorrer. O processamento então prossegue para a etapa 608. Se um novo início de anúncio não é indicado, o processamento prossegue a partir da etapa 604 diretamente para a etapa 608.
[0077] Na etapa 608, uma verificação é executada para ver se o fim do anúncio atual é indicado no manifesto. Se o fim do anúncio é indicado, o processamento prossegue para a etapa 610 onde o sinalizador de substituição de anúncio é desconfigurado, indicando ao analisador de manifesto 302 que a reescrita de manifesto deveria parar. Uma mensagem de sinalização é também enviada para o ADS 108 para indicar o término da reprodução de anúncio. O processamento então prossegue para a etapa 612. Se o fim do anúncio não é indicado, o processamento prossegue da etapa 608 diretamente para a etapa 612.
[0078] Na etapa 612, uma verificação é executada para ver se um comercial de anúncio de chegada é indicado no manifesto. Se um comercial de anúncio de chegada é indicado, o processamento prossegue para a etapa 614 onde uma solicitação de colocação de anúncio é emitida para o ADS 108. Em uma modalidade, o ADS 108 retoma um arquivo de manifesto ou URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição. Em outra modalidade, o ADS 108 retorna um identificador de mídia de anúncio usado para consultar a informação de localização de manifesto e/ou segmento para o anúncio seleciona
34/38 do. O manifesto é salvo para uso futuro na substituição de segmento de anúncio. O processamento então prossegue para a etapa 616. Se um novo início de anúncio não é indicado, o processamento prossegue da etapa 612 diretamente para a etapa 616.
[0079] Na etapa 616, uma verificação é executada para ver se a substituição de anúncio está atualmente em progresso, pela etapa 606. Se a substituição de anúncio está ativa, o processamento prossegue para a etapa 618 onde a reescrita de manifesto ocorre. O analisador de manifesto 302 seleciona o próximo segmento de substituição de anúncio sequencial e insere sua URL (junto com a URL de chave de criptografia associada e/ou metadados de chave de criptografia) no manifesto. O processamento então prossegue para a etapa 620. Se um novo início de anúncio não é indicado, o processamento prossegue da etapa 616 diretamente para a etapa 620. Na etapa 620, o manifesto é retomado para o reprodutor de mídia 306.
[0080] Ao realizar proxy de segmento começando na etapa 652, o proxy de segmento 310 recebe uma solicitação de segmento a partir do reprodutor de mídia 306.
[0081] Na etapa 654, uma verificação é executada para ver se a solicitação é pelo primeiro segmento de um anúncio. Se a solicitação é pelo primeiro segmento de um anúncio, o processamento prossegue para a etapa 656 onde uma solicitação de colocação de anúncio é emitida para o ADS 108. Em uma modalidade, o ADS 108 retoma um arquivo de manifesto ou uma URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição. Em outra modalidade, o ADS 108 retoma um identificador de mídia de anúncio usado para consultar a informação de localização de manifesto e/ou segmento para o anúncio selecionado. O manifesto é salvo para uso na substituição de segmentos de anúncio subsequentes para o anúncio selecionado. Em uma modalidade, a resposta de colocação de anúncio e o arquivo de manifesto são armazenados em cache para uso em futuras oportunidades de substituição de anúncio. O primeiro segmento do anúncio de substituição é selecionado e restaurado. O processamento então prossegue para a etapa 658. Se a solicitação não é pelo primeiro segmento de um anúncio, o pro
35/38 cessamento prossegue da etapa 654 diretamente para a etapa 658.
[0082] Na etapa 658, uma verificação é executada para ver se a solicitação é pelo último segmento do anúncio atual. Se a solicitação é pelo último segmento do anúncio atual, o processamento prossegue para a etapa 660 onde uma mensagem de sinalização é enviada para o ADS 108 para indicar o término da reprodução de anúncio. O processamento então prossegue para a etapa 662. Se a solicitação é agora pelo último segmento do anúncio atual, o processamento prossegue da etapa 658 diretamente para a etapa 662.
[0083] Na etapa 662, uma verificação é executada para ver se a substituição de anúncio está atualmente em progresso, pela etapa 656. Se a substituição de anúncio está ativa, o processamento prossegue para a etapa 664 onde o segmento de substituição de anúncio atual é retomado para o reprodutor de mídia 306. Em uma modalidade, o analisador de segmento 308 descriptografa o segmento de anúncio e recriptografa o segmento de anúncio usando a mesma chave de criptografia do segmento de fluxo ao vivo sendo substituído antes de enviá-lo para o reprodutor de mídia 306. Se a substituição de anúncio não está ativa, o processamento prossegue da etapa 662 diretamente para a etapa 666. Na etapa 666, o segmento de fluxo solicitado é retomado para o reprodutor de mídia 306.
[0084] A Figura 7 é um fluxograma que descreve os processos do proxy de rede 106 para executar substituição de anúncio alvo baseado em proxy de rede. Há dois subprocessos: realizando proxy de segmento no subprocesso 700A tendo as etapas 702-718 (Figura 7A), e realizando proxy de manifesto no subprocesso 700B tendo as etapas 752-764 (Figura 7B). Os dois processos poderíam ser usados independentemente ou em conjunto. Apesar de solicitações de colocação de anúncio serem especificadas em ambos os processos, se os dois processos são usados juntos, não há necessidade de emitir duas solicitações de colocação de anúncio.
[0085] Começando com o subprocesso de realizando proxy de segmento 700A, na etapa 702, o proxy de rede 106 recebe e analisa uma solicitação de segmento de anúncio a partir do cliente 110. Na etapa 704, uma verificação é executada para ver se esse é o primeiro segmento de um novo anúncio. Se a solicitação é por um novo
36/38 anúncio, o processamento prossegue para a etapa 706 onde metadados de anúncio, incluindo ponto (colocação) de anúncio, identificador de programa, tempo de transmissão de programa original, restrições de colocação de anúncio, e informação demográfica de programa, bem como identidade de assinante e/ou de usuário, localização, e/ou informação demográfica é extraído da solicitação. Uma solicitação de colocação de anúncio é então emitida ao ADS 108. Em uma modalidade, o ADS 108 retorna um arquivo de manifesto ou uma URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição. Em outra modalidade, o ADS 108 retorna um identificador de mídia de anúncio usado para consultar a informação de localização de manifesto e/ou segmento para o anúncio selecionado. O proxy de rede 106 armazena a resposta de colocação de anúncio bem como um mapeamento entre a solicitação de anúncio de cliente atual 110 à resposta de colocação de anúncio de modo que as subsequentes solicitações de segmento de anúncio possam ser apropriadamente mapeadas para continuação do anúncio selecionado. Em uma modalidade, a resposta de colocação de anúncio e o arquivo de manifesto são armazenadas em cache para uso em futuras oportunidades de substituição de anúncio. Na etapa 704, se a solicitação não foi por um novo anúncio, o processamento prossegue para a etapa 708, onde a solicitação de anúncio de cliente 110 é mapeada para uma resposta de colocação de anúncio, e o próximo segmento apropriado é selecionado.
[0086] Uma vez que o processamento está completo nas etapas 706 ou 708, o processamento prossegue para a etapa 710, onde a entrega de segmento de anúncio começa. Na etapa 710, uma verificação é executada para ver se o segmento desejado é armazenado em cache localmente. Se o segmento é armazenado localmente, o processamento prossegue para a etapa 712 onde o segmento é restaurado a partir da cache local 406 e entregue para o cliente 110. Se o segmento não é armazenado em cache localmente, o processamento prossegue da etapa 710 diretamente para a etapa 714 onde uma verificação é executada para ver se o redirecionamento é permitido. Se o redirecionamento é permitido, o processamento prossegue para a etapa 716 onde o proxy de rede 106 emite um redirecionamento de
37/38
HTTP 302 para o cliente 110, direcionando-o para a localização do segmento de anúncio selecionado na CDN 104. Se o redirecionamento não é permitido, o processamento prossegue da etapa 714 diretamente para a etapa 718 onde o proxy de rede 106 começa a restaurar o segmento de anúncio selecionado a partir da CDN 104 e realiza proxy transparente para o cliente 110. Em uma modalidade, o proxy de rede 106 descriptografa o segmento de anúncio e recriptografa o segmento de anúncio usando a mesma chave de criptografia do segmento de fluxo ao vivo sendo substituído antes de enviá-lo para o cliente 110. Em uma modalidade, os dados de segmento de anúncio são também armazenados localmente na cache 406.
[0087] Agora voltando para o subprocesso de realizar proxy de manifesto 700B, na etapa 752, o proxy de rede 106 recebe e analisa uma solicitação de manifesto a partir do cliente 110. O processamento então continua para a etapa 753 onde o proxy de rede 106 restaura o arquivo de manifesto de fluxo ao vivo atual a partir da CDN 104. Na etapa 754, uma verificação é executada para ver se o segmento mais recente (mais novo) no manifesto é o primeiro segmento de um novo anúncio. Se o manifesto contém o início de um novo anúncio, o processamento prossegue para a etapa 756 onde os metadados de anúncio, incluindo ponto (colocação) de anúncio, identificador de programa, tempo de transmissão de programa original, restrições de colocação de anúncio, e informação demográfica de programa, bem como identidade de assinante e/ou de usuário, localização, e/ou informação demográfica é extraída da solicitação. Uma solicitação de colocação de anúncio é então emitida para o ADS 108. Em uma modalidade, o ADS 108 retoma um arquivo de manifesto ou uma URL apontando para um arquivo de manifesto especificando os segmentos para o anúncio de substituição. Em outra modalidade, o ADS 108 retoma um identificador de mídia de anúncio usado para consultar a informação de localização de manifesto e/ou segmento para o anúncio selecionado. O proxy de rede 106 armazena a resposta de colocação de anúncio, bem como um mapeamento entre a solicitação de anúncio de cliente atual 110 à resposta de colocação de anúncio de modo que as subsequentes solicitações de segmento de anúncio possam ser apropriadamente mapeadas para continuação do anúncio selecionado. Em uma modalidade, a res
38/38 posta de colocação de anúncio e o arquivo de manifesto são armazenados em cache para uso em futuras oportunidades de substituição de anúncio. Uma vez que a informação de anúncio é restaurada, o processamento continua para a etapa 762. [0088] Na etapa 754, se o manifesto não contém o início de um novo anúncio, o processamento prossegue para a etapa 758 onde uma verificação é executada para ver se o manifesto contém segmentos de anúncio que estão atualmente sendo substituídos. Se não há segmentos de anúncio no manifesto, o processamento continua para a etapa 764 onde o manifesto não modificado é retornado para o cliente 110. Se segmentos de anúncio, que não somente o primeiro segmento de anúncio, existem no manifesto na etapa 758, o processamento continua para a etapa 760 onde a informação de substituição de anúncio é restaurada a partir da cache 406. O processamento então continua para a etapa 762.
[0089] Na etapa 762, o proxy de rede 106 substitui URLs de segmento de anúncio no manifesto de fluxo ao vivo com as URLs de segmento de substituição de anúncio (junto com qualquer URL de chave de criptografia associada e/ou metadados de chave de criptografia) restauradas a partir do ADS 108 e retorna o arquivo de manifesto modificado para o cliente 110.
[0090] Embora a descrição acima inclua numerosas especificações no interesse de possibilitar um completo entendimento, está claro que a presente invenção pode ser realizada de uma variedade de outras maneiras e abrange todas as implementações que estão dentro do escopo das reivindicações citadas aqui.

Claims (12)

  1. REIVINDICAÇÕES
    1. Método para substituição de anúncio alvo, caracterizado por compreender:
    processar e renderizar dados de segmento em um cliente;
    detectar metadados indicando limites de programa;
    extrair informações de servidor de decisão de anúncio, identificador de programa, e/ou local de anúncio (oportunidade de colocação) dos metadados;
    emitir uma solicitação de colocação de anúncio para o servidor de decisão de anúncio;
    receber e processar a resposta de colocação de anúncio do servidor de decisão de anúncio;
    detectar metadados indicando o início de um limite de programa de anúncio;
    substituir segmentos de ativos de anúncio de fluxo com segmentos indicados na resposta de colocação de anúncio;
    detectar metadados indicando o fim do limite de programa de anúncio; e retomar a reprodução do fluxo.
  2. 2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que os próximos limites de anúncio do programa são detectados através de metadados em linha, incluindo tags ID3, tipos de quadros proprietários, e cabeçalhos de metadados proprietários.
  3. 3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a detecção de metadados indicando os limites do programa inclui detectar metadados indicando próximos limites do programa, os metadados colocados à frente dos próximos limites de programa por um tempo pré-determinado, durante o qual as etapas de emissão e recepção e processamento são executadas.
  4. 4. Método de acordo com a reivindicação 1, caracterizado pelo fato de que os próximos limites do programa são detectados através de metadados do arquivo manifesto, incluindo comentários HLS M3U8, e etiquetas/comentários DASH MPD.
    2/3
  5. 5. Método de acordo com a reivindicação 1, caracterizado pelo fato de que limites iniciais e limites finais de programa de anúncio são detectados através de metadados do arquivo manifesto, incluindo comentários HLS m3u8 e etiquetas/comentários DASH MPD.
  6. 6. Método de acordo com a reivindicação 1, caracterizado pelo fato de que as informações de servidor de decisão de anúncio, identificador de programa e/ou local de anúncio (oportunidade de colocação) são detectadas através de um dentre:
    metadados em linha, incluindo tags ID3, tipos de quadros proprietários, e cabeçalhos de metadados proprietários; e metadados do arquivo manifesto, incluindo comentários HLS m3U8 e etiquetas/comentários DASH MPD.
  7. 7. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o servidor de decisão de anúncio é um dentre:
    um servidor SCTE-130; e uma rede ad terceiros.
  8. 8. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de identidade do assinante, localização e/ou informação demográfica é incluída nas solicitações de colocação de anúncio.
  9. 9. Método de acordo com a reivindicação 1, caracterizado pelo fato de que pedidos do segmento são acrescentados com identificação de assinante, localização e/ou informações demográficas, e o método compreendendo adicionalmente um dentre:
    fazer proxy e modificar o arquivo de manifesto para acrescentar de identidade do assinante, localização e/ou informações demográficas para URLs de segmento processados pelo reprodutor de mídia; e fazer proxy e modificar a solicitação de segmento para anexar identidade do assinante, localização e/ou informações demográficas para URLs de segmento.
  10. 10. Método de acordo com a reivindicação 1, caracterizado pelo fato de que as respostas do servidor de decisão de anúncio são armazenadas localmente
    3/3 em cache para uso em futuras oportunidades de substituição de anúncio.
  11. 11. Método de acordo com a reivindicação 1, caracterizado por compreender adicionalmente o envio de mensagens de comunicação de sinalizador completada a reprodução de anúncio.
  12. 12. Dispositivo computadorizado operável como um cliente em um sistema de entrega de conteúdo, caracterizado por compreender:
    uma memória que armazena instruções de programa de computador;
    um ou mais processadores para executar as instruções;
    um conjunto de circuitos de entrada/saída (l/O) que conecta o dispositivo computadorizado a dispositivos externos; e um conjunto de circuitos de interligação que conecta a memória, o(s) processadores) e o conjunto de circuitos de l/O em conjunto, em que as instruções de programa de computador são operativas quando executadas pelo(s) processadores) para fazer com que o dispositivo computadorizado execute o método conforme definido em qualquer uma das reivindicações 1 a 11.
BR122015005194-0A 2012-06-28 2013-06-28 Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top BR122015005194A2 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261665373P 2012-06-28 2012-06-28
US61/665,373 2012-06-28
BR112014032829A BR112014032829A2 (pt) 2012-06-28 2013-06-28 método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top
PCT/US2013/048433 WO2014004955A1 (en) 2012-06-28 2013-06-28 Method and system for ad insertion in over-the-top live media delivery

Publications (1)

Publication Number Publication Date
BR122015005194A2 true BR122015005194A2 (pt) 2019-08-20

Family

ID=49783889

Family Applications (3)

Application Number Title Priority Date Filing Date
BR122015005194-0A BR122015005194A2 (pt) 2012-06-28 2013-06-28 Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top
BR122015005210-6A BR122015005210A2 (pt) 2012-06-28 2013-06-28 Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top
BR112014032829A BR112014032829A2 (pt) 2012-06-28 2013-06-28 método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top

Family Applications After (2)

Application Number Title Priority Date Filing Date
BR122015005210-6A BR122015005210A2 (pt) 2012-06-28 2013-06-28 Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top
BR112014032829A BR112014032829A2 (pt) 2012-06-28 2013-06-28 método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top

Country Status (8)

Country Link
US (2) US10373196B2 (pt)
EP (1) EP2868097A4 (pt)
JP (1) JP2015527795A (pt)
CN (1) CN104756505B (pt)
BR (3) BR122015005194A2 (pt)
IN (1) IN2015DN00630A (pt)
WO (1) WO2014004955A1 (pt)
ZA (1) ZA201500604B (pt)

Families Citing this family (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132720B2 (en) * 2001-05-11 2021-09-28 Iheartmedia Management Services, Inc. Media delivery to limited capability platforms
US20110264530A1 (en) 2010-04-23 2011-10-27 Bryan Santangelo Apparatus and methods for dynamic secondary content and data insertion and delivery
US9838450B2 (en) 2010-06-30 2017-12-05 Brightcove, Inc. Dynamic chunking for delivery instances
US9762639B2 (en) 2010-06-30 2017-09-12 Brightcove Inc. Dynamic manifest generation based on client identity
US9148707B2 (en) * 2012-07-13 2015-09-29 Lodgenet Interactive Corporation System and method to provide out-of-band broadcast trigger synchronization and communication to insertion devices
JP5860389B2 (ja) * 2012-11-27 2016-02-16 日本電信電話株式会社 Web閲覧履歴取得システム及び方法及びプロキシサーバ及びWeb閲覧履歴取得プログラム
US9977903B2 (en) 2012-12-05 2018-05-22 International Business Machines Corporation Detecting security vulnerabilities on computing devices
US10217138B1 (en) * 2013-01-29 2019-02-26 Amazon Technologies, Inc. Server-side advertisement injection
US9338521B2 (en) * 2013-02-22 2016-05-10 Microsoft Technology Licensing, Llc Overwriting existing media content with viewer-specific advertisements
US11710151B2 (en) * 2013-04-23 2023-07-25 Brightcove Inc. Live ad processing engine service
US9124947B2 (en) 2013-09-04 2015-09-01 Arris Enterprises, Inc. Averting ad skipping in adaptive bit rate systems
US9743124B2 (en) 2013-09-12 2017-08-22 Wideorbit Inc. Systems and methods to deliver a personalized mediacast with an uninterrupted lead-in portion
US9332047B2 (en) * 2013-09-30 2016-05-03 Brightcove Inc. Dynamic chunk manipulation for streaming mixed live and on-demand media: dynamic permutation layer
JP2017504996A (ja) 2013-11-27 2017-02-09 インターデイジタル パテント ホールディングス インコーポレイテッド メディアプレゼンテーション記述
US9866603B1 (en) * 2014-03-24 2018-01-09 Amazon Technologies, Inc. Enabling start-over TV in adaptive bitrate delivery
WO2015149231A1 (en) * 2014-03-31 2015-10-08 Telefonaktiebolaget L M Ericsson (Publ) Method and broadcast multicast service center, bm-sc, node for providing an on-request service
US9888047B2 (en) * 2014-04-03 2018-02-06 Cisco Technology, Inc. Efficient on-demand generation of ABR manifests
US20150302487A1 (en) * 2014-04-17 2015-10-22 Ericsson Television Inc. Method and arrangement for providing adaptive bitrate-dynamic advertisements
US11122315B2 (en) 2014-05-13 2021-09-14 Wideorbit Llc Systems and methods to identify video content types
US10091263B2 (en) 2014-05-21 2018-10-02 Audible Magic Corporation Media stream cue point creation with automated content recognition
US10057618B2 (en) 2014-06-06 2018-08-21 Microsoft Technology Licensing, Llc System for filtering media manifests using manifest attributes
US9794603B1 (en) * 2014-06-19 2017-10-17 Cox Communications, Inc. System and method for inserting and assigning a channel or program link per device or user
US9491499B2 (en) * 2014-06-30 2016-11-08 Arjen Wagenaar Dynamic stitching module and protocol for personalized and targeted content streaming
US10033824B2 (en) 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
US10230781B2 (en) 2014-07-01 2019-03-12 Futurewei Technologies, Inc. Client behavior control in adaptive streaming
CN106664592B (zh) 2014-07-16 2020-08-18 腾赛拉网络有限公司 用于内容分发的方法和系统及相应的计算机可读介质
US9979796B1 (en) 2014-07-16 2018-05-22 Tensera Networks Ltd. Efficient pre-fetching notifications
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US10178431B2 (en) * 2014-07-28 2019-01-08 Adobe Inc. Hybrid stream delivery
US10506027B2 (en) 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
US10142697B2 (en) 2014-08-28 2018-11-27 Microsoft Technology Licensing, Llc Enhanced interactive television experiences
US9679315B2 (en) 2014-09-01 2017-06-13 AdSupply, Inc. Systems and methods to bypass online advertisement blockers
US9177335B1 (en) * 2014-09-01 2015-11-03 AdSupply, Inc. Systems and methods to bypass online advertisement blockers
US10028025B2 (en) 2014-09-29 2018-07-17 Time Warner Cable Enterprises Llc Apparatus and methods for enabling presence-based and use-based services
US20160094601A1 (en) * 2014-09-30 2016-03-31 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US10194177B1 (en) * 2014-10-16 2019-01-29 Sorenson Media, Inc. Interweaving media content
WO2016063161A1 (en) * 2014-10-19 2016-04-28 Tensera Networks Ltd. Partial prefetching of indexed content
US9509742B2 (en) 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10084838B2 (en) * 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US10142386B2 (en) 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US9848241B2 (en) 2014-11-05 2017-12-19 Microsoft Technology Licensing, Llc Increased user efficiency and interaction performance through dynamic adjustment of auxiliary content duration
US9723095B2 (en) 2014-12-05 2017-08-01 At&T Intellectual Property I, L.P. Multi delivery method policy controlled client proxy
US9479801B2 (en) * 2014-12-19 2016-10-25 Telefonaktiebolaget L M Ericsson (Publ) End user-based personalized ad insertion in broadcast-broadband hybrid terminals
US9596491B2 (en) * 2014-12-19 2017-03-14 Arris Enterprises, Inc. Detection of failures in advertisement replacement
WO2016106360A1 (en) * 2014-12-22 2016-06-30 Hernandez-Mondragon Edwin A Method, system, and apparatus for multimedia content delivery to cable tv and satellite operators
US9525898B2 (en) * 2014-12-30 2016-12-20 Videology Inc. Method and system for assessing viewing quality of media objects
US9961004B2 (en) * 2015-02-18 2018-05-01 Viasat, Inc. Popularity-aware bitrate adaptation of linear programming for mobile communications
US9438936B1 (en) * 2015-04-03 2016-09-06 Mirriad Limited Producing video data
WO2016174960A1 (ja) * 2015-04-30 2016-11-03 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
US10567816B2 (en) * 2015-04-30 2020-02-18 Comcast Cable Communications, Llc Delivering content
US9723470B1 (en) 2015-04-30 2017-08-01 Tensera Networks Ltd. Selective enabling of data services to roaming wireless terminals
US9276983B2 (en) 2015-05-01 2016-03-01 Amazon Technologies, Inc. Content delivery network video content invalidation through adaptive bitrate manifest manipulation
US9510025B1 (en) * 2015-06-03 2016-11-29 Mobitv, Inc. Live consecutive ad insertion
US10986379B2 (en) 2015-06-08 2021-04-20 Wideorbit Llc Content management and provisioning system
US10779057B2 (en) * 2015-06-08 2020-09-15 Qualcomm Incorporated Broadcast content redistribution and ad insertion
US9742870B2 (en) * 2015-06-19 2017-08-22 Arris Enterprises Llc Selective download of alternate media files
CN104954894B (zh) * 2015-06-26 2019-03-26 网宿科技股份有限公司 一种视频流量引导方法、装置及一种电子设备
CN105049896B (zh) * 2015-07-23 2019-11-12 Tcl集团股份有限公司 一种基于hls协议的流媒体广告插入方法及系统
US9654841B2 (en) 2015-08-28 2017-05-16 Echostar Technologies L.L.C. Apparatus, systems and methods for distribution of addressable content
WO2017038065A1 (en) * 2015-09-02 2017-03-09 Sharp Kabushiki Kaisha Mapping event signaling to html
KR101916022B1 (ko) * 2015-10-06 2018-11-07 한국전자통신연구원 세그먼트 기반의 방송 콘텐츠 반복 전송 방법 및 장치
WO2017117422A1 (en) * 2015-12-29 2017-07-06 Echostar Technologies L.L.C Methods and apparatus for presenting advertisements during playback of recorded television content
JP6738639B2 (ja) * 2016-04-08 2020-08-12 朝日放送テレビ株式会社 配信システム、ミッドロールサーバ、端末装置、広告発火装置、情報処理方法、およびプログラム
GB2565924A (en) * 2016-04-15 2019-02-27 Gala Prompter Ltd System and method for distribution and synchronized presentation of content
US10586023B2 (en) * 2016-04-21 2020-03-10 Time Warner Cable Enterprises Llc Methods and apparatus for secondary content management and fraud prevention
US10491648B2 (en) * 2016-05-13 2019-11-26 Cisco Technology, Inc. Server-side interstitial content insertion
US10701415B2 (en) * 2016-05-19 2020-06-30 Arris Enterprises Llc Method and apparatus for segmenting data
US10701040B2 (en) * 2016-05-23 2020-06-30 Amazon Technologies, Inc. Protecting content-stream portions from modification or removal
US10820063B2 (en) * 2016-06-10 2020-10-27 Arris Enterprises Llc Manifest customization in adaptive bitrate streaming
US10193944B2 (en) * 2016-06-17 2019-01-29 Q Technologies Inc. Systems and methods for multi-device media broadcasting or recording with active control
US10516715B2 (en) 2016-06-22 2019-12-24 Telefonaktiebolaget Lm Ericsson (Publ) Network-controlled time-shift live media and advertisement content play for learned ABR video white spot coverage in a streaming network
US10313408B2 (en) * 2016-06-22 2019-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Client-assisted time-shift live media and advertisement content play for learned ABR video white spot coverage in a streaming network
US10313721B1 (en) * 2016-06-22 2019-06-04 Amazon Technologies, Inc. Live streaming media content using on-demand manifests
US10277929B1 (en) 2016-06-22 2019-04-30 Amazon Technologies, Inc. Live streaming media content using on-demand manifests
CN106993016B (zh) * 2016-07-20 2019-04-02 平安科技(深圳)有限公司 网络请求及响应的处理方法和装置
US11617019B2 (en) * 2016-07-28 2023-03-28 Qualcomm Incorporated Retrieving and accessing segment chunks for media streaming
US10063612B2 (en) * 2016-09-30 2018-08-28 Amazon Technologies, Inc. Request-based encoding for streaming content portions
US11051074B2 (en) 2016-12-31 2021-06-29 Turner Broadcasting System, Inc. Publishing disparate live media output streams using live input streams
US11038932B2 (en) 2016-12-31 2021-06-15 Turner Broadcasting System, Inc. System for establishing a shared media session for one or more client devices
US11134309B2 (en) 2016-12-31 2021-09-28 Turner Broadcasting System, Inc. Creation of channels using pre-encoded media assets
US10992973B2 (en) 2016-12-31 2021-04-27 Turner Broadcasting System, Inc. Publishing a plurality of disparate live media output stream manifests using live input streams and pre-encoded media assets
US11051061B2 (en) 2016-12-31 2021-06-29 Turner Broadcasting System, Inc. Publishing a disparate live media output stream using pre-encoded media assets
US11109086B2 (en) 2016-12-31 2021-08-31 Turner Broadcasting System, Inc. Publishing disparate live media output streams in mixed mode
US10856016B2 (en) 2016-12-31 2020-12-01 Turner Broadcasting System, Inc. Publishing disparate live media output streams in mixed mode based on user selection
US10965967B2 (en) 2016-12-31 2021-03-30 Turner Broadcasting System, Inc. Publishing a disparate per-client live media output stream based on dynamic insertion of targeted non-programming content and customized programming content
US11503352B2 (en) 2016-12-31 2022-11-15 Turner Broadcasting System, Inc. Dynamic scheduling and channel creation based on external data
US11962821B2 (en) 2016-12-31 2024-04-16 Turner Broadcasting System, Inc. Publishing a disparate live media output stream using pre-encoded media assets
CN106878807B (zh) * 2017-01-19 2020-06-19 北京奇艺世纪科技有限公司 一种视频切换方法和装置
US10681431B2 (en) 2017-02-02 2020-06-09 Cisco Technology, Inc. Real-time interstitial content resolution and trick mode restrictions
US9936229B1 (en) 2017-05-18 2018-04-03 CodeShop BV Delivery of edited or inserted media streaming content
US10939169B2 (en) 2017-05-25 2021-03-02 Turner Broadcasting System, Inc. Concurrent presentation of non-programming media assets with programming media content at client device
TWI647955B (zh) * 2017-06-05 2019-01-11 中華電信股份有限公司 Linear channel replacement film system and method thereof
CN115314756B (zh) * 2017-06-15 2024-05-10 亚马逊技术有限公司 来自多个源的动态多媒体流插入的方法和存储介质
US10880589B2 (en) 2017-06-15 2020-12-29 Amazon Technologies, Inc. Dynamic multimedia stream insertion from multiple sources
US10848824B2 (en) 2017-06-15 2020-11-24 Amazon Technologies, Inc. Dynamic detection and mitigation of multimedia stream abandonment
FR3069123B1 (fr) * 2017-07-12 2021-10-08 Tdf Procede de signalisation d'une substitution a un terminal, procede de substitution par un terminal, produits programme d'ordinateur, systeme et terminal correspondants.
KR102234451B1 (ko) * 2017-08-15 2021-03-31 구글 엘엘씨 멀티캐스트를 이용한 스트리밍 대역폭의 최적 활용
US10911813B1 (en) * 2017-08-30 2021-02-02 Amazon Technologies, Inc. Providing metadata for live media streams
JP6305614B1 (ja) * 2017-09-04 2018-04-04 株式会社ドワンゴ コンテンツ配信サーバ、コンテンツ配信方法およびコンテンツ配信プログラム
US10356447B2 (en) * 2017-09-25 2019-07-16 Pluto Inc. Methods and systems for determining a video player playback position
JP6463826B1 (ja) * 2017-11-27 2019-02-06 株式会社ドワンゴ 動画配信サーバ、動画配信方法及び動画配信プログラム
RU2739720C2 (ru) 2017-11-30 2020-12-28 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер для передачи персонализированного сообщения на пользовательское электронное устройство
US20190238950A1 (en) * 2018-01-31 2019-08-01 Qualcomm Incorporated Dynamic conditional advertisement insertion
WO2019148498A1 (en) * 2018-02-05 2019-08-08 Telefonaktiebolaget Lm Ericsson (Publ) A method, a user equipment and a computer program product for enabling a dynamic adaptive streaming over http, dash, player to fetch media segments from a network
US20190253751A1 (en) * 2018-02-13 2019-08-15 Perfect Corp. Systems and Methods for Providing Product Information During a Live Broadcast
CN110248219A (zh) * 2018-03-08 2019-09-17 腾讯科技(深圳)有限公司 视频播放方法、装置及设备
US10771842B2 (en) 2018-04-09 2020-09-08 Hulu, LLC Supplemental content insertion using differential media presentation descriptions for video streaming
US10469882B2 (en) * 2018-04-09 2019-11-05 M/S. Amagi Media Labs Pvt. Ltd System and method of server-side ad insertion for over the top (OTT) streams
US11533527B2 (en) 2018-05-09 2022-12-20 Pluto Inc. Methods and systems for generating and providing program guides and content
US20200220909A1 (en) * 2018-10-11 2020-07-09 Invidi Technologies Corporation Method and apparatus for combining metadata and content stream manifest files for processing on client devices
US10863211B1 (en) * 2018-11-12 2020-12-08 Amazon Technologies, Inc. Manifest data for server-side media fragment insertion
CN111210247B (zh) * 2018-11-22 2023-04-28 阿里巴巴集团控股有限公司 广告投放处理方法、设备及系统、计算设备及可读介质
US11743560B2 (en) * 2018-11-22 2023-08-29 Telefonaktiebolaget Lm Ericsson (Publ) Media descriptor file comprising a reference to other streaming media content
US10880606B2 (en) * 2018-12-21 2020-12-29 Turner Broadcasting System, Inc. Disparate live media output stream playout and broadcast distribution
US11082734B2 (en) 2018-12-21 2021-08-03 Turner Broadcasting System, Inc. Publishing a disparate live media output stream that complies with distribution format regulations
US10873774B2 (en) 2018-12-22 2020-12-22 Turner Broadcasting System, Inc. Publishing a disparate live media output stream manifest that includes one or more media segments corresponding to key events
US11356715B2 (en) * 2018-12-28 2022-06-07 Tencent America LLC Dynamic shortening of advertisement duration during live streaming
US11405662B2 (en) * 2019-03-22 2022-08-02 Comcast Cable Communications, Llc Content delivery
US11546647B2 (en) 2019-06-07 2023-01-03 Roku, Inc. Content-modification system with probability-based selection feature
US11418826B2 (en) 2019-06-07 2022-08-16 Roku, Inc. Content-modification system with supplemental content stitching feature
US11109088B2 (en) * 2019-06-07 2021-08-31 Roku, Inc. Content-modification system with unscheduling feature
US11336949B2 (en) 2019-06-07 2022-05-17 Roku, Inc. Content-modification system with testing and reporting feature
US11082724B2 (en) 2019-08-21 2021-08-03 Dish Network L.L.C. Systems and methods for targeted advertisement insertion into a program content stream
KR102149724B1 (ko) * 2019-09-02 2020-08-31 애니포인트미디어 주식회사 개인화 광고를 제공하는 장치
DE102019213741A1 (de) * 2019-09-10 2021-03-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Verfahren und Videocontroller zur Steuerung eines gelieferten Videos
US11403849B2 (en) 2019-09-25 2022-08-02 Charter Communications Operating, Llc Methods and apparatus for characterization of digital content
US11310303B2 (en) * 2019-10-01 2022-04-19 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11509945B2 (en) * 2019-10-17 2022-11-22 Dish Network Technologies India Private Limited Methods and systems for dynamic media content
US20210133814A1 (en) * 2019-10-30 2021-05-06 The Nielsen Company (Us), Llc Method and System for Use of Automatic Content Recognition to Trigger Dynamic Ad Insertion in Response to Repeat Playout of Ad
US11190854B2 (en) 2019-10-31 2021-11-30 Roku, Inc. Content-modification system with client-side advertisement caching
US11178433B2 (en) 2019-11-21 2021-11-16 Pluto Inc. Methods and systems for dynamic routing of content using a static playlist manifest
CN115136609B (zh) * 2020-02-28 2024-03-12 葫芦有限责任公司 远程元素解析的基于客户端的存储
KR20220133939A (ko) 2020-02-28 2022-10-05 훌루, 엘엘씨 동적 엘리먼트 대체를 위한 그룹에서의 엘리먼트들의 식별
IT202000005875A1 (it) * 2020-03-19 2021-09-19 Radio Dimensione Suono Spa Sistema e metodo di arricchimento automatico di informazioni per flussi audio
EP3902276A1 (en) * 2020-04-21 2021-10-27 THEO Technologies Video stream control
EP3920539A1 (en) * 2020-06-04 2021-12-08 MK Systems USA Inc. Systems and methods for providing audio-video streams with alternative content
US11647259B2 (en) * 2020-06-17 2023-05-09 Yieldmo, Inc. Method for serving interactive digital advertising content within a streaming platform
WO2022002865A1 (en) * 2020-07-01 2022-01-06 Bakhchevan Gennadii A system and a method for personalized content presentation
US11126682B1 (en) 2020-07-06 2021-09-21 International Business Machines Corporation Hyperlink based multimedia processing
US11974024B2 (en) * 2020-09-11 2024-04-30 Sling TV L.L.C. Automated program promotion detection in a video streaming system
US11856255B2 (en) * 2020-09-30 2023-12-26 Snap Inc. Selecting ads for a video within a messaging system
US11694444B2 (en) 2020-09-30 2023-07-04 Snap Inc. Setting ad breakpoints in a video within a messaging system
US11792491B2 (en) 2020-09-30 2023-10-17 Snap Inc. Inserting ads into a video within a messaging system
US11470136B2 (en) * 2020-10-07 2022-10-11 Tencent America LLC URL customization using the session-based dash operations
CN112163895A (zh) * 2020-10-14 2021-01-01 广州欢网科技有限责任公司 基于异步编程的高并发广告投放方法、装置、设备和系统
US11601695B2 (en) 2021-02-11 2023-03-07 Roku, Inc. Content-modification system with advertisement reconciliation feature
US20220272394A1 (en) * 2021-02-19 2022-08-25 Rovi Guides, Inc. Systems and methods for improved adaptive video streaming
US11438675B1 (en) * 2021-05-06 2022-09-06 Penthera Partners, Inc. Subsequent look media presentation on a playing device
US11451872B1 (en) 2021-05-27 2022-09-20 Sling TV L.L.C. System, device, and processes for intelligent start playback of program content
FR3124344A1 (fr) * 2021-06-23 2022-12-23 Orange Procédé de gestion d’accès à des contenus téléchargés en mode de téléchargement adaptatif.
US11468031B1 (en) * 2021-12-10 2022-10-11 Chaossearch, Inc. Methods and apparatus for efficiently scaling real-time indexing
US11997334B1 (en) * 2021-12-10 2024-05-28 Amazon Technologies, Inc. Runtime determination of a configuration file usable for content presentation
US20230232074A1 (en) * 2022-01-19 2023-07-20 Comcast Cable Communications, Llc Systems and Methods for Content Item Insertion
EP4216555A1 (en) * 2022-01-24 2023-07-26 THEO Technologies Computer implemented method for processing streaming requests and responses
US11659259B1 (en) * 2022-05-12 2023-05-23 Penthera Partners, Inc. Video streaming systems and methods
US20240007690A1 (en) * 2022-06-30 2024-01-04 Amazon Technologies, Inc. Media content boundary-aware supplemental content management
GB2620583A (en) * 2022-07-11 2024-01-17 Canon Kk Method, device, and computer program for optimizing dynamic encapsulation and parsing of content data
US20240185891A1 (en) * 2022-12-03 2024-06-06 Synamedia Limited Common Timeline Processing for Unique Manifests
US11936712B1 (en) * 2023-04-06 2024-03-19 Synamedia Limited Packet-accurate targeted content substitution

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11187310A (ja) * 1997-12-22 1999-07-09 Sony Corp ディジタルデータ伝送方法およびディジタルデータ伝送装置
US6487721B1 (en) * 1998-01-30 2002-11-26 General Instrument Corporation Apparatus and method for digital advertisement insertion in a bitstream
JP2004364001A (ja) * 2003-06-05 2004-12-24 Sony Corp ストリーミング配信システム,ストリーミング中継装置,コンピュータプログラムおよびストリーミング配信方法
US7899855B2 (en) * 2003-09-08 2011-03-01 Intel Corporation Method, apparatus and instructions for parallel data conversions
JP2010532519A (ja) * 2007-06-29 2010-10-07 ジェネン・ローレンス 推奨情報に基づいて1つ以上のメディアを購入する方法およびその装置
WO2009149063A1 (en) * 2008-06-02 2009-12-10 Azuki Systems, Inc. Media mashup system
US20100030344A1 (en) * 2008-07-31 2010-02-04 Northwestern University Prosthetic foot with adjustable flat region
WO2010078539A2 (en) * 2009-01-04 2010-07-08 Robert Thomas Kulakowski Advertising profiling and targeting system
US9009753B2 (en) 2009-03-24 2015-04-14 Microsoft Technology Licensing, Llc Measurement and reporting of set top box inserted AD impressions
US20100269132A1 (en) * 2009-04-17 2010-10-21 Telefonaktiebolaget Lm Ericsson (Publ) Method and System For Inserting Advertisements In A Content Stream In Internet Protocol Television (IPTV)
EP2435968B1 (en) 2009-05-27 2017-09-20 Visible World Inc. Continuous re-insertion of advertisements in video content
US9237387B2 (en) * 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
KR101786051B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
JP2011124940A (ja) * 2009-12-14 2011-06-23 Brother Industries Ltd 配信システム、ノード装置、情報処理装置、ノードプログラム、及び広告コンテンツ再生方法
US9043484B2 (en) 2010-04-02 2015-05-26 Disney Enterprises, Inc. Streaming playback and dynamic ad insertion
WO2011139305A1 (en) 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
US20110283010A1 (en) * 2010-05-11 2011-11-17 Seachange International Method and system for validating interactive multimedia applications for use in enhanced or interactive television systems
US8462001B2 (en) * 2010-07-30 2013-06-11 Great Eastern Group, Inc. Environmental alarm sensor panel and related method for a telecommunication cable station
US9319448B2 (en) * 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US8677428B2 (en) * 2010-08-20 2014-03-18 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20120116883A1 (en) * 2010-11-08 2012-05-10 Sony Corporation Methods and systems for use in incorporating targeted advertising into multimedia content streams
US9171318B2 (en) * 2010-11-15 2015-10-27 Verizon Patent And Licensing Inc. Virtual insertion of advertisements
US9301020B2 (en) * 2010-11-30 2016-03-29 Google Technology Holdings LLC Method of targeted ad insertion using HTTP live streaming protocol
US20120144420A1 (en) 2010-12-07 2012-06-07 General Instrument Corporation Targeted advertisement distribution in an sdv environment
US9264750B2 (en) * 2010-12-23 2016-02-16 Verizon Patent And Licensing Inc. Advertising insertion for playback of video streams on user devices
US9032435B2 (en) * 2011-03-29 2015-05-12 Hulu, LLC Ad selection and next video recommendation in a video streaming system exclusive of user identity-based parameter
US8849950B2 (en) 2011-04-07 2014-09-30 Qualcomm Incorporated Network streaming of video data using byte range requests
US9066138B1 (en) * 2011-05-10 2015-06-23 Arris Solutions, Inc. Replacing ads in HTTP-based manifest driven video transport
US9066115B1 (en) * 2011-07-29 2015-06-23 Arris Enterprises, Inc. Structuring dynamic advertisement breaks in video manifest files
US9253233B2 (en) * 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US8234350B1 (en) * 2011-12-19 2012-07-31 Seachange International, Inc. Systems and methods for generating targeted manifest files
US8789090B1 (en) * 2012-02-14 2014-07-22 Uplynk, LLC Advertisement insertion into media content for streaming
WO2013155611A1 (en) * 2012-04-18 2013-10-24 Mdialog Corporation Method and system for inserting content into streaming media at arbitrary time points
US20140040026A1 (en) * 2012-05-04 2014-02-06 Adobe Systems Incorporated Systems and methods for including advertisements in streaming content
US8732745B2 (en) * 2012-10-22 2014-05-20 Sony Corporation Method and system for inserting an advertisement in a media stream

Also Published As

Publication number Publication date
BR112014032829A2 (pt) 2018-05-15
EP2868097A1 (en) 2015-05-06
CN104756505A (zh) 2015-07-01
EP2868097A4 (en) 2016-03-23
IN2015DN00630A (pt) 2015-06-26
WO2014004955A1 (en) 2014-01-03
US20140150019A1 (en) 2014-05-29
US20140149210A1 (en) 2014-05-29
BR122015005210A2 (pt) 2019-08-20
US10373196B2 (en) 2019-08-06
CN104756505B (zh) 2020-04-07
JP2015527795A (ja) 2015-09-17
ZA201500604B (en) 2019-07-31

Similar Documents

Publication Publication Date Title
BR122015005194A2 (pt) Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top
US20210029416A1 (en) Manifest customization in adaptive bitrate streaming
CN108702537B (zh) 用于使用服务器生成的清单的视频回放的系统
USRE47612E1 (en) Adaptive ads with advertising markers
US20230283814A1 (en) Method and apparatus for a virtual online video channel
CN104396263B (zh) 用于流送媒体内容的实时复用变换的方法和系统
KR101772580B1 (ko) 광고로서 라이브 스트림의 서빙
CA2923168C (en) Averting ad skipping in adaptive bit rate systems
US20130080579A1 (en) Dynamically-executed syndication services
US20130080268A1 (en) Multi-platform media syndication customization
US8327013B2 (en) Dynamic index file creation for media streaming
US9462302B2 (en) Efficient delineation and distribution of media segments
US20130080267A1 (en) Single-url content delivery
WO2015035942A1 (en) Method for playing back live video and device
US20130080772A1 (en) Dynamic encryption
BR112019014070A2 (pt) dados de sinalização para suporte de pré-busca para transmissão contínua de dados de mídia
US20140181243A1 (en) Server-based content tracking apparatus and method
US8954540B2 (en) Dynamic audio track selection for media streaming
CA2866472A1 (en) Dynamic audio track selection for media streaming
BR112020014832A2 (pt) Sinalização e relatório de uso de interatividade em serviços de streaming
US10750248B1 (en) Method and apparatus for server-side content delivery network switching
US11039181B1 (en) Method and apparatus for secure video manifest/playlist generation and playback
US20220078514A1 (en) Insertion of targeted content in real-time streaming media

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/173

Ipc: H04N 21/2668 (2011.01), H04N 21/44 (2011.01), H04N

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B15W Others matters related to applications: legal action concerning application

Free format text: INPI NO 52402.002470/2022-05 ORIGEM: JUIZO FEDERAL DA 9A VF DO RIO DE JANEIRO (TRF2) PROCESSO NO: 5001156-94.2022.4.02.5101 SUBJUDICE COM PEDIDO DE ANTECIPACAO DE TUTELA AUTOR: ERICSSON AB REU(S): PRESIDENTE DO INSTITUTO NACIONAL DA PROPRIEDADE INDUSTRIAL

B09B Patent application refused [chapter 9.2 patent gazette]
B15N Others concerning applications: notification of judicial decision

Free format text: PROCESSO INPI NO 52402.002470/2022-01 9A VARA FEDERAL DO RIO DE JANEIRO MANDADO DE SEGURANCA NO 5001156-94.2022.4.02.5101/RJ IMPETRANTE: ERICSSON AB IMPETRANTE: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) IMPETRADO: PRESIDENTE - INPI-INSTITUTO NACIONAL DA PROPRIEDADE INDUSTRIAL - RIO DE JANEIRO SENTENCA:DEFIRO PARCIALMENTE A TUTELA LIMINAR A FIM DE DETERMINAR QUE O INPI, NO PRAZO DE 60 DIAS, SE PRONUNCIE SOBRE AS MANIFESTACOES PENDENTES DE APRECIACAO NOS RESPECTIVOS PROCEDIMENTOS ADMINISTRATIVOS DAS PATENTES BR 11 2014 003316 1, BR 12 2015 005194 0, BR 12 2015 005210 6, BR 112015 006047 1, BR 112013 033191 7, BR 11 2014 010289 9, BR 11 2014 013866 4, BR 112015 017737 9, BR 11 2015 00677