BRPI0501728B1 - método e aparelho para processamento de dados em uma unidade de processamento sendo um encadeamento em um ambiente de múltiplos encadeamentos - Google Patents

método e aparelho para processamento de dados em uma unidade de processamento sendo um encadeamento em um ambiente de múltiplos encadeamentos Download PDF

Info

Publication number
BRPI0501728B1
BRPI0501728B1 BRPI0501728A BRPI0501728A BRPI0501728B1 BR PI0501728 B1 BRPI0501728 B1 BR PI0501728B1 BR PI0501728 A BRPI0501728 A BR PI0501728A BR PI0501728 A BRPI0501728 A BR PI0501728A BR PI0501728 B1 BRPI0501728 B1 BR PI0501728B1
Authority
BR
Brazil
Prior art keywords
processing unit
data
value
timer
temporary storage
Prior art date
Application number
BRPI0501728A
Other languages
English (en)
Inventor
Schmidt Jürgen
Original Assignee
Thomson Licensing Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing Sa filed Critical Thomson Licensing Sa
Publication of BRPI0501728A publication Critical patent/BRPI0501728A/pt
Publication of BRPI0501728B1 publication Critical patent/BRPI0501728B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

"método e aparelho para processamento de dados em uma unidade de processamento sendo um encadeamento em um ambiente de múltiplos encadeamentos". um método para melhorar o comportamento de regulação de uma unidade de processamento (14) em um ambiente de múltiplos encadeamentos é revelado, no qual a unidade de processamento (14) gera quadros de dados para uma unidade de saída (16) pela combinação de dados de uma pluralidade de unidades de entrada (11,12,13), e os dados processados são colocados em um armazenamento temporário de saída (15) entre a unidade de processamento e a unidade de saída. o método compreende enviar (18) da unidade de saída para a unidade de processamento um valor correspondendo com o preenchimento do armazenamento temporário de saída, calcular um valor de registrador, ajustar um registrador (21) com o valor do registrador, no qual o registrador chama o encadeamento da unidade de processamento depois do tempo especificado. o valor do registrador depende do valor correspondendo com o preenchimento em média do armazenamento temporário de saída. como resultado, o preenchimento médio do armazenamento temporário de saída (15) é menor comparado com o gerenciamento do encadeamento convencional, e assim o sistema é mais flexível e reage mais rápido.

Description

