BR112019021628A2 - Sistemas e métodos para fornecer estimativa de carga com base na sugestão do codificador - Google Patents

Sistemas e métodos para fornecer estimativa de carga com base na sugestão do codificador Download PDF

Info

Publication number
BR112019021628A2
BR112019021628A2 BR112019021628-6A BR112019021628A BR112019021628A2 BR 112019021628 A2 BR112019021628 A2 BR 112019021628A2 BR 112019021628 A BR112019021628 A BR 112019021628A BR 112019021628 A2 BR112019021628 A2 BR 112019021628A2
Authority
BR
Brazil
Prior art keywords
encoder
frame
quality settings
frames
quality
Prior art date
Application number
BR112019021628-6A
Other languages
English (en)
Inventor
Kopietz Michael
Original Assignee
Zenimax Media Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zenimax Media Inc. filed Critical Zenimax Media Inc.
Publication of BR112019021628A2 publication Critical patent/BR112019021628A2/pt

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/70Media network packetisation
    • 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
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Abstract

são descritos sistemas e métodos para sugerir um codificador, nos quais um servidor monitora informações relacionadas a alterações na codificação de quadros, calcula limites de tolerância, tempo médio de rolagem de quadro e tendências de curto prazo no tempo de quadro, e usa esses cálculos para identificar um pico no tempo de quadro. o servidor então sugere a um codificador modular as configurações de qualidade da saída de quadro proporcionalmente ao tamanho do pico no tempo de quadro. em certas modalidades, os cálculos dos limites de tolerância, tempo médio de rolagem de quadro e tendências de curto prazo no tempo de quadro são usados para identificar quadros de alta entropia. em outras modalidades, o servidor calcula um valor de escala de qualidade para um tempo de quadro fora dos limites de tolerância e usa esse cálculo para identificar um pico de tempo de quadro.

Description

