BR112013033552B1

Reducing latency in video encoding and decoding

Abstract

method in a computer system implementing a video decoder, method in a computing system, computer readable medium and computing system. The present invention relates to tool techniques for reducing latency in video encoding and decoding by constraining latency due to video frame reordering, and by indicating constraint with respect to frame reordering latency with one or more syntax elements. that accompany encoded data (421) for the video frames. for example, a real-time communication tool with a video encoder establishes a syntax element that indicates a constraint on frame reordering latency, which is consistent with interframe dependencies between multiple frames of a sequence of images. video, and then outputs the syntax element. a corresponding real-time communication tool with a video decoder receives the syntax element that indicates the constraint on frame reordering latency, determines the constraint on frame reordering latency based on the syntax element, and uses the constraint on frame reordering latency to determine when the reconstructed frame (740) is ready for emission (in terms of output order).

BR112013033552B1, drawing sheet 1
Sheet 1 of 8

Term

5 yearsleft in the term

Expires 11 October 2031.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

33 claims: 6 independent, 27 dependent

  1. 1
    1/11 REIVINDICAÇÕES 1. Método em um sistema de computação que implementa um decodificador de vídeo caracterizado pelo fato de que compreende as etapas de:receber e analisar um elemento de sintaxe que indica um tamanho máximo de memória de quadro para reordenação, em que o tamanho máximo de memória de quadro para reordenação está expresso em termos de uma contagem máxima de quadros que pode preceder a qualquer quadro de uma sequência de vídeo em ordem codificada mas seguindo o quadro na ordem de saída;receber e analisar um ou mais elementos de sintaxe diferentes que indicam uma restrição na latência de reordenamento de quadro, em que a restrição na latência de reordenamento de quadro é expressa em termos de uma contagem máxima de quadros que podem preceder qualquer quadro da sequência de vídeo na ordem de saída mas segue o quadro na ordem codificada;receber os dados codificados para múltiplos quadros da sequência de vídeo;com o decodificador vídeo, decodificar pelo menos alguns dos dados codificados para reconstituir um dos múltiplos quadros;e emitir o quadro reconstruído.
  2. 2
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda:determinar a restrição na latência de reordenamento de quadro baseada em um ou mais dos elementos de sintaxe diferente;e utilizar a restrição na latência de reordenamento de quadro para determinar quando o quadro reconstruído está pronto para emitir em termos de ordem dos saída dos múltiplos quadros da sequência de vídeo.
  3. 3
    Método, de acordo com a reivindicação 2, caracterizado Petição 870200084889, de 08/07/2020, pág. 48/59 2/11 pelo fato de que os múltiplos quadros da sequência de vídeo são organizados de acordo com uma hierarquia temporal, em que diferentes elementos de sintaxe de um ou mais elementos de sintaxe diferentes indicam diferentes restrições nas latências de reordenamento de quadro para diferentes camadas temporais da hierarquia temporal, o método compreendendo ainda selecionar uma das diferentes restrições nas latências de reordenamento de quadro dependendo da resolução temporal da saída.
  4. 4
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a restrição na latência de reordenamento de quadro define uma diferença máxima entre a ordem codificada e a ordem de saída para qualquer quadro na sequência de vídeo.
  5. 5
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um ou mais elementos de sintaxe diferentes e os dados codificados são sinalizados como parte de uma sintaxe para um fluxo de bits de vídeo codificado, o método ainda compreendendo:receber e analisar um elemento de sintaxe tamanho de buffer que indica o tamanho máximo de um buffer de imagem descodificada, em que o elemento de sintaxe de tamanho de buffer é diferente de um ou mais elementos de sintaxe diferentes que indicam a restrição na latência de reordenamento de quadro.
  6. 6
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um ou mais dos elementos de sintaxe diferentes são sinalizados como parte de um conjunto de parâmetros de sequência, um conjunto de parâmetros de imagem, sintaxe para um arquivo de armazenamento de mídia que inclui também os dados codificados, sintaxe para um fluxo de transmissão de mídia que também inclui os dados codificados, um protocolo de negociação de propriedades de mídia, informação do sistema de mídia multiplexado com os dados codificados ou metadados de mídia relacionados aos dados codificados. Petição 870200084889, de 08/07/2020, pág. 49/59 3/11
  7. 7
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende:receber um sinal que indica a presença ou ausência de um ou mais elementos de sintaxe diferentes, em que se o sinal indica que um ou mais elementos de sintaxe diferentes estão ausentes, então a restrição no quadro na latência de reordenamento de quadro é indefinido ou tem um valor predefinido.
  8. 8
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um valor possível de um ou mais elementos de sintaxe diferentes indica que a restrição na latência de reordenamento de quadro é indefinida ou tem um valor predefinido, e em que outros valores possíveis de um ou mais elementos de sintaxe diferentes indicam um contador inteiro para a restrição na latência de reordenamento de quadro.
  9. 9
    Método, de acordo com a reivindicação 1, caracterizado pelo fato de que um valor de um ou mais dos diferentes elementos de sintaxe indica um contador inteiro para a restrição na latência de reordenamento de quadro em relação ao tamanho máximo da memória do quadro para reordenamento.
  10. 10
    Método, de acordo com a reivindicação 9, caracterizado pelo fato de que a restrição na latência de reordenamento de quadro pode ser determinada como a contagem máximo para o tamanho máximo da memória do quadro reordenar mais o contador inteiro para a restrição na latência de reordenamento de quadro menos 1.
  11. 11
    Método em um sistema de computação, caracterizado pelo fato de que compreende as etapas de:ajustar um elemento de sintaxe que indica um tamanho máximo da memória do quadro para reordenar, em que o tamanho máximo da memória do quadro para reordenar está expresso em termos de um contador máximo de quadros que pode preceder qualquer Petição 870200084889, de 08/07/2020, pág. 50/59 4/11 quadro de uma sequência de vídeo em ordem codificada mas seguem o quadro na ordem de saída;ajustar um ou mais elementos de sintaxe diferentes que indicam uma restrição na latência de reordenamento de quadro consistente com as dependências entre os quadros entre múltiplos quadros da sequência de vídeo, em que a restrição na latência de reordenamento de quadro é expressa em termos de uma contagem máxima de quadros que podem preceder qualquer quadro da sequência de vídeo na ordem de saída mas seguem o quadro na ordem codificada;e emitir um ou mais elementos de sintaxe diferentes, facilitando assim a determinação de quando os quadros reconstruídos estão prontos para emitir em termos de ordem de saída os múltiplos quadros.
  12. 12
    Método, de acordo com a reivindicação 11, caracterizado pelo fato de que o sistema de computação implementa um codificador de vídeo, o método ainda compreendendo:receber os múltiplos quadros da sequência de vídeo;com o codificador de vídeo, codificar os múltiplos quadros para produzir dados codificados, em que a codificação utiliza as dependências entre quadros que são consistentes com a restrição na latência de reordenamento de quadro;e emitir os dados codificados para armazenamento ou transmissão.
  13. 13
    Método, de acordo com a reivindicação 11, caracterizado pelo fato de que um ou mais elementos de sintaxe diferentes e os dados codificados são emitidos como parte da sintaxe para um fluxo de bits de vídeo codificado, o método ainda compreendendo:emitir um elemento de sintaxe de tamanho de buffer que indica o tamanho máximo de um buffer de imagem decodificada, em que o elemento de sintaxe de tamanho de buffer é diferente de um ou mais Petição 870200084889, de 08/07/2020, pág. 51/59 5/11 elementos de sintaxe diferentes que indicam a restrição na latência de reordenamento de quadro.
  14. 14
    Método, de acordo com a reivindicação 11, caracterizado pelo fato de que um ou mais elementos de sintaxe diferentes são emitidos como parte de um conjunto de parâmetros de sequência, um conjunto de parâmetros de imagem, sintaxe para um arquivo de armazenamento de mídia que inclui também dados codificados para os múltiplos quadros, sintaxe para um fluxo de transmissão de mídia que inclui também dados codificados para os múltiplos quadros, um protocolo de negociação de propriedades de mídia, informação do sistema de mídia multiplexados com dados codificados para os múltiplos quadros ou metadados de mídia relativos a dados codificados para os múltiplos quadros.
  15. 15
    Método, de acordo com a reivindicação 11, caracterizado pelo fato de que ainda compreende:emitir um sinal que indica a presença ou ausência de um ou mais elementos de sintaxe diferentes, em que se o sinal indica que um ou mais elementos de sintaxe diferentes estão ausentes, então a restrição na latência de reordenamento de quadro é indefinida ou tem um valor predefinido.
  16. 16
    Método, de acordo com a reivindicação 11, caracterizado pelo fato de que um valor possível de um ou mais elementos de sintaxe diferentes indica que a restrição na latência de reordenamento de quadro é indefinida ou tem um valor predefinido, e em que outros valores possíveis de um ou mais elementos de sintaxe diferentes indicam um contador inteiro para a restrição na latência de reordenamento de quadro.
  17. 17
    Método, de acordo com a reivindicação 11, caracterizado pelo fato de que um valor de um ou mais dos diferentes elementos de sintaxe indica um contador inteiro para a restrição na latên Petição 870200084889, de 08/07/2020, pág. 52/59 6/11 cia de reordenamento de quadro em relação ao tamanho máximo de memória do quadro para reordenamento.
  18. 18
    Método, de acordo com a reivindicação 17, caracterizado pelo fato de que a restrição na latência de reordenamento de quadro pode ser determinada como a contagem máximo para o tamanho máximo da memória do quadro reordenar mais o contador inteiro para a restrição na latência de reordenamento de quadro menos 1.
  19. 19
    Sistema de computação compreendendo um processador, memória e armazenamento que implementam um decodificador de vídeo adaptado para realizar um método caracterizado pelo fato de que compreende:receber e analisar um elemento de sintaxe que indica um tamanho máximo de memória de quadro para reordenação, em que o tamanho máximo de memória de quadro para reordenação é expresso em termos de uma contagem máxima de quadros que pode preceder a qualquer quadro de uma sequência de vídeo em ordem codificada mas segue o quadro na ordem de saída;receber e analisar um ou mais elementos de sintaxe diferentes que indicam uma restrição na latência de reordenamento de quadro;determinar a restrição na latência de reordenamento de quadro com base em um ou mais elementos de sintaxe diferentes, em que a restrição na latência de reordenamento de quadro é expressa em termos de uma contagem máxima de quadros que pode preceder qualquer quadro da sequência de vídeo na ordem de saída mas segue o quadro na ordem codificada;receber os dados codificados para múltiplos quadros da sequência de vídeo;com o decodificador vídeo, decodificando pelo menos alguns dos dados codificados para reconstituir um dos múltiplos quaPetição 870200084889, de 08/07/2020, pág. 53/59 7/11 dros;e emitir o quadro reconstruído, incluindo usar a restrição na latência de reordenamento de quadro para determinar quando o quadro reconstruído está pronto para ser emitido em termos da ordem de saída dos múltiplos quadros da sequência de vídeo.
  20. 20
    Sistema de computação, de acordo com a reivindicação 19, caracterizado pelo fato de que um ou mais elementos de sintaxe diferentes são sinalizados como parte de um conjunto de parâmetro de sequência ou metadados de media relativos aos dados codificados para os múltiplos quadros.
  21. 21
    Sistema de computação, de acordo com a reivindicação 19, caracterizado pelo fato de que um valor de um ou mais elementos de sintaxe diferentes indica uma contagem inteira para a restrição na latência de reordenamento de quadro em relação a um tamanho máximo da memória de quadro para reordenamento.
  22. 22
    Sistema de computação, de acordo com a reivindicação 21, caracterizado pelo fato de que a restrição na latência de reordenamento de quadro pode ser determinada como a contagem máximo para o tamanho máximo da memória do quadro reordenar mais o contador inteiro para a restrição na latência de reordenamento de quadro menos 1.
  23. 23
    Meio legível por computador que armazena instruções executáveis por computador para fazer com que um sistema de computação programado para assim realizar um método, o meio legível por computador sendo selecionado a partir do grupo consistindo de uma memória não-volátil e um dispositivo de armazenamento, caracterizado pelo fato de que compreende:receber e analisar um elemento de sintaxe que indica um tamanho máximo de memória de quadro para reordenação, em que o tamanho máximo de memória de quadro para reordenação está ex Petição 870200084889, de 08/07/2020, pág. 54/59 8/11 presso em termos de uma contagem máxima de quadros que pode preceder a qualquer quadro de uma sequência de vídeo em ordem codificada mas seguindo o quadro na ordem de saída;receber e analisar um ou mais elementos de sintaxe diferentes que indicam uma restrição na latência de reordenamento de quadro, em que a restrição na latência de reordenamento de quadro é expressa em termos de uma contagem máxima de quadros que podem preceder qualquer quadro da sequência de vídeo na ordem de saída mas segue o quadro na ordem codificada;receber os dados codificados para múltiplos quadros da sequência de vídeo;com o decodificador vídeo, decodificar pelo menos alguns dos dados codificados para reconstituir um dos múltiplos quadros;e emitir o quadro reconstruído.
  24. 24
    Meio legível por computador, de acordo com a reivindicação 23, caracterizado pelo fato de que compreende ainda:determinar a restrição na latência de reordenamento de quadro baseada em um ou mais dos elementos de sintaxe diferente;e utilizar a restrição na latência de reordenamento de quadro para determinar quando o quadro reconstruído está pronto para emitir em termos de ordem dos saída dos múltiplos quadros da sequência de vídeo.
  25. 25
    Meio legível por computador, de acordo com a reivindicação 23, caracterizado pelo fato de que os múltiplos quadros da sequência de vídeo são organizados de acordo com uma hierarquia temporal, em que diferentes elementos de sintaxe de um ou mais elementos de sintaxe diferentes indicam diferentes restrições nas latências de reordenamento de quadro para diferentes camadas temporais da hierarquia temporal, compreendendo ainda selecionar uma das diferentes restrições nas latências de reordenamento de quadro depen- Petição 870200084889, de 08/07/2020, pág. 55/59 9/11 dendo da resolução temporal da saída.
  26. 26
    Meio legível por computador, de acordo com a reivindicação 23, caracterizado pelo fato de que um valor de um ou mais dos diferentes elementos de sintaxe indica um contador inteiro para a restrição na latência de reordenamento de quadro em relação ao tamanho máximo da memória do quadro para reordenamento.
  27. 27
    Meio legível por computador, de acordo com a reivindicação 26, caracterizado pelo fato de que a restrição na latência de reordenamento de quadro pode ser determinada como a contagem máximo para o tamanho máximo da memória do quadro reordenar mais o contador inteiro para a restrição na latência de reordenamento de quadro menos 1.
  28. 28
    Meio legível por computador que armazena instruções executáveis por computador para fazer com que um sistema de computação programado para assim realizar um método, o meio legível por computador sendo selecionado a partir do grupo consistindo de uma memória não-volátil e um dispositivo de armazenamento, caracterizado pelo fato de que compreende:ajustar um elemento de sintaxe que indica um tamanho máximo da memória do quadro para reordenar, em que o tamanho máximo da memória do quadro para reordenar está expresso em termos de um contador máximo de quadros que pode preceder qualquer quadro de uma sequência de vídeo em ordem codificada mas seguem o quadro na ordem de saída;ajustar um ou mais elementos de sintaxe diferentes que indicam uma restrição na latência de reordenamento de quadro consistente com as dependências entre os quadros entre múltiplos quadros da sequência de vídeo, em que a restrição na latência de reordenamento de quadro é expressa em termos de uma contagem máxima de quadros que podem preceder qualquer quadro da sequência de vídeo Petição 870200084889, de 08/07/2020, pág. 56/59 10/11 na ordem de saída mas seguem o quadro na ordem codificada;e emitir um ou mais elementos de sintaxe diferentes, facilitando assim a determinação de quando os quadros reconstruídos estão prontos para emitir em termos de ordem de saída os múltiplos quadros.
  29. 29
    Meio legível por computador, de acordo com a reivindicação 28, caracterizado pelo fato de que um valor de um ou mais dos diferentes elementos de sintaxe indica um contador inteiro para a restrição na latência de reordenamento de quadro em relação ao tamanho máximo de memória do quadro para reordenamento.
  30. 30
    Meio legível por computador, de acordo com a reivindicação 29, caracterizado pelo fato de que a restrição na latência de reordenamento de quadro pode ser determinada como a contagem máximo para o tamanho máximo da memória do quadro reordenar mais o contador inteiro para a restrição na latência de reordenamento de quadro menos 1.
  31. 31
    Sistema de computação que compreende um processador, memória e armazenamento que implementam um codificador de vídeo adaptado para realizar um método caracterizado pelo fato de que compreende:ajustar um elemento de sintaxe que indica um tamanho máximo da memória do quadro para reordenar, em que o tamanho máximo da memória do quadro para reordenar está expresso em termos de um contador máximo de quadros que pode preceder qualquer quadro de uma sequência de vídeo em ordem codificada mas seguem o quadro na ordem de saída;ajustar um ou mais elementos de sintaxe diferentes que indicam uma restrição na latência de reordenamento de quadro consistente com as dependências entre os quadros entre múltiplos quadros da sequência de vídeo, em que a restrição na latência de reordena Petição 870200084889, de 08/07/2020, pág. 57/59 11/11 mento de quadro é expressa em termos de uma contagem máxima de quadros que podem preceder qualquer quadro da sequência de vídeo na ordem de saída mas seguem o quadro na ordem codificada;receber os múltiplos quadros da sequência de vídeo;com o codificador de vídeo, codificar os múltiplos quadros para produzir dados codificados, em que a codificação utiliza as dependências entre quadros que são consistentes com a restrição na latência de reordenamento de quadro;emitir um ou mais elementos de sintaxe diferentes, facilitando assim a determinação de quando os quadros reconstruídos estão prontos para serem emitidos em termos da ordem de saída dos múltiplos quadros;e emitir os dados codificados para armazenamento ou transmissão.
  32. 32
    Sistema de computação, de acordo com a reivindicação 31, caracterizado pelo fato de que um valor de um ou mais dos diferentes elementos de sintaxe indica um contador inteiro para a restrição na latência de reordenamento de quadro em relação ao tamanho máximo de memória do quadro para reordenamento.
  33. 33
    Sistema de computação, de acordo com a reivindicação 32, caracterizado pelo fato de que a restrição na latência de reordenamento de quadro pode ser determinada como a contagem máximo para o tamanho máximo da memória do quadro reordenar mais o contador inteiro para a restrição na latência de reordenamento de quadro menos 1. Petição 870200084889, de 08/07/2020, pág. 58/59
Independent claims33