"MÉTODO E APARELHO PARA PROCESSAMENTO DE DADOS EM UMA UNIDADE DE PROCESSAMENTO SENDO UM ENCADEAMENTO EM UM AMBIENTE DE MÚLTIPLOS ENCADEAMENTOS" Campo da invenção Essa invenção se refere a um método para processamento de dados em uma unidade de processamento. Em particular, a invenção se refere a um método para processamento de dados em uma unidade de processamento, onde a unidade de processamento gera quadros de dados para uma unidade de saída pela combinação dos dados de uma pluralidade de unidades de entrada, e onde a dita unidade de processamento, unidades de entrada e unidade de saída são encadeamentos em um ambiente de múltiplos encadeamentos.
Antecedentes As apresentações audiovisuais (AV) que são codificadas de acordo com o padrão do Grupo de Especialistas de Imagem em Movimento (MPEG) ISO/IEC-14496-1, conhecido como Sistemas MPEG-4, podem consistir de vários fluxos de dados, por exemplo um ou mais fluxos para vídeo, um ou mais fluxos para áudio e outros. Os fluxos de áudio podem ter taxas de amostragem individuais geralmente padronizadas, por exemplo, 8kb/s, 16kb/s, 22,05kb/s, 32kb/s, 44,lkb/s ou 48kb/s para tipos diferentes de fluxos de áudio. Ademais, esses fluxos consistem de pacotes ou quadros com carimbos de tempo anexos. A reprodução de tais apresentações exige unidades de decodificação individuais para fluxos diferentes, uma unidade de processamento e uma ou mais unidades de saída. Essas unidades de decodíficação, processamento e saída podem ser implementadas na assim chamada técnica de múltiplos en-cadeamentos, usando um microprocessador com sistema operacional (OS) e software de aplicação, onde as unidades mencionadas são implementadas como divisões de software separadas, também chamadas "tarefas" ou "encadeamentos". Um enca-deamento é uma unidade independente de software executável que compartilha de modo seqüencial o controle do microprocessador com outros encadeamentos. Desde que os encadeamentos são chamados e executados seqüencialmente, eles funcionam de modo assíncrono entre si, e podem se comunicar via uma interface de programação de aplicação (API) de troca de mensagens provida pelo sistema operacional, ou através de chamadas de função. A transmissão dos dados entre os encadeamentos exige que os dados sejam armazenados temporariamente, onde estruturas semelhantes a FIFO geralmente sincronizadas são usadas para armazenar temporariamente. Entretanto, a obtenção de uma qualidade aceitável de reprodução exige que o fluxo dos dados de saída, por exemplo fluxo de áudio, seja contínuo e completo na unidade de saída, isto é, quaisquer estouros negativos de armazenamento temporário e estouros de armazenamento temporário devem ser impedidos. Para garantir a disponibilidade constante de dados na unidade de saída, geralmente um grande armazenamento temporário de FIFO é usada entre a unidade de processamento e a unidade de saída.
Um sistema de processamento de áudio convencional é mostrado na Fig. 1. Blocos de dados decodificados de um fluxo fonte são lidos de um decodificador 11 via um FIFO de quadro 11b para dentro de uma unidade de processamento 14 onde eles são processados. Os blocos de dados processados são gravados em um FIFO organizado em bloco 15 que alimenta o módulo de saída 16. 0 módulo de saída 16 gera um fluxo contínuo 17 de dados de representação de áudio proveniente dos blocos de dados que são lidos do FIFO do quadro 15, usando vários blocos de dados decodificados simultaneamente. Quando o FIFO 15 não está cheio, ele envia um sinal 18, por exemplo uma mensagem de exceção, para a unidade de processamento 14. A seguir a unidade de processamento 14 processa mais dados da sua entrada até que o FIFO 15 fica completo.
Tal sistema pode ser implementado em um sistema de operação em tempo real (RTOS) ou em um não RTOS, como por exemplo Microsoft Windows®. Nesse último caso, que é preferido porque ele é mais barato e mais simples do que o RTOS, encadeamentos separados 11T, 14T, 16T são usados para o de-codifícador 11, a unidade de processamento 14 e o módulo de saída 16.
Sumário da Invenção Para algumas aplicações, é desejável processar os dados de fontes diferentes simultaneamente, onde as fontes podem ter taxas de quadros diferentes e/ou taxas de amostragem e exigem decodificadores separados. Por exemplo, pode ser necessário sobrepor sinais de áudio de várias entradas, por exemplo dez ou mais. A Fig. 2 mostra uma solução direta, conectando vários decodificadores 11,12,13 na unidade de processamento 14. Os decodificadores 11,12,13 funcionam em encadeamentos separados, e o gerenciamento do encadeamento do OS controla, pela chamada dos encadeamentos respectivos, a ordem na qual os dados de entrada diferentes são processados. Tipicamente um encadeamento fica ativo contanto que ele tenha dados em um armazenamento temporário de entrada para processar e espaço em um armazenamento temporário de saída para gravar. A unidade de processamento 14 combina dados de todos os seus armazenamentos temporários de entrada 11b, 12b, 13b, e portanto requer que os dados fiquem disponíveis em todos esses armazenamentos temporários. Como resultado, o tempo entre chamadas sucessivas da unidade de processamento 14 torna-se mais longo do que em um sistema de entrada única, porque cada uma das unidades de decodificador 11,12,13 tenta encher seu armazenamento temporário de saída respectiva 11b,12b,13b completamente, como controlado pelo gerenciamento do encadeamento do OS. Assim, também a quantidade total de dados de entrada a serem processados é maior do que em um sistema de entrada única. Isso leva a oscilações mais fortes do preenchimento do armazenamento temporário de saída. Particularmente quando o microprocessador está pesadamente carregado, o sistema pode ficar muito lento para processar os dados de transferência de entrada, que exige processamento similar ao tempo real, e se o gerenciamento do encadeamento é para finalidade geral e não otimizado ele pode até mesmo bloquear devido a um tipo de efeito de estrangulamento. Isso pode levar a perda de dados, isto é, nem todos os dados de entrada chegam no módulo de saída 16, o que não é aceitável para alguns tipos de dados, tais como por exemplo dados de áudio de alta qualidade. 0 sistema de múltiplas entradas descrito funcionando sob um não RTOS, por exemplo, em uma apresentação de áudio-vídeo leva ao comportamento de regulação imprevisível da unidade de processamento sob carga pesada, por exemplo quando dados de entrada de várias fontes de áudio diferentes devem ser processados enquanto adicionalmente o microprocessador tem que executar outras tarefas. Como resultado, a sincronização entre áudio e vídeo é difícil devido ao retardo imprevisível entre a decodificação dos pacotes de áudio e a renderização do áudio na unidade de saída. Ademais, o longo tempo entre chamadas sucessivas do encadeamento da unidade de processamento também causa maior tempo de resposta para as interações do usuário, por exemplo comandos, que tipicamente também são, em um sistema de múltiplos encadeamen-tos, executados pela unidade de processamento. Assim, demora mais para os comandos do usuário se tornarem efetivos. 0 problema a ser resolvido pela invenção é prover um método para melhorar o comportamento de regulação de uma unidade de processamento, onde a unidade de processamento gera dados para uma unidade de saída pela combinação dos dados de uma pluralidade de unidades de entrada, onde todas as unidades mencionadas são encadeamentos em um ambiente de múltiplos encadeamentos e pode ter bases de tempo diferentes. Um problema particular é prover tal método para um dispositivo de reprodução de áudio ou áudio-vídeo para dados de fluxo de multimídia múltipla. Esse problema é resolvido pelo método revelado na reivindicação 1.
De acordo com a invenção, o comportamento de regulação é melhorado chamando a unidade de processamento em intervalos de tempo mais curtos, usando um mecanismo que é superior ao gerenciamento do encadeamento do OS. Em particular, a invenção compreende usar uma unidade de registrador para chamar o encadeamento da unidade de processamento, e ajustar o registrador individualmente. Vantajosamente, isso leva a uma distribuição mais constante da capacidade de processamento dos microprocessadores. Ademais, o método inventivo pode aumentar a prioridade do encadeamento da unidade de processamento independente do gerenciamento do encadeamento do OS, e reduzir a oscilação do preenchimento do armazenamento temporário de saída. Isso leva, por exemplo, a melhor sincronização de áudio-vídeo e retardo mais curto para a interação do usuário.
Sempre que o encadeamento da unidade de processamento é chamado, o preenchimento do armazenamento temporário de saída é medido, e o resultado da medição é usado para determinar o tempo antes da próxima chamada do encadeamento da unidade de processamento. Contanto que o preenchimento fique abaixo de um limiar definido, por exemplo durante a inicialização, a unidade de processamento repete o ciclo de processamento de um quadro, gravando-o no armazenamento temporário de saída e medindo novamente o preenchimento do armazenamento temporário de saída, sem ajustar a unidade do registrador. Quando ao armazenamento temporário de saída tiver alcançado o limiar, um valor de registrador é calculado do preenchimento medido do armazenamento temporário de saída, a unidade do registrador é ajustada com o valor do registrador calculado, onde o registrador chama o encadeamento da unidade de processamento quando o seu tempo tiver decorrido, e o encadeamento da unidade de processamento pode ser terminado até que ele ê chamado novamente pelo registrador, ou pelo gerenciamento do encadeamento do OS. 0 período de tempo determinado pelo valor do registrador é tal que a unidade de processamento geralmente será chamada pelo registrador, e não pelo gerenciamento do encadeamento do OS. Portanto, o tempo entre a unidade de processamento processando quadros sucessivos depende do preenchimento do armazenamento temporário de saída, o que significa que o laço de regulação está fechado, e assim a regulação é melhorada. Particularmente quando a unidade de saída processa em intervalos de tempo regulares, por exemplo 80ms, um quadro de saída do armazenamento temporário de saída, e um quadro de saída compreende uma pluralidade de quadros de entrada, onde cada quadro de entrada tem uma taxa de amostragem específica, a invenção compreende ajustar o registrador para um valor que corresponde a um múltiplo comum dos recíprocos das taxas de amostragem de entrada, mas é mais curto do que o intervalo de tempo das unidades de saída. É particularmente vantajoso escolher um múltiplo comum, ou particularmente o múltiplo menos comum, dos recíprocos das taxas de amostragem de entrada, por exemplo 20ms para taxas de amostragem de 48kHz, 44,1kHz, 32kHz, 22,05kHz, 16kHz e 8kHz, correspondendo com recíprocos de 20,83μΞ, 22,67μ8, 31,25μ8, 45,35μΘ, 62,5μ3 e 125μδ.
Quando um registrador é usado para chamar o enca-deamento da unidade de processamento para processar os quadros de um fluxo de dados de saída particular, por exemplo dados de áudio, e o valor de carga do registrador depende do preenchimento do armazenamento temporário de saída, como proposto pela invenção, a unidade de processamento pode depois de uma fase de inicialização trabalhar em intervalos de tempo substancialmente eqüidistantes. Pode ser vantajoso usar um valor de preenchimento do armazenamento temporário médio para o cálculo do valor do registrador. A média será calculada sobre poucos valores de medição de chamadas sucessivas do encadeamento, por exemplo 2-5 valores de medição. Uma filtragem de banda baixa adicional dos valores de medição em média pode ser usada, por exemplo, para melhorar o comportamento de tempo dos sistemas.
Um registrador de uso geral provido pelos microprocessadores comuns pode ser utilizado para manter na média um tempo máximo especificado entre quadros sucessivos de processamento para uma unidade de saída particular. 0 registrador funciona em tempo real, independente do gerenciamento do encadeamento. Microprocessadores e/ou sistemas operacionais geralmente proveem tais registradores. 0 registrador de uso geral dispara o encadeamento da unidade de processamento para decodificar, o próximo quadro. A seguir, o registrador é carregado com um novo valor, que é calculado a partir do preenchimento do armazenamento temporário.
Vantajosamente, um cálculo simples pode ser usado para essa finalidade, por exemplo o preenchimento na média do armazenamento temporário pode ser inserido em uma equação linear. Nesse caso, é também possível inserir primeiro o valor de medição em uma equação linear e a seguir calcular uma média. Esse método garante o acesso de fluxo sem perda, isto é evita o estouro negativo do armazenamento temporário e o estouro do armazenamento temporário, e garante o retardo mínimo constante durante o processamento. Isso é vantajoso por exemplo para melhor sincronização de áudio-vídeo e respostas mais rápidas para a interação do usuário. 0 tempo medido pelo registrador é um tempo máximo médio com relação ao fato que o microprocessador pode estar ocupado com uma outra tarefa quando ele é disparado, de modo que ele pode ter que terminar a outra tarefa primeiro antes de reagir no disparo, Esse caso pode ser manipulado quando o armazenamento temporário de saída é grande o suficiente para a unidade de saída continuar a funcionar.
Como uma conseqüência, o número médio de quadros de dados ou blocos que são armazenados no armazenamento temporário FIFO entre a unidade de processamento e a unidade de saída pode ser menor do que nos sistemas convencionais, o que leva por exemplo a tempos de resposta mais curtos, melhor estimativa do tempo de apresentação dos dados de áudio, portanto sincronização de áudio-vídeo melhorada e geralmente melhor aproximação do comportamento em tempo real em um sistema que não é de tempo real, Um aparelho que utiliza o método é revelado na reivindicação 8. 0 aparelho inventivo para o processamento de dados recebe dados de entrada de uma pluralidade de entradas e compreende um microprocessador, um conjunto de dados, por exemplo dados de programa e um registrador, onde o microprocessador e o conjunto de dados constituem uma unidade de processamento de dados e uma unidade de saída de dados, ambas as unidades sendo encadeamentos em um ambiente de múltiplos encadeamentos, e onde os dados são passados através de um armazenamento temporário da unidade de processamento para a unidade de saída. Ademais, o aparelho compreende dispositivo para medir um valor correspondendo com o preenchimento do armazenamento temporário de saída e prover o valor para a unidade de processamento, dispositivo para calcular na unidade de processamento um valor de registrador, onde o valor de registrador depende do dito valor correspondendo com o preenchimento do armazenamento temporário de saída e dispositivo para ajustar o registrador com o valor do registrador e iniciar o registrador, onde o registrador envia uma notificação quando o tempo especificado pelo valor do registrador passa, a notificação causando a ativação do encadeamento da unidade de processamento se ela ainda não está ativa, ou de outra forma causando a ativação continuada do encadeamento da unidade de processamento. 0 aparelho de acordo com a invenção é mais vantajoso para usar se suas entradas provêem dados com pelo menos duas taxas diferentes de dados de entrada constantes. A invenção compreende que o registrador é somente usado quando o preenchimento do armazenamento temporário medido fica entre valores predefinidos mínimo e máximo, e que o tempo especi- ficado pelo valor do registrador que resulta de um valor de preenchimento do armazenamento temporário médio predefinido é o múltiplo menos comum dos recíprocos das taxas de dados das entradas. Ademais, a relação entre o valor do registrador e o valor de preenchimento do armazenamento temporário de saída pode ser linear. A invenção tem as seguintes vantagens quando comparada com a técnica anterior: Primeiro, uma melhor aproximação do processamento em tempo real pode ser atingida em um sistema com comportamento em tempo não real.
Segundo, uma estimativa de tempo melhorada do tempo de apresentação da unidade de saída é possível, resultando em boa sincronização, por exemplo sincronização de áu-dio/vídeo.
Terceiro, é possível executar acesso do tipo de quadro individual e portanto otimizado nos fluxos de fontes que são conectados com a unidade de processamento.
Modalidades vantajosas da invenção são reveladas nas reivindicações dependentes, na descrição seguinte e nas figuras.
Breve descrição dos desenhos Modalidades exemplares da invenção são descritas com referência aos desenhos acompanhantes, que mostram na Fig. 1 um sistema de processamento de áudio de entrada única convencional ,- Fig. 2 um sistema de processamento de áudio convencional estendido;
Fig. 3 a regulação da transmissão do quadro de dados no sentido intermitente para o armazenamento temporário em um sistema de processamento convencional estendido;
Fig. 4 um diagrama de preenchimento do armazenamento temporário para um sistema de processamento convencional estendido;
Fig. 5 um sistema de processamento de áudio avançado de acordo com a invenção;
Fig. 6 processamento eqüidistante dos quadros em um sistema de processamento inventivo;
Fig. 7 um diagrama de fluxo do método de processamento de dados inventivo;
Fig. 8 um diagrama de preenchimento do armazenamento temporário para o sistema de processamento inventivo e Fig. 9 o comportamento de regulação do encadeamen-to da unidade de processamento inventivo.
Descrição detalhada da invenção No seguinte, o problema com sistemas da técnica anterior é descrito em mais detalhes antes que modalidades preferidas da invenção sejam descritas.
A Fig. 2 mostra uma unidade de processamento 14 sendo o centro de um sistema com vários fluxos de fonte de multimídia, que são decodificados por decodificadores separados 11,12,13 e armazenados em armazenamentos temporários separados 11b,12b,13b. Os decodificadores 11,12,13 pertencem a domínios ou encadeamentos de tempo separado que são independentes do domínio de tempo da unidade de processamento 14. A unidade de processamento 14 sincroniza os carimbos de tempo entre os dados das fontes diferentes. A tempo entre os dados das fontes diferentes. A saída da unidade de processamento 14 é enviada para um armazenamento temporário FIFO orientado a quadros 15. Um sinal 18 do armazenamento temporário 15 transmite o nível de preenchimento do armazenamento temporário para a unidade de processamento 14, assim solicitando mais dados de modo a impedir o estouro negativo quando o preenchimento do armazenamento temporário 15 está abaixo de um nível definido. A saída do armazenamento temporário 15 é acionada por um módulo de saída 16, que requer em intervalos regulares os dados na saída do armazenamento temporário 17. Assim, o módulo de saída determina o preenchimento e também a taxa de quadros do armazenamento temporário FIFO 15. 0 tamanho do quadro do armazenamento temporário de saída 15 depende das exigências do módulo de saída 16, mas geralmente armazenamento temporário 15 é muito grande, por exemplo quinze quadros. Em uma realização de software típica de um tal sistema, o módulo de saída 16 funciona no seu próprio encadeamento que é independente dos outros encadeamentos, particularmente dos encadeamentos do armazenamento temporário de entrada e do encadeamento da unidade de processamento 14. 0 armazenamento temporário de saída 15 é o elemento de comunicação entre o encadeamento da unidade de processamento 14 e o encadeamento do módulo de saída 16. Quando o preenchimento do armazenamento temporário de saída 15 é solicitado, a unidade de processamento 14 escreve os dados no armazenamento temporário de saída 15 até que o armazenamento temporário está completo. A seguir a unidade de processamen- to aguarda, isto é não faz nada ou executa outras tarefas, até que o módulo de saída 16 tenha lido o bloco de dados do armazenamento temporário de saída 15. Portanto, o módulo de saída 16 determina o preenchimento do armazenamento temporário de saída 15, que por sua vez determina a ativação da unidade de processamento 14.
Esse processamento orientado a encadeamento resulta em uma característica que é mostrada na Fig. 3 para um fluxo de dados de áudio exemplar. Nesse exemplo o módulo de saída tem um tempo equivalente de 80 ms, isto é funciona com quadros de áudio de 80 ms correspondendo por exemplo a 3840 amostragens de áudio em 48 kHz, e um quadro de decodificação é suficiente para 20 ms de reprodução de áudio. Assim, depois de um tempo ocioso dT de 80 ms, a unidade de processamento recebe quatro chamadas de processamento cl, ..., c4 em curta seqüência. A Fig. 4a mostra o preenchimento resultante do armazenamento temporário de saída, que varia principal-mente entre sete ou oito e onze quadros de decodif icação. Fazer a média dos valores como na Fig. 4b, e depois a filtragem em banda baixa como na Fig. 4c mostra que na média existem quase dez quadros de decodificação no armazenamento temporário. 0 algoritmo convencional utilizado sempre tenta manter o armazenamento temporário de saída cheio. A Fig. 3 e a Fig. 4a mostram que a unidade de processamento é chamada 4 vezes quando um bloco de dados foi retirado do FIFO, isto é, é chamado contanto que o armazenamento temporário de saída não esteja cheio. Esse comportamento de tempo é típico para o gerenciamento do encadeamento de um não RTOS.
Uma unidade de processamento para dados de fluxo de multimídia múltiplos tem que garantir o acesso de fluxo sem perda e o processamento com retardo mínimo constante. Um exemplo é um renderizador de áudio de múltiplas entradas para um tocador de MPEG-4.
De acordo com a invenção, a solução é aproximar pontos de partida eqüidistantes para o processamento pelo uso de um registrador que pode ser ajustado a partir da unidade de processamento, e que é superior ao gerenciamento do encadeamento do OS. Isso é mostrado na' Fig. 5. 0 sistema é similar ao sistema previamente descrito da Fig. 2, exceto que uma unidade de registrador 21 é conectada na unidade de processamento 14. A unidade de registrador é independente do gerenciamento do encadeamento, e particularmente ela não é parte do encadeamento da unidade de processamento. A unidade de processamento 14 ajusta o registrador 21 com um valor, por exemplo depois do seu processamento do sinal, a seguir inicia o registrador e entra em um modo de espera, de modo que o microprocessador pode fazer outras coisas. Quando o registrador alcança o fim do tempo programado, ele chama ou "acorda" o módulo de processamento novamente. 0 módulo de processamento faz seu processamento específico e ajusta o registrador com um novo valor, de modo que a unidade de processamento pode aguardar por um tempo especificado novamente, e assim por diante. 0 valor do registrador pode em princípio ser calculado antes ou depois do processamento do sinal, mas desde que esse cálculo é feito na unidade de pro- cessamento, e o encadeamento da unidade de processamento pode ser interrompido, um cálculo precoce do valor do regis-trador é preferível. A seguir o registrador pode ser iniciado tão cedo quanto possível, de modo que a probabilidade do registrador ficar ativo em uma interrupção de encadeamento potencial é alta. 0 valor do registrador é gerado a partir da saturação do módulo FIFO de saída na maneira seguinte: o preenchimento real do armazenamento temporário FIFO é medido. Um valor médio do preenchimento sobre os últimos quatro valores de medição é então calculado e filtrado em banda baixa, por exemplo por um filtro de 3a ordem com frequência de corte normalizada de 0,1. Esse sinal leva ao valor do registrador com uma função linear recortada da forma Valor do Registrador = kl * Valor de preenchimento + k2 onde kl deve ser positivo e Valor de preenchimento nesse caso é o valor médio filtrado em banda baixa da medição de preenchimento. 0 parâmetro k2 define o valor mínimo quando o registrador é usado, enquanto kl define a sensibilidade da regulação.
Um modo generalizado para encontrar uma equação que define o ganho do laço de controle do sistema é a seguinte: primeiro a faixa de ajuste da regulação é individualmente limitada, isto é, o preenchimento do armazenamento temporário deve ficar entre valores mínimo e máximo como por exemplo 2 < preenchimento do armazenamento temporário < 11. A seguir um preenchimento alvo é definido, que é oito blocos nesse exemplo. Embora uma equação linear seja usada aqui devido a sua simplicidade, outros tipos de equação são possíveis. Em princípio, o exemplo pode também ser usado quando aproximando uma equação linear ao redor do ponto de operação sendo o preenchimento alvo. Depois a inclinação e o desvio, correspondendo a kl e k2 do exemplo acima, podem ser definidos como segue: quando o Valor do registrador é o valor para o qual o registrador deve ser ajustado, e o Valor de preenchimento é o valor do preenchimento do armazenamento temporário depois de fazer a média e filtrar em banda baixa, para o limite inferior da faixa de operação o Valor do registrador deve ser 0 para o Valor de preenchimento sendo 2. Portanto: K2 = -2 * kl Ademais, para o preenchimento médio do armazenamento temporário de oito, o intervalo de tempo de 20ms deverá resultar. Portanto: 20 = kl * 8 - 2 * kl que calcula para kl = 10/3 e k2 = -20/3. Finalmente, o Valor do registrador é arredondado para um número inteiro: Valor do registrador = número inteiro (10/3 * x -20/3 + 0,5) A função é recortada com relação ao que é usado somente quando o valor de medição 'Valor de preenchimento' é pelo menos três e não mais do que onze. Isso é mostrado na Fig. 7. Quando o valor da medição fica abaixo de três 74, o registrador não é usado e a unidade de processamento conti- nua 710 com o próximo quadro imediatamente. Quando o valor de medição está acima de onze 72, a unidade de processamento faz uma pausa por um tempo definido 73, por exemplo lms, usando uma função de gerenciamento de encadeamento, antes que ela pegue um outro valor de medição 71. 0 gerenciamento do encadeamento dos OSs, entretanto, pode interromper o encadeamento da unidade de processamento a qualquer momento. Se o valor de medição está dentro da faixa definida, é feita a média 75 e filtrado em banda baixa 76 antes dele ser inserido na equação acima descrita 77. A equação 77 resulta em um valor que é usado para ajustar um registrador 78 enquanto o processamento 79 dos blocos de dados começa, por exemplo blocos de dados de áudio. 0 registrador então dispara 711 a próxima chamada do encadeamento da unidade de processamento. Portanto, a etapa WaitForTimer() 711 não é realmente parte do processo de encadeamento, mas do processamento de acordo com a invenção.
Por exemplo, kl é ajustado para 10/3 e k2 é ajustado para -20/3. Isso resulta em um preenchimento médio do armazenamento temporário de saída com 8 quadros de 20 ms cada, como explicado acima. 0 efeito dessa regulação para a unidade de processamento é mostrado na Fig. 6. Os pontos representam chamadas da unidade de processamento através do tempo e estão em seqüência aproximadamente linear, o que significa chamadas quase eqüidistantes da unidade de processamento. Como uma conseqüência importante desse comportamento de tempo preciso, é possível melhor estimar o tempo de apresentação dos dados processados, e incluir para a estima- tiva o modelo do armazenamento temporário do módulo de saída. Isso é porque a saturação mediana do armazenamento temporário é agora bem conhecida, desde que ela pode ser ajustada, e o tempo de processamento pode ser medido mais exatamente. Com esse conhecimento, por exemplo melhor sincronização de ãudio/vídeo (AV) e melhor reação sobre a interatividade do usuário para o algoritmo de processamento podem ser realizadas para reprodução de AV. A Fig. 8 mostra o comportamento resultante de um sistema de acordo com a invenção. A Fig. 8a mostra o preenchimento do armazenamento temporário, que é mais flexível e em média menor do que na Fig. 4a. Isso significa que em média menos dados ficam no armazenamento temporário de saída. Esse efeito torna-se mais claro quando considerando o preenchimento médio do armazenamento temporário, mostrado na Fíg. 8b em média sobre quatro quadros de 20ms, e adicionalmente fazendo a média pela filtragem em banda baixa como mostrado na Fig. 8c. A Fig. 8d finalmente mostra os valores do registrador que são calculados a partir dos valores de preenchimento médios filtrados em banda baixa. Quando o armazenamento temporário de saída está relativamente cheio, por exemplo no tempo t8i, o valor de preenchimento médio filtrado em banda baixa na Fig. 8c é alto e o valor do registrador é alto, devido ao kl acima mencionado ser positivo. Portanto, o tempo entre chamadas sucessivas da unidade de processamento é relativamente longo, ao redor de ou acima de 20ms. Quando o valor de preenchimento médio filtrado em banda baixa é baixo, o valor do registrador é baixo, ou o registrador é até até mesmo desativado porque o valor do registrador está abaixo do mínimo especificado de três, por exemplo no tempo t82, de modo que a unidade de processamento processa mais do que um quadro com cada chamada. A Fig. 9 mostra o comportamento temporal da unidade de processamento de acordo com uma modalidade da invenção. No tempo T0 um valor de registrador é calculado, o registrador é ajustado para esse valor e o processamento do quadro inicia. Depois de um tempo de t0 o OS termina o enca-deamento da unidade de processamento. É assumido que os dados disponíveis foram processados dentro desse tempo. 0 registrador continua a funcionar por um tempo de tP0, e a seguir chama o encadeamento da unidade de processamento novamente em Ti, de modo que a diferença de tempo desde a chamada prévia da unidade de processamento é T = t0 + tP0. Em Ti, o encadeamento da unidade de processamento se torna ativo novamente, mede o preenchimento do armazenamento temporário, calcula um valor de registrador como descrito acima e ajusta o registrador. A seguir, ele continua seu processamento de quadro, até que o gerenciamento do encadeamento o interrompe depois de um tempo de tu e fornece a força de processamento para um outro processo. 0 registrador continua a funcionar. Depois de tPi o gerenciamento do encadeamento chama o encadeamento da unidade de processamento novamente, de modo a continuar por um tempo adicional de ti2 o processamento dos pacotes de dados iniciados em Tx. Quando o próximo evento do registrador aparece em T2, o processamento ainda está em avanço e continua por um tempo adicional de tD2, mas o evento do registrador é armazenado. Quando o encadeamento atual é terminado em T2+tD2, ele é imediatamente reiniciado novamente, e mede o preenchimento do armazenamento temporário. Assumindo que nesse momento o armazenamento temporário está relativamente vazio, porque ele foi continuamente esvaziado, um valor de registrador menor do que antes é calculado, correspondendo a um tempo mais curto T' para o próximo período do registrador, Esse tempo T' é igual ou perto de T-tD2, dependendo da equação linear que deduz o valor do registrador do preenchimento do armazenamento temporário, de modo que um rastreio de tempo substancialmente eqüidistante é realizado para os tempos de partida do encadeamento da unidade de processamento.
Embora os tempos de partida de um ou mais encadea-mentos particulares possam ficar fora do rastreio do tempo, por exemplo em T2+tD2, o método de acordo com a invenção é adequado para restabelecer o rastreio. Ademais, os valores do registrador reais são adaptados para a situação atual, e portanto o tempo médio que a unidade de processamento tem pode ser ajustado. 0 tempo de rastreio T, sendo o valor médio entre chamadas sucessivas da unidade de processamento, pode ser exatamente ajustado para a aplicação pela seleção apropriada dos parâmetros kl e k2, e portanto o comportamento temporal da unidade de processamento pode ser adaptado ao comportamento temporal da unidade de saída e das unidades de entrada, o que evita o bloqueio da unidade de processamento.
Em geral, é vantajoso selecionar o tempo de rastreio, isto é, o tempo médio entre chamadas sucessivas da unidade de processamento, para ser M milissegundos quando o intervalo de tempo de saída médio é N*M milissegundos, com N sendo um número inteiro positivo maior do que um. A invenção compreende possibilidades diferentes para quando utilizar a unidade do registrador. 0 cálculo do valor do registrador e um ajuste do registrador preferencialmente serão feitos imediatamente depois de medir o preenchimento do armazenamento temporário, embora em princípio o valor de medição possa ser armazenado e ser usado posteriormente para o cálculo, por exemplo dentro de uma sequência de partida ou sequência de saída de um encadeamento.
Em uma modalidade da invenção, o valor do registrador é calculado sempre antes do processamento de um quadro. Em uma outra modalidade, o valor do registrador é calculado sempre que o encadeamento da unidade de processamento é chamado, como uma seqüência de partida do encadeamento. Em ainda uma outra modalidade, o valor do registrador é calculado somente antes do encadeamento da unidade de processamento ser terminado, como uma parte de uma seqüência de saída do encadeamento. Em uma modalidade, a unidade do registrador é ajustada imediatamente depois do cálculo do valor do registrador. Em uma outra modalidade, a unidade do registrador é ajustada posteriormente, ou sempre antes de terminar o encadeamento da unidade de processamento, como uma parte de uma seqüência de saída do encadeamento. A invenção é particularmente vantajosa para implementar um renderizador de áudio de entrada de múltiplos canais, por exemplo para MPEG-4 ou similar, em um ambiente de múltiplos encadeamentos, onde o risco de sobrecarga do processador é alto.
REIVINDICAÇÕES