“SISTEMAS E MÉTODOS PARA FORNECER ESTIMATIVA DE CARGA COM BASE NA SUGESTÃO DO CODIFICADOR” RELATÓRIO DESCRITIVO
ANTECEDENTES
[0001] Na primeira passagem de um processo de codificação multipass, o custo da codificação de cada quadro de vídeo é calculado antes que os dados sejam compactados de maneira eficiente para ajustar uma restrição de taxa de bits em sucessivas passagens. Os benefícios da codificação multipass são substanciais, provendo a mais alta qualidade possível para uma restrição de taxa de bits, mas a codificação multipass tradicional exige acesso ao arquivo de vídeo completo, tornando-o inadequado para aplicativos de transmissão ao vivo.
[0002] Os aplicativos de transmissão ao vivo geralmente usam codificação single pass, pois o vídeo não está disponível com antecedência. As restrições de tempo na codificação de transmissão ao vivo impedem a capacidade do codificador de compactar com eficiência as informações de vídeo por uma taxa de bits restrita. Como os custos de codificação não são calculados em uma codificação single pass, o tráfego da rede aumenta quando os quadros de alta entropia são codificados.
[0003] O vídeo renderizado em tempo real é cada vez mais utilizado em aplicativos de transmissão ao vivo, como transmissão de videogame, onde alta qualidade e largura de banda restrita são altamente valorizadas. O vídeo renderizado, diferentemente do vídeo gravado, tem acesso a informações adicionais sobre cada quadro que podem ser reutilizadas para estimar o custo de codificação do quadro. Dessa maneira, os resultados de uma primeira passagem em um esquema de codificação de várias passagens podem ser aproximados para obter o vídeo codificado da mais alta qualidade dentro de uma restrição de taxa de bits.
Petição 870190103779, de 15/10/2019, pág. 122/174
2/9
SUMÁRIO DA INVENÇÃO
[0004] Ê, portanto, um objetivo da presente invenção descrever sistemas e métodos para manter uma taxa de bits constante sugerindo um codificador. Em uma modalidade exemplar, um servidor monitora informações relacionadas a alterações na codificação de quadros, calcula limites de tolerância, tempo médio de rolagem de quadros e tendências de curto prazo no tempo de quadros, e usa esses cálculos para identificar um pico de tempo de quadros. O servidor sugere um codificador para modular as configurações de qualidade da saída do quadro proporcionalmente ao tamanho do pico do tempo de quadro.
[0005] Outro objetivo da presente invenção é descrever sistemas e métodos para manter uma taxa de bits constante, sugerindo um codificador, no qual os cálculos de limites de tolerância, tempo médio de rolagem do quadro e tendências de curto prazo no tempo de quadro são usados para identificar quadros de alta entropia.
[0006] Ê ainda outro objetivo da presente invenção descrever sistemas e métodos para manter uma taxa de bits constante sugerindo um codificador, no qual o servidor calcula um valor de escala de qualidade por um tempo de quadro fora dos limites de tolerância e usa esse cálculo para identificar um pico de tempo de quadro.
BREVE DESCRIÇÃO DOS DESENHOS
[0007] A FIG. 1 é um diagrama de um ambiente exemplar no qual o vídeo renderizado em tempo real é transmitido ao vivo para um visualizador remoto;
[0008] A FIG. 2 é um diagrama de fluxo que descreve os estágios da sugestão do codificador com base na estimativa de carga; e
[0009] A FIG. 3 é um diagrama de uma implementação exemplar que detecta picos de tempo de quadro e vales de tempo de quadro e então altera as configurações do codificador do mesmo modo.
DESCRIÇÃO DETALHADA
Petição 870190103779, de 15/10/2019, pág. 123/174
3/9
[0010] Durante a operação típica de um videogame de transmissão ao vivo rodando 60 quadros por segundo, o codificador calcula vetores de movimento e resíduos. Quando um quadro de vídeo é significativamente diferente do quadro anterior devido a novas informações de vídeo, os resíduos calculados pelo codificador podem ser maiores que o normal, causando um aumento no uso da largura de banda da rede. Um codificador adaptará suas configurações de codificação durante a transmissão ao vivo em resposta a fatores como esses picos de taxa de bits, mas só poderá ajustar as configurações de maneira reativa.
[0011] Nos casos em que os quadros de vídeo são renderizados em tempo real, o codificador pode ser avisado para adaptar preventivamente as configurações de codificação para manter a mais alta qualidade possível para uma restrição de taxa de bits. O processo de prover configurações para substituir as configurações selecionadas pelo codificador é chamado de sugestão. Como o renderizador possui informações sobre os quadros antes de serem codificados, o renderizador ocasionalmente é mais adequado para selecionar as configurações apropriadas do codificador e deve sugerir o codificador do mesmo modo. O renderizador pode sugerir o codificador quando um quadro de entrada for uma imagem de alta entropia, quando um quadro de entrada não tem relação com quadros anteriores ou por outros motivos que podem resultar em grandes resíduos, quedas de qualidade ou picos de taxa de bits.
[0012] A figura 1 é um diagrama de um ambiente exemplar no qual o vídeo renderizado em tempo real é transmitido ao vivo para um visualizador remoto. O servidor 100 pode compreender qualquer hardware capaz de rodar simultaneamente um processo de renderização em tempo real 102 e codificador de transmissão 104. O stream de vídeo codificado é transmitido através de uma rede para um dispositivo cliente 106. O cliente 106 pode compreender qualquer hardware capaz de decodificar e exibir o stream de vídeo.
[0013] A figura 2 é um diagrama de fluxo que descreve os estágios da
Petição 870190103779, de 15/10/2019, pág. 124/174
4/9 sugestão do codificador com base na estimativa de carga. Enquanto o renderizador estiver gerando vídeo, o processo de renderização ou algum outro processo do lado do servidor deve monitorar informações que alterem a codificação de um quadro no “MONITORAR PARA UM EVENTO” 200. Esse monitoramento é descrito mais detalhadamente na figura 3, onde um detector de pico para o tempo de quadro renderizado é implementado. Isso compara o tempo de quadro medido com o tempo médio de quadro calculado e considera qualquer tempo de quadro extralongo ou extracurto um evento. Existem várias maneiras diferentes de implementar detectores de pico. As informações monitoradas podem incluir qualquer mensagem, resultado calculado, resultado ou outro valor discretamente mensurável que ocorra durante o processo de renderização em tempo de execução. Isso pode incluir informações como o número de chamadas de desenho feitas ao renderizador durante esse quadro, uma tentativa de calcular o tamanho dos resíduos codificados com base no número de pixels que aparecem pela primeira vez em um quadro ou em alguma outra informação que tenta correlacionar o desempenho da renderização ao desempenho do codificador. Quando são lidas informações que indicam que o tamanho do quadro codificado será significativamente diferente do tamanho do quadro codificado do quadro anterior, essas informações são chamadas de evento. O evento pode se originar no renderizador, como no exemplo da figura 3, em que o processo de renderização monitora o tempo de renderização de cada quadro para detectar tempos de quadros extraordinariamente longos. Quando o renderizador recebe um evento, o codificador será sugerido em “AO RECEBER UM EVENTO, MUDE AS CONFIGURAÇÕES DO CODIFICADOR” 202. No exemplo da figura 3, quando um quadro leva um tempo extraordinariamente longo para renderizar, o renderizador sugere o codificador para reduzir as configurações de qualidade proporcionalmente ao tamanho desse pico de tempo de quadro. A descrição da figura 3 descreve com mais detalhes a detecção dos tempos de quadro de pico e a relação entre o tempo de quadro e as configurações
Petição 870190103779, de 15/10/2019, pág. 125/174
5/9 de qualidade do codificador. Este exemplo usa a correlação entre o tempo de renderização e a entropia de imagem para estimar o efeito na taxa de bits da transmissão de vídeo. Se um quadro contiver muitas informações visuais novas, ou seja, elementos adicionais que contribuem para o quadro pela primeira vez, é provável que demore mais tempo para renderizá-lo quando comparado aos quadros anteriores. Por exemplo, se um quadro for renderizado aproximadamente com o mesmo tempo de quadro anterior, é provável que o ambiente não tenha mudado significativamente. Essa correlação implícita é particularmente aparente em um jogo / mecanismo em primeira pessoa. Se o tempo de quadro renderizado for subitamente maior, isso implica que algo no ambiente foi introduzido recentemente. O codificador também terá problemas com qualquer nova informação de vídeo, como efeitos de explosão repentina na tela ou nova geometria repentina na tela. Da mesma forma, muitas novas informações em um quadro aumentarão o tamanho dos resíduos calculados pelo codificador. Portanto, o monitoramento de picos no tempo de renderização pode identificar quadros que provavelmente contêm imagens de alta entropia antes que possam causar um aumento na taxa de bits do stream de vídeo.
[0014] Outros processos em execução no servidor também podem ter acesso às informações de quadro que podem ser usadas para sugerir as configurações do codificador. Por exemplo, um mecanismo de jogo que contém um renderizador pode usar o impacto medido na largura de banda de vídeo codificada por efeitos visuais acionados pelo jogo para reduzir as configurações de qualidade do codificador. Para reunir informações sobre o custo adicional de codificação de um determinado efeito visual, um desenvolvedor pode precisar aplicar um efeito e medir o aumento na taxa de bits ao codificar em várias configurações de qualidade do codificador. As medidas podem ser usadas para selecionar uma qualidade para a qual o tamanho do quadro codificado para um quadro que contém o efeito visual é aproximadamente do mesmo tamanho de quadro codificado que um quadro anterior que não continha
Petição 870190103779, de 15/10/2019, pág. 126/174
6/9 o efeito visual. A diferença entre a configuração de qualidade selecionada para o efeito visual e a configuração de qualidade padrão é referida como delta das configurações. O codificador pode ser sugerido para usar a qualidade selecionada ou sugerido para reduzir a qualidade atual pelo delta das configurações medidas. Os resultados devem ser armazenados em um formato que possa converter facilmente um evento de efeito visual na sugestão do codificador associado, como uma tabela de pesquisa ou outro tipo de matriz indexada.
[0015] A figura 3 é uma implementação exemplar que detecta picos de tempo de quadro e vales de tempo de quadro, em seguida, altera as configurações do codificador do mesmo modo. Uma média de rolagem é usada no processamento de sinais e na análise estatística para identificar valores discrepantes de curto prazo e ao mesmo tempo levar em consideração tendências de longo prazo. Uma média de rolagem é calculada encontrando a média aritmética de um certo número de pontos de dados anteriores; o conjunto de pontos de dados anteriores usado para calcular a média de rolagem é chamado de janela contínua. No caso de renderização ao vivo, a identificação dos tempos de quadro que se desviam do tempo médio de rolagem de quadro pode identificar quadros de alta entropia. O tempo médio de rolagem de quadro 300 neste exemplo é o tempo médio de quadro da janela de rolagem anterior. Ou seja, os tempos de quadro são somados para cada quadro na janela de rolagem e a soma é dividida pelo número de quadros na janela de rolagem. O tamanho da janela de rolagem pode ser ajustado com base na frequência típica das tendências de longo prazo do tempo de quadro, conforme medido durante a criação de perfil de tempo de execução para examinar tendências de dados típicas. Quanto menor o tamanho da janela de rolagem, mais agressivamente o codificador será sugerido, pois pode haver mais falsos positivos detectados. Para um exemplo de tamanho de janela de rolagem de dez quadros, o tempo médio de quadro será calculado com base nos dez tempos de quadro anteriores. Como efeito colateral de qualquer filtro passa-baixo, se a janela de rolagem for muito
Petição 870190103779, de 15/10/2019, pág. 127/174
7/9 pequena, pode haver mais falsos positivos do que o necessário na detecção de pico. Ele pode classificar um quadro como “excepcionalmente ocupado” quando, na realidade, o tempo de quadro mais longo for explicado por algum padrão de comportamento de longo prazo que ocorre frequentemente no renderizador. O tempo médio de rolagem de quadro 300 é acompanhado por uma tolerância superior 302 e uma tolerância inferior 304. A tolerância pode ser ajustada para identificar tendências típicas de curto prazo no tempo de quadro. Para um renderizador em tempo real rodando a 60 quadros por segundo, uma tolerância de ± 1 ms, ou cerca de 6,25%, pode ser suficiente. Os tempos de quadro podem variar dentro da tolerância do tempo médio de quadro sem disparar nenhuma sugestão do codificador. Encontrar o tamanho da janela e os valores de tolerância apropriados pode exigir alguns perfis de tempo de execução para determinar tendências típicas no tempo de quadro. Por exemplo, um jogo rodando a 100 quadros por segundo pode atualizar apenas sombras em todos os outros quadros, levando a uma tremulação típica de 1 ms, exigindo uma tolerância superior a 10%. Por outro lado, um jogo pode rodar confortavelmente a 30 quadros por segundo em um tempo de quadro muito estável de 33 ms, com o efeito visual mais exigente contribuindo com apenas 0,5 ms, portanto a tolerância pode ser tão baixa quanto 1,5%.
[0016] O tempo de quadro para o quadro atual é comparado ao tempo médio do quadro. Se o tempo de quadro atual estiver fora dos limites de tolerância, a qualidade será ajustada no codificador. Os limites de tolerância podem ser calculados medindo os tempos de quadro, usando um processo chamado de criação de perfil, para examinar as alterações típicas no tempo de quadro entre quadros adjacentes ou quase adjacentes (tendências de curto prazo) e as mudanças no tempo de quadro em determinadas janelas (tais como padrões de repetição periódica ou outras tendências de longo prazo). O tamanho e a tolerância da janela de rolagem podem ser ajustados até que a sugestão do codificador seja acionada apenas em momentos de alta entropia /
Petição 870190103779, de 15/10/2019, pág. 128/174
8/9 ocupado, mas não nos momentos em que o jogador está se movendo e explorando o ambiente. Se o tempo de quadro exceder a tolerância superior 302, como no exemplo de “QUADRO 2” 306, a qualidade da codificação será reduzida. Se o tempo de quadro estiver abaixo da tolerância mais baixa 304, como no exemplo de “QUADRO 5” 308, a qualidade do codificador será aumentada. Em certas modalidades, a qualidade da codificação pode ser aumentada até a capacidade total a qualquer momento que o tempo de quadro cair abaixo da tolerância. Dependendo da implementação, um sistema também pode optar por dimensionar a qualidade de volta mais lentamente, usando um método de dimensionamento semelhante ao usado para diminuir a qualidade. [0017] Um método de sugestão exemplar pode escalar a qualidade entre uma configuração de qualidade limite superior 310 e limite inferior 312. Por exemplo, o limite superior pode ser as configurações de qualidade padrão e o limite inferior pode ser uma porcentagem, tal como 50%, da qualidade padrão. Se um pico de tempo de quadro ficar acima da tolerância, as configurações de qualidade poderão ser dimensionadas linearmente entre o limite superior e o limite inferior com base no tamanho do pico do tempo de quadro acima da tolerância. Se um tempo de quadro cair abaixo da tolerância, as configurações de qualidade podem retornar ao valor de limite superior.
[0018] Para calcular o valor da escala de qualidade para um tempo de quadro fora da tolerância, o tempo de quadro deve primeiro ser normalizado em relação ao tempo médio de rolagem do quadro.
quadro QP
QP normalizado = —:--:------; —— primeiro quadro QP
Subtraindo 1 do tempo normalizado resulta no desvio do quadro em relação ao tempo médio de rolagem do quadro. Dividir o desvio pela tolerância e depois subtrair 1 fornece um valor de escala. Esse valor de escala deve ser fixado para permanecer entre 0 e 1; todos os valores negativos de escala devem ser fixados em 0 e todos os valores acima de 1
Petição 870190103779, de 15/10/2019, pág. 129/174
9/9 devem ser fixados em 1.
tempo normalizado — 1 valor de escala = ---------Ί—-—.--1 tolerância
[0019] O valor da escala fixado pode ser usado para interpolar entre a configuração de qualidade de limite superior e a configuração de qualidade de limite inferior. Um valor de escala fixo de 0 representa a qualidade de limite superior e um valor de escala fixo de 1 representa a qualidade de limite inferior.
configuração de qualidade escalada = máx — (valor de escala * (máx — min))
[0020] No exemplo, se “QUADRO 2” 306 demorar 16 ms quando a média de rolagem for 15 ms, o valor da escala fixa resultante será 0,025 ou 2,5%. Se o valor da qualidade de limite superior for as configurações de qualidade padrão e o limite inferior for 50% da qualidade padrão, a configuração de qualidade dimensionada para esse quadro será 98,75% da qualidade padrão.
[0021] Se “QUADRO 5” 308 demorar 14,25 ms quando a média de rolagem for 15,25 ms, o tempo de quadro estará abaixo da tolerância e o valor da escala será fixado em 0. A configuração da qualidade da escala será definida nas configurações de qualidade de limite superior.

