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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000033458 reproduction Effects 0.000 claims 8
- 238000004364 calculation method Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 9
- 238000009877 rendering Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000005096 rolling process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/86—Watching games played by other players
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/162—User input
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/198—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods 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)
- REIVINDICAÇÕES1. 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. 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. Método Implementado Por Computador Para Codificação de Dados, de acordo com a Reivindicação 1, caracterizado por quePetição 870190103779, de 15/10/2019, pág. 131/1742/8 compreende ainda a etapa de armazenar as configurações de qualidade normalizadas do codificador por célula no renderizador.
- 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. 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. 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. Método Implementado Por Computador Para Codificação deDados, 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. 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. Sistema Para Codificação de Dados, compreendendo:um renderizador, em que o renderizador:Petição 870190103779, de 15/10/2019, pág. 132/1743/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. 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. 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. Sistema Para Codificação de Dados, de acordo com a ReivindicaçãoPetição 870190103779, de 15/10/2019, pág. 133/1744/89, caracterizado por que uma ou mais reproduções diretas são armazenadas em um servidor de telemetria.
- 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. 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. Sistema Para Codificação de Dados, de acordo com a Reivindicação9, 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. 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. 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/1745/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. 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. 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 doPetição 870190103779, de 15/10/2019, pág. 135/1746/8 codificador são armazenadas como uma lista ordenada de flutuadores.
- 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. 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/1747/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. 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. 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, ePetição 870190103779, de 15/10/2019, pág. 137/1748/8 em que as configurações de qualidade normalizadas do codificador são armazenadas como uma lista ordenada de flutuadores.
- 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.
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)
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)
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 |
-
2018
- 2018-04-20 CA CA3159952A patent/CA3159952A1/en active Pending
- 2018-04-20 CN CN202010966091.XA patent/CN112153029A/zh active Pending
- 2018-04-20 TW TW108142603A patent/TWI737045B/zh active
- 2018-04-20 WO PCT/US2018/028594 patent/WO2018195440A1/en active Application Filing
- 2018-04-20 CA CA3159950A patent/CA3159950C/en active Active
- 2018-04-20 EP EP18787859.0A patent/EP3635954A4/en active Pending
- 2018-04-20 US US15/958,610 patent/US10362320B2/en active Active
- 2018-04-20 CN CN201880041815.0A patent/CN110945849B/zh active Active
- 2018-04-20 CA CA3106617A patent/CA3106617C/en active Active
- 2018-04-20 GB GB2103312.1A patent/GB2595029B/en active Active
- 2018-04-20 TW TW107113589A patent/TWI684358B/zh active
- 2018-04-20 CA CA3059747A patent/CA3059747C/en active Active
- 2018-04-20 TW TW107113593A patent/TWI681666B/zh active
- 2018-04-20 EP EP20176068.3A patent/EP3739881A1/en active Pending
- 2018-04-20 KR KR1020227001835A patent/KR102460792B1/ko active IP Right Grant
- 2018-04-20 BR BR112019021628-6A patent/BR112019021628A2/pt unknown
- 2018-04-20 RU RU2019137526A patent/RU2720067C1/ru active
- 2018-04-20 TW TW109100865A patent/TWI742510B/zh active
- 2018-04-20 CA CA3108057A patent/CA3108057A1/en not_active Abandoned
- 2018-04-20 DE DE112018002112.2T patent/DE112018002112T5/de active Pending
- 2018-04-20 GB GB2002769.4A patent/GB2583825B/en active Active
- 2018-04-20 GB GB2104290.8A patent/GB2593598B/en active Active
- 2018-04-20 AU AU2018255414A patent/AU2018255414B2/en active Active
- 2018-04-20 GB GB2002838.7A patent/GB2583826B/en active Active
- 2018-04-20 KR KR1020217001990A patent/KR102358294B1/ko active IP Right Grant
- 2018-04-20 JP JP2020507501A patent/JP7145203B2/ja active Active
- 2018-04-20 GB GB1916973.9A patent/GB2577642B/en active Active
- 2018-04-20 KR KR1020197033917A patent/KR20200021047A/ko not_active Application Discontinuation
- 2018-04-20 CA CA3087809A patent/CA3087809C/en active Active
- 2018-04-20 EP EP22185705.5A patent/EP4109899A1/en active Pending
- 2018-04-20 RU RU2020114319A patent/RU2752723C2/ru active
- 2018-04-20 GB GB2104855.8A patent/GB2591410A/en not_active Withdrawn
- 2018-04-20 US US15/958,647 patent/US10225564B2/en active Active
- 2018-04-20 KR KR1020217028704A patent/KR102447074B1/ko active IP Right Grant
- 2018-04-20 EP EP20176058.4A patent/EP3720130B1/en active Active
- 2018-04-20 RU RU2019138226A patent/RU2753157C2/ru active
- 2018-04-20 MX MX2020012597A patent/MX2020012597A/es unknown
-
2019
- 2019-01-22 US US16/254,107 patent/US11202084B2/en active Active
- 2019-05-24 US US16/421,934 patent/US10869045B2/en active Active
- 2019-10-18 MX MX2021004094A patent/MX2021004094A/es unknown
- 2019-11-20 ZA ZA2019/07683A patent/ZA201907683B/en unknown
-
2020
- 2020-02-28 JP JP2020033260A patent/JP7050836B2/ja active Active
- 2020-08-31 US US17/008,305 patent/US11503313B2/en active Active
- 2020-11-12 ZA ZA2020/07053A patent/ZA202007053B/en unknown
- 2020-11-19 ZA ZA2020/07213A patent/ZA202007213B/en unknown
- 2020-12-15 AU AU2020289756A patent/AU2020289756B2/en active Active
- 2020-12-15 AU AU2020289755A patent/AU2020289755B2/en active Active
-
2022
- 2022-02-09 JP JP2022018373A patent/JP7291820B2/ja active Active
Also Published As
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] |