Claims (10)

1. Método para processamento de dados em uma unidade de processamento (14), a unidade de processamento gerando quadros de dados para uma unidade de saída (16) pela combinação dos dados a partir de uma pluralidade de unidades de entrada (11,...,13) tendo pelo menos duas taxas de amostra diferentes, onde os dados processados são armazenados temporariamente em um armazenamento temporário de saída (15) entre a unidade de processamento e a unidade de saída, e onde a unidade de processamento, as unidades de entrada e a unidade de saída são encadeamentos em um ambiente de múltiplos encadeamentos e compartilham o mesmo microprocessador, o método sendo CARACTERIZADO pelo fato de compreender as etapas de: medir o preenchimento do armazenamento temporário de saída (15) , onde a medição resulta em um valor que é equivalente ao preenchimento do armazenamento temporário de saída; calcular a partir do dito valor medido, um valor do temporizador; ajustar um temporizador (21) com o valor do temporizador calculado e iniciar o temporizador, onde o tempo médio especificado pelo valor do temporizador é um múltiplo comum do recíproco das taxas de amostra das unidades de entrada e onde o temporizador envia uma notificação quando o tempo especificado pelo valor do temporizador tiver decorrido, a notificação referindo-se ao encadeamento da unidade de processamento; e ativar mediante a dita notificação o encadeamento da unidade de processamento se ela ainda não está ativa, ou de outra forma, continuar a ativação do encadeamento da unidade de processamento.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o cálculo do valor do tempo-rizador compreende fazer a média e/ou filtrar em passa-baixa sobre uma pluralidade de valores de medição de preenchimento do armazenamento temporário.
3. Método, de acordo com a reivindicação 1 ou 2, CARACTERIZADO pelo fato de que a etapa de ajustar um tempo-rizador é somente executada se o valor do temporizador calculado estiver entre valores mínimo e máximo especificados, e onde a etapa de ajustar o temporizador é pulada para valores de temporizador calculados inferiores, e o temporizador é ajustado para o valor máximo especificado para valores de temporizador calculados maiores.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, CARACTERIZADO pelo fato de que a unidade de saída (16) lê em um único acesso no armazenamento temporário de saída (15) uma pluralidade de quadros de dados processados em intervalos de tempo regulares, e onde os ditos intervalos de tempo são um número inteiro múltiplo do tempo médio especificado pelo valor do temporizador.
5. Método, de acordo com a reivindicação 3 ou 4, CARACTERIZADO pelo fato de que os dados processados são dados de áudio, e o tempo médio entre chamadas sucessivas da unidade de processamento é M milissegundos e o intervalo de tempo de saída médio é N*M milissegundos, com N sendo um número inteiro positivo maior do que um.
6. Aparelho para processamento de dados, o apare- lho recebendo dados de entrada a partir de uma pluralidade de entradas, onde os dados tem pelo menos duas taxas de amostra diferentes e compreendendo um microprocessador, um conjunto de dados e um temporizador (21) , onde o microprocessador e o conjunto de dados constituem uma unidade de processamento de dados (14) e uma unidade de saída de dados (16), a unidade de processamento de dados e a unidade de saída de dados sendo encadeamentos em um ambiente de múltiplos encadeamentos, e onde os dados são passados através de um armazenamento temporário (15) a partir da unidade de processamento para a unidade de saída, CARACTERIZADO pelo fato de que compreende: um dispositivo para medir um valor sendo equivalente ao preenchimento do armazenamento temporário de saída (15) ; um dispositivo para calcular a partir do dito valor medido, um valor de temporizador e um dispositivo para ajustar o temporizador (21) com o valor de temporizador e iniciar o temporizador, onde o tempo médio especificado pelo valor do temporizador é um múltiplo comum do recíproco das taxas de amostra das entrada e onde o temporizador envia uma notificação quando o tempo especificado pelo valor do temporizador tiver passado, a notificação causando a ativação do encadeamento da unidade de processamento se ela ainda não está ativa, ou de outra forma causando a ativação continuada do encadeamento da unidade de processamento.
7. Aparelho, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que o temporizador somente é usado se o preenchimento do armazenamento temporário de saida medido estiver entre valores máximos e mínimos predefinidos.
8. Aparelho, de acordo com a reivindicação 6 ou 7, CARACTERIZADO pelo fato de que o tempo especificado pelo valor do temporizador que resulta a partir de um valor de preenchimento de armazenamento temporário médio predefinido é o pelo menos múltiplo comum do recíproco das taxas de dados das entradas,
9. Aparelho, de acordo com a reivindicação 6 ou 7 ou o método de acordo com uma das reivindicações 1 a 5, CARACTERIZADO pelo fato de o valor do temporizador tem uma relação linear com o preenchimento do armazenamento temporário medido.
10. Aparelho, de acordo com a reivindicação 6 ou 7 ou o método de acordo com uma das reivindicações 1-5, CARACTERIZADO pelo fato de que o valor do temporizador é o resultado de uma equação linear da forma: Valor do temporizador = kl * Valor de preenchimento + k2 onde kl é positivo e kl e k2 sâo determinados pelos valores do temporizador máximo e mínimo definido, e onde o Valor de preenchimento é o dito valor que corresponde ao preenchimento do armazenamento temporário ou ao preenchimento filtrado em passa-baixa e/ou em média do armazenamento temporário respectivamente.
BRPI0501728A 2004-06-10 2005-05-23 método e aparelho para processamento de dados em uma unidade de processamento sendo um encadeamento em um ambiente de múltiplos encadeamentos BRPI0501728B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP04013686A EP1605354A1 (en) 2004-06-10 2004-06-10 Method and apparatus for improved synchronization of a processing unit for multimedia streams in a multithreaded environment