Claims (24)

  1. REIVINDICAÇÕES
    1. Método Implementado Por Computador Para Codificação de Dados, compreendendo as etapas de:
    gravar uma ou mais reproduções diretas em um ambiente de jogo;
    classificar uma pluralidade de quadros a partir de uma ou mais reproduções diretas em uma pluralidade de células em um heatmap, em que a referida classificação resulta em uma lista de quadros classificados associados ao heatmap;
    coletar a lista de quadros classificados em um renderizador;
    codificar um ou mais quadros da lista de quadros classificados para calcular um tamanho médio de quadro codificado para cada célula no heatmap, caracterizado por que cada tamanho médio de quadro codificado está associado a uma configuração de qualidade do codificador normalizado por célula; e calcular um tamanho médio de quadro para o heatmap a partir do tamanho médio de quadro codificado de cada célula, em que, durante a jogabilidade, a configuração de qualidade do codificador normalizado por célula correspondente à célula no heatmap é usada para sugerir um codificador para codificar uma sequência de vídeo.
  2. 2. Método Implementado Por Computador Para Codificação de Dados, de acordo com a Reivindicação 1, caracterizado por que um ou mais quadros são codificados na sequência de vídeo em single pass.
  3. 3. Método Implementado Por Computador Para Codificação de Dados, de acordo com a Reivindicação 1, caracterizado por que
    Petição 870190103779, de 15/10/2019, pág. 131/174
    2/8 compreende ainda a etapa de armazenar as configurações de qualidade normalizadas do codificador por célula no renderizador.
  4. 4. Método Implementado Por Computador Para Codificação de Dados, de acordo com a Reivindicação 1, caracterizado por que uma ou mais reproduções diretas são armazenadas em um servidor de telemetria.
  5. 5. Método Implementado Por Computador Para Codificação de Dados, de acordo com a Reivindicação 1, caracterizado por que uma ou mais reproduções são compostas por uma pluralidade de quadros e uma localização de jogador associada a cada um da pluralidade de quadros.
  6. 6. Método Implementado Por Computador Para Codificação de Dados, de acordo com a Reivindicação 5, caracterizado por que a localização do player é usada para selecionar a configuração de qualidade do codificador normalizado por célula que sugere o codificador.
  7. 7. Método Implementado Por Computador Para Codificação de
    Dados, de acordo com a Reivindicação 1, caracterizado por que as configurações de qualidade normalizadas do codificador por célula são calculadas pela equação:
    configuração de qualidade do codificador normalizado = configuração de qualidade do codificador configuração de qualidade do codificador*
    LiCelulas número de células
  8. 8. Método Implementado Por Computador Para Codificação de Dados, de acordo com a Reivindicação 1, caracterizado por que compreende ainda a etapa de combinar as configurações de qualidade normalizadas do codificador por célula a partir de uma sequência espacialmente relacionada e uma sequência temporalmente relacionada.
  9. 9. Sistema Para Codificação de Dados, compreendendo:
    um renderizador, em que o renderizador:
    Petição 870190103779, de 15/10/2019, pág. 132/174
    3/8 registra uma ou mais reproduções diretas em um ambiente de jogo;
    classifica uma pluralidade de quadros das uma ou mais reproduções diretas em uma pluralidade de células em um heatmap, caracterizado por que a referida classificação resulta em uma lista de quadros classificados associados ao heatmap;
    coleta a lista de quadros classificados; e calcula um tamanho médio de quadro para o heatmap a partir do tamanho médio de quadro codificado de cada célula; e um codificador, em que o codificador:
    codifica um ou mais quadros da lista de quadros classificados para calcular um tamanho médio de quadro codificado para cada célula no heatmap, em que cada tamanho médio de quadro codificado está associado a uma configuração de qualidade do codificador normalizado por célula e em que, durante o jogo, a configuração de qualidade do codificador normalizado por célula correspondente à célula no heatmap é usada para sugerir um codificador para codificar uma sequência de vídeo.
  10. 10. Sistema Para Codificação de Dados, de acordo com a Reivindicação 9, caracterizado por que um ou mais quadros são codificados na sequência de vídeo em single pass.
  11. 11. Sistema Para Codificação de Dados, de acordo com a Reivindicação 9, caracterizado por que o renderizador armazena as configurações de qualidade normalizadas do codificador por célula.
  12. 12. Sistema Para Codificação de Dados, de acordo com a Reivindicação
    Petição 870190103779, de 15/10/2019, pág. 133/174
    4/8
    9, caracterizado por que uma ou mais reproduções diretas são armazenadas em um servidor de telemetria.
  13. 13. Método, de acordo com a Reivindicação 9, caracterizado por que uma ou mais reproduções são compostas por uma pluralidade de quadros e uma localização de jogador associada a cada um da pluralidade de quadros.
  14. 14. Método, de acordo com a Reivindicação 13, caracterizado por que a localização do jogador é usada para selecionar a configuração de qualidade do codificador normalizado por célula que sugere o codificador.
  15. 15. Sistema Para Codificação de Dados, de acordo com a Reivindicação
    9, caracterizado por que as configurações de qualidade normalizadas do codificador por célula são calculadas pela equação: configuração de qualidade do codificador normalizado = configuração de qualidade do codificador configuração de qualidade do codificador*
    LiCelulas número de células
  16. 16. Sistema Para Codificação de Dados, de acordo com a Reivindicação 9, caracterizado por que as configurações de qualidade normalizadas do codificador por célula são combinadas a partir de uma sequência espacialmente relacionada e uma sequência temporalmente relacionada.
  17. 17. Sistema Para Codificação de Dados, compreendendo:
    um renderizador, caracterizado por que o renderizador grava uma sequência de vídeo composta por uma pluralidade de quadros; e um codificador, em que o codificador codifica a sequência de vídeo em um modo multipass que otimiza as configurações de qualidade do codificador contra o primeiro quadro da sequência de vídeo e em que o codificador registra as configurações de qualidade do codificador,
    Petição 870190103779, de 15/10/2019, pág. 134/174
    5/8 em que o renderizador normaliza as configurações de qualidade do codificador para o primeiro quadro da sequência de vídeo, em que as configurações de qualidade normalizadas do codificador são usadas para sugerir um codificador para codificar a sequência de vídeo e em que as configurações de qualidade normalizadas do codificador são calculadas pela equação: QP normalizado = quadro QP primeiro quadro QP'
  18. 18. Método, de acordo com a Reivindicação 17, caracterizado por que a sequência de vídeo está relacionada temporalmente com uma ou mais outras sequências de vídeo.
  19. 19. Sistema Para Codificação de Dados, compreendendo:
    um renderizador, caracterizado por que o renderizador grava uma sequência de vídeo composta por uma pluralidade de quadros; e um codificador, em que o codificador codifica a sequência de vídeo em um modo multipass que otimiza as configurações de qualidade do codificador contra o primeiro quadro da sequência de vídeo e em que o codificador registra as configurações de qualidade do codificador, em que o renderizador normaliza as configurações de qualidade do codificador para o primeiro quadro da sequência de vídeo, em que as configurações de qualidade normalizadas do codificador são usadas para sugerir um codificador para codificar a sequência de vídeo e em que as configurações de qualidade normalizadas do
    Petição 870190103779, de 15/10/2019, pág. 135/174
    6/8 codificador são armazenadas como uma lista ordenada de flutuadores.
  20. 20. Sistema Para Codificação de Dados, compreendendo:
    um renderizador, caracterizado por que o renderizador grava uma sequência de vídeo composta por uma pluralidade de quadros; e um codificador, em que o codificador codifica a sequência de vídeo em um modo multipass que otimiza as configurações de qualidade do codificador contra o primeiro quadro da sequência de vídeo e em que o codificador registra as configurações de qualidade do codificador, em que o renderizador normaliza as configurações de qualidade do codificador para o primeiro quadro da sequência de vídeo, em que as configurações de qualidade normalizadas do codificador são usadas para sugerir um codificador para codificar a sequência de vídeo e em que as configurações de qualidade normalizadas do codificador são multiplicadas por uma configuração de qualidade do codificador em tempo de execução, em que as configurações de qualidade normalizadas do codificador multiplicadas são usadas para sugerir um codificador para codificar a sequência de vídeo.
  21. 21. Método Implementado Por Computador Para Codificação, compreendendo as etapas de:
    gravar uma sequência de vídeo composta por uma pluralidade de quadros;
    codificar a sequência de vídeo em um modo multipass que otimiza as configurações de qualidade do codificador contra o primeiro quadro da sequência de vídeo;
    Petição 870190103779, de 15/10/2019, pág. 136/174
    7/8 gravar as configurações de qualidade do codificador; e normalizar as configurações de qualidade do codificador para o primeiro quadro da sequência de vídeo, caracterizado por que as configurações de qualidade normalizadas do codificador são usadas para sugerir um codificador para codificar a sequência de vídeo, e em que as configurações de qualidade normalizadas do codificador são calculadas pela equação: QP normalizado = quadro QP primeiro quadro QP'
  22. 22. Sistema, de acordo com a Reivindicação 21, caracterizado por que a sequência de vídeo está relacionada temporalmente com uma ou mais outras sequências de vídeo.
  23. 23. Método Implementado Por Computador Para Codificação, compreendendo as etapas de:
    gravar uma sequência de vídeo composta por uma pluralidade de quadros;
    codificar a sequência de vídeo em um modo multipass que otimiza as configurações de qualidade do codificador contra o primeiro quadro da sequência de vídeo;
    gravar as configurações de qualidade do codificador; e normalizar as configurações de qualidade do codificador para o primeiro quadro da sequência de vídeo, caracterizado por que as configurações de qualidade normalizadas do codificador são usadas para sugerir um codificador para codificar a sequência de vídeo, e
    Petição 870190103779, de 15/10/2019, pág. 137/174
    8/8 em que as configurações de qualidade normalizadas do codificador são armazenadas como uma lista ordenada de flutuadores.
  24. 24. Método Implementado Por Computador Para Codificação, compreendendo as etapas de:
    gravar uma sequência de vídeo composta por uma pluralidade de quadros;
    codificar a sequência de vídeo em um modo multipass que otimiza as configurações de qualidade do codificador contra o primeiro quadro da sequência de vídeo;
    gravar as configurações de qualidade do codificador; e normalizar as configurações de qualidade do codificador para o primeiro quadro da sequência de vídeo, caracterizado por que as configurações de qualidade normalizadas do codificador são usadas para sugerir um codificador para codificar a sequência de vídeo, e compreendendo ainda a etapa de multiplicar as configurações de qualidade normalizadas do codificador por uma configuração de qualidade do codificador em tempo de execução, em que as configurações de qualidade normalizadas do codificador multiplicadas são usadas para sugerir um codificador para codificar a sequência de vídeo.
