BR112016021186B1 - Método e sistema para gerenciamento de estimação de movimento - Google Patents

Método e sistema para gerenciamento de estimação de movimento Download PDF

Info

Publication number
BR112016021186B1
BR112016021186B1 BR112016021186-3A BR112016021186A BR112016021186B1 BR 112016021186 B1 BR112016021186 B1 BR 112016021186B1 BR 112016021186 A BR112016021186 A BR 112016021186A BR 112016021186 B1 BR112016021186 B1 BR 112016021186B1
Authority
BR
Brazil
Prior art keywords
regions
phase
correlation
video frame
video
Prior art date
Application number
BR112016021186-3A
Other languages
English (en)
Other versions
BR112016021186A2 (pt
Inventor
Aleksandar (Alex) Beric
Milos Markovic
Vladimir Ilic
Vladimir Kovacevic
Zdravko Pantic
Original Assignee
Intel Corporation
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 Intel Corporation filed Critical Intel Corporation
Publication of BR112016021186A2 publication Critical patent/BR112016021186A2/pt
Publication of BR112016021186B1 publication Critical patent/BR112016021186B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/262Analysis of motion using transform domain methods, e.g. Fourier domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

DETECÇÃO DE RECUOS EM ESTIMAÇÃO DE MOVIMENTO. Técnicas relacionadas com gerenciamento da utilização da estimação de movimento em processamento de vídeo são discutidas. Tais técnicas podem incluir determinação da divisão de dois quadros de vídeo cada um em regiões correspondentes, gerando correlações de plano de fase para as regiões correspondentes, a determinação de se os quadros de vídeo são correlacionados para estimação de movimento com base nas correlações de plano de fase, e o fornecimento de um indicador de modo de previsão de quadro de vídeo com base na determinação.

Description

REIVINDICAÇÃO DE PRIORIDADE
[0001] Este pedido reivindica prioridade ao Pedido de Patente U.S. N° de Série 14/252,944, intitulado “DETECÇÃO DE RECUOS EM ESTIMAÇÃO DE MOVIMENTO” e registrado a 15 de abril de 2014, o qual é aqui incorporado para referência na sua totalidade.
HISTÓRICO
[0002] Estimação de movimento de sequências de vídeo é um componente importante em técnicas de processamento de vídeo tais como conversão de taxa de quadros (FRC) e compressão de vídeo. Por exemplo, a conversão de taxa de quadros pode prever quadros adicionais em uma sequência de vídeo (por exemplo, quadros adicionados entre quadros existentes) para melhorar a qualidade do vídeo. Por exemplo, a conversão de taxa de quadros pode ser utilizada para suavidade melhorada e remoção de trepidação (por exemplo, trepidação de telecine) em sequências de vídeo. A compressão de vídeo pode ser usada para reduzir o tamanho dos dados de vídeo para armazenamento em memória ou transmissão para outro dispositivo ou semelhante. Por exemplo, uma sequência de vídeo pode ser comprimida, em parte através da previsão de quadros usando técnicas de estimação de movimento e compensação de movimento, para ocupar menos memória em um dispositivo, particularmente dispositivos portáteis, ou para usar menos largura de banda em um meio de comunicações.
[0003] No entanto, FRC e compressão de vídeo podem causar artefatos desagradáveis em quadros gerados ou comprimidos usando técnicas de estimação de movimento e compensação de movimento. Tais artefatos podem degradar a experiência do usuário durante a reprodução do vídeo. Artefatos podem incluir, por exemplo, artefatos de bloqueamento, artefatos de contorno ou fronteira, ou ruído ou semelhantes. Tais artefatos podem ser mais predominantes em certos contextos de vídeo tais como durante mudanças de cena, quando nenhum ou muito pouco movimento está presente, durante cenas com movimento rápido, ou em cenas visualmente complicadas.
[0004] Como tal, técnicas existentes não possibilitam sequências de vídeo de alta qualidade e livres de artefatos quando estimação de movimento e/ou compensação de movimento são aplicadas. Estes problemas podem se tornar críticos uma vez que processamento e reprodução de vídeo se está tornando mais predominante em uma vasta série de dispositivos.
BREVE DESCRIÇÃO DOS DESENHOS
[0005] A matéria aqui descrita é ilustrada a título de exemplo e não de forma limitativa nas figuras dos desenhos anexos. Para simplificar e para clareza da ilustração, os elementos ilustrados nas figuras não são necessariamente desenhados à escala. Por exemplo, as dimensões de alguns elementos podem estar exageradas relativamente a outros elementos para clareza. Ademais, onde se considerou apropriado, as identificações de referência foram repetidas nas figuras para indicar elementos correspondentes ou análogos. Nas figuras:
[0006] A FIG. 1 é um diagrama ilustrativo de um sistema exemplificativo para o gerenciamento de estimação de movimento em processamento de vídeo;
[0007] A FIG. 2 ilustra uma porção exemplificativa de uma sequência de vídeo;
[0008] A FIG. 3 ilustra regiões exemplificativas de exemplos de quadros de vídeo;
[0009] A FIG. 4 ilustra regiões exemplificativas de exemplos de quadros de vídeo;
[0010] A FIG. 5 ilustra um exemplo de um módulo de modo de previsão de quadros;
[0011] A FIG. 6 é um fluxograma ilustrativo de um processo exemplificativo para o gerenciamento de estimação de movimento em processamento de vídeo;
[0012] A FIG. 7 é um diagrama ilustrativo de um sistema exemplificativo;
[0013] A FIG. 8 é um diagrama ilustrativo de um sistema exemplificativo; e
[0014] A FIG. 9 ilustra um dispositivo exemplificativo, arranjado de acordo com pelo menos algumas implementações da presente revelação.
DESCRIÇÃO DETALHADA
[0015] Uma ou mais modalidades ou implementações são agora descritas com referência às figuras incluídas. Embora sejam discutidas configurações e disposições específicas, deve ser entendido que isso é feito com fins somente ilustrativos. Peritos na técnica relevante reconhecerão que outras configurações e disposições podem ser utilizadas sem sair do espírito e do escopo da descrição. Será evidente para peritos na técnica relevante que técnicas e/ou disposições aqui descritas podem também ser utilizadas em uma variedade de outros sistemas e aplicações que não o que é descrito neste documento.
[0016] Apesar de a seguinte descrição apresentar várias implementações que se podem manifestar em arquiteturas tais como arquiteturas sistema-em-um-chipe (SoC) por exemplo, implementação das técnicas e/ou disposições aqui descritas não são limitadas a arquiteturas e/ou sistemas de computação particulares e podem ser implementadas por qualquer arquitetura e/ou sistema de computação para fins similares. Designadamente, variadas arquiteturas empregam, por exemplo, múltiplos chipes e/ou pacotes de circuitos integrados (IC), e/ou vários dispositivos de computação e/ou dispositivos eletrônicos de consumo (CE) tais como descodificadores, telefones inteligentes, etc., podem implementar as técnicas e/ou disposições descritas aqui. Para além disso, embora a descrição seguinte possa apresentar numerosos detalhes específicos tais como implementações lógicas, tipos e interligações de componentes do sistema, escolhas lógicas de partição/integração, etc., o assunto reivindicado pode ser praticado sem tais detalhes específicos. Em outros exemplos, alguma matéria tal como, por exemplo, estruturas de controle e sequências completas de instruções de software, podem não ser mostradas em detalhe para não ofuscar a matéria aqui revelada.
[0017] A matéria aqui revelada pode ser implementada em hardware, firmware, software ou qualquer combinação destes. A matéria aqui revelada pode também ser implementada como instruções armazenadas em um suporte legível por máquina, as quais podem ser lidas e executadas por um ou mais processadores. Um suporte legível por máquina pode incluir qualquer suporte e/ou mecanismo para armazenar ou transmitir informação em um formato legível por uma máquina (por exemplo, um computador). Por exemplo, um suporte legível por máquina pode incluir memória só de leitura (ROM); memória de acesso aleatório (RAM); mídia de armazenamento em disco magnético; mídia óticos de armazenamento; dispositivos de memória flash; sinais elétricos, óticos, acústicos ou outras formas de sinais propagados (por exemplo, ondas portadoras, sinais infravermelhos, sinais digitais, etc.) e outros.
[0018] As referências na especificação a “uma implementação”, “a implementação”, “uma implementação exemplificativa”, etc. indicam que a implementação descrita pode incluir um atributo, estrutura ou característica particular, mas toda modalidade pode não necessariamente incluir o atributo, estrutura ou característica particular. Além disso, tais frases não são necessariamente referentes à mesma implementação. Ademais, quando um atributo, estrutura ou característica particular é descrita em conexão com uma modalidade, se alega que está dentro do conhecimento de um perito na técnica efetivar esse atributo, estrutura ou característica em conexão com outras implementações, assim esteja ou não explicitamente aqui descrito.
[0019] Métodos, dispositivos, aparelhos, plataformas de computação e artigos são aqui descritos com referência a gerenciamento de estimação de movimento em processamento de vídeo.
[0020] Tal como acima descrito, pode ser vantajoso fornecer conversão de taxa de quadros (FRC) ou compressão de vídeo em várias implementações. Tal como discutido, a conversão de taxa de quadros pode fornecer quadros de vídeo adicionais (por exemplo, quadros de vídeo interpolados) para uma sequência de vídeo para melhorar a qualidade do vídeo e a compressão de vídeo pode prever quadros de vídeo (por exemplo, quadros de vídeo previstos) em uma sequência de vídeo para reduzir o tamanho dos dados do vídeo para armazenamento ou transmissão ou semelhante. Tal como também discutido, em alguns exemplos, FRC ou compressão de vídeo pode causar artefatos desagradáveis em quadros gerados ou comprimidos usando técnicas de estimação de movimento e compensação de movimento que podem degradar a experiência do usuário durante a reprodução do vídeo.
[0021] Em algumas modalidades, o gerenciamento da estimação de movimento em processamento de vídeo pode incluir determinar se os quadros de vídeo são correlacionados para estimação de movimento. Se os quadros de vídeo são correlacionados para estimação de movimento, pode ser vantajoso prever um quadro de vídeo entre os quadros de vídeo (por exemplo, para FRC) ou prever um dos quadros de vídeo (por exemplo, baseado no outro quadro para compressão) usando técnicas de estimação de movimento e compensação de movimento. Se os quadros de vídeo não são correlacionados para estimação de movimento, pode ser vantajoso prever um quadro de vídeo usando uma técnica de recuo ou por defeito ou absolutamente nada. Por exemplo, em um modo de recuo, os quadros FRC podem ser criados usando uma mistura dos quadros de vídeo ou uma utilização repetida de um dos quadros de vídeo ou semelhante. Na compressão de vídeo em um modo de recuo, o quadro de vídeo pode não estar previsto ou podem estar previstos usando outras técnicas (por exemplo, previsão intraquadro) ou podem estar previstos por estimação e compensação de movimento com base em outro vídeo, por exemplo.
[0022] Em uma modalidade, o gerenciamento de estimação de movimento em processamento de vídeo pode incluir dividir quadros de vídeo (por exemplo, dois quadros de vídeo de uma sequência de vídeo) em regiões correspondentes. As regiões podem ser regiões globais ou regiões locais ou semelhantes. Em alguns exemplos, os quadros de vídeo podem ser divididos tanto em regiões globais como em regiões locais. Correlações de plano de fase podem ser geradas para cada um dos correspondentes pares de regiões. As correlações de fase podem ser analisadas (por exemplo, picos das correlações de plano de fase podem ser avaliados) para determinar se os quadros de vídeo são correlacionados para estimação de movimento. Uma variedade de técnicas para determinar se os quadros de vídeo são correlacionados para estimação de movimento são de seguida discutidas aqui. Um indicador de modo de previsão de quadro de vídeo pode ser fornecido com base na determinação de se os quadros de vídeo são correlacionados para estimação de movimento. Por exemplo, o indicador de modo de previsão de quadro de vídeo pode indicar um de entre verdadeiro ou falso, modo de estimação de movimento ou modo de recuo ou semelhante.
[0023] A FIG. 1 é um diagrama ilustrativo de um sistema exemplificativo 100 para gerenciamento de estimação de movimento em processamento de vídeo, disposto de acordo com pelo menos algumas implementações da presente revelação. O sistema 101 pode implementar um método (por exemplo, através de um computador ou outro dispositivo) para gerenciamento de estimação de movimento em processamento de vídeo. Tal como mostrado na FIG. 1, o sistema 100 pode incluir um módulo de geração de regiões 102, um módulo de correlação de plano de fase 104, um módulo de detecção de correlação para estimação de movimento 106, um módulo de modo de previsão de quadros 108 e um módulo de previsão de quadros 110. Tal como é mostrado, o módulo de geração de regiões 102 e/ou o módulo de previsão de quadros 110 (e outros módulos do sistema 100 de acordo com a necessidade) podem receber uma sequência de vídeo 101. A sequência de vídeo 101 pode incluir qualquer sequência de vídeo adequada de quadros de vídeo. A sequência de vídeo 101 pode ser recebida de qualquer fonte adequada tal como memória, um dispositivo de captura de vídeo (por exemplo, câmera de vídeo, filmadora ou semelhante), outro dispositivo, ou semelhante. Uma sequência de vídeo pode incluir qualquer resolução adequada tal como conjunto de gráficos de vídeo (VGA), alta definição (HD), HD Completa (por exemplo, 1080p), resolução de imagem 4k ou semelhante.
[0024] A FIG. 2 ilustra uma porção exemplificativa da sequência de vídeo 101, disposta de acordo com pelo menos algumas implementações da presente revelação. Tal como mostrado na FIG. 2, a sequência de vídeo 101 pode incluir uma sequência de quadros de vídeo 201-204. Embora ilustrada com quatro quadros de vídeo 201-204, a sequência de vídeo 101 pode incluir qualquer número de quadros de vídeo. Tal como discutido, os quadros de vídeo 201-204 podem ser de qualquer resolução adequada. Em alguns exemplos, os quadros de vídeo 201-204 podem ser fornecidos temporalmente de modo que a sequência de vídeo 101 pode ser vista na ordem dos quadros de vídeo 201-204. Tal como aqui discutido, uma determinação pode revelar se quaisquer dois quadros de vídeo 201-204 são correlacionados para estimação de movimento. Em uma modalidade, os quadros de vídeo analisados podem ser adjacentes temporalmente ou quadros sucessivos tais como os quadros de vídeo 201, 202, os quadros de vídeo 202, 203, e assim sucessivamente. Em outras modalidades, os quadros de vídeo analisados podem ignorar um quadro de vídeo e podem incluir, por exemplo, os quadros de vídeo 201, 203, os quadros de vídeo 202, 204, e assim sucessivamente. Ainda em outras modalidades, os quadros de vídeo analisados podem ter intervalos adicionais entre eles. Adicionalmente, os quadros de vídeo podem ser analisados para a frente (por exemplo, em uma direção temporal de visionamento) ou para trás (por exemplo, em uma direção oposta à direção temporal de visionamento).
[0025] Regressando à FIG. 1, o módulo de geração de regiões 102 pode receber a sequência de vídeo 101 e pode dividir o quadro de vídeo 201 e o quadro de vídeo 202 em regiões correspondentes tal como é adicionalmente ilustrado nas FIGS. 3 e 4. As técnicas discutidas são aqui descritas relativamente aos quadros de vídeo 201, 202 em prol da clareza de apresentação, mas as técnicas podem ser aplicadas a quaisquer quadros de vídeo da sequência de vídeo 101 tal como discutido.
[0026] A FIG. 3 ilustra regiões exemplificativas 301, 302 dos quadros de vídeo exemplificativos 201, 202, dispostas de acordo com pelo menos algumas implementações da presente revelação. Tal como mostrado na FIG. 3, o quadro de vídeo 201 pode ser dividido nas regiões 301a, 301b, 301c, e 301d e o quadro de vídeo 202 pode ser dividido nas regiões correspondentes 302a, 302b, 302c, e 302d. Por exemplo, as regiões 301 e as regiões 302 podem corresponder devido a estarem na mesma ou substancialmente na mesma localização do quadro de vídeo 201 e do quadro de vídeo 202, respectivamente. Em alguns exemplos, as regiões 301, 302 podem ser regiões globais dos quadros de vídeo 201, 202.
[0027] A FIG. 4 ilustra regiões exemplificativas 401, 402 dos quadros de vídeo exemplificativos 201, 202, dispostas de acordo com pelo menos algumas implementações da presente revelação. Na ilustração da FIG. 4, somente uma das regiões 401 e uma das regiões 402 são ilustradas em prol da clareza da apresentação. Tal como mostrado na FIG. 4, o quadro de vídeo 201 pode ser dividido nas regiões 401 e o quadro de vídeo 202 pode ser dividido nas regiões correspondentes 402. Por exemplo, as regiões 401 e as regiões 402 podem corresponder devido a estarem na mesma ou substancialmente na mesma localização do quadro de vídeo 201 e do quadro de vídeo 202, respectivamente. Em alguns exemplos, as regiões 401, 402 podem ser regiões locais dos quadros de vídeo 201, 202.
[0028] Em várias modalidades, o módulo de geração de regiões 101 pode gerar regiões 301, 302 ou regiões 401, 402 ou ambas. Tal como discutido, em algumas modalidades as regiões 301 podem ser consideradas regiões globais (por exemplo, regiões maiores associadas com movimento global entre o quadro de vídeo 201 e o quadro de vídeo 202) e regiões 401 podem ser consideradas regiões locais (por exemplo, pequenas regiões associadas com movimento localizado entre o quadro de vídeo 201 e o quadro de vídeo 202).
[0029] Em uma modalidade, as regiões 301, 302 podem incluir quatro regiões; no entanto, as regiões 301, 302 podem incluir qualquer número adequado de regiões de modo que movimento entre os quadros de vídeo 201, 202 pode ser avaliado como será seguidamente discutido aqui. Por exemplo, as regiões 301, 302 podem ser usadas para avaliar movimento global entre os quadros de vídeo 201, 202. Em outras modalidades, as regiões 301 e as regiões 302 podem incluir seis regiões ou oito regiões ou semelhante. Em uma modalidade, a sequência de vídeo 101 é uma sequência de vídeo 1080p e as regiões 301, 302 incluem cada uma quatro regiões em um padrão 2 por 2 (tal como é mostrado na FIG. 3) de 1024 por 512 pixeis. Em vários exemplos, as regiões 301 e as regiões 302 podem alinhar em suas fronteiras, sobrepor-se na direção horizontal, na direção vertical ou em ambas, ou intervalos podem ser fornecidos entre as regiões na direção horizontal, na direção vertical ou em ambas.
[0030] Também como mostrado na FIG. 3, as regiões 301 e as regiões 302 podem ser reduzidas proporcionalmente para gerar regiões reduzidas proporcionalmente tais como, por exemplo, uma região reduzida proporcionalmente 303d associada com a região 302d. A redução proporcional das regiões 301, 302 pode incluir qualquer redução proporcional adequada para aumento de tempo de processamento ou para poupar energia tal como um fator de redução proporcional de 1 a 8 ou semelhante. Por exemplo, se o fator de redução proporcional é 1, a redução proporcional pode ser ignorada. As técnicas aqui discutidas podem ser aplicadas tanto para as regiões 301, 302 como para suas regiões associadas reduzidas proporcionalmente. Tal como discutido, em alguns exemplos, o módulo de geração de regiões 101 pode gerar somente as regiões 301, 302.
[0031] Regressando à FIG. 4, em uma modalidade, as regiões 401, 402 podem incluir 72 regiões; no entanto, as regiões 401, 402 podem incluir qualquer número adequado de regiões de modo que movimento entre os quadros de vídeo 201, 202 pode ser avaliado como será seguidamente discutido aqui. Por exemplo, as regiões 401, 402 podem ser usadas para avaliar movimento local entre os quadros de vídeo 201, 202. Em outras modalidades, as regiões 401, 402 podem incluir trinta a 120 regiões ou semelhante. Em uma modalidade, a sequência de vídeo 101 é uma sequência de vídeo 1080p e as regiões 401, e as regiões 402 incluem, cada uma, 72 regiões em um padrão 8 por 9 (tal como é mostrado na FIG. 4) de 256 por 128 pixeis. Em vários exemplos, as regiões 401 e as regiões 402 podem alinhar em suas fronteiras, sobrepor-se na direção horizontal, na direção vertical ou em ambas, ou intervalos podem ser fornecidos entre as regiões na direção horizontal, na direção vertical ou em ambas.
[0032] Também, tal como discutido relativamente à FIG. 3, as regiões 401 e as regiões 402 podem ser reduzidas proporcionalmente para gerar regiões reduzidas proporcionalmente (não mostrado). A redução proporcional das regiões 401, 402 pode incluir qualquer redução proporcional adequada para aumento de tempo de processamento ou para poupar energia tal como um fator de redução proporcional de 1 a 2 ou semelhante. Por exemplo, se o fator de redução proporcional é 1, a redução proporcional pode ser ignorada. As técnicas aqui discutidas podem ser aplicadas tanto para as regiões 401, 402 como para suas regiões associadas reduzidas proporcionalmente. Tal como foi discutido, em alguns exemplos, o módulo de geração de regiões 101 pode gerar somente as regiões 401, 402.
[0033] Regressando à FIG. 1, as regiões 301, 302 e/ou as regiões 401, 402 podem ser transferidas do módulo de geração de regiões 101 para o módulo de correlação de plano de fase 104. O módulo de correlação de plano de fase 104 pode gerar correlações de plano de fase (PPCs) 105 de forma que uma correlação de plano de fase das correlações de plano de fase 105 é gerada para um correspondente par de regiões. Por exemplo, as correlações de plano de fase 105 podem incluir uma correlação de plano de fase para (ou entre) a região 301a e a região 302a, uma correlação de plano de fase para (ou entre) a região 302a e a região 302c, e assim sucessivamente para cada par (ou pelo menos alguns pares) de regiões correspondentes 301 e regiões 302.
[0034] De modo similar, as correlações de plano de fase 105 podem incluir uma correlação de plano de fase para (ou entre) cada par (ou alguns pares) de regiões correspondentes 401, 402. Em vários exemplos, o módulo de correlação de plano de fase 104 pode gerar correlações de plano de fase para as regiões 301 e regiões correspondentes 302 ou para as regiões 401 e regiões correspondentes 402 ou ambas. Para além disso, em vários exemplos, o módulo de correlação de plano de fase 104 pode gerar correlações de plano de fase para cada uma das regiões correspondentes 301, 302 e/ou cada uma das regiões correspondentes 401, 402. Em outros exemplos, o módulo de correlação de plano de fase 104 pode gerar correlações de plano de fase para somente algumas das regiões correspondentes 301, 302 e/ou algumas das regiões correspondentes 401, 402. Por exemplo, somente algumas das regiões correspondentes podem necessitar ser avaliadas para determinar correlação para estimação de movimento tal como aqui discutido. O número e as localizações dessas regiões podem ser predeterminadas ou determinadas heuristicamente ou semelhante. Em vários exemplos, as correlações de plano de fase 105 e a subsequente detecção de correlação de movimento (discutida seguidamente) podem ser geradas em série ou em paralelo. Em alguns exemplos, se uma detecção de correlação de movimento indica correlação fraca ou não correlação, o processamento pode cessar nos quadros ou regiões presentes de forma que o tempo de processamento e/ou a utilização de energia possam ser otimizados.
[0035] As correlações de plano de fase 105 podem ser geradas usando qualquer técnica ou técnicas adequadas. Por exemplo, gerar uma correlação de plano de fase de correlações de plano de fase pode incluir uma operação opcional de janelamento, aplicando uma transformada discreta de Fourier a uma região (por exemplo, região 301a ou semelhante) de um quadro de vídeo (por exemplo, quadro de vídeo 201) e uma região correspondente (por exemplo, região 302a ou semelhante) de outro quadro de vídeo (por exemplo, quadro de vídeo 202), determinando um espectro cruzado de potência entre a região transformada e a região correspondente transformada, aplicando uma transformada discreta inversa de Fourier ao espectro cruzado de potência, e executando uma Transformada Rápida de Fourier deslocada na transformada inversa do espectro cruzado de potência para gerar a correlação do plano de fase.
[0036] Seguidamente, a região 301a e a região 302a são discutidas para fins exemplificativos; no entanto, as técnicas discutidas podem ser aplicadas a qualquer região aqui discutida. Por exemplo, uma função opcional de janelamento pode ser aplicada na região 301a do quadro de vídeo 101 e na região correspondente 302a do quadro 202 (ou as regiões reduzidas proporcionalmente das regiões 301a, 301b tal como descrito). A função de janelamento pode incluir, por exemplo, uma função de janelamento Hamming ou Kaiser e pode reduzir efeitos de borda nas regiões. Em alguns exemplos, pode não se aplicar uma função de janelamento.
[0037] Uma transformada discreta de Fourier pode então ser aplicada na região 301a do quadro de vídeo 201 e na região 302a do quadro de vídeo 202. A transformada discreta de Fourier pode ser implementada utilizando uma Transformada Rápida de Fourier radix-2, por exemplo. Em alguns exemplos, a operação da transformada discreta de Fourier pode ser implementada tal como se mostra nas equações (1) e (2):
Figure img0001
em que ga pode ser a região 301a do quadro de vídeo 201 (ou uma região reduzida proporcionalmente e/ou janelada, tal como discutido), gb pode ser a região correspondente 302a do quadro de vídeo 202 (ou uma região reduzida proporcionalmente e/ou janelada), DFT pode representar uma transformada discreta da Fourier, Ga pode ser uma região transformada 301a do quadro de vídeo 201, e Ga pode ser uma correspondente região transformada 302a do quadro de vídeo 202.
[0038] Um espectro cruzado de potência entre a região transformada 301a do quadro de vídeo 201 e a região correspondente 302a do quadro de vídeo 202 pode ser determinado. O espectro cruzado de potência pode ser determinado multiplicando o espectro elemento por elemento da região transformada 301a do quadro de vídeo 201 pelo conjugado complexo da região transformada correspondente 302a do quadro de vídeo 202 e normalizando o produto. Um exemplo de determinação de espectro cruzado de potência é mostrado na equação (3):
Figure img0002
em que R pode ser o espectro cruzado de potência e Gb* pode ser o conjugado complexo da região correspondente transformada 302a do quadro de vídeo 202.
[0039] Uma transformada discreta inversa de Fourier pode ser aplicada no espectro cruzado de potência e uma Transformada Rápida de Fourier deslocada opcional pode ser executada na transformada inversa do espectro cruzado de potência para gerar um plano de correlação. A transformada discreta inversa de Fourier pode ser aplicada como se mostra na equação (4):
Figure img0003
em que r pode ser a transformada inversa do espectro cruzado de potência e DFT-1 pode ser uma transformada discreta inversa de Fourier. A Transformada Rápida de Fourier deslocada opcional pode incluir a troca de elementos nos primeiro e terceiro e segundo e quarto quadrantes da transformada inversa do espectro cruzado de potência. Um exemplo de Transformada Rápida de Fourier deslocada é mostrado na equação (5):
Figure img0004
em que c pode ser um plano de correlação e fftshift pode ser uma operação de Transformada Rápida de Fourier deslocada.
[0040] No geral, a correlação de plano de fase descrita (isto é, a aplicação de uma função opcional de janelamento a duas regiões correspondentes, a aplicação de uma transformada discreta de Fourier às regiões, a determinação de um espectro cruzado de potência entre as regiões, a aplicação de uma transformada discreta inversa de Fourier ao espectro cruzado de potência, a execução opcional de uma Transformada Rápida de Fourier deslocada na transformada inversa do espectro cruzado de potência para gerar um plano de correlação, e/ou a determinação de uma correlação de picos no plano de correlação para determinar um vetor de movimento candidato) pode ser executada para quaisquer duas regiões correspondentes tal como discutido aqui.
[0041] Regressando à FIG. 1, as correlações de plano de fase 105 podem ser transferidas do módulo de correlação de plano de fase 104 para o módulo de detecção de correlação para estimação de movimento 106. O módulo de detecção de correlação para estimação de movimento 106 pode determinar se os quadros de vídeo 201, 202 (ou semelhantes) são correlacionados para estimação de movimento com base nas correlações de plano de fase 105. Em uma modalidade, o módulo de detecção de correlação para estimação de movimento determina se os quadros de vídeo 201, 202 são correlacionados para estimação de movimento com base em uma avaliação de um ou mais picos em cada correlação de plano de fase das correlações de plano de fase 105. Por exemplo, os quadros de vídeo 201, 202 podem ser correlacionados para estimação de movimento se um quadro de vídeo entre os quadros de vídeo 201, 202, um dos quadros de vídeo 201, 202, ou outro quadro de vídeo pode ser previsto com sucesso usando as técnicas de estimação de movimento e de compensação de movimento aplicadas a um dos ou a ambos os quadros de vídeo 201, 202. Por exemplo, os quadros de vídeo podem ser correlacionados para estimação de movimento se o movimento de uma cena relativamente suave e moderado pode ser previsto com sucesso usando estimação de movimento e compensação de movimento. Adicionalmente, os quadros de vídeo 201, 202 podem não ser correlacionados para estimação de movimento se um quadro de vídeo entre os quadros de vídeo 201, 202, um dos quadros de vídeo 201, 202, ou outro quadro de vídeo pode não ser previsto com sucesso usando as técnicas de estimação de movimento e de compensação de movimento aplicadas a um dos ou a ambos os quadros de vídeo 201, 202. Por exemplo, as mudanças de cena, ausência de movimento, movimento rápido, cenas difíceis, ou semelhantes, podem não ser previstas com sucesso usando técnicas de estimação e de compensação de movimento. Em exemplos destes, pode ser vantajoso gerar ou prever um quadro de vídeo entre os quadros de vídeo 201, 202, um dos quadros de vídeo 201, 202, ou outro quadro de vídeo dos quadros de vídeo 201, 202 com base em uma utilização repetida do quadro de vídeo 201 ou do quadro de vídeo 202 ou uma mistura do quadro de vídeo 201 e do quadro de vídeo 202 ou semelhante (tal como aqui usadas, tais técnicas indicam uma técnica de “recuo”, tal como um recuo de usar estimação e compensação de movimento).
[0042] Por exemplo, se o quadro de vídeo 201 representa um último quadro em uma cena anterior e o quadro de vídeo 202 representa um primeiro quadro de uma nova cena (por exemplo, em uma mudança de cena), a criação de quadro(s) de movimento compensado entre o quadro de vídeo 201 e o quadro de vídeo 202 pode produzir artefatos desagradáveis no quadro interpolado ou no quadro previsto (por exemplo, no quadro gerado). Em casos destes, pode ser vantajoso utilizar o quadro de vídeo 201 ou o quadro de vídeo 202 como quadro de vídeo interpolado ou previsto. Em alguns exemplos, a detecção de uma mudança de cena pode incluir o módulo de geração de regiões 102 gerando regiões globais (por exemplo, as regiões 301, 302), o módulo de correlações de plano de fase 104 gerando correlações globais de plano de fase e o módulo de correlação para estimação de movimento 106 avaliando as correlações globais de plano de fase para determinar uma correlação forte ou fraca entre os quadros de vídeo 201, 202. Por exemplo, os quadros de vídeo 201, 202 podem ser determinados como não sendo correlacionados para estimação de movimento devido à mudança de cena quando cada correlação global de plano de fase (por exemplo, correlações globais de plano de fase baseadas em pares de regiões 301, 302) indica uma correlação fraca.
[0043] Tal correlação forte ou fraca pode ser determinada com base na avaliação de um ou mais picos nas correlações de plano de fase geradas (por exemplo, as correlações globais de plano de fase). Por exemplo, uma determinação entre uma correlação forte e fraca para uma correlação de plano de fase (para um par de regiões tal como região 301a e 302a) pode ser determinada com base em duas avaliações. Primeiro, uma comparação pode ser feita entre uma diferença entre um pico máximo da correlação de plano de fase e um valor médio da correlação de fase e um limiar. Segundo, uma comparação pode ser feita entre uma diferença entre o pico máximo da correlação de plano de fase e um segundo maior pico da correlação de plano de fase e um limiar. Por exemplo, se qualquer dos valores for menor que o respectivo limiar, uma correlação fraca para a correlação de plano de fase (e regiões associadas; por exemplo, regiões 301a e 302a) pode ser fornecida, caso contrário, uma correlação forte para a correlação de plano de fase pode ser fornecida, tal como é mostrado no pseudo-código (6). Como se discutiu, se todas as correlações globais de plano de fase forem fracas, uma mudança de cena pode ser determinada. Em um exemplo desses, o módulo de correlação para estimação de movimento 106 pode fornecer um indicador para o módulo de modo de previsão de quadros indicando que não há correlação para estimação de movimento e/ou uma mudança de cena associada com os quadros de vídeo 201, 202. Para a Correlação de Plano de Fase n: (6) Se (Pico1n –AVn < TH1) ou (Pico1n –Pico2n < TH2) é VERDADEIRO, então correlação é fraca; caso contrário correlação é forte. em que n pode ser um contador para a atual correlação de plano de fase, Pico1n pode ser um pico máximo para a correlação de plano de fase n, AVn pode ser um valor médio para a correlação de plano de fase n, TH1 e TH2 podem ser quaisquer limiares adequados que indiquem correlações fortes ou fracas entre regiões de quadros de vídeo. Em alguns exemplos, TH1 pode estar no intervalo de aproximadamente 6 a 10, com 8 sendo particularmente vantajoso. Em alguns exemplos, TH2 pode estar no intervalo de aproximadamente 2 a 4, com 3 sendo particularmente vantajoso.
[0044] Em outro exemplo, se na sequência de vídeo 101 o movimento não está presente ou é muito pouco (por exemplo, em uma porção de vídeo sem movimento), pode não ser vantajoso alocar processamento de sistema para gerar quadros de vídeo com movimento compensado. Adicionalmente, esses quadros de vídeo gerados com movimento compensado podem proporcionar trepidação ou semelhante. Em casos destes, pode ser vantajoso utilizar o quadro de vídeo 201, o quadro de vídeo 202 ou um quadro de mistura baseado nos quadros de vídeo 201, 202 como quadro interpolado ou previsto. Em alguns exemplos, a detecção de ausência de movimento pode incluir o módulo de geração de regiões 102 gerando regiões globais e locais (por exemplo, as regiões 301, 302 e as regiões 401, 402), o módulo de correlações de plano de fase 104 gerando correlações globais de plano de fase e correlações locais de plano de fase, e o módulo de correlação para estimação de movimento 106 avaliando as correlações globais de plano de fase e as correlações locais de plano de fase para determinar ausência de movimento (ou pouco movimento). Por exemplo, os quadros de vídeo 201, 202 podem ser determinados como não sendo correlacionados para estimação de movimento devido à ausência de movimento (ou pouco movimento) com base em uma comparação do vetor de movimento para o pico máximo de cada correlação global de plano de fase e cada correlação local de plano de fase com um limiar. Por exemplo, se o vetor de movimento é menor que o limiar, a ausência de movimento pode ser indicada. O limiar pode ser qualquer limiar adequado que indique pouco ou nenhum movimento tal como um limiar no intervalo de 0,5 a 2 ou semelhante. Em alguns exemplos, os vetores de movimento podem incluir valores inteiros e um vetor de movimento de valor zero pode corresponder a ausência de movimento (por exemplo, de modo que o limiar eficaz é 1). Tal como discutido, se todas as correlações globais e locais de plano de fase indicam vetores de movimento para picos máximos menores que um limiar, ausência de movimento pode ser determinada para os quadros de vídeo 201, 202. Em um exemplo desses, o módulo de correlação para estimação de movimento 106 pode fornecer um indicador para o módulo de modo de previsão de quadros indicando que não há correlação para estimação de movimento e/ou nenhum movimento associado com os quadros de vídeo 201, 202.
[0045] Ainda em um outro exemplo, na sequência de vídeo 101, movimento rápido pode impedir estimação e compensação de movimento devido a limitações de hardware (por exemplo, memória alocada) ou semelhante. Por exemplo, os sistemas podem não ser capazes de compensar movimento demasiado grande. Em casos destes, pode ser vantajoso utilizar o quadro de vídeo 201, o quadro de vídeo 202 ou um quadro de mistura baseado nos quadros de vídeo 201, 202 como quadro interpolado ou previsto. Em alguns exemplos, a detecção de movimento rápido pode incluir o módulo de geração de regiões 102 gerando regiões globais (por exemplo, as regiões 301, 302), o módulo de correlações de plano de fase 104 gerando correlações globais de plano de fase e o módulo de correlação para estimação de movimento 106 avaliando as correlações globais de plano de fase para determinar se os quadros de vídeo 201, 202 são correlacionados para estimação de movimento com base em movimento rápido.
[0046] Por exemplo, os quadros de vídeo 201, 202 podem ser determinados como não sendo correlacionados para estimação de movimento devido a movimento rápido quando qualquer (por exemplo, uma ou mais) das correlações de plano de fase indica movimento rápido. Um movimento rápido pode ser indicado com base em uma comparação de um vetor de movimento associado com um pico máximo da correlação de plano de fase e um limiar. Por exemplo, se uma magnitude do vetor de movimento ou uma magnitude do vetor de movimento em uma direção horizontal e/ou vertical é maior que um limiar, movimento rápido pode ser determinado. O limiar pode ser qualquer limiar adequado que indique movimento rápido e/ou indique uma limitação de hardware do sistema. Em alguns exemplos, um limiar de direção vertical pode estar no intervalo de aproximadamente 12 a 20 pixeis, com 16 pixeis sendo particularmente vantajoso. Em alguns exemplos, um limiar de direção horizontal pode estar no intervalo de aproximadamente 48 a 76 pixeis, com 64 pixeis sendo particularmente vantajoso. Tal como discutido, se alguma das correlações globais de plano de fase indicar movimento rápido, movimento rápido pode ser determinado para os quadros de vídeo 201, 202. Em um exemplo desses, o módulo de correlação para estimação de movimento 106 pode fornecer um indicador para o módulo de modo de previsão de quadros indicando que não há correlação para estimação de movimento e/ou há movimento rápido associado com os quadros de vídeo 201, 202.
[0047] Em um exemplo adicional, se a sequência de vídeo 101 indica uma cena difícil (por exemplo, cenas de filmes de ação ou eventos esportivos), a geração de quadros interpolados ou previstos pode ser proibitivamente complicado e/ou pode causar artefatos. Em casos destes, pode ser vantajoso utilizar o quadro de vídeo 201, o quadro de vídeo 202 ou um quadro de mistura baseado nos quadros de vídeo 201, 202 como quadro interpolado ou previsto. Em alguns exemplos, a detecção de uma cena difícil pode incluir o módulo de geração de regiões 102 gerando regiões locais (por exemplo, as regiões 401, 402), o módulo de correlações de plano de fase 104 gerando correlações locais de plano de fase e o módulo de correlação para estimação de movimento 106 avaliando as correlações locais de plano de fase para determinar se os quadros de vídeo 201, 202 são correlacionados para estimação de movimento com base em movimento rápido. Por exemplo, determinar se o quadro de vídeo 201 e o quadro de vídeo 202 são correlacionados para estimação de movimento, pode ser baseado em uma comparação de um número de correlações locais de plano de fase que indicam uma correlação fraca com um limiar.
[0048] Por exemplo, uma determinação entre uma correlação forte e fraca para uma correlação de plano de fase (para um par de regiões tais como quaisquer regiões correspondentes das regiões 401 e 402) pode ser determinada com base em duas avaliações, tal como discutido acima relativamente ao pseudo-código (6). Primeiro, uma comparação pode ser feita entre uma diferença entre um pico máximo da correlação de plano de fase e um valor médio da correlação de fase e um limiar. Segundo, uma comparação pode ser feita entre uma diferença entre o pico máximo da correlação de plano de fase e um segundo maior pico da correlação de plano de fase e um limiar. Por exemplo, se qualquer dos valores for menor que o respectivo limiar, uma correlação fraca para a correlação de plano de fase (e regiões associadas) pode ser fornecida, caso contrário, uma correlação forte para a correlação de plano de fase pode ser fornecida. Tal como discutido, se o número de correlações fracas das correlações locais de plano de fase exceder um limiar, uma cena difícil pode ser determinada para os quadros de vídeo 201, 202. O número limiar de correlações locais fracas de plano de fase pode ser qualquer valor adequado que indique uma cena difícil. Por exemplo, o limiar pode estar no intervalo de aproximadamente 12 a 24, com 18 sendo particularmente vantajoso. Em um exemplo desses, o módulo de correlação para estimação de movimento 106 pode fornecer um indicador para o módulo de modo de previsão de quadros indicando que não há correlação para estimação de movimento e/ou há uma cena difícil associada com os quadros de vídeo 201, 202.
[0049] Ademais, o número limiar de correlações locais fracas de plano de fase pode ser adaptativo. Por exemplo, o limiar pode ser adaptativo com base em se os quadros de vídeo (tais como os quadros de vídeo 201, 202) são correlacionados para estimação de movimento devido à cena difícil (ou, em um outro exemplo, se eles são correlacionados para estimação de movimento devido a qualquer motivo tal como aqui discutido). Por exemplo, assumindo que um valor limiar inicial é estabelecido e que um modo é estabelecido em recuo (por exemplo, onde quadros repetidos ou de mistura são utilizados para interpolação ou previsão no lugar de quadros de movimento compensado), então, se o número de correlações locais fracas é menor que o limiar inicial, o modo pode ser comutado de recuo para estimação de movimento e o limiar pode ser aumentado para um segundo limiar (por exemplo, de cerca de 25% ou semelhante). Subsequentemente, se o número de correlações locais fracas é maior que o segundo limiar, o modo pode ser estabelecido em recuo e o segundo limiar pode ser decrescido para um terceiro limiar (por exemplo, de cerca de 25% ou semelhante). Utilizando estas técnicas, a comutação de modos pode ser menos frequente e/ou mais robusta, o que pode fornecer um vídeo mais apelativo para um usuário, com menos artefatos e semelhantes. Outras técnicas para uma comutação mais robusta entre modos são discutidas aqui com relação à FIG. 5.
[0050] Regressando à FIG. 1, tal como discutido, o módulo de detecção de correlação para estimação de movimento 106 pode fornecer indicador(es) indicando se os quadros de vídeo são correlacionados para estimação de movimento e/ou um tipo para quadros de vídeo que não são correlacionados para estimação de movimento (por exemplo, mudança de cena, ausência de movimento, movimento rápido, ou cena difícil ou semelhantes). Tal como é mostrado, o módulo de modo de previsão de quadros 108 pode receber esses indicadores e fornecer um modo de previsão de quadros 109 (por exemplo, um modo de previsão de quadro de vídeo). O modo de previsão de quadros 109 pode incluir qualquer indicador ou sinal ou semelhante indicando um modo de previsão de quadros tal como um indicador de modo de previsão de quadros ou semelhante. O indicador pode incluir qualquer informação ou sinal adequado. Por exemplo, se os quadros são correlacionados para estimação de movimento, o módulo de modo de previsão de quadros 108 pode fornecer um indicador de modo de estimação de movimento. Se os quadros não são correlacionados para estimação de movimento, o módulo de modo de previsão de quadros 108 pode fornecer um indicador de modo de recuo. Em outras modalidades, o módulo de modo de previsão de quadros 108 pode implementar uma máquina de estados ou semelhante de modo que sejam os quadros de vídeo correlacionados para estimação de movimento e/ou o tipo para quadros de vídeo que não são correlacionados para estimação de movimento e um estado anterior do sistema 100, podem ser usados para determinar o modo de previsão de quadros 105, tal como será discutido seguidamente em relação à FIG. 5.
[0051] Tal como mostrado, o módulo de modo de previsão de quadros 110 pode receber o modo de previsão de quadros 109 e a sequência de vídeo 101. O módulo de modo de previsão de quadros 110 pode determinar se o modo de previsão de quadros 109 indica estimação de movimento (ME) 111 ou recuo (FB) 113 (por exemplo, um modo de estimação de movimento ou um modo de recuo). Se o modo de previsão de quadros 109 indicar estimação de movimento 111, o módulo de previsão de quadros 110 pode, através do módulo de estimação/compensação de movimento 112, determinar um quadro baseado em estimação e compensação de movimento (MEF) 115. O quadro baseado em estimação e compensação de movimento 115 pode ser determinado usando quaisquer técnicas adequadas baseadas em estimação e compensação de movimento tais como a determinação de vetores de movimento associados com movimento entre os quadros de vídeo 201, 202 e previsão de quadros com base em um quadro de referência e nos vetores de movimento ou semelhantes. Em alguns exemplos, as correlações de plano de fase 105 podem ser usadas para determinar os vetores de movimento ou prever vetores de movimento ou semelhante. Em uma modalidade, MEF 115 é um quadro previsto com base em um de entre o quadro de vídeo 201 ou quadro de vídeo 202.
[0052] Se o modo de previsão de quadros 109 indicar recuo (FB) 113 (por exemplo, um recuo que prevê a utilização de um quadro de vídeo repetido ou de mistura), o módulo de previsão de quadros 110 pode, através do módulo de repetição de um quadro ou de mistura de quadros 114, determinar um quadro baseado em recuo (FBF) 115. O quadro baseado em recuo 115 pode ser determinado utilizando quaisquer técnicas adequadas tais como utilizando o quadro de vídeo 201 ou 202 como o quadro interpolado ou previsto ou misturando o quadro de vídeo 201 com o quadro de vídeo 202 (por exemplo, fazendo a média dos valores de pixel entre os quadros de vídeo 201, 202 ou semelhantes). Em uma modalidade, FBF é um quadro previsto baseado em um de entre repetição do quadro de vídeo 201, repetição do quadro de vídeo 202, ou mistura do quadro de vídeo 201 com o quadro de vídeo 202. A determinação de utilizar um quadro repetido (e/ou que quadro repetido) ou de misturar quadros pode ser baseada em analisar os quadros ou a determinação pode estar presente. Em uma modalidade, um modo de recuo por defeito é um modo de mistura.
[0053] Tal como mostrado na FIG. 1, o módulo de previsão de quadros 110 pode fornecer o quadro relevante interpolado ou previsto (por exemplo, com base em qual de entre MEF 115 ou FBF 117 foi gerado) como um quadro de vídeo previsto 119 para armazenamento na memória, apresentação a um usuário, continuação de processamento, ou semelhante. Por exemplo, o quadro de vídeo previsto 119 pode ser inserido na sequência de vídeo 101 para conversão de taxa de quadros. Em outro exemplo, o quadro de vídeo previsto 119 e/ou dados associados com o quadro de vídeo previsto (por exemplo, vetores de movimento, campos de vetor de movimento, vetores de movimento diferenciais ou semelhantes) podem ser processados e codificados para compressão de vídeo.
[0054] A FIG. 5 ilustra um módulo de modo de previsão de quadros 108 exemplificativo, disposto de acordo com pelo menos algumas implementações da presente revelação. Tal como mostrado na FIG. 5, o módulo de modo de previsão de quadros 108 pode incluir um módulo contador de recuos 502 e um módulo de modo de estado 504. Tal como discutido, o módulo de detecção de correlação para estimação de movimento 106 pode fornecer um indicador indicando se os quadros de vídeo são correlacionados para estimação de movimento e, caso os quadros de vídeo não sejam para estimação de movimento, um tipo. No exemplo ilustrado, o módulo de detecção de correlação para estimação de movimento 106 pode fornecer um indicador de tipo de recuo 501 incluindo valores de 0 a 4; contudo, quaisquer indicadores adequados podem ser usados. Tal como é mostrado, um valor de indicador de tipo de recuo 501 igual a 0 pode indicar que os quadros de vídeo (por exemplo, os quadros de vídeo 201, 202) são correlacionados para estimação de movimento (por exemplo, recuo não foi detectado ou não há recuo) e um valor de 1, 2, 3, ou 4 pode indicar que os quadros de vídeo não são correlacionados para estimação de movimento. Ademais, cada um dos valores 1-4, pode indicar um tipo quando os quadros de vídeo não são correlacionados para estimação de movimento. Por exemplo, um valor de 1 pode indicar uma mudança de cena, um valor de 2 pode indicar ausência de movimento, um valor de 3 pode indicar movimento rápido e um valor de 4 pode indicar uma cena difícil, tal como é mostrado.
[0055] O módulo de modo de previsão de quadros 108 pode determinar um modo de previsão de quadros 109 com base em parte no indicador de tipo de recuo 501. Por exemplo, o módulo de modo de previsão de quadros 108 pode receber o indicador de tipo de recuo 501 através do módulo contador de recuos 502. O módulo contador de recuos 502 pode armazenar e manipular um contador de recuos (ou valor de contador de recuos). Por exemplo, o módulo contador 502 pode determinar um valor atual de contador de recuos com base em um valor de contador de recuos anterior e no indicador de tipo de recuo 501. Tal como é mostrado, em alguns exemplos, com base no indicador de tipo de recuo 501, o módulo contador de recuos 502 pode incrementar, decrementar ou zerar o contador de recuos. Por exemplo, o indicador de tipo de recuo 501 é 1 (por exemplo, indicando uma mudança de cena), o contador de recuos pode ser zerado. Se o indicador de tipo de recuo 501 é 2, 3, ou 4 (por exemplo, indicando ausência de movimento, movimento rápido ou cena difícil, respectivamente), o contador de recuos pode ser incrementado de um valor tal como, por exemplo, 1. No exemplo ilustrado, o contador de recuos é incrementado do mesmo valor para cada tipo. Em outros exemplos, o contador de recuos pode ser incrementado de diferentes valores para diferentes tipos. Ademais, se o indicador de tipo de recuo é 0 (por exemplo, indicando que os quadros de vídeo são correlacionados para estimação de movimento) o contador de recuos pode ser incrementado de um valor tal como, por exemplo, 1.
[0056] Tal como é mostrado, o módulo contador de recuos pode determinar o atual contador de recuos e pode fornecê-lo como um valor de contador de recuos 503 ao módulo de modo de estado 504. Tal como é mostrado, o módulo de modo de estado 504 pode fazer uma determinação no módulo de decisão 510 como para um estado do valor do contador de recuos. Por exemplo, se o valor do contador de recuos (FBCV) está em um limiar mínimo 505 (por exemplo, iguala um limiar mínimo predeterminado), o módulo de modo de estado 504 pode estabelecer um modo de previsão de quadros, regulando o módulo de modo estimação/compensação de movimento 506 para um modo de estimação de movimento (MEM) 511. Se o valor do contador de recuos (FBCV) está em um limiar máximo 507 (por exemplo, iguala um limiar máximo predeterminado), o módulo de modo de estado 504 pode estabelecer um modo de previsão de quadros, regulando o módulo de modo de recuo 506 para um modo de recuo (FBM) 513 (por exemplo, onde um quadro de vídeo repetido ou um quadro de vídeo de mistura pode ser usado). Se o valor do contador de recuos está entre os limiares mínimo e máximo, nenhuma alteração (tal como indicado através de um indicador de não alteração 509) pode ser feita ao modo (por exemplo, o modo é deixado inalterado seja ele o modo de estimação de movimento ou o modo de recuo). Tal como é mostrado, com base na determinação de nenhuma alteração 509, MEM 511, ou FBM 513, o módulo de modo de estado 504 pode fornecer um modo de previsão de quadros 109 correspondente (por exemplo, alterado para modo de estimação de movimento, alterado para modo de recuo ou nenhuma alteração do modo anteriormente fornecido), tal como discutido com relação à FIG. 1 e em outro ponto neste documento.
[0057] Os limiares mínimo e máximo discutidos podem ser quaisquer valores adequados que possibilitem uma decisão ou estratégia de alteração robusta para o módulo de modo de previsão de quadros 108. Em um exemplo, o limiar mínimo pode ser 0 e o limiar máximo pode ser 5. Tal como é mostrado, a mudança de cena (por exemplo, indicador de tipo recuo 501 com valor 1) pode apresentar um resultado especial que pode repor o valor do contador de recuos no limiar mínimo e repor, através do módulo de modo de estado 504, o modo de previsão de quadros 109 no modo de estimação de movimento 511. Por exemplo, o módulo contador de recuos 502 e o módulo de modo de estado 504 podem possibilitar alterações menos abruptas entre o modo de estimação de movimento 511 e o modo de recuo 513, o que pode proporcionar uma estratégia de comutação mais robusta de modo que o vídeo resultante pode incluir menos artefatos e semelhantes.
[0058] As operações discutidas acima podem ser executadas em conjunto ou separadamente para gerenciar estimação de movimento em processamento de vídeo através do fornecimento de recuo utilizando um quadro de vídeo repetido ou de mistura em certas circunstâncias.
[0059] A FIG. 6 é um fluxograma ilustrativo de um processo exemplificativo 600 para gerenciamento de estimação de movimento em processamento de vídeo, disposto de acordo com pelo menos algumas implementações da presente revelação. O processo 600 pode incluir uma ou mais operações 601-604 como está ilustrado na FIG. 6. O processo 600 pode pelo menos formar parte de um processo de geração de quadros de vídeo previstos. Por via de um exemplo não limitativo, o processo 600 pode pelo menos formar parte de um processo de geração de quadros de vídeo previstos para uma ou mais sequências de vídeo tal como realizado pelo sistema 100, como discutido aqui. Adicionalmente, o processo 600 será descrito aqui com referência ao sistema 700 da FIG. 7.
[0060] A FIG. 7 é um diagrama ilustrativo de um sistema exemplificativo 700, disposto de acordo com pelo menos algumas implementações da presente revelação. Tal como mostrado na FIG. 7, o sistema 700 pode incluir uma unidade de processamento de gráficos (GPU) 701, uma ou mais unidades de processamento central 702, e armazenamentos de memória 703. Como também é mostrado, a GPU 701 pode incluir um módulo de geração de regiões 102, um módulo de correlação de plano de fase 104, um módulo de detecção de correlação para estimação de movimento 106, um módulo de modo de previsão de quadros 108 e um módulo de previsão de quadros 110. No exemplo do sistema 700, os armazenamentos de memória 703 podem armazenar conteúdo de imagem tal como a sequência de vídeo 101 e/ou o quadro de vídeo previsto 119 ou semelhantes. Apesar de não mostrado na FIG. 7, em alguns exemplos, o sistema 700 pode incluir um dispositivo de ecrã para a apresentação das sequências de vídeo para um usuário.
[0061] O sistema 700 pode incluir qualquer sistema adequado tal como discutido com relação às FIGS. 8 e 9 e em outro ponto neste documento tal como, por exemplo, um computador, uma TV inteligente, um dispositivo móvel tal como um smartphone ou tablet, ou semelhantes. Tal como é mostrado, em alguns exemplos, módulo de geração de regiões 102, módulo de correlação de plano de fase 104, módulo de detecção de correlação para estimação de movimento 106, módulo de modo de previsão de quadros 108 e módulo de previsão de quadros 110 podem ser implementados via GPU 701. Em outros exemplos, um, alguns, ou todos de entre um módulo de geração de regiões 102, um módulo de correlação de plano de fase 104, um módulo de detecção de correlação para estimação de movimento 106, um módulo de modo de previsão de quadros 108 e um módulo de previsão de quadros 110 podem ser implementados via unidades de processamento central 702.
[0062] A unidade de processamento de gráficos 701 pode incluir qualquer número e tipo de unidades de processamento de gráficos que podem fornecer as operações tal como aqui descritas. Essas operações podem ser implementadas por via de software ou de hardware ou uma combinação destes. Por exemplo, a unidade de processamento de gráficos 701 pode incluir circuitos dedicados a manipulação de sequências de vídeo a partir de uma memória tal como aqui discutido. As unidades de processamento central 702 podem incluir qualquer número e tipo de unidades ou módulos de processamento que podem fornecer controle e outras funções de alto nível para o sistema 700 e/ou qualquer das operações tal como aqui discutido. Os armazenamentos de memória 703 podem ser de qualquer tipo de memória tal como memória volátil (por exemplo, Memória Estática de Acesso Aleatório (SRAM), Memória Dinâmica de Acesso Aleatório (DRAM), etc.) ou memória não volátil (por exemplo, memória flash, etc.) e assim por diante. Em um exemplo não limitativo, os armazenamentos de memória 703 podem ser implementados por memória cache.
[0063] Em uma modalidade, um, alguns, ou todos de entre um módulo de geração de regiões 102, um módulo de correlação de plano de fase 104, um módulo de detecção de correlação para estimação de movimento 106, um módulo de modo de previsão de quadros 108 e um módulo de previsão de quadros 110 podem ser implementados via uma unidade de execução (EU) da unidade de processamento central 701. A EU pode incluir, por exemplo, lógica ou circuito programável tal como um núcleo ou núcleos lógicos que podem fornecer um vasto conjunto de funções lógicas programáveis. Em uma modalidade, um, alguns, ou todos de entre um módulo de geração de regiões 102, um módulo de correlação de plano de fase 104, um módulo de detecção de correlação para estimação de movimento 106, um módulo de modo de previsão de quadros 108 e um módulo de previsão de quadros 110 podem ser implementados via hardware dedicado, tal como circuito de função fixa ou semelhante. O circuito de função fixa pode incluir lógica ou circuito dedicado e pode fornecer um conjunto de pontos de entrada de função fixa que podem mapear a lógica dedicada para uma função ou propósito fixo.
[0064] Retornando à discussão da FIG. 6, o processo 600 pode começar na operação 601, “Dividir Quadros de Vídeo de uma Sequência de Vídeo em Regiões Correspondentes”, onde os quadros de vídeo de uma sequência de vídeo podem ser divididos em regiões correspondentes. Por exemplo, os quadros de vídeo 201, 202 da sequência de vídeo 101 podem ser divididos em regiões 301, 302 e/ou regiões 401, 402, tal como aqui discutido através do módulo de geração de regiões 102 tal como implementado pelo GPU 701. Em uma modalidade, as regiões são regiões globais. Em outra modalidade, as regiões são regiões locais.
[0065] O processamento pode continuar na operação 602, “Geração de Correlações de Plano de Fase com base nas Regiões Correspondentes”, onde as correlações de plano de fase podem ser geradas com base nos correspondentes pares de regiões. Por exemplo, as correlações de plano de fase 105 podem ser geradas como aqui discutido através do módulo de correlação de plano de fase 104, tal como implementado pela GPU 701. Em uma modalidade, as correlações de plano de fase são correlações globais de plano de fase. Em outra modalidade, as correlações de plano de fase são correlações locais de plano de fase. Em ainda outra modalidade, ambas as correlações de plano de fase globais e locais são geradas.
[0066] O processamento pode continuar na operação 603, “Determina se os Quadros de Vídeo são Correlacionados para Estimação do Movimento com base nas Correlações de Plano de Fase”, onde pode ser feita a determinação de se os quadros de vídeo são correlacionados para estimação de movimento com base na correlação de plano de fase. Por exemplo, o módulo de detecção de correlação para estimação de movimento 106, tal como implementado pela GPU 701 pode determinar se os quadros de vídeo 201, 202 são correlacionados para estimação de movimento tal como aqui discutido. Em uma modalidade, se os quadros de vídeo não são correlacionados para estimação de movimento, o módulo de detecção de correlação para estimação de movimento 106 pode também determinar um tipo para os quadros de vídeo que não são correlacionados para estimação de movimento (por exemplo, mudança de cena, ausência de movimento, movimento rápido, ou cena difícil ou semelhante).
[0067] O processamento pode continuar na operação 604, “Fornece um Indicador de Modo de Previsão de Quadros com base na Determinação”, onde um indicador de modo de previsão de quadros pode ser fornecido com base na determinação. Por exemplo, o módulo de modo de previsão de quadros 108, tal como implementado pela GPU 701 pode fornecer o modo de previsão de quadros 109 tal como aqui discutido. Em uma modalidade, o indicador de modo de previsão de quadros indica um modo de estimação de movimento. Em outra modalidade, o indicador de modo de previsão de quadros indica um modo de recuo. O indicador de modo de previsão de quadros pode ser determinado com base na detecção de correlação para estimação de movimento recebida e/ou em um estado anterior de um contador de recuos ou semelhante.
[0068] Tal como discutido, com base no indicador de modo de previsão de quadros, os quadros de vídeo interpolados ou previstos podem ser gerados. Por exemplo, se o indicador de modo de previsão de quadros indica um modo de estimação de movimento, técnicas de estimação de movimento e/ou de compensação de movimento podem ser usadas para gerar um quadro de vídeo interpolado ou previsto tal como o quadro de vídeo previsto 119 e, se o indicador de modo de previsão de quadros indica um modo de recuo, um quadro repetido ou um quadro de mistura pode ser usado para gerar um quadro de vídeo interpolado ou previsto tal como o quadro de vídeo previsto 119. O processo 900 pode ser repetido qualquer número de vezes tanto em série com em paralelo para qualquer número de sequências de vídeo.
[0069] Vários componentes dos sistemas aqui descritos podem ser implementados por software, firmware e/ou hardware e/ou qualquer combinação destes. Por exemplo, vários componentes do sistema 100 ou do sistema 700 podem ser fornecidos, pelo menos em parte, pelo hardware de um Sistema-em-um-Chipe (SoC) de computação tal como se pode encontrar em um sistema de computação tal como, por exemplo, um smartphone. Os peritos na técnica podem reconhecer que os sistemas aqui descritos podem incluir componentes adicionais que não foram representados nas figuras correspondentes. Por exemplo, os sistemas aqui discutidos podem incluir componentes adicionais tais como multiplexador de canal de bits ou módulos demultiplexadores e semelhantes que não foram representados em prol da clareza.
[0070] Embora a implementação dos processos exemplificativos (por exemplo, o processo 600 ou aqueles discutidos relativamente às FIGS. 1-5) aqui discutidos possam incluir a realização de todas as operações mostradas na ordem ilustrada, a presente revelação não está limitada nessa matéria e, em vários exemplos, a implementação dos processos exemplificativos deste documento pode incluir somente um subconjunto das operações mostradas, operações realizadas em uma ordem diferente da ilustrada ou operações adicionais.
[0071] Adicionalmente, qualquer uma ou mais das operações aqui discutidas podem ser realizadas em resposta a instruções fornecidas por um ou mais produtos de programas de computador. Esses produtos de programas podem incluir mídia de suporte de sinal fornecendo instruções que, quando executadas, por exemplo, por um processador, podem fornecer a funcionalidade aqui descrita. Os produtos de programas de computador podem ser fornecidos em qualquer forma de um ou mais mídia legíveis por máquina. Assim, por exemplo, um processador incluindo uma ou mais unidade(s) gráfica(s) de processamento ou núcleo(s) de processador pode realizar um ou mais dos blocos dos processos exemplificativos incluídos neste documento, em resposta a código programado e/ou instruções ou conjuntos de instruções transmitidas para o processador por um ou mais mídia legíveis por máquina. No geral, um suporte legível por máquina pode transmitir software na forma de código programado e/ou instruções ou conjuntos de instruções que podem dar ordem a quaisquer dispositivos e/ou sistemas aqui descritos para implementar pelo menos partes dos sistemas 100 ou 700, ou qualquer outro módulo ou componente tal como aqui descrito.
[0072] Tal como usado em qualquer implementação aqui descrita, o termo “módulo ”se refere a qualquer combinação de software lógico, firmware lógico, hardware lógico e/ou circuitos configurados para fornecer a funcionalidade aqui descrita. O software pode estar incorporado como um pacote de software, código e/ou conjunto de instruções ou instruções, e “hardware”, tal como usado em qualquer implementação aqui descrita, pode incluir, por exemplo, simples ou em qualquer combinação, circuitos com fio, circuitos programáveis, circuitos de estado de máquina, circuitos de função fixa, circuitos de unidade de execução e/ou firmware que armazena instruções executadas por circuitos programáveis. Os módulos podem, em conjunto ou individualmente, estar incorporados como circuitos que formam parte de um sistema maior, por exemplo, um circuito integrado (IC), sistema-em-um-chipe (SoC) e por aí em diante.
[0073] A FIG. 8 é um diagrama ilustrativo de um sistema exemplificativo 800, disposto de acordo com pelo menos algumas implementações da presente revelação. Em várias implementações, o sistema 800 pode ser um sistema mídia, no entanto o sistema 800 não está limitado a este contexto. Por exemplo, o sistema 800 pode estar incorporado em um computador pessoal (PC), computador laptop, computador ultra-portátil, tablet, touchpad, computador portátil, computador handheld, computador palmtop, assistente pessoal digital (PDA), telefone celular, combinação telefone celular/PDA, televisão, dispositivo inteligente (por exemplo, telefone inteligente, tablet inteligente ou televisão inteligente), dispositivo de internet móvel (MID), dispositivo de mensagens, dispositivo de comunicação de dados, câmeras (por exemplo, câmeras de apontar-e- disparar, câmeras de grande aumento, câmera reflex monobjetiva digital (DSLR)) e assim por diante.
[0074] Em várias implementações, o sistema 800 inclui uma plataforma 802 acoplada a um ecrã 820. A plataforma 802 pode receber conteúdo de um dispositivo de conteúdo tal como dispositivo(s) de serviços de conteúdos 830 ou dispositivo(s) de distribuição de conteúdos 840 ou outras fontes de conteúdos similares. Um controlador de navegação 850 incluindo uma ou mais ferramentas de navegação pode ser usado para interagir com, por exemplo, a plataforma 802 e/ou o ecrã 820. Cada um destes componentes é descrito abaixo em maior detalhe.
[0075] Em várias implementações, a plataforma 802 pode incluir qualquer combinação de um conjunto de chipe 805, processador 810, memória 812, antena 813, armazenamento 814, subsistema de gráficos 815, aplicativos 816 e/ou rádio 818. O conjunto de chipe 805 pode fornecer intercomunicação entre processador 810, memória 812, armazenamento 814, subsistema de gráficos 815, aplicativos 816 e/ou rádio 818. Por exemplo, o conjunto de chipe 805 pode incluir um adaptador de armazenamento (não representado) capaz de proporcionar intercomunicação com o armazenamento 814.
[0076] O processador 810 pode ser implementado como processador Computador com um Conjunto Complexo de Instruções (CISC) ou Computador com um Conjunto Reduzido de Instruções (RISC), processadores compatíveis com conjunto de instruções x86, multi-núcleo ou qualquer outro microprocessador ou unidade de processamento central (CPU). Em várias implementações, o processador 810 pode ser processador(es) de dois núcleos, processador(es) móvel(is) de dois núcleos, e assim por diante.
[0077] A memória 812 pode ser implementada como um dispositivo de memória volátil tal como, mas não limitado a, uma Memória de Acesso Aleatório (RAM), uma Memória Dinâmica de Acesso Aleatório (DRAM), ou uma RAM Estática (SRAM).
[0078] O armazenamento 814 pode ser implementado como um dispositivo de armazenamento não volátil tal como, mas não limitado a, uma unidade de disco magnético, uma unidade de disco ótico, uma unidade de fita, um dispositivo de armazenamento interno, um dispositivo de armazenamento anexo, memória flash, uma SDRAM (DRAM síncrona) suportada por bateria e/ou um dispositivo de armazenamento acessível pela rede. Em várias implementações, o armazenamento 814 pode incluir tecnologia para aumentar a proteção reforçada da prestação de armazenamento para mídia digital de valor quando múltiplos discos rígidos estão incluídos, por exemplo.
[0079] O subsistema de gráficos 815 pode executar processamento de imagens tais como fixas ou vídeo, para exibição. O subsistema de gráficos 815 pode ser uma unidade de processamento de gráficos (GPU) ou uma unidade de processamento visual (VPU), por exemplo. Uma interface analógica ou digital pode ser usada para acoplar para comunicação o subsistema de gráficos 815 e o ecrã 820. Por exemplo, a interface pode ser qualquer de entre Interface Multimídia de Alta Definição, Porta de Ecrã, HDMI sem fio e/ou técnicas em conformidade com HD sem fio. O subsistema de gráficos 815 pode estar integrado no processador 810 ou no conjunto de chipe 805. Em algumas implementações, o subsistema de gráficos 815 pode ser um dispositivo autônomo acoplado para comunicação ao conjunto de chipe 805.
[0080] As técnicas de processamento de gráficos e/ou de vídeo aqui descritas podem ser implementadas em várias arquiteturas de hardware. Por exemplo, funcionalidades de gráficos e/ou de vídeo podem ser integradas em um conjunto de chipe. Alternativamente, um processador discreto de gráficos e/ou de vídeo pode ser usado. Como ainda outra implementação, as funções de gráficos e/ou de vídeo podem ser fornecidas por um processador para fins genéricos, incluindo um processador multi-núcleo. Em modalidades adicionais, as funções podem ser implementadas em um dispositivo eletrônico de consumidor.
[0081] O rádio 818 pode incluir um ou mais rádios aptos para transmitir e receber sinais utilizando várias técnicas adequadas de comunicações sem fio. Essas técnicas podem envolver comunicações através de uma ou mais redes sem fio. Exemplos de redes sem fio incluem (mas não estão limitados a) redes sem fio de área local (WLANs), redes sem fio de área pessoal (WPANs), redes sem fio de área metopolitana (WMANs), redes celulares e redes por satélite. Ao comunicar através dessas redes, o rádio 818 pode operar de acordo com um ou mais padrões aplicáveis em qualquer versão.
[0082] Em várias implementações, o ecrã 820 pode incluir qualquer ecrã ou monitor do tipo televisão. O ecrã 820 pode incluir, por exemplo, uma tela de ecrã de computador, um ecrã de tela tátil, monitor de vídeo, dispositivo do tipo televisão e/ou uma televisão. O ecrã 820 pode ser digital e/ou analógico. Em várias implementações, o ecrã 820 pode ser um ecrã holográfico. Também o ecrã 820 pode ser uma superfície transparente que pode receber uma projeção visual. Estas projeções podem transmitir várias formas de informação, imagens e/ou objetos. Por exemplo, estas projeções podem ser uma sobreposição visual para um aplicativo móvel de realidade aumentada (MAR). Sob o controle de um ou mais aplicativos de software 816, a plataforma 802 pode exibir a interface de usuário 822 no ecrã 820.
[0083] Em várias implementações, o(s) dispositivos(s) de serviços de conteúdos 830 pode ser hospedado por qualquer serviço nacional, internacional e/ou independente e por isso acessível para a plataforma 802 através de Internet, por exemplo. O(s) dispositivos(s) de serviços de conteúdos 830 pode(m) ser acoplado(s) à plataforma 802 e/ou ao ecrã 820. A plataforma 802 e/ou o(s) dispositivos(s) de serviços de conteúdos 830 pode(m) ser acoplado(s) à rede 860 para comunicar (por exemplo, enviar e/ou receber) informação de mídia da e para a rede 860. O(s) dispositivos(s) de distribuição de conteúdos 840 também pode(m) ser acoplado(s) à plataforma 802 e/ou ao ecrã 820.
[0084] Em várias implementações, o(s) dispositivos(s) de serviços de conteúdos 830 podem incluir uma caixa de televisão por cabo, um computador pessoal, rede, telefone, dispositivos com acesso à Internet ou aparelhos capazes de distribuir informação digital e/ou conteúdo, e qualquer outro dispositivo similar capaz de comunicar conteúdos unidirecionalmente ou bidirecionalmente entre os provedores de conteúdos e a plataforma 802 e/ou ecrã 820, através da rede 860 ou diretamente. Deve notar-se que o conteúdo pode ser comunicado unidirecionalmente e/ou bidirecionalmente para e de qualquer um dos componentes do sistema 800 e um provedor de conteúdos via rede 860. Exemplos de conteúdos podem incluir qualquer informação de mídia incluindo, por exemplo, vídeo, música, informação médica e de jogos, e assim por diante.
[0085] O(s) dispositivos(s) de serviços de conteúdos 830 podem receber conteúdos tais como programação de televisão por cabo, incluindo informação de mídia, informação digital e/ou outros conteúdos. Exemplos de provedores de conteúdos podem incluir qualquer provedor de conteúdos de televisão por cabo ou satélite ou rádio ou Internet. Os exemplos fornecidos não pretendem limitar de modo nenhum as implementações de acordo com a presente revelação.
[0086] Em várias implementações, a plataforma 802 pode receber sinais de controle do controlador de navegação 850 tendo uma ou mais ferramentas de navegação. As ferramentas de navegação do controlador 850 podem ser usadas para interagir com a interface de usuário 822, por exemplo. Em várias modalidades, o controlador de navegação 850 pode ser um dispositivo apontador que pode ser um componente de hardware de um computador (especificamente, um dispositivo de interface humana) que permite ao usuário introduzir dados espaciais (por exemplo, contínuos e multidimensionais) em um computador. Muitos sistemas tais como interfaces gráficas de usuário (GUI), e televisões e monitores permitem ao usuário controlar e fornecer dados para o computador ou televisão utilizando gesticulação física.
[0087] Movimentos das ferramentas de navegação do controlador 850 podem ser replicados em um ecrã (por exemplo, ecrã 820) através de movimentos de um apontador, cursor, anel de focagem ou outros indicadores visuais exibidos no ecrã. Por exemplo, sob o controle de aplicativos de software 816, as ferramentas de navegação localizadas no controlador de navegação 850 podem ser mapeadas para ferramentas de navegação virtual exibidas na interface de usuário 822, por exemplo. Em várias modalidades, o controlador 850 pode ser não um componente separado mas pode estar integrado na plataforma 802 e/ou no ecrã 820. A presente revelação, todavia, não está limitada aos elementos ou no contexto mostrado ou descrito neste documento.
[0088] Em várias implementações, os controladores (não mostrados) podem incluir tecnologia para permitir aos usuários ligarem e desligarem instantaneamente a plataforma 802 como uma televisão com o toque em um botão após o arranque inicial, quando ativo, por exemplo. Lógica de programação pode permitir à plataforma 802 canalizar conteúdo para adaptadores de mídia ou outro(s) dispositivos(s) de serviços de conteúdos 830 ou dispositivos(s) de distribuição de conteúdos 840 mesmo quando a plataforma está “desligada”. Adicionalmente, o conjunto de chipe 805 pode incluir suporte de hardware e/ou software para áudio com som estereofônico envolvente 5.1 e/ou áudio com som estereofônico envolvente de alta definição 7.1, por exemplo. Os controladores podem incluir um controlador gráfico para plataformas gráficas integradas. Em várias modalidades, o controlador gráfico pode compreender uma placa gráfica para um componente periférico de interconexão (PCI) Express.
[0089] Em várias implementações, qualquer um ou mais dos componentes mostrados no sistema 800 podem ser integrados. Por exemplo, a plataforma 802 e o(s) dispositivos(s) de serviços de conteúdos 830 podem estar integrados, ou a plataforma 802 e o(s) dispositivos(s) de distribuição de conteúdos 840 podem estar integrados, ou a plataforma 802, o(s) dispositivos(s) de serviços de conteúdos 830 e o(s) dispositivos(s) de distribuição de conteúdos 840 podem estar integrados, por exemplo. Em várias modalidades, a plataforma 802 e o ecrã 820 podem ser uma unidade integrada. O ecrã 820 e o(s) dispositivos(s) de serviços de conteúdos 830 podem estar integrados, ou o ecrã 820 e o(s) dispositivos(s) de distribuição de conteúdos 840 podem estar integrados, por exemplo. Estes exemplos não pretendem limitar a presente revelação.
[0090] Em várias modalidades, o sistema 800 pode ser implementado como um sistema sem fio, um sistema com fio ou uma combinação de ambos. Quando implementado como um sistema sem fio, o sistema 800 pode incluir componentes e interfaces adequadas para comunicação através de mídia partilhados sem fio, tal como uma ou mais antenas, transmissores, receptores, transceptores, amplificadores, filtros, lógica de controle e assim por diante. Um exemplo de mídia partilhado sem fio pode incluir partes de um espectro sem fio, tal como espectro RF e assim por diante. Quando implementado como um sistema com fio, o sistema 800 pode incluir componentes e interfaces adequadas para comunicação através de mídia de comunicações com fio, tal como adaptadores entrada/saída (I/O), ligadores físicos para conectar o adaptador I/O a um correspondente suporte de comunicações com fio, uma interface de placa de rede (NIC), controlador de disco, controlador de vídeo, controlador de áudio e semelhantes. Exemplos de mídia de comunicações com fio podem incluir um fio, cabo, condutores metálicos, placas de circuito impresso (PCB), barramento, estrutura de comutação, material semicondutor, par de fios entrançado, cabo coaxial, fibra ótica e assim por diante.
[0091] A plataforma 802 pode estabelecer um ou mais canais lógicos ou físicos para comunicar informação. A informação pode incluir informação de mídia e informação de controle. Informação de mídia pode se referir a quaisquer dados representando conteúdo destinado a um usuário. Exemplos de conteúdo podem incluir, por exemplo, dados de voz de uma conversação, videoconferência, transmissão de vídeo, mensagem de correio eletrônico (“email”), mensagem de correio de voz, símbolos alfanuméricos, gráficos, imagem, vídeo, texto e assim por diante. Dados de voz de uma conversação podem ser, por exemplo, informação de discurso, períodos de silêncio, ruído de fundo, ruído de conforto, tonalidades e assim por diante. Informação de controle pode se referir a quaisquer dados representando comandos, instruções ou palavras de controle destinadas a um sistema automatizado. Por exemplo, informação de controle pode ser usada para rotear informação de mídia através de um sistema, ou instruir um nó para processar a informação de mídia em uma predeterminada maneira. As modalidades, todavia, não estão limitadas aos elementos ou no contexto mostrado ou descrito na FIG. 8.
[0092] Tal como acima descrito, o sistema 800 pode ser implementado variando estilos físicos ou fatores de forma. A FIG. 9 ilustra implementações de um pequeno dispositivo de fator de forma 900 no qual o sistema 900 pode ser implementado. Em várias modalidades, por exemplo, o dispositivo 900 pode ser implementado como um dispositivo de computação móvel tendo potencialidades sem fio. Um dispositivo de computação móvel pode se referir a qualquer dispositivo tendo um sistema de processamento e uma fonte de alimentação ou de energia móvel, tal como uma ou mais baterias, por exemplo.
[0093] Tal como acima descrito, exemplos de um dispositivo de computação móvel podem incluir um computador pessoal (PC), computador laptop, computador ultra-portátil, tablet, touchpad, computador portátil, computador handheld, computador palmtop, assistente pessoal digital (PDA), telefone celular, combinação telefone celular/PDA, televisão, dispositivo inteligente (por exemplo, telefone inteligente, tablet inteligente ou televisão inteligente), dispositivo de internet móvel (MID), dispositivo de mensagens, dispositivo de comunicação de dados, câmeras (por exemplo, câmeras de apontar-e-disparar, câmeras de grande aumento, câmera reflex monobjetiva digital (DSLR)) e assim por diante.
[0094] Exemplos de um dispositivo de computação móvel podem também incluir computadores que são concebidos para serem usados por uma pessoa, tal como um computador de pulso, um computador de dedo, um computador de anel, um computador de lente ocular, um computador de prender no cinto, um computador de bracelete, um computador de sapato, um computador de roupa e outros computadores para uso humano. Em várias modalidades, por exemplo, um dispositivo de computação móvel pode ser implementado como um telefone inteligente capaz de executar aplicativos de computador, bem como comunicações de voz e/ou comunicações de dados. Apesar de algumas modalidades poderem ser descritas com um dispositivo de computação móvel implementado como um telefone inteligente a título de exemplo, deve notar-se que outras modalidades podem igualmente ser implementadas utilizando outros dispositivos de computação móveis sem fio. As modalidades não estão limitadas neste contexto.
[0095] Tal como mostrado na FIG. 9, o dispositivo 900 pode incluir um invólucro 902, um ecrã 904, um dispositivo entrada/saída (I/O) 906 e uma antena 908. O dispositivo 900 pode também incluir ferramentas de navegação 912. O ecrã 904 pode incluir qualquer unidade de ecrã adequada para exibição da informação apropriada em um dispositivo de computação móvel. O dispositivo I/O 906 pode incluir qualquer dispositivo I/O adequado para introdução de informação em um dispositivo de computação móvel. Exemplos de dispositivo I/O 906 podem incluir um teclado alfanumérico, um teclado numérico, um touch pad, teclas de entrada, botões, interruptores, interruptores basculantes, microfones, altifalantes, dispositivo e software de reconhecimento de voz e assim por diante. A informação também pode ser introduzida no dispositivo 900 por via de um microfone (não mostrado). Essa informação pode ser digitalizada por um dispositivo de reconhecimento de voz (não mostrado). As modalidades não estão limitadas neste contexto.
[0096] Várias modalidades podem ser implementadas usando elementos de hardware, elementos de software ou uma combinação de ambos. Exemplos de elementos de hardware podem incluir processadores, microprocessadores, circuitos, elementos de circuito, (por exemplo, transistores, resistores, capacitores, indutores e assim por diante), circuitos integrados, circuitos integrados de aplicação específica (ASIC), dispositivos lógicos programáveis (PLD), processadores de sinal digital (DSP), arranjo de portas programável em campo (FPGA), portas lógicas, registradores, dispositivo semicondutor, chipes, microchipes, conjuntos de chipe e assim por diante. Exemplos de software podem incluir componentes de software, programas, aplicativos, programas de computador, programas de aplicativo, programas de sistema, programas máquina, software de sistema operativo, middleware, firmware, módulos de software, rotinas, subrotinas, funções, métodos, procedimentos, interfaces de software, interfaces de programa de aplicativo (API), conjuntos de instruções, código de computação, código de computador, segmentos de código, segmentos de código de computador, palavras, valores, símbolos ou qualquer combinação destes. Determinar se uma modalidade é implementada usando elementos de hardware e/ou elementos software pode variar de acordo com qualquer número de fatores, tais como taxa de computação desejada, níveis de potência, tolerâncias de aquecimento, orçamento de ciclo de processamento, taxa de entrada de dados, taxa de saída de dados, recursos de memória, velocidades de barramento de dados e outras restrições de projeto ou desempenho.
[0097] Um ou mais aspetos de pelo menos uma modalidade podem ser implementados por instruções representativas armazenadas em um suporte legível por máquina, o qual representa várias lógicas no processador, as quais quando lidas por uma máquina ordenam à máquina que produza lógica para executar as técnicas descritas aqui. Estas representações, conhecidas por “núcleos de IP ” podem ser armazenadas em um suporte tangível, legível por máquina e fornecidas a vários clientes ou instalações de produção para serem carregadas nas máquinas de produção que produzem efetivamente a lógica ou o processador.
[0098] Embora certas características aqui apresentadas tenham sido descritas com referência a várias implementações, esta descrição não pretende ser interpretada em um sentido limitado. Assim, várias modificações das implementações aqui descritas, bem como outras implementações, as quais são evidentes para peritos na técnica à qual a presente revelação diz respeito, se consideram estar dentro do espírito e escopo da presente revelação.
[0099] Os exemplos seguintes dizem respeito a modalidades adicionais.
[00100] Em uma ou mais primeiras modalidades, um método implementado por computador para o gerenciamento de estimação de movimento em processamento de vídeo, compreende a divisão de um primeiro quadro de vídeo de uma sequência de vídeo em primeiras regiões e um segundo quadro de vídeo da sequência de vídeo em segundas regiões correspondentes às primeiras regiões, gerando uma pluralidade de correlações de plano de fase, em que cada correlação de plano de fase da pluralidade de correlações de plano de fase é baseada em um par correspondente de primeiras e segundas regiões, determinando se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base pelo menos em parte na pluralidade de correlações de plano de fase, e fornecendo um indicador de modo de previsão de quadros de vídeo com base pelo menos em parte na determinação.
[00101] Adicionalmente às primeiras modalidades, determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento compreende avaliar um ou mais picos na pluralidade de correlações de plano de fase.
[00102] Adicionalmente às primeiras modalidades, o método compreende ainda, antes de gerar a pluralidade de correlações de plano de fase, a redução proporcional das primeiras regiões e das segundas regiões.
[00103] Adicionalmente às primeiras modalidades, o método compreende ainda a redução proporcional, antes de gerar a pluralidade de correlações de plano de fase, das primeiras regiões e das segundas regiões e/ou a divisão do primeiro quadro de vídeo em terceiras regiões e do segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que as primeiras regiões e as segundas regiões compreendem regiões globais e em que a pluralidade de correlações de plano de fase compreendem correlações globais de plano de fase e em que há menos primeiras regiões do que terceiras regiões, e a geração de uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase é baseada em um par correspondente de terceira e quarta regiões, e em que a determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são compatíveis para estimação de movimento é baseada pelo menos em parte na pluralidade de correlações locais de plano de fase.
[00104] Adicionalmente às primeiras modalidades, o método compreende ainda a redução proporcional, antes de gerar a pluralidade de correlações de plano de fase, das primeiras regiões e das segundas regiões e/ou a divisão do primeiro quadro de vídeo em terceiras regiões e do segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que as primeiras regiões e as segundas regiões compreendem regiões globais e em que a pluralidade de correlações de plano de fase compreendem correlações globais de plano de fase e em que há menos primeiras regiões do que terceiras regiões, e a geração de uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase é baseada em um par correspondente de terceira e quarta regiões, e em que a determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são compatíveis para estimação de movimento é baseada pelo menos em parte na pluralidade de correlações locais de plano de fase, em que o primeiro quadro de vídeo e o segundo quadro de vídeo se determinam como não sendo correlacionados para estimação de movimento com base na comparação de cada vetor de movimento associado com cada pico máximo de cada uma das pluralidades de correlações globais de plano de fase e pluralidades de correlações locais de plano de fase com um limiar.
[00105] Adicionalmente às primeiras modalidades, determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento compreende determinar se uma ou mais das correlações de plano de fase indica uma correlação forte ou uma correlação fraca com base em pelo menos uma de entre uma comparação de uma diferença entre um pico máximo da primeira correlação de plano de fase e um valor médio da primeira correlação de plano de fase e um primeiro limiar ou uma comparação de uma diferença entre o pico máximo da primeira correlação de plano de fase e um segundo maior pico da primeira correlação de plano de fase e um segundo limiar.
[00106] Adicionalmente às primeiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais, em que o primeiro quadro de vídeo e o segundo quadro de vídeo se determinam como não sendo correlacionados para estimação de movimento quando cada uma da pluralidade das correlações de plano de fase indica uma correlação fraca, e em que uma primeira correlação fraca para uma primeira correlação de plano de fase da pluralidade de correlações de plano de fase é determinada com base em pelo menos uma de entre uma comparação de uma diferença entre um pico máximo da primeira correlação de plano de fase e um valor médio da primeira correlação de plano de fase e um primeiro limiar ou uma comparação de uma diferença entre o pico máximo da primeira correlação de plano de fase e um segundo maior pico da primeira correlação de plano de fase e um segundo limiar.
[00107] Adicionalmente às primeiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais, em que o primeiro quadro de vídeo e o segundo quadro de vídeo se determinam como não sendo correlacionados para estimação de movimento quando qualquer uma da pluralidade das correlações de plano de fase indica um movimento rápido, e em que um primeiro movimento rápido para uma primeira correlação de plano de fase da pluralidade das correlações de plano de fase é determinado com base na comparação de um vetor de movimento associado com um pico máximo da primeira correlação de plano de fase e um limiar.
[00108] Adicionalmente às primeiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões locais, e em que determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento se baseia em uma comparação de um número da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca com um limiar.
[00109] Adicionalmente às primeiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões locais, e em que determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento se baseia em uma comparação de um número da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca com um limiar, e em que o limiar é adaptativo baseado pelo menos em parte em se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento.
[00110] Adicionalmente às primeiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões locais, e em que determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento se baseia em uma comparação de um número da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca com um limiar, em que o limiar é adaptativo baseado pelo menos em parte em se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, e em que o indicador de modo de previsão de vídeo compreende um modo de recuo e o limiar está em um primeiro valor, em que o número total da pluralidade de correlações globais de plano de fase e da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca é menor do que o limiar, e o método compreende adicionalmente estabelecer o indicador de modo de previsão de quadros em um modo de estimação de movimento e aumentar o limiar do primeiro valor para um segundo valor maior que o primeiro valor.
[00111] Adicionalmente às primeiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões locais, e em que determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento se baseia em uma comparação de um número da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca com um limiar e/ou em que o limiar é adaptativo baseado pelo menos em parte em se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento.
[00112] Adicionalmente às primeiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais e em que a pluralidade de correlações de plano de fase compreendem correlações globais de plano de fase, e o método compreende adicionalmente a divisão do primeiro quadro de vídeo em terceiras regiões e do segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que há menos primeiras regiões do que terceiras regiões e a geração de uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase é baseada em um par correspondente de terceira e quarta regiões, em que a determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são compatíveis para estimação de movimento é baseada pelo menos em parte na pluralidade de correlações locais de plano de fase.
[00113] Adicionalmente às primeiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais e em que a pluralidade de correlações de plano de fase compreendem correlações globais de plano de fase, e o método compreende adicionalmente a divisão do primeiro quadro de vídeo em terceiras regiões e do segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que há menos primeiras regiões do que terceiras regiões e a geração de uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase é baseada em um par correspondente de terceira e quarta regiões, em que a determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são compatíveis para estimação de movimento é baseada pelo menos em parte na pluralidade de correlações locais de plano de fase, e em que o primeiro quadro de vídeo e o segundo quadro de vídeo se determinam como não sendo correlacionados para estimação de movimento com base na comparação de cada vetor de movimento associado com cada pico máximo de cada uma das pluralidades de correlações globais de plano de fase e pluralidades de correlações locais de plano de fase com um limiar.
[00114] Adicionalmente às primeiras modalidades, o método compreende adicionalmente a determinação de um indicador de tipo de recuo baseado na determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, em que o indicador de tipo de recuo compreende pelo menos um de entre um indicador de não recuo, um indicador de mudança de cena, um indicador de ausência de movimento, um indicador de movimento rápido ou um indicador de cena difícil, em que o fornecimento de um indicador de modo de previsão de quadros se baseia pelo menos em parte no indicador de tipo de recuo.
[00115] Adicionalmente às primeiras modalidades, a determinação de um indicador de tipo de recuo baseado na determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, em que o indicador de tipo de recuo compreende pelo menos um de entre um indicador de não recuo, um indicador de mudança de cena, um indicador de ausência de movimento, um indicador de movimento rápido ou um indicador de cena difícil, em que o fornecimento de um indicador de modo de previsão de quadros se baseia pelo menos em parte no indicador de tipo de recuo, a determinação de um valor atual de contador de recuos com base pelo menos em parte no indicador de tipo de recuo e em um valor anterior do contador de recuos, em que se o indicador de tipo de recuo é o indicador de mudança de cena, o valor atual do contador de recuos é zerado, se o indicador de tipo de recuo é o indicador de não recuo, o valor atual do contador de recuos é decrementado relativamente ao anterior valor de contador de recuos, e se o indicador de tipo de recuo é qualquer um de entre indicador de ausência de movimento, indicador de movimento rápido ou indicador de cena difícil, o valor atual do contador de recuos é incrementado relativamente ao anterior valor de contador de recuos, e a determinação do indicador de modo de previsão de quadros com base no valor atual do contador de recuos, em que se o contador de recuos está em um primeiro limiar, o indicador de modo de previsão de quadros é estabelecido em um modo de recuo, se o contador de recuos está em um segundo limiar que é menor do que um primeiro limiar, o indicador de modo de previsão de quadros é estabelecido em um modo de estimação de movimento, e se o contador de recuos está entre o primeiro e o segundo limiares, o indicador de modo de previsão de quadros é inalterado.
[00116] Adicionalmente às primeiras modalidades, o método compreende adicionalmente a determinação de um indicador de tipo de recuo baseado na determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, em que o indicador de tipo de recuo compreende pelo menos um de entre um indicador de não recuo, um indicador de mudança de cena, um indicador de ausência de movimento, um indicador de movimento rápido ou um indicador de cena difícil, em que o fornecimento de um indicador de modo de previsão de quadros se baseia pelo menos em parte no indicador de tipo de recuo e/ou na determinação de um valor atual de contador de recuos com base pelo menos em parte no indicador de tipo de recuo e em um valor anterior do contador de recuos, em que se o indicador de tipo de recuo é o indicador de mudança de cena, o valor atual do contador de recuos é zerado, se o indicador de tipo de recuo é o indicador de não recuo, o valor atual do contador de recuos é decrementado relativamente ao anterior valor de contador de recuos, e se o indicador de tipo de recuo é qualquer um de entre indicador de ausência de movimento, indicador de movimento rápido ou indicador de cena difícil, o valor atual do contador de recuos é incrementado relativamente ao anterior valor de contador de recuos, e a determinação do indicador de modo de previsão de quadros com base no valor atual do contador de recuos, em que se o contador de recuos está em um primeiro limiar, o indicador de modo de previsão de quadros é estabelecido em um modo de recuo, se o contador de recuos está em um segundo limiar que é menor do que um primeiro limiar, o indicador de modo de previsão de quadros é estabelecido em um modo de estimação de movimento, e se o contador de recuos está entre o primeiro e o segundo limiares, o indicador de modo de previsão de quadros é inalterado.
[00117] Adicionalmente às primeiras modalidades, a determinação de uma correlação individual de plano de fase da pluralidade de correlações de plano de fase compreende a aplicação de uma transformada discreta de Fourier a uma primeira região individual e a uma correspondente segunda região, a determinação de um espectro cruzado de potência entre a primeira região individual transformada e a segunda região correspondente transformada, a aplicação de uma transformada discreta inversa de Fourier ao espectro cruzado de potência e executar uma Transformada Rápida de Fourier deslocada na transformada inversa do espectro cruzado de potência para gerar a correlação individual de plano de fase.
[00118] Adicionalmente às primeiras modalidades, o indicador de modo de previsão de quadros compreende pelo menos um de entre um modo de estimação de movimento ou um modo de recuo e o método compreende adicionalmente a geração, se o indicador de modo de previsão de quadros compreender o modo de estimação de movimento, um quadro previsto baseado em pelo menos um de entre um primeiro quadro ou um segundo quadro utilizando estimação de movimento e gerando, se o indicador de modo de previsão de quadros compreender o modo de recuo, um segundo quadro previsto baseado em pelo menos um de entre a repetição do primeiro quadro ou do segundo quadro ou misturando o primeiro quadro com o segundo quadro.
[00119] Em uma ou mais segundas modalidades, um sistema para gerenciamento de estimação de movimento em um dispositivo de computação compreende um dispositivo de ecrã configurado para apresentar uma sequência de vídeo e uma unidade de processamento gráfico acoplada ao dispositivo de ecrã, em que a unidade de processamento gráfico compreende circuito de geração de regiões configurado para dividir um primeiro quadro de vídeo de uma sequência de vídeo em primeiras regiões e um segundo quadro de vídeo da sequência de vídeo em segundas regiões correspondentes às primeiras regiões, circuito de correlação de plano de fase configurado para gerar uma pluralidade de correlações de plano de fase, em que cada correlação de plano de fase da pluralidade de correlações de plano de fase é baseada em um par correspondente de primeiras e segundas regiões, circuito de detecção de correlação para estimação de movimento configurado para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base pelo menos em parte na pluralidade de correlações de plano de fase, e circuito de modo de previsão de quadros configurado para fornecer um indicador de modo de previsão de quadros de vídeo com base pelo menos em parte na determinação.
[00120] Adicionalmente às segundas modalidades, o circuito de detecção de correlação para estimação de movimento estando configurado para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, compreende que o circuito de detecção de correlação para estimação de movimento esteja configurado para determinar se uma ou mais das correlações de plano de fase indica uma correlação forte ou uma correlação fraca com base em pelo menos uma de entre uma comparação de uma diferença entre um pico máximo da primeira correlação de plano de fase e um valor médio da primeira correlação de plano de fase e um primeiro limiar ou uma comparação de uma diferença entre o pico máximo da primeira correlação de plano de fase e um segundo maior pico da primeira correlação de plano de fase e um segundo limiar.
[00121] Adicionalmente às segundas modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais, em que o primeiro quadro de vídeo e o segundo quadro de vídeo se determinam como não sendo correlacionados para estimação de movimento quando cada uma da pluralidade das correlações de plano de fase indica uma correlação fraca, e em que uma primeira correlação fraca para uma primeira correlação de plano de fase da pluralidade de correlações de plano de fase é determinada com base em pelo menos uma de entre uma comparação de uma diferença entre um pico máximo da primeira correlação de plano de fase e um valor médio da primeira correlação de plano de fase e um primeiro limiar ou uma comparação de uma diferença entre o pico máximo da primeira correlação de plano de fase e um segundo maior pico da primeira correlação de plano de fase e um segundo limiar.
[00122] Adicionalmente às segundas modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais, em que o primeiro quadro de vídeo e o segundo quadro de vídeo se determinam como não sendo correlacionados para estimação de movimento quando qualquer uma da pluralidade das correlações de plano de fase indica um movimento rápido, e em que um primeiro movimento rápido para uma primeira correlação de plano de fase da pluralidade das correlações de plano de fase é determinado com base na comparação de um vetor de movimento associado com um pico máximo da primeira correlação de plano de fase e um limiar.
[00123] Adicionalmente às segundas modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais e em que a pluralidade de correlações de plano de fase compreendem correlações globais de plano de fase, em que o circuito de geração de regiões está configurado adicionalmente para dividir o primeiro quadro de vídeo em terceiras regiões e o segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que há menos primeiras regiões do que terceiras regiões, em que o circuito de correlação de plano de fase está configurado adicionalmente para gerar uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase é baseada em um par correspondente de terceira e quarta regiões, e em que o circuito de detecção de correlação para estimação de movimento está configurado adicionalmente para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são compatíveis para estimação de movimento com base pelo menos em parte na pluralidade de correlações locais de plano de fase.
[00124] Adicionalmente às segundas modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais e em que a pluralidade de correlações de plano de fase compreende correlações globais de plano de fase, em que o circuito de geração de regiões está configurado adicionalmente para dividir o primeiro quadro de vídeo em terceiras regiões e o segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que há menos primeiras regiões do que terceiras regiões, em que o circuito de correlação de plano de fase está configurado adicionalmente para gerar uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase é baseada em um par correspondente de terceira e quarta regiões, e em que o circuito de detecção de correlação para estimação de movimento está configurado adicionalmente para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são compatíveis para estimação de movimento com base pelo menos em parte na pluralidade de correlações locais de plano de fase, e em que o circuito de detecção de correlação para estimação de movimento está configurado para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base em uma comparação de cada vetor de movimento associado com cada pico máximo de cada uma das pluralidades de correlações globais de plano de fase e pluralidades de correlações locais de plano de fase com um limiar.
[00125] Adicionalmente às segundas modalidades, as primeiras regiões e as segundas regiões compreendem regiões locais, e em que o circuito de detecção de correlação para estimação de movimento está configurado para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base em uma comparação de um número da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca com um limiar.
[00126] Adicionalmente às segundas modalidades, o sistema compreende adicionalmente uma memória configurada para armazenar a imagem de entrada.
[00127] Em uma ou mais terceiras modalidades, um sistema para fornecer detecção de objetos em um dispositivo de computação compreende um dispositivo de ecrã configurado para apresentar dados de imagem e uma unidade de processamento gráfico acoplada ao dispositivo de ecrã, em que a unidade de processamento gráfico compreende meios para dividir um primeiro quadro de vídeo de uma sequência de vídeo em primeiras regiões e um segundo quadro de vídeo da sequência de vídeo em segundas regiões correspondentes às primeiras regiões, meios para gerar uma pluralidade de correlações de plano de fase, em que cada correlação de plano de fase da pluralidade de correlações de plano de fase é baseada em um par correspondente de primeiras e segundas regiões, meios para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base pelo menos em parte na pluralidade de correlações de plano de fase, e meios para fornecer um indicador de modo de previsão de quadros de vídeo com base pelo menos em parte na determinação.
[00128] Adicionalmente às terceiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões locais, e em que os meios para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento determinam se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base em uma comparação de um número da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca com um limiar.
[00129] Adicionalmente às terceiras modalidades, as primeiras regiões e as segundas regiões compreendem regiões globais e em que a pluralidade de correlações de plano de fase compreendem correlações globais de plano de fase, e o sistema compreende adicionalmente meios para a divisão do primeiro quadro de vídeo em terceiras regiões e do segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que há menos primeiras regiões do que terceiras regiões e meios para a geração de uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase é baseada em um par correspondente de terceira e quarta regiões, em que a determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são compatíveis para estimação de movimento é baseada pelo menos em parte na pluralidade de correlações locais de plano de fase.
[00130] Em uma ou mais quartas modalidades, pelo menos um suporte legível por máquina compreende uma pluralidade de instruções que em resposta a serem executadas em um dispositivo de computação dão ordem ao dispositivo de computação para gerenciar estimação de movimento dividindo um primeiro quadro de vídeo de uma sequência de vídeo em primeiras regiões e um segundo quadro de vídeo da sequência de vídeo em segundas regiões correspondentes às primeiras regiões, gerando uma pluralidade de correlações de plano de fase, em que cada correlação de plano de fase da pluralidade de correlações de plano de fase é baseada em um par correspondente de primeiras e segundas regiões, determinando se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base pelo menos em parte na pluralidade de correlações de plano de fase, e fornecendo um indicador de modo de previsão de quadros de vídeo com base pelo menos em parte na determinação.
[00131] Adicionalmente às quartas modalidades, as primeiras regiões e as segundas regiões compreendem regiões locais, em que determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento se baseia em uma comparação de um número da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca com um limiar.
[00132] Adicionalmente às quartas modalidades, as primeiras regiões e as segundas regiões compreendem regiões locais, em que determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento se baseia em uma comparação de um número da pluralidade de correlações locais de plano de fase que indicam uma correlação fraca com um limiar, e em que o limiar é adaptativo baseado pelo menos em parte em se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento.
[00133] Adicionalmente às quartas modalidades, o suporte legível por máquina compreende adicionalmente instruções que em resposta a serem executadas em um dispositivo de computação, dão ordem ao dispositivo de computação para gerenciar a estimação de movimento determinando um indicador de tipo de recuo baseado na determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, em que o indicador de tipo de recuo compreende pelo menos um de entre um indicador de não recuo, um indicador de mudança de cena, um indicador de ausência de movimento, um indicador de movimento rápido ou um indicador de cena difícil, em que o fornecimento de um indicador de modo de previsão de quadros se baseia pelo menos em parte no indicador de tipo de recuo.
[00134] Adicionalmente às quartas modalidades, o suporte legível por máquina compreende adicionalmente instruções que em resposta a serem executadas em um dispositivo de computação, dão ordem ao dispositivo de computação para gerenciar a estimação de movimento determinando um indicador de tipo de recuo baseado na determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, em que o indicador de tipo de recuo compreende pelo menos um de entre um indicador de não recuo, um indicador de mudança de cena, um indicador de ausência de movimento, um indicador de movimento rápido ou um indicador de cena difícil, em que o fornecimento de um indicador de modo de previsão de quadros se baseia pelo menos em parte no indicador de tipo de recuo, a determinação de um valor atual de contador de recuos se baseia pelo menos em parte no indicador de tipo de recuo e em um valor anterior do contador de recuos, em que se o indicador de tipo de recuo é o indicador de mudança de cena, o valor atual do contador de recuos é zerado, se o indicador de tipo de recuo é o indicador de não recuo, o valor atual do contador de recuos é decrementado relativamente ao anterior valor de contador de recuos, e se o indicador de tipo de recuo é qualquer um de entre indicador de ausência de movimento, indicador de movimento rápido ou indicador de cena difícil, o valor atual do contador de recuos é incrementado relativamente ao anterior valor de contador de recuos, e a determinação do indicador de modo de previsão de quadros com base no valor atual do contador de recuos, em que se o contador de recuos está em um primeiro limiar, o indicador de modo de previsão de quadros é estabelecido em um modo de recuo, se o contador de recuos está em um segundo limiar que é menor do que um primeiro limiar, o indicador de modo de previsão de quadros é estabelecido em um modo de estimação de movimento, e se o contador de recuos está entre o primeiro e o segundo limiares, o indicador de modo de previsão de quadros é inalterado.
[00135] Em uma ou mais quintas modalidades, pelo menos um suporte legível por máquina pode incluir uma pluralidade de instruções que em resposta a serem executadas em um dispositivo de computação, dão ordem ao dispositivo de computação para executar um método de acordo com qualquer uma das modalidades acima.
[00136] Em uma ou mais sextas modalidades, um aparelho pode incluir meios para executar um método de acordo com qualquer uma das modalidades acima.
[00137] Reconhecer-se-á que as modalidades não estão limitadas às modalidades assim descritas, mas podem ser praticadas com modificação e alteração sem sair do escopo das reivindicações apensas. Por exemplo, as modalidades acima podem incluir combinação específica de características. No entanto, as modalidades acima não estão limitadas neste aspeto e, em várias implementações, as modalidades acima podem incluir a realização de somente um subconjunto dessas características, a realização de uma ordem diferente dessas características, a realização de uma combinação diferente dessas características e/ou a realização de características adicionais àquelas características explicitamente listadas. O escopo das modalidades deve, então, ser determinado com referência às reivindicações apensas, juntamente com o escopo completo de equivalentes às quais essas reivindicações têm direito.

Claims (13)

1. Método implementado por computador para o gerenciamento da estimação de movimento em processamento de vídeo, o método caracterizado por compreender: divisão (601) de um primeiro quadro de vídeo de uma sequência de vídeo em primeiras regiões e de um segundo quadro de vídeo da sequência de vídeo em segundas regiões correspondentes às primeiras regiões, em que as primeiras regiões e as segundas regiões compreendem regiões globais que são associadas ao movimento global dos primeiro e segundo quadros de vídeo; geração (602) de uma pluralidade de correlações de plano de fase, em que cada correlação de plano de fase da pluralidade de correlações de plano de fase se baseia em um par correspondente de primeira e segunda regiões; determinação (603) de se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados com base, pelo menos em parte, na pluralidade de correlações de plano de fase, em que o primeiro quadro de vídeo e o segundo quadro de vídeo são determinados como não sendo correlacionados quando qualquer uma da pluralidade das correlações de plano de fase indicar um movimento rápido, e em que um primeiro movimento rápido para uma primeira correlação de plano de fase da pluralidade das correlações de plano de fase é determinado com base na comparação de um vetor de movimento associado a um pico máximo da primeira correlação de plano de fase e um limiar; e provisão (604) de um indicador de modo com base, pelo menos em parte, na determinação indicando um modo de estimação de movimento ou um modo de recuo.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente, antes da geração da pluralidade de correlações de plano de fase: a redução proporcional das primeiras regiões e das segundas regiões.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente, antes da geração da pluralidade de correlações de plano de fase: a divisão do primeiro quadro de vídeo em terceiras regiões e do segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que a pluralidade de correlações de plano de fase compreendem correlações de plano de fase globais e em que há menos primeiras regiões do que terceiras regiões, e a geração de uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase se baseia em um par correspondente de terceira e quarta regiões; e em que a determinação de se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento se baseia pelo menos em parte na pluralidade de correlações locais de plano de fase.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o primeiro quadro de vídeo e o segundo quadro de vídeo se determinam como não sendo correlacionados para estimação de movimento com base em uma comparação de cada vetor de movimento associado com cada pico máximo de cada uma das pluralidades de correlações globais de plano de fase e das pluralidades de correlações locais de plano de fase com um limiar.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro quadro de vídeo e o segundo quadro de vídeo se determinam como não sendo correlacionados para estimação de movimento quando cada uma da pluralidade das correlações de plano de fase indica uma correlação fraca, e em que uma primeira correlação fraca para uma primeira correlação de plano de fase da pluralidade de correlações de plano de fase é determinada com base em pelo menos uma dentre uma comparação de uma diferença entre um pico máximo da primeira correlação de plano de fase e um valor médio da primeira correlação de plano de fase e um primeiro limiar ou uma comparação de uma diferença entre o pico máximo da primeira correlação de plano de fase e um segundo pico maior da primeira correlação de plano de fase e um segundo limiar.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: a determinação de um indicador de tipo de recuo baseado na determinação de como o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, em que o indicador de tipo de recuo compreende pelo menos um de entre um indicador de não recuo, um indicador de mudança de cena, um indicador de ausência de movimento, um indicador de movimento rápido ou um indicador de cena difícil, em que o fornecimento de um indicador de modo de previsão de quadros se baseia pelo menos em parte no indicador de tipo de recuo.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que compreende adicionalmente: a determinação de um valor atual de contador de recuos com base pelo menos em parte no indicador de tipo de recuo e em um valor anterior do contador de recuos, em que: se o indicador de tipo de recuo for o indicador de mudança de cena, o valor atual do contador de recuos é zerado, se o indicador de tipo de recuo for o indicador de não recuo, o valor atual do contador de recuos é decrementado relativamente ao valor anterior de contador de recuos, e se o indicador de tipo de recuo for qualquer um de entre o indicador de ausência de movimento, o indicador de movimento rápido ou o indicador de cena difícil, o valor atual do contador de recuos é incrementado relativamente ao anterior valor de contador de recuos, e a determinação do indicador de modo de previsão de quadros com base no valor atual do contador de recuos, em que: se o contador de recuos estiver em um primeiro limiar, o indicador de modo de previsão de quadros é configurado para um modo de recuo, se o contador de recuos estiver em um segundo limiar que é menor do que o primeiro limiar, o indicador de modo de previsão de quadros é configurado para um modo de estimação de movimento, e se o contador de recuos estiver entre o primeiro e o segundo limiares, o indicador de modo de previsão de quadros é inalterado.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação de uma correlação individual de plano de fase da pluralidade de correlações de plano de fase compreende: a aplicação de uma transformada discreta de Fourier a uma primeira região individual e a uma segunda região correspondente; a determinação de um espectro cruzado de potência entre a primeira região individual transformada e a segunda região correspondente transformada; a aplicação de uma transformada discreta inversa de Fourier ao espectro cruzado de potência; e a execução de uma deslocação da Transformada Rápida de Fourier na transformada inversa do espectro cruzado de potência para gerar a correlação individual de plano de fase.
9. Sistema para gerenciamento de estimação de movimento, caracterizado por compreender: um dispositivo de display (820) configurado para apresentar uma sequência de vídeo; e uma unidade de processamento gráfico (701) acoplada ao dispositivo de display, em que a unidade de processamento gráfico compreende: circuito de geração de regiões (102) configurado para dividir um primeiro quadro de vídeo de uma sequência de vídeo em primeiras regiões e um segundo quadro de vídeo da sequência de vídeo em segundas regiões correspondentes às primeiras regiões, em que as primeiras regiões e as segundas regiões compreendem regiões globais que são associadas ao movimento global dos primeiro e segundo quadros de vídeo; circuito de correlação de plano de fase (104) configurado para gerar uma pluralidade de correlações de plano de fase, em que cada correlação de plano de fase da pluralidade de correlações de plano de fase se baseia em um par correspondente de primeira e segunda regiões; circuito de detecção de correlação para estimação de movimento (106) configurado para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base pelo menos em parte na pluralidade de correlações de plano de fase, em que o primeiro quadro de vídeo e o segundo quadro de vídeo são determinados como não sendo correlacionados quando qualquer uma da pluralidade das correlações de plano de fase indicar um movimento rápido, e em que um primeiro movimento rápido para uma primeira correlação de plano de fase da pluralidade das correlações de plano de fase é determinado com base na comparação de um vetor de movimento associado a um pico máximo da primeira correlação de plano de fase e um limiar; e circuito de modo de previsão de quadros configurado para prover um indicador de modo de previsão de quadro de vídeo com base pelo menos em parte na determinação indicando um modo de estimação de movimento ou um modo de recuo.
10. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que o circuito de detecção de correlação para estimação de movimento estando configurado para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento, compreende que o circuito de detecção de correlação para estimação de movimento esteja configurado para determinar se uma ou mais das correlações de plano de fase indica uma correlação forte ou uma correlação fraca com base em pelo menos uma dentre uma comparação de uma diferença entre um pico máximo da primeira correlação de plano de fase e um valor médio da primeira correlação de plano de fase e um primeiro limiar ou uma comparação de uma diferença entre o pico máximo da primeira correlação de plano de fase e um segundo pico maior da primeira correlação de plano de fase e um segundo limiar.
11. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que o primeiro quadro de vídeo e o segundo quadro de vídeo são determinados como não sendo correlacionados para estimação de movimento quando cada uma da pluralidade das correlações de plano de fase indicar uma correlação fraca, e em que uma primeira correlação fraca para uma primeira correlação de plano de fase da pluralidade de correlações de plano de fase é determinada com base em pelo menos uma dentre uma comparação de uma diferença entre um pico máximo da primeira correlação de plano de fase e um valor médio da primeira correlação de plano de fase e um primeiro limiar ou uma comparação de uma diferença entre o pico máximo da primeira correlação de plano de fase e um segundo pico maior da primeira correlação de plano de fase e um segundo limiar.
12. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que as primeiras regiões e as segundas regiões compreendem regiões globais e em que a pluralidade de correlações de plano de fase compreendem correlações de plano de fase globais, em que o circuito de geração de regiões é configurado adicionalmente para dividir o primeiro quadro de vídeo em terceiras regiões e o segundo quadro de vídeo em quartas regiões correspondentes às terceiras regiões, em que há menos primeiras regiões do que terceiras regiões, em que o circuito de correlação de plano de fase está configurado adicionalmente para gerar uma pluralidade de correlações locais de plano de fase, em que cada correlação local de plano de fase da pluralidade de correlações locais de plano de fase se baseia em um par correspondente de terceira e quarta regiões, e em que o circuito de detecção de correlação para estimação de movimento está configurado adicionalmente para determinar se o primeiro quadro de vídeo e o segundo quadro de vídeo são correlacionados para estimação de movimento com base pelo menos em parte na pluralidade de correlações de plano de fase locais.
13. Armazenamento legível por máquina incluindo instruções legíveis por máquina as quais, quando executadas, caracterizado por implementar o método conforme definido na reivindicação 1.
BR112016021186-3A 2014-04-15 2015-03-25 Método e sistema para gerenciamento de estimação de movimento BR112016021186B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/252,944 US9275468B2 (en) 2014-04-15 2014-04-15 Fallback detection in motion estimation
US14/252,944 2014-04-15
PCT/US2015/022542 WO2015160485A1 (en) 2014-04-15 2015-03-25 Fallback detection in motion estimation

Publications (2)

Publication Number Publication Date
BR112016021186A2 BR112016021186A2 (pt) 2017-08-15
BR112016021186B1 true BR112016021186B1 (pt) 2022-09-13

Family

ID=54265502

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016021186-3A BR112016021186B1 (pt) 2014-04-15 2015-03-25 Método e sistema para gerenciamento de estimação de movimento

Country Status (5)

Country Link
US (1) US9275468B2 (pt)
EP (1) EP3132608B1 (pt)
CN (1) CN106105214B (pt)
BR (1) BR112016021186B1 (pt)
WO (1) WO2015160485A1 (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424598B1 (en) 2013-12-02 2016-08-23 A9.Com, Inc. Visual search in a controlled shopping environment
US9536161B1 (en) * 2014-06-17 2017-01-03 Amazon Technologies, Inc. Visual and audio recognition for scene change events
DE102020129908A1 (de) 2020-11-12 2022-05-12 Mekra Lang Gmbh & Co. Kg Indirektes Schichtsystem und Verfahren zum Anpassen einer Bildwiederholungsrate
US20240098216A1 (en) * 2022-09-20 2024-03-21 Nvidia Corporation Video frame blending

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234423A (ja) * 2003-01-31 2004-08-19 Seiko Epson Corp ステレオ画像処理方法およびステレオ画像処理装置、並びにステレオ画像処理プログラム
US8000392B1 (en) 2004-02-27 2011-08-16 Vbrick Systems, Inc. Phase correlation based motion estimation in hybrid video compression
JP4254802B2 (ja) 2006-05-11 2009-04-15 ソニー株式会社 画像処理装置および方法、プログラム並びに記録媒体
US8553758B2 (en) 2007-03-02 2013-10-08 Sony Corporation Motion parameter engine for true motion
US20090167958A1 (en) 2007-12-28 2009-07-02 Ati Technologies Ulc System and method of motion vector estimation using content associativity
US8184200B1 (en) * 2008-04-22 2012-05-22 Marvell International Ltd. Picture rate conversion system for high definition video
US8295607B1 (en) * 2008-07-09 2012-10-23 Marvell International Ltd. Adaptive edge map threshold
US8311116B2 (en) * 2008-07-09 2012-11-13 Marvell World Trade Ltd. Method and apparatus for periodic structure handling for motion compensation
TR200900177A2 (tr) * 2009-01-09 2010-08-23 Vestel Elektroni̇k Sanayi̇ Ve Ti̇caret Anoni̇m Şi̇rketi̇@ Yeni ve uyarlanabilir bir hiyerarşik faz korelasyonu ile hareket tahmini
EP2499615A4 (en) * 2009-11-11 2013-08-28 Cinnafilm Inc SINGLE FRAME ARTEFACT FILTERING AND MOTION DETERMINATION
US20110255599A1 (en) 2010-04-15 2011-10-20 Sony Corporation Apparatus and method for motion estimation
GB2479933B (en) * 2010-04-30 2016-05-25 Snell Ltd Motion estimation
US9241160B2 (en) 2010-07-21 2016-01-19 Dolby Laboratories Licensing Corporation Reference processing using advanced motion models for video coding
US8792559B2 (en) * 2010-10-26 2014-07-29 Sony Corporation Method to improve accuracy and reliability of motion estimated with phase correlation
US8537901B2 (en) * 2010-12-23 2013-09-17 Stmicroelectronics Asia Pacific Pte Ltd. Apparatus and method for exotic cadence detection
GB2489202B (en) * 2011-03-11 2016-06-29 Snell Ltd Analysis of stereoscopic images
US8600178B1 (en) * 2011-06-24 2013-12-03 Pixelworks, Inc. Global motion vector calculation using phase plane correlation
US20140254678A1 (en) * 2013-03-11 2014-09-11 Aleksandar Beric Motion estimation using hierarchical phase plane correlation and block matching

Also Published As

Publication number Publication date
WO2015160485A1 (en) 2015-10-22
CN106105214A (zh) 2016-11-09
US9275468B2 (en) 2016-03-01
CN106105214B (zh) 2020-06-30
EP3132608A4 (en) 2017-12-13
BR112016021186A2 (pt) 2017-08-15
US20150294479A1 (en) 2015-10-15
EP3132608A1 (en) 2017-02-22
EP3132608B1 (en) 2019-05-22

Similar Documents

Publication Publication Date Title
US8856815B2 (en) Selective adjustment of picture quality features of a display
WO2015070694A1 (zh) 屏幕拼接系统和视频数据流的处理方法
US20160140391A1 (en) Automatic target selection for multi-target object tracking
US10013229B2 (en) Signal synchronization and latency jitter compensation for audio transmission systems
BR112012025746B1 (pt) Método para um primeiro dispositivo móvel para iniciar uma videoconferência durante uma chamada de áudio, sistema e meio legível por máquina
US10594952B2 (en) Key frame selection in burst imaging for optimized user experience
EP3167616A1 (en) Adaptive bitrate streaming for wireless video
US11159742B2 (en) High-speed video from camera arrays
TWI568256B (zh) 使用運動估計之物件偵測
BR112016025577B1 (pt) Refocalização de imagem para matrizes de câmera
BR112016021186B1 (pt) Método e sistema para gerenciamento de estimação de movimento
US20160182853A1 (en) Dynamic Content Adaptive Frame Rate Conversion
JP2014528209A (ja) 変化領域を使用したメディア符号化
JP2016504829A (ja) ビデオコンテンツを前処理するエンコーダハードウェアの活用
US10957027B2 (en) Virtual view interpolation between camera views for immersive visual experience
KR20130115341A (ko) 제스쳐 인식 메커니즘을 제공하는 방법 및 장치
US9832521B2 (en) Latency and efficiency for remote display of non-media content
KR20140112371A (ko) 이미지를 처리하는 전자장치 및 방법
US9286655B2 (en) Content aware video resizing
US10785512B2 (en) Generalized low latency user interaction with video on a diversity of transports
US9019340B2 (en) Content aware selective adjusting of motion estimation
JPWO2013145326A1 (ja) 決定装置、決定プログラムおよび決定方法
US10104373B2 (en) Content based video encoding for wireless display
US20190050962A1 (en) Display control system and display control method
CN114285958A (zh) 图像处理电路、图像处理方法和电子设备

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 25/03/2015, OBSERVADAS AS CONDICOES LEGAIS