Publications (2)

Publication Number Publication Date
BRPI0501728A BRPI0501728A (pt) 2006-01-24
BRPI0501728B1 true BRPI0501728B1 (pt) 2017-03-07

Family

ID=34925322

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0501728A BRPI0501728B1 (pt) 2004-06-10 2005-05-23 método e aparelho para processamento de dados em uma unidade de processamento sendo um encadeamento em um ambiente de múltiplos encadeamentos

Country Status (7)

Country Link
US (1) US7680964B2 (pt)
EP (1) EP1605354A1 (pt)
JP (1) JP4738906B2 (pt)
KR (1) KR101189842B1 (pt)
CN (1) CN1707435B (pt)
BR (1) BRPI0501728B1 (pt)
DE (1) DE602005003506T2 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0600417D0 (en) * 2006-01-10 2006-02-15 Level 5 Networks Inc Virtualisation support
JP4519082B2 (ja) 2006-02-15 2010-08-04 株式会社ソニー・コンピュータエンタテインメント 情報処理方法、動画サムネイル表示方法、復号化装置、および情報処理装置
JP4745904B2 (ja) * 2006-07-18 2011-08-10 株式会社日本自動車部品総合研究所 電子装置
US9654447B2 (en) 2006-08-29 2017-05-16 Digimarc Corporation Customized handling of copied content based on owner-specified similarity thresholds
US20130055072A1 (en) * 2011-08-24 2013-02-28 Robert Douglas Arnold Multi-Threaded Graphical Display System
CN102880509B (zh) * 2012-09-17 2014-09-24 北京大学 基于cuda的格网数字高程模型邻域分析的系统和方法
JP2014067074A (ja) * 2012-09-24 2014-04-17 Oki Electric Ind Co Ltd 録音システム、録音プログラム及び録音方法
CN106250108B (zh) * 2016-07-18 2019-05-17 中国电子科技集团公司第二十八研究所 一种线程中挂时控的方法
CN110501363B (zh) * 2019-08-30 2020-06-02 中国科学院长春应用化学研究所 X射线衍射仪用多线程样品测试方法
CN113377517B (zh) * 2021-06-28 2023-02-28 上海鲲宜软件技术有限公司 基于实时操作系统的线程调度方法及系统
US11695965B1 (en) * 2022-10-13 2023-07-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video coding using a coded picture buffer

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727333A (en) * 1986-06-30 1988-02-23 Rca Corporation Circuitry for multiplying a PCM signal by a sinusoid
US5228859A (en) * 1990-09-17 1993-07-20 Interactive Training Technologies Interactive educational and training system with concurrent digitized sound and video output
US5377317A (en) * 1991-12-20 1994-12-27 International Business Machines Corporation Method and apparatus for distinctively displaying windows on a computer display screen
US5369729A (en) * 1992-03-09 1994-11-29 Microsoft Corporation Conversionless digital sound production
US5428789A (en) * 1993-08-27 1995-06-27 Waldron, Iii; Theodore C. Method and apparatus for optimizing user response time in a priority preemptive operating system
JPH0793168A (ja) * 1993-09-21 1995-04-07 Fuji Electric Co Ltd タスク管理方式
GB2311882B (en) * 1996-04-04 2000-08-09 Videologic Ltd A data processing management system
US6052748A (en) * 1997-03-18 2000-04-18 Edwin A. Suominen Analog reconstruction of asynchronously sampled signals from a digital signal processor
US6029194A (en) * 1997-06-10 2000-02-22 Tektronix, Inc. Audio/video media server for distributed editing over networks
JPH11312143A (ja) * 1998-04-28 1999-11-09 Clarion Co Ltd 情報処理装置及び方法、カーオーディオシステム及びその制御方法並びに情報処理用プログラムを記録した記録媒体
KR20010034920A (ko) * 1998-06-26 2001-04-25 매클린토크 샤운 엘 엠펙-4 비디오 프로그램을 작성하고 표현하기 위한 단말기
JP3636657B2 (ja) * 2000-12-21 2005-04-06 Necエレクトロニクス株式会社 クロックアンドデータリカバリ回路とそのクロック制御方法
US20030108063A1 (en) * 2001-12-07 2003-06-12 Joseph Moses S. System and method for aggregating multiple information channels across a network