BR112019021628-6A 2017-04-21 2018-04-20 Sistemas e métodos para fornecer estimativa de carga com base na sugestão do codificador BR112019021628A2 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762488526P 2017-04-21 2017-04-21
US62/488,526 2017-04-21
US201862647180P 2018-03-23 2018-03-23
US62/647,180 2018-03-23
US201862655901P 2018-04-11 2018-04-11
US62/655,901 2018-04-11
PCT/US2018/028594 WO2018195440A1 (en) 2017-04-21 2018-04-20 Systems and methods for rendering & pre-encoded load estimation based encoder hinting

Publications (1)

Publication Number Publication Date
BR112019021628A2 true BR112019021628A2 (pt) 2020-05-12

Family

ID=63854317

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019021628-6A BR112019021628A2 (pt) 2017-04-21 2018-04-20 Sistemas e métodos para fornecer estimativa de carga com base na sugestão do codificador

Country Status (15)

Country Link
US (5) US10362320B2 (pt)
EP (4) EP3635954A4 (pt)
JP (3) JP7145203B2 (pt)
KR (4) KR102460792B1 (pt)
CN (2) CN112153029A (pt)
AU (3) AU2018255414B2 (pt)
BR (1) BR112019021628A2 (pt)
CA (6) CA3159952A1 (pt)
DE (1) DE112018002112T5 (pt)
GB (6) GB2595029B (pt)
MX (2) MX2020012597A (pt)
RU (3) RU2720067C1 (pt)
TW (4) TWI737045B (pt)
WO (1) WO2018195440A1 (pt)
ZA (3) ZA201907683B (pt)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
US10880354B2 (en) * 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
US10841356B2 (en) 2018-11-28 2020-11-17 Netflix, Inc. Techniques for encoding a media title while constraining bitrate variations
CN111632382B (zh) * 2020-05-25 2021-06-25 腾讯科技(深圳)有限公司 游戏数据同步方法、装置、计算机及可读存储介质
CN111954067B (zh) * 2020-09-01 2022-10-04 杭州视洞科技有限公司 一种提高视频渲染效率与用户交互流畅度的方法
JP7024842B2 (ja) 2020-10-16 2022-02-24 日本ポリプロ株式会社 プロピレン単独重合体
WO2023022943A1 (en) * 2021-08-16 2023-02-23 Google Llc Low-delay multi-pass frame-level rate control using a shared reference frame
US20230247205A1 (en) * 2022-01-31 2023-08-03 Sling TV L.L.C. Bandwidth management using dynamic quality factor adjustments
WO2024001621A1 (en) * 2022-06-27 2024-01-04 Mediatek Inc. Multimedia system with dynamic adaptation