Also Published As

Publication number Publication date
US7680964B2 (en) 2010-03-16
DE602005003506D1 (de) 2008-01-10
CN1707435A (zh) 2005-12-14
JP2006012150A (ja) 2006-01-12
CN1707435B (zh) 2010-04-28
JP4738906B2 (ja) 2011-08-03
BRPI0501728A (pt) 2006-01-24
US20050278473A1 (en) 2005-12-15
DE602005003506T2 (de) 2008-10-23
EP1605354A1 (en) 2005-12-14
KR101189842B1 (ko) 2012-10-11
KR20060048312A (ko) 2006-05-18

Similar Documents

Publication Publication Date Title
BRPI0501728B1 (pt) método e aparelho para processamento de dados em uma unidade de processamento sendo um encadeamento em um ambiente de múltiplos encadeamentos
US8442056B2 (en) Scheduling packets in a packet-processing pipeline
JP4603554B2 (ja) 同時マルチスレッディングプロセッサを用いてバッファ型アプリケーションのエネルギー消費を低減する方法
US9985660B2 (en) Media controller
CN110198272B (zh) 一种流量控制方法及装置、存储介质
US7551839B2 (en) Method of generating video reproduction synchronizing signal, program for generating video reproduction synchronizing signal, timing control apparatus, method of synchronously reproducing video and audio, program for synchronously reproducing video and audio, and apparatus for synchronously reproducing video and audio
US10080022B2 (en) Calibration system for adaptive media encoder
Nakajima et al. A continuous media application supporting dynamic QoS control on real-time mach
EP1544716B1 (en) Information processing system and operating system
WO2002039256A2 (en) Method of and system for determining a best-case response time of a periodic task
US20050091554A1 (en) Event time-stamping
JP6275506B2 (ja) コンテンツ出力装置
JP2008276666A (ja) 情報処理装置および方法、並びにプログラム
KR20030015234A (ko) 차단 태스크로부터 예산을 회수하기 위한 시스템 및 방법
KR100259330B1 (ko) 멀티미디어 시스템의 오디오/비디오 명령에 대한 결정성 응답을 위한 시스템 및 방법
KR100682444B1 (ko) 오디오 신호 프로세서
US20150066175A1 (en) Audio processing in multiple latency domains
CN101702711B (zh) 播放数据的方法和终端
EP1605355B1 (en) Method and apparatus for improved synchronization of a processing unit for multimedia streams in a multithreaded environment
Wolf et al. Evaluation of a CPU scheduling mechanism for multimedia systems
Waldegg et al. Multimedia applications on a unix SVR4 kernel: performance study
Taranovsky CPU Scheduling in Multimedia Operating Systems
CN117676225A (zh) 图像处理方法、装置、终端和存储介质
Bell A Buffering strategy for stabilizing network data rates
Rohrer Buffer sharing for video on demand servers: an implementation and evaluation

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: G06F 17/30

B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]
B25D Requested change of name of applicant approved
B25G Requested change of headquarter approved
B25A Requested transfer of rights approved
B25A Requested transfer of rights approved