Family Cites Families (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4501980A (en) 1982-06-04 1985-02-26 Motornetics Corporation High torque robot motor
JPH06129865A (ja) 1992-10-20 1994-05-13 Sumitomo Electric Ind Ltd シングルモ−ドファイバ型デポラライザとその製造方法及び光ファイバジャイロ
JP3265818B2 (ja) * 1994-04-14 2002-03-18 松下電器産業株式会社 動画符号化方法
US5506844A (en) * 1994-05-20 1996-04-09 Compression Labs, Inc. Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
US6118817A (en) * 1997-03-14 2000-09-12 Microsoft Corporation Digital video signal encoder and encoding method having adjustable quantization
EP0919952A1 (en) * 1997-11-28 1999-06-02 Ecole Polytechnique Federale De Lausanne Method for coding/decoding of a digital signal
TW501022B (en) * 1998-03-16 2002-09-01 Mitsubishi Electric Corp Moving picture coding system
US6877043B2 (en) 2000-04-07 2005-04-05 Broadcom Corporation Method for distributing sets of collision resolution parameters in a frame-based communications network
DE60039689D1 (de) * 2000-07-10 2008-09-11 St Microelectronics Srl Verfahren zur Kompression digitaler Bilder
AU2003243533A1 (en) 2002-06-12 2003-12-31 Jena Jordahl Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view
EP1520431B1 (en) 2002-07-01 2018-12-26 E G Technology Inc. Efficient compression and transport of video over a network
US6903662B2 (en) 2002-09-19 2005-06-07 Ergodex Computer input device with individually positionable and programmable input members
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US9192859B2 (en) * 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
MXPA05014209A (es) * 2003-06-26 2006-05-31 Thomson Licensing Control de pasos multiples de velocidad de video para emparejar restricciones de canal de ventana deslizable.
WO2005009043A1 (en) * 2003-07-18 2005-01-27 Koninklijke Philips Electronics N.V. Detecting a content item in a digital video stream
JP4180468B2 (ja) * 2003-08-11 2008-11-12 カノープス株式会社 画像圧縮システム及び画像圧縮方法
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US7408984B2 (en) 2003-09-17 2008-08-05 International Business Machines Corporation Method and system for multiple pass video coding
US8533597B2 (en) 2003-09-30 2013-09-10 Microsoft Corporation Strategies for configuring media processing functionality using a hierarchical ordering of control parameters
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US20060230428A1 (en) 2005-04-11 2006-10-12 Rob Craig Multi-player video game system
WO2007008356A1 (en) * 2005-07-08 2007-01-18 Tag Networks, Inc. Video game system using pre-encoded macro-blocks
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
US8874725B1 (en) * 2006-11-15 2014-10-28 Conviva Inc. Monitoring the performance of a content player
US9064010B2 (en) 2006-12-13 2015-06-23 Quickplay Media Inc. Encoding and transcoding for mobile media
JP4843482B2 (ja) 2006-12-27 2011-12-21 株式会社東芝 情報処理装置およびプログラム
US20080181298A1 (en) * 2007-01-26 2008-07-31 Apple Computer, Inc. Hybrid scalable coding
US8090016B2 (en) * 2007-05-17 2012-01-03 Zoran Corporation Activity normalization for video encoding
US8069258B1 (en) 2007-09-11 2011-11-29 Electronic Arts Inc. Local frame processing to apparently reduce network lag of multiplayer deterministic simulations
WO2009136878A1 (en) 2008-05-08 2009-11-12 Mamoun Al Durra The automatic car cover
US8264493B2 (en) * 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US8154553B2 (en) 2008-05-22 2012-04-10 Playcast Media System, Ltd. Centralized streaming game server
WO2009138878A2 (en) 2008-05-12 2009-11-19 Playcast Media Systems, Ltd. Centralized streaming game server
US8678929B1 (en) 2008-08-01 2014-03-25 Electronics Arts Inc. Client-side prediction of a local game object to reduce apparent network lag of multiplayer simulations
US10192389B2 (en) * 2008-09-01 2019-01-29 New Bis Safe Luxco S.À.R.L. Methods, apparatus and systems for determining an adjustment value of a gaming device
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
JP5342391B2 (ja) * 2009-09-25 2013-11-13 株式会社メガチップス 画像処理装置
US9565439B2 (en) * 2009-10-15 2017-02-07 Nbcuniversal Media, Llc System and method for enhancing data compression using dynamic learning and control
US9338523B2 (en) 2009-12-21 2016-05-10 Echostar Technologies L.L.C. Audio splitting with codec-enforced frame sizes
US20110261885A1 (en) 2010-04-27 2011-10-27 De Rivaz Peter Francis Chevalley Method and system for bandwidth reduction through integration of motion estimation and macroblock encoding
US8806050B2 (en) * 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US20120057633A1 (en) * 2010-09-02 2012-03-08 Fang Shi Video Classification Systems and Methods
US8965140B1 (en) * 2011-01-31 2015-02-24 Teradici Corporation Method and apparatus for encoding mixed content image sequences
US8411971B1 (en) * 2011-02-09 2013-04-02 Adobe Systems Incorporated Method and apparatus for normalizing perceptual quality in media compression
US9071841B2 (en) * 2011-05-17 2015-06-30 Microsoft Technology Licensing, Llc Video transcoding with dynamically modifiable spatial resolution
US9426494B2 (en) * 2011-07-18 2016-08-23 Ziilabs Inc., Ltd. Systems and methods with early variance measure used to optimize video encoding
JP5155462B2 (ja) 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
US20150082345A1 (en) * 2011-09-29 2015-03-19 Avvasi Inc. System for generating enhanced advertizements and methods for use therewith
JP5977023B2 (ja) 2011-11-07 2016-08-24 株式会社スクウェア・エニックス・ホールディングス 描画システム、プログラム、及び記録媒体
US9110626B2 (en) * 2012-02-14 2015-08-18 Microsoft Technology Licensing, Llc Video detection in remote desktop protocols
US9345966B2 (en) 2012-03-13 2016-05-24 Sony Interactive Entertainment America Llc Sharing recorded gameplay to a social graph
EP2645713A1 (en) * 2012-03-30 2013-10-02 Alcatel Lucent Method and apparatus for encoding a selected spatial portion of a video stream
US9621869B2 (en) * 2012-05-24 2017-04-11 Sony Corporation System and method for rendering affected pixels
EP2898689B1 (en) 2012-09-21 2020-05-06 Nokia Technologies Oy Method and apparatus for video coding
US9984504B2 (en) * 2012-10-01 2018-05-29 Nvidia Corporation System and method for improving video encoding using content information
WO2014054325A1 (ja) * 2012-10-05 2014-04-10 ソニー株式会社 符号化制御装置および符号化制御方法
US9794569B2 (en) 2013-01-30 2017-10-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US9661351B2 (en) 2013-03-15 2017-05-23 Sony Interactive Entertainment America Llc Client side frame prediction for video streams with skipped frames
US10242462B2 (en) * 2013-04-02 2019-03-26 Nvidia Corporation Rate control bit allocation for video streaming based on an attention area of a gamer
CN105246567B (zh) 2013-05-31 2016-09-14 英派尔科技开发有限公司 受缓存影响的视频游戏
US20150020806A1 (en) * 2013-07-19 2015-01-22 Merck Sharp & Dohme Corp. Dry powder inhaler for delivering multipe agglomerate formulations
WO2015027283A1 (en) * 2013-08-29 2015-03-05 Smart Services Crc Pty Ltd Quality controller for video image
US10491916B2 (en) 2013-10-01 2019-11-26 Advanced Micro Devices, Inc. Exploiting camera depth information for video encoding
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US20150208069A1 (en) 2014-01-23 2015-07-23 Magnum Semiconductor, Inc. Methods and apparatuses for content-adaptive quantization parameter modulation to improve video quality in lossy video coding
US20150228106A1 (en) 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
WO2015131330A1 (en) 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
CN104952096B (zh) * 2014-03-31 2018-06-08 中国电信股份有限公司 Cpu和gpu混合云渲染方法、装置和系统
US20150288965A1 (en) * 2014-04-08 2015-10-08 Microsoft Corporation Adaptive quantization for video rate control
US20150296215A1 (en) * 2014-04-11 2015-10-15 Microsoft Corporation Frame encoding using hints
EP2960854A1 (en) * 2014-06-27 2015-12-30 Thomson Licensing Method and device for determining a set of modifiable elements in a group of pictures
US9762919B2 (en) 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines
US9386317B2 (en) * 2014-09-22 2016-07-05 Sony Interactive Entertainment Inc. Adaptive picture section encoding mode decision control
US10264269B2 (en) * 2014-10-13 2019-04-16 Apple Inc. Metadata hints to support best effort decoding for green MPEG applications
US10063866B2 (en) 2015-01-07 2018-08-28 Texas Instruments Incorporated Multi-pass video encoding
US10404986B2 (en) * 2015-03-30 2019-09-03 Netflix, Inc. Techniques for optimizing bitrates and resolutions during encoding
JP2018521522A (ja) 2015-04-21 2018-08-02 ヴィド スケール インコーポレイテッド 芸術的意図をベースとするビデオ符号化
JP6494439B2 (ja) * 2015-06-05 2019-04-03 キヤノン株式会社 通信装置およびその制御方法
CN105163134B (zh) 2015-08-03 2018-09-07 腾讯科技(深圳)有限公司 直播视频的视频编码参数设置方法、装置及视频编码设备
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
US10425648B2 (en) 2015-09-29 2019-09-24 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding
US20170105004A1 (en) * 2015-10-07 2017-04-13 Qualcomm Incorporated Methods and systems of coding a predictive random access picture using a background picture
JP6910130B2 (ja) 2015-11-06 2021-07-28 三星電子株式会社Samsung Electronics Co.,Ltd. 3dレンダリング方法及び3dレンダリング装置
US10163183B2 (en) 2016-01-13 2018-12-25 Rockwell Collins, Inc. Rendering performance using dynamically controlled samples
US10356406B2 (en) 2016-01-19 2019-07-16 Google Llc Real-time video encoder rate control using dynamic resolution switching
US9705526B1 (en) 2016-03-17 2017-07-11 Intel Corporation Entropy encoding and decoding of media applications
US10109100B2 (en) 2016-03-25 2018-10-23 Outward, Inc. Adaptive sampling of pixels
US9639935B1 (en) 2016-05-25 2017-05-02 Gopro, Inc. Apparatus and methods for camera alignment model calibration
US10244167B2 (en) * 2016-06-17 2019-03-26 Gopro, Inc. Apparatus and methods for image encoding using spatially weighted encoding quality parameters
US10567775B2 (en) * 2016-10-01 2020-02-18 Intel Corporation Method and system of hardware accelerated video coding with per-frame parameter control
US10951912B2 (en) 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding
US10463964B2 (en) * 2016-11-17 2019-11-05 Activision Publishing, Inc. Systems and methods for the real-time generation of in-game, locally accessible heatmaps
US20180176285A1 (en) 2016-12-15 2018-06-21 The Directv Group, Inc. Enhanced transmission of media to client devices
US10812559B2 (en) 2017-01-18 2020-10-20 Amazon Technologies, Inc. Just-in-time variable adaptive encoding and delivery of media content
US10419785B2 (en) * 2017-07-21 2019-09-17 Cisco Technology, Inc. Distributed learning video encoder/decoder
US10045053B1 (en) 2017-08-23 2018-08-07 Amazon Technologies, Inc. Fragment insertion for live media streams

Also Published As

Publication number Publication date
TW201904292A (zh) 2019-01-16
CA3159950A1 (en) 2018-10-25
CA3106617A1 (en) 2018-10-25
GB202002838D0 (en) 2020-04-15
JP2020110608A (ja) 2020-07-27
ZA202007053B (en) 2022-03-30
RU2752723C2 (ru) 2021-07-30
GB2591410A (en) 2021-07-28
AU2018255414B2 (en) 2021-01-21
TW202015408A (zh) 2020-04-16
GB2593598B (en) 2021-12-29
CA3087809C (en) 2021-03-09
KR20210114553A (ko) 2021-09-23
GB2595029A (en) 2021-11-17
AU2020289756B2 (en) 2021-11-25
AU2020289756A1 (en) 2021-01-21
JP7291820B2 (ja) 2023-06-15
RU2753157C2 (ru) 2021-08-12
GB2583825A (en) 2020-11-11
GB2593598A (en) 2021-09-29
RU2020114319A (ru) 2020-06-18
GB201916973D0 (en) 2020-01-08
JP7050836B2 (ja) 2022-04-08
KR20210010668A (ko) 2021-01-27
US11202084B2 (en) 2021-12-14
GB2595029B (en) 2022-02-09
GB202103312D0 (en) 2021-04-21
GB2583826A (en) 2020-11-11
CA3159952A1 (en) 2018-10-25
GB202104290D0 (en) 2021-05-12
CA3059747A1 (en) 2018-10-25
EP3635954A1 (en) 2020-04-15
RU2020114319A3 (pt) 2020-07-07
GB2583825B (en) 2021-05-12
CA3059747C (en) 2021-03-23
CA3087809A1 (en) 2018-10-25
KR102460792B1 (ko) 2022-10-28
CN110945849B (zh) 2021-06-08
CA3108057A1 (en) 2018-10-25
US20180310009A1 (en) 2018-10-25
DE112018002112T5 (de) 2020-01-16
US20190158856A1 (en) 2019-05-23
RU2720067C1 (ru) 2020-04-23
TWI684358B (zh) 2020-02-01
JP2022065047A (ja) 2022-04-26
JP2020520204A (ja) 2020-07-02
TWI742510B (zh) 2021-10-11
KR102447074B1 (ko) 2022-09-23
ZA201907683B (en) 2021-04-28
GB2577642B (en) 2021-05-19
US10362320B2 (en) 2019-07-23
RU2019138226A (ru) 2019-12-27
US20180309811A1 (en) 2018-10-25
RU2019138226A3 (pt) 2020-06-30
TW202017388A (zh) 2020-05-01
TWI737045B (zh) 2021-08-21
EP3739881A1 (en) 2020-11-18
US20210058630A1 (en) 2021-02-25
TWI681666B (zh) 2020-01-01
MX2020012597A (es) 2021-10-19
WO2018195440A1 (en) 2018-10-25
EP3635954A4 (en) 2020-07-15
US11503313B2 (en) 2022-11-15
US10869045B2 (en) 2020-12-15
CN110945849A (zh) 2020-03-31
MX2021004094A (es) 2021-06-08
TW201842778A (zh) 2018-12-01
EP4109899A1 (en) 2022-12-28
CN112153029A (zh) 2020-12-29
ZA202007213B (en) 2022-04-28
AU2020289755B2 (en) 2021-11-25
AU2018255414A1 (en) 2019-12-05
EP3720130B1 (en) 2022-09-28
AU2020289755A1 (en) 2021-01-21
GB2577642A (en) 2020-04-01
JP7145203B2 (ja) 2022-09-30
KR102358294B1 (ko) 2022-02-08
CA3106617C (en) 2023-11-07
KR20200021047A (ko) 2020-02-27
EP3720130A1 (en) 2020-10-07
CA3159950C (en) 2024-01-23
US10225564B2 (en) 2019-03-05
US20190281313A1 (en) 2019-09-12
GB202104855D0 (en) 2021-05-19
KR20220012426A (ko) 2022-02-03
GB2583826B (en) 2021-05-19
GB202002769D0 (en) 2020-04-15

Similar Documents

Publication Publication Date Title
BR112019021628A2 (pt) Sistemas e métodos para fornecer estimativa de carga com base na sugestão do codificador
US10475172B2 (en) Techniques for predicting perceptual video quality
BR112019021687A2 (pt) Sistemas e métodos para renderização de qualidade adaptativa guiada por codificador
BR112020016047A2 (pt) Técnicas para predizer qualidade de vídeo perceptiva com base em modelos de qualidades perceptivas complementares
GB2570449A (en) Method and system for auto-setting of cameras
JP3563687B2 (ja) ビデオ信号の繰り返しフレームの検出方法及び装置
Amirpour et al. Between two and six? towards correct estimation of jnd step sizes for vmaf-based bitrate laddering
Jin et al. Fovqa: Blind foveated video quality assessment
TW201942870A (zh) 位元率優化系統及方法
JP2008146133A (ja) 異常検知装置、プログラム及び異常検知方法
KR20220097660A (ko) 연산부하를 자동 분산시킬 수 있는 호흡기 감염증 실시간 위험도 측정 시스템
Wang et al. Video-based CPR analysis system
JP2015061252A (ja) 動き検出装置及び動き検出用プログラム
BRPI0518821B1 (pt) Determinação de parâmetro de quantizador para controle de taxa em codificador de vídeo

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]