ANTECEDENTES DA INVENÇÃO
Referência Cruzada com Pedidos Relativos
A presente invenção reivindica a prioridade do pedido de patente provisório US n° 61/452.531, depositado em 14 de março de 2011, intitulado “Derivation Method for Temporal Motion Vector Predictor”, pedido de patente provisório US n° 61/453.666, depositado em 17 de março de 2011, intitulado “The Derivation of Spatial MV/MVP Candidate for Inter, Skip and Merging Prediction Units in Video Compression”, e pedido de patente provisório US n° 61/476.425, depositado em 18 de abril de 2011, intitulado “Redundant MVP checking procedure for Inter, Skip and Merge PUs”. A presente invenção está também relacionada com o pedido de patente não provisório US n° 13/177.808, depositado em 7 de julho de 2011, intitulado “Method and Apparatus for Derivation of Spatial Motion Vector Candidate and Motion Vector Prediction Candidate”, e pedido de patente não provisório US n° 13/236.422, depositado em 19 de setembro de 2011, intitulado “Method and Apparatus for Deriving Temporal Motion Vector Prediction”. Os pedidos de patente provisórios US e os pedidos de patente não provisórios US são aqui incorporados como referência em sua totalidade.
Campo da Invenção
A presente invenção refere-se à codificação de vídeo. Em particular, a presente invenção refere-se a técnicas de codificação associadas com derivação de vetor de movimento (“motion vector” - MV) candidato e predição de candidato de vetor de movimento.
Descrição da Técnica Relacionada
Em sistemas de codificação de vídeo, a redundância espacial e temporal é explorada utilizando-se uma predição espacial e temporal para reduzir a informação a ser transmitida. A predição espacial e temporal utiliza pixels decodificados do mesmo quadro e de quadros de referência respectivamente para formar a predição para os pixels atuais a serem codificados. A transmissão de vetores de movimento para predição temporal pode requerer uma parte considerável dos dados de vídeo comprimidos, particularmente em aplicações de taxas de bits baixas. De maneira a reduzir a taxa de bits associada com vetores de movimento, uma técnica chamada de Predição de Vetor de Movimento (“Motion Vector Prediction” - MVP) tem sido utilizada no campo da codificação de vídeo. A técnica MVP explora a redundância estatística entre vetores de movimento espacialmente e temporalmente vizinhos.
Em Codificação de Vídeo de Alta Eficiência (“High Efficiency Video Coding” - HEVC), são exploradas técnicas de aumento da eficiência da MVP. Preditores de Vetor de Movimento tanto espaciais quanto temporais são utilizados para aumentar a possibilidade de obtenção de um preditor para se alcançar uma melhor performance. Entretanto, quando uma MVP derivada é a mesma que a MVP derivada anterior, a MVP derivada em questão não oferece qualquer potencial para aumentar adicionalmente a eficiência de codificação. Da mesma forma, em HM-3.0 (Modelo de Teste HEVC versão 3.0), o processo de MVP incorpora verificação de redundância durante a derivação de MVP espacial e temporal. Embora a verificação de redundância adotada pelo HM-3.0 demonstre algum aumento na eficiência, é desejável se estender a verificação de redundância para aumentar adicionalmente a performance do sistema.
BREVE RESUMO DA INVENÇÃO
São descritos um método e um aparelho para a derivação de um preditor de vetor de movimento (MVP) para um MV de um bloco atual em modo Merge, Inter, ou Skip. Em uma realização de acordo com a presente invenção, o aparelho e método de derivação de um preditor de vetor de movimento (MVP) para um MV de um bloco atual em modo Inter ou Merge ou Skip compreende: recepção de vetores de movimento (MVs) associados com blocos de referência do bloco atual, onde os blocos de referência compreendem pelo menos um bloco de referência vizinho do bloco atual; determinação de um conjunto de pesquisa espacial, onde o conjunto de pesquisa espacial compreende pelo menos dois MVs de pesquisa espacial com prioridades espaciais para o pelo menos um bloco de referência vizinho, onde os ditos pelo menos dois MVs de pesquisa espacial para o pelo menos um bloco de referência vizinho são configurados em grupo de MV de pesquisa espacial, e onde cada um dos grupos de MV de pesquisa espacial consiste em pelo menos um dos ditos dois MVs de pesquisa espacial par ao pelo menos um bloco de referência vizinho; determinação de se existe um primeiro MV espacial disponível para cada um dos grupos de MV de pesquisa espacial de acordo com uma ordem de pesquisa espacial para os grupos de MV de pesquisa espacial, onde a dita determinação de se existe um primeiro MV espacial disponível se desloca para um próximo grupo de MV de pesquisa espacial se não existe um primeiro MV espacial disponível; e provimento do primeiro MV espacial disponível como uma MVP espacial para o bloco atual. O primeiro MV espacial disponível é redundante se o primeiro MV espacial disponível for o mesmo que um MVP espacial anterior derivado dos blocos de referência vizinhos no lado esquerdo do bloco atual. O aspecto da configuração do bloco de referência vizinho é objeto desta invenção. Em uma realização, os blocos de referência vizinhos compreendem um bloco na extrema direita na parte superior, um bloco de canto na esquerda superior e um bloco de canto na direita superior do bloco atual no modo Inter, Skip ou Merge, e onde a ordem da pesquisa espacial para os blocos de referência vizinhos é da direita para a esquerda. Em outra realização, os blocos de referência vizinhos compreendem um bloco na extrema esquerda na parte superior e um bloco de canto na direita superior do bloco atual no modo Inter, Merge ou Skip, e onde a ordem de pesquisa espacial para os blocos de referência vizinhos é do bloco de canto na direita superior para o bloco na extrema esquerda na parte superior.
Em ainda uma outra realização de acordo com a presente invenção, o aparelho e método de derivação de um predito de vetor de movimento (MVP) para um MV de um bloco atual no modo Inter ou Merge ou Si compreende a recepção de vetores de movimento (Mas) associados com blocos de referência do bloco atual, onde os blocos de referência compreendem um ou mais blocos de referência co-localizados do bloco atual; a determinação de um conjunto de pesquisa temporal, onde o conjunto de pesquisa temporal compreende pelo menos dois MVs de pesquisa temporal com prioridades temporais para cada um dos ditos um ou mais blocos de referência co-localizados, onde os ditos pelo menos dois MVs de pesquisa temporal para os ditos um ou mais blocos de referência co-localizados são configurados em grupos de MV de pesquisa temporal, e onde cada um dos grupos de MV de pesquisa temporal consiste em um dos ditos pelo menos dois MVs de pesquisa temporal dos ditos um ou mais blocos de referência co- localizados, todos os ditos pelo menos dois MVs de pesquisa temporal para cada um dos ditos um ou mais blocos de referência co-localizados, ou os ditos pelo menos dois MVs de pesquisa temporal apresentam uma mesma prioridade temporal para todos os ditos um ou mais blocos de referência co-localizados; determinação de se existe um primeiro MV temporal disponível para cada um dos grupos de MV de pesquisa temporal de acordo com uma ordem de pesquisa temporal para os grupos de MV de pesquisa temporal, onde a dita determinação de se existe um primeiro MV temporal disponível se desloca para um próximo grupo de MV de pesquisa temporal se o primeiro MV temporal disponível não existir ou se o primeiro MV temporal disponível for redundante; e provimento do primeiro MV temporal disponível como uma MVP temporal para o bloco atual. O primeiro MV temporal disponível é redundante se o primeiro MV temporal disponível for o mesmo que uma MVP espacial anterior derivada dos blocos de referência vizinhos. Em uma realização, os ditos um ou mais blocos de referência co- localizados compreendem um bloco co-localizado central localizado no centro do bloco co-localizado e um bloco co-localizado inferior direito localizado transverso a partir de um canto direito inferior do bloco co-localizado.
BREVE DESCRIÇÃO DOS DESENHOS
A Fig. 1 ilustra o processo de derivação de MVP espacial a partir dos blocos superiores vizinhos para o modo Inter de acordo com o HM-3.0, onde são utilizados candidatos baseados em AMVP.
A Fig. 2 ilustra o processo de derivação MVP temporal a partir dos blocos co- localizados para o modo Inter de acordo com o HM-3.0, onde são utilizados candidatos baseados em AMVP.
A Fig. 3 ilustra o processo de derivação de MVP temporal a partir dos blocos co-localizados para os modos Skip e Merge de acordo com o HM-3.0, onde são utilizados candidatos baseados em Merge.
A Fig. 4 ilustra o processo de derivação de MVP espacial a partir dos blocos superiores vizinhos para o modo Inter incorporando uma realização de acordo com a presente invenção, onde a verificação de redundância é evocada a cada vez que um MV derivado está disponível.
A Fig. 5 ilustra o processo de derivação de MVP temporal a partir dos blocos co-localizados para o modo Inter incorporando uma realização de acordo com a presente invenção, onde a verificação de redundância é evocada a cada vez que um MV derivado está disponível.
A Fig. 6 ilustra o processo de derivação de MVP espacial a partir dos blocos superiores vizinhos para o modo Inter incorporando uma realização de acordo com a presente invenção, onde a verificação de redundância é evocada a cada vez que todos os MVs de pesquisa para um bloco são pesquisados e um MV derivado está disponível.
A Fig. 7 ilustra o processo de derivação de MVP temporal a partir dos blocos co-localizados para os modos Inter, Skip e Merge incorporando uma realização de acordo com a presente invenção, onde a verificação de redundância é evocada a cada vez que tosos os MVs de pesquisa para um bloco são pesquisados e um MV derivado está disponível.
A Fig. 8 ilustra o processo de derivação do MVP espacial superior a partir dos blocos superiores vizinhos para o modo Inter incorporando uma realização de acordo com a presente invenção, onde a verificação de redundância é evocada a cada vez que MVs associados com uma prioridade para diferentes blocos são pesquisados e um MV derivado está disponível.
A Fig. 9 ilustra o processo de derivação de MVP temporal a partir dos blocos co-localizados para os modos Inter, Skip e Merge incorporando uma realização de acordo com a presente invenção, onde a verificação de redundância é evocada a cada vez que MVs associados com uma prioridade para diferentes blocos são pesquisados e um MV derivado está disponível.
A Fig. 10 ilustra o processo de derivação de MVP espacial superior a partir dos blocos superiores vizinhos para o modo Inter incorporando uma realização de acordo com a presente invenção, onde a verificação de redundância é desabilitada para o processo de derivação de MVP espacial superior.
DESCRIÇÃO DETALHADA DA INVENÇÃO
Em sistema de codificação de vídeo, a redundância espacial e temporal é explorada utilizando-se a predição espacial e temporal para reduzir a taxa de bits taxa de bits a ser transmitida ou armazenada. A predição espacial utiliza pixels decodificados do mesmo quadro para formar a predição para os pixels atuais a serem codificados. A predição espacial é freqüentemente operada em uma base bloco-a-bloco, tal como bloco 16x16 ou 4x4 para sinal de luminância na codificação H.264/AVC Intra. Em seqüências de vídeo, quadros vizinhos freqüentemente apresentam grandes similaridades, e a Predição de Movimento Compensado (“Motion Compensated Prediction” - MCP) é freqüentemente utilizada para explorar a corelação temporal em seqüências de vídeo.
A predição de movimento compensado pode ser utilizada de uma maneira de predição antecipada, onde um quadro atual é predito utilizando-se um quadro ou quadros decodificados que são anteriores ao quadro atual na ordem de apresentação. Em adição à predição antecipada, a predição posterior pode ser também utilizada para aumentar a performance da predição de movimento compensado. A predição posterior utiliza um quadro ou quadros decodificados posteriores ao quadro atual na ordem de apresentação. Uma vez que a primeira versão do H.264/AVC foi finalizada em 2003, a predição antecipada e a predição posterior foram estendidas para lista d e predição 0 e lista de predição 1, respectivamente, onde tanto a lista 0 quanto a lista 1 podem conter quadros de referência múltiplos antes ou/e posteriores ao quadro atual na ordem de apresentação. O que se segue descreve a configuração de lista de quadro de referência padrão. Para a lista 0, os quadros de referência anteriores ao quadro atual apresentam índices de quadro de referência mais baixos que os do quadro atual. Para a lista 1, os quadros de referência posteriores ao quadro atual apresentam índices de quadro de referência mais baixos que os anteriores ao quadro atual. Tanto para a lista 0 quanto para a lista 1, após a aplicação das regras prévias, a distância temporal é considerada como se segue: um quadro de referência mais próximo ao quadro atual apresenta um índice mais baixo do quadro de referência. Quando um bloco de quadro co-localizado em uma lista 0 ou lista 1 apresenta a mesma localização que o bloco atual no quadro atual, é chamado de bloco co-localizado de lista 0 ou lista 1, ou chamado de bloco co-localizado em lista 0 ou lista 1. Para o padrão de codificação de vídeo de alta eficiência (HEVC) em desenvolvimento, a unidade para o a estimativa de movimento/modo de compensação é chamada de Unidade de Predição (“Prediction Unit” - PU), onde a PU é hierarquicamente particionada a partir de um tamanho de bloco máximo. O tipo MCP é selecionado para cada fatia no padrão H.264/AVC. Uma fatia que a predição de movimento compensado é restrita à predição de lista 0 é chamada de uma fatia P. Para uma fatia B, a predição de movimento compensado inclui também a predição de lista 1 em adição à predição de lista 0.
Em sistemas de codificação de vídeo, vetores de movimento (MVs) e resíduos codificados são transmitidos para um decodificador para a reconstrução de vídeo no decodificador. Além disto, em um sistema com estrutura de quadro de referência flexível, a informação associada com os quadros de referência selecionados pode precisar ser também transmitida. A transmissão de vetores de movimento pode requerer uma parte considerável da largura de banda global, particularmente em aplicações de taxa de bits baixa ou em sistemas em que vetores de movimento são associados com blocos menores ou precisão de movimento mais alta. De maneira a reduzir adicionalmente a taxa de bits associada com vetor de movimento, tem sido utilizada uma técnica chamada de Predição de Vetor de Movimento (MVP) no campo da codificação de vídeo nos anos recentes. Neste relatório, MVP pode se referir também ao Preditor de Vetor de Movimento e a abreviação é utilizada quando não há ambigüidade. A técnica MVP explora a redundância estatística entre vetores de movimento espacialmente e temporalmente vizinhos. Quando é utilizada a MVP, um preditor para o vetor de movimento atual é escolhido e o resíduo do vetor de movimento, isto é, a diferença entre o vetor de movimento e o preditor, é transmitido. O resíduo do vetor de movimento é também chamado de diferença de vetor de movimento (MVD). O esquema MVP pode ser aplicado em uma disposição de circuito fechado onde o preditor é derivado no decodificador com base na informação decodificada e nenhuma informação lateral adicional precisa ser transmitida. Altemativamente, a informação lateral pode ser transmitida explicitamente na corrente de bits para informar o decodificador no que diz respeito ao preditor de vetor de movimento selecionado.
Para o modo Inter no Modelo de Teste HEVC versão 3.0 (HM-3.0), dois preditores de vetor de movimento espaciais (MVPs) e um MVP temporal são incluídos no conjunto candidato de MVPs. Para o modo Skip (com diferenças de vetor de movimento zero e resíduos de predição zero) e modo Merge (com diferenças de vetor de movimento zero) no HM atual, quatro MVP espaciais e um MVP temporal são incluídos no conjunto candidato de MVPs. No HM-3.0, o codificador seleciona um MVP final dentro do conjunto candidato de MVPs para os modos Inter, Skip e Merge e transmite o índice do MVP selecionado par ao decodificador.
Para o modo Inter, o índice do quadro de referência é explicitamente transmitido par ao decodificador. Para o modo Skip e modo Merge, o índice do quadro de referência é igual ao índice do quadro de referência do bloco vizinho selecionado quando um MVP espacial é selecionado como MVP final, e o índice de referência é sempre o conjunto a ser a maior parte dos índices de quadro de referência dos blocos vizinhos quando um MVP temporal é selecionado como MVP final.
A Fig. 1 ilustra o processo de derivação de um MVP a partir de um conjunto candidato de MVPs utilizado no HM-3.0 par ao modo Inter (utilizando candidatos baseados em AMVP) incluindo dois MVP espaciais e um MVP temporal. A ordem da pesquisa de MVPs é como se segue: 1. MVP esquerdo (o primeiro disponível de Ao e Aj), 2. MVP superior (o primeiro disponível de Bo, Bi e B2), e 3. MVP temporal (o primeiro disponível de TRB e TCT).
Como mostrado na Fig. 1, o MVP esquerdo é derivado com base em dois blocos vizinhos (Ao e Ai) no lado esquerdo do bloco atual e a ordem de pesquisa é da parte inferior para a superior (de Ao a Aj). O MVP superior é derivado com base em três blocos vizinhos (Bo, B] e B2) na parte superior do bloco atual e a ordem de pesquisa é da direita para a esquerda (de Bo a B2). Os blocos vizinhos como os blocos esquerdos (Ao a Ai) e os blocos superiores (Bo a B2) são chamados de blocos de referência neste relatório. Uma vez que estes blocos espaciais são utilizados para derivar MVP espacial, estes blocos são também chamados de blocos de referência vizinhos neste relatório. Os blocos de referência vizinhos podem ser apropriadamente selecionados dos blocos que circundam o bloco atual para derivar o MVP espacial ou MVPs.
Com um quadro de referência alvo indicado por um dado índice de quadro de referência de uma dada lista de quadro de referência, um MVP espacial é definido como o primeiro MV disponível apontando para o quadro de referência alvo dentro da dada lista de quadro de referência. Uma vez que o primeiro MV disponível é utilizado como um MVP espacial neste caso, o primeiro MV disponível é também chamado de primeiro MV espacial disponível. Se todos os blocos vizinhos não apresentam qualquer MV apontando para o quadro de referência alvo dentro da dada lista de quadro de referência, o MVP será derivado como um MV escalonado com base no primeiro MV disponível dentro da dada lista de quadro de referência ou dentro de outra lista de quadro de referência.
No HM-3.0, a derivação do MVP superior inclui também verificação de redundância para determinar se o segundo MVP é igual ao primeiro MVP (MVP da esquerda) para aumentar a possibilidade de obtenção de MVPs não redundantes. A ordem de pesquisa para o MVP espacial é ilustrada pelas setas sólidas e tracejadas como mostradas na Fig. 1. Para o MVP superior, os MVs com a Ia prioridade (marcados como 1 circundado por um círculo) de BQ a B2 são pesquisados primeiro, o que é ilustrado pela seta sólida. Quando é encontrado um MV disponível a Ia prioridade, o MV disponível é verificado para se determinar se o MV disponível é o mesmo que o MVP esquerdo. Se for o mesmo que 0 MVP esquerdo, a próxima posição será pesquisada; ao contrário, o MV disponível será utilizado como o MVP superior. Se nenhum MV de pesquisa com a Ia prioridade está disponível ou o MV disponível associado à Ia prioridade for o mesmo que 0 MVP esquerdo, os MVs de pesquisa com as 2a, 3a e 4a prioridades serão pesquisados com uma ordem de pesquisa do bloco Bo para o bloco B2, como mostrado pelas setas tracejadas na Fig. 1. Uma vez encontrado o primeiro MV disponível com qualquer uma das 2a, 3a e 4a prioridades em Bo, o primeiro MV disponível é verificado para se determinar se o primeiro MV disponível é o mesmo que o MVP previamente derivado, isto é, o MVP esquerdo. Se o primeiro MV disponível for o mesmo que o MVP esquerdo, a próxima posição será pesquisada; ao contrário, o primeiro MV disponível será selecionado como o MVP superior.
No exemplo da Fig. 1, vários vetores de movimento associados com um bloco de referência vizinho são verificados para se determinar se qualquer MV existe. Os vários vetores de movimento associados com o bloco de referência vizinho incluem um MV apontando para um quadro de referência alvo em uma dada lista de referência, um MV apontando para o quadro de referência alvo em outra lista de referência, um MV apontando para outros quadros de referência na dada lista de referência, e um MV apontando para os outros quadros de referência na outra lista de referência. Estes vários vetores de movimento associados com um bloco de referência vizinho são chamados de MVs de pesquisa para o bloco de referência vizinho neste relatório. Além disto, uma vez que destes vários vetores de movimento são utilizados para derivar o MVP espacial, estes MVs de pesquisa são também chamados de MVs de pesquisa espacial associados com o bloco de referência vizinho neste relatório. Como mencionado acima, os MVs de pesquisa espacial apresentam respectivas prioridades de pesquisa, chamadas de prioridades espaciais neste relatório. Os MVs de pesquisa espacial de todos os blocos de referência vizinhos são chamados de um conjunto de pesquisa espacial neste relatório. Como mostrado na Fig. 1, a pesquisa para um MVP espacial varrerá cada MV no conjunto de pesquisa espacial de acordo com uma ordem de pesquisa indicada pelas linhas sólida e tracejada. Uma vez que a ordem de pesquisa é utilizada para encontrar um MVP espacial neste caso, a ordem de pesquisa é também chamada de ordem de pesquisa espacial neste relatório. A Fig. 1 ilustra também que uma verificação de redundância é realizada depois que cada MV de pesquisa espacial de Ia prioridade ter sido pesquisado e existe o MV de pesquisa. Depois da pesquisa de MVs de pesquisa espacial de Ia prioridade operar todos os blocos de referência, a pesquisa varre os MVs de pesquisa de 2a prioridade à 4a prioridade para cada um dos blocos de referência vizinhos de BQ a B2. Uma verificação de redundância é realizada depois de terem sido pesquisados os MVs de pesquisa de 2a prioridade até 4a prioridade e um primeiro MV espacial disponível existe. Como mostrado na Fig. 1, a verificação de redundância pode ser realizada depois de cada MV de pesquisa ter siso varrido ou um grupo de MVs de pesquisa espacial múltiplos terem sido varridos. Por conveniência, o conjunto de MVs de pesquisa espacial em que é aplicada a varredura e a verificação de redundância é aplicada posteriormente, é chamado de grupo de MV de pesquisa neste relatório. Da mesma forma, um grupo de MV de pesquisa pode consistir em apenas um MV de pesquisa espacial (por exemplo, MV de pesquisa espacial de Ia prioridade no exemplo da Fig. 1) ou MVs de pesquisa espacial múltiplos (por exemplo, MVs de pesquisa de 2a prioridade até 4a prioridade no exemplo da Fig. 1). A ordem da pesquisa espacial entre os blocos de referência vizinhos para os blocos na parte superior sempre vai da direita para a esquerda. Em outras palavras, o bloco Bo tem a prioridade mais alta e o B2 a prioridade mais baixa entre os blocos de referência vizinhos.
No HM-3.0, o MVP temporal é pésquisado depois de determinado o MVP espacial. A Fig. 2 ilustra o processo de derivação do MVP temporal. O MVP temporal é derivado com base nos MVs associado com os blocos de referência co-localizados TCT e TRB- O bloco TRB é adjacente ao canto direito inferior do bloco co-localizado. O bloco TCT é encontrado pelo mapeamento da posição central da PU atual para a posição correspondente no quadro co-localizado. Se existe um MV associado com o bloco TRB, este será utilizado para a derivação do MVP temporal; ao contrário, os MVs associados com o TCT serão pesquisados. O MVP temporal é derivado utilizando-se a lista 0 de MV ou a lista 1 de MV da posição correspondente no quadro co-localizado. O MVP temporal é definido como o primeiro MV disponível que atravessa o quadro atual, onde o quadro atual está temporalmente entre dois quadros associados com o primeiro MV disponível. Se ambos os vetores de movimento cruzarem o quadro atual, ou se ambos não atravessarem, aquele cuja lista de quadro de referência for a mesma que a dada lista de quadro de referência será selecionado; se esta posição correspondente não apresentar um vetor de movimento dentro da lista de quadro de referência como a dada lista de quadro de referência, o vetor de movimento dentro de outra lista de quadro de referência será selecionado. O vetor de movimento será escalonado de acordo com as distâncias temporais. O fator de escala é baseado na razão da distância temporal entre o quadro atual e o dado quadro de referência para o bloco atual e a distância temporal entre o quadro co-localizado e o quadro de referência associado com o MV da posição correspondente no quadro co-localizado.
No exemplo da Fig. 2, vários vetores de movimento associados com um bloco de referência co-localizado são verificados para se determinar se existe qualquer MV. Os vários vetores de movimento associados com o bloco de referência co-localizado incluem um MV de posição correspondente no quadro co-localizado que atravessa o quadro atual, um MV de posição correspondente no quadro co-localizado dentro da dada lista de quadro de referência, e um MV da posição correspondente no quadro co- localizado dentro da lista de quadro de referência outra que não a dada lista de quadro de referência. Estes vários vetores de movimento associados com um bloco de referência co-localizado são chamadas de MVs de pesquisa para o bloco de referência co-localizado neste relatório. Além disto, uma vez que estes vários vetores de movimento são utilizados para derivar o MVP temporal, estes MVs são também chamados de MVs de pesquisa temporal para o bloco de referência co-localizado neste relatório. Como mencionado acima, os MVs de pesquisa temporal apresentam respectivas prioridades de pesquisa, chamadas de prioridades temporais neste relatório. Os MVs de pesquisa temporal de todos os blocos de referência co-localizados são chamados de um conjunto de pesquisa temporal neste relatório. Como mostrado na Fig. 2, a pesquisa para um MVP temporal irá varrer cada MV no conjunto de pesquisa temporal de acordo com uma ordem de pesquisa indicada por uma linha sólida. Uma vez que a ordem de pesquisa é utilizada para encontrar um MVP temporal neste caso, a ordem de pesquisa é chamada de ordem de pesquisa temporal neste relatório. Quando existe um MV de pesquisa, o MV de pesquisa é chamado de primeiro MV temporal disponível. Depois que foram encontrados todos os MVPs, os MVPs redundantes são removidos do conjunto candidato de MVPs antes da codificação do índice do melhor MVP.
No HM atual (versão 3.0), se um bloco for codificado como modo Merge, um índice de MVP é sinalizado para indicar qual MVP do conjunto candidato de MVPs é utilizado para este bloco a ser combinado. A Fig. 3 ilustra o processo de derivação de MVP de um conjunto candidato de MVPs incluindo quatro MVP espaciais e um MVP temporal. A ordem de pesquisa de MVPs é como se segue: 1. MVP esquerdo (Am), 2. MVP superior (Bn), 3. MVP temporal (o primeiro disponível entre TRB e TCT ), 4. MVP superior direito (Bo), e 5. MVP inferior esquerdo (Ao)
Para os MVP espaciaisno modo Merge, o índice do quadro de referência será o mesmo que o do bloco selecionado. Por exemplo, se bloco Am for selecionado, o MV e o índice do quadro de referência do bloco Am são utilizados para a PU atual. Se o bloco selecionado utilizar predição dupla com dois MVs, os dois MVs e seus índices de quadro de referência são utilizados para a PU atual com predição dupla.
Como mostrado na Fig. 3, o MVP temporal nos modos Skip e Merge é derivado utilizando-se a lista 0 de MV ou a lista 1 de MV dos blocos TRB e TCT no quadro co- localizado. O MVP temporal é definido como o primeiro MV disponível que cruza o quadro atual. Se ambos os vetores de movimento cruzarem o quadro atual, ou ambos não cruzarem, aquele cuja lista de quadro de referência é a mesma que a dada lista de quadro de referência será selecionado se disponível, ao contrário aquele cuja lista de quadro de referência é outra que não a dada lista de quadro de referência será selecionado. O vetor de movimento será escalonado de acordo com as distâncias temporais. A ordem de pesquisa temporal e os MVs de pesquisa temporal são os mesmos que aqueles para o modo Inter mostrados na Fig. 2. Não obstante, uma ordem diferente de pesquisa temporal e os MVs de pesquisa temporal podem ser utilizados para os modos Skip e Merge.
Após terem sido encontrados todos os MVPs, os MVPs redundantes são removidos do conjunto candidato de MVPs antes da codificação do índice do melhor MVP.
Quando um MV atualmente disponível selecionado como um MVP é o mesmo que um MVP previamente selecionado, o MV atualmente disponível não apresenta qualquer potencial para aumentar adicionalmente a eficiência de codificação. O benefício da verificação de redundância se toma clara. O HM-3.0 atual incorpora a verificação de redundância para a derivação de MVP espacial do MVP superior. Os MVs de Ia prioridade são verificados do bloco Bo até B2 e a verificação de redundância é realizada cada vez que é encontrado um MV disponível como mostrado na Fig. 1. Se nenhum MV disponível que não seja o mesmo que um MVP previamente selecionado for encontrado, depois o MV de Istprioridade para B2 é selecionado, o processo continua para pesquisar MVs com outras prioridades para cada um dos blocos superiores como mostrado na Fig. 1. Novamente, a verificação de redundância é realizada cada vez que é encontrado um MV disponível para o bloco superior como mostrado na Fig. 1.
Da mesma forma, na presente invenção, a verificação de redundância é modificada para aumentar adicionalmente a chance de derivação de diferentes MVPs. Em uma realização de acordo com a presente invenção, um procedimento de verificação de MVP redundante para derivação de MVP é evocado depois do MVP espacial e pelo menos um outro MVP serem derivados de maneira a aumentar a possibilidade de obtenção de MVPs candidatos não redundantes. O dito outro MVP pode ser um outro MVP espacial derivado de um outro conjunto de pesquisa espacial, ou um MVP temporal. A verificação de redundância de acordo com a presente invenção pode ser aplicada à derivação de MVP espacial e/ou MVP temporal. Também a verificação de redundância pode ser aplicada à derivação de MVP para os modos Inter, Skip e Merge. Quando um MV derivado provê a mesma inormação de movimento, tais como vetores de movimento, indicadores de predição inter (isto é, predição única ou predição dupla), e índices de quadro de referência, como um MVP previamente derivado, 0 MV derivado é considerado como redundante e o processo de derivação continua para a próxima etapa. A Fig. 4 ilustra uma derivação típica de MVP espacial com verificação de redundância incorporando uma realização da presente invenção. A ordem de pesquisa na Fig. 4 é a mesma que a ordem de pesquisa da Fig. 1. Entretanto, a derivação de MVP da Fig. 4 ilustra que a verificação de redundância é realizada cada vez que um MV de pesquisa disponível é encontrado. Se não existe um MV de pesquisa, não há necessidade de se realizar a verificação de redundância. Uma vez que a verificação de redundância é realizada depois de ter sido pesquisado cada MV de pesquisa espacial de cada bloco de referência vizinho, o grupo de MV de pesquisa consiste em um único MV de pesquisa espacial neste exemplo. A Fig. 5 ilustra uma derivação típica de MVP temporal com a verificação de redundância incorporando uma realização da presente invenção. A ordem de pesquisa na Fig. 5 é a mesma que a ordem de pesquisa da Fig. 2. Entretanto, a derivação de MVP da Fig. 5 ilustra que a verificação de redundância é realizada cada vez que é encontrado um MV de pesquisa disponível. Se não existir um MV de pesquisa, não há necessidade de se realizar a verificação de redundância. Novamente, uma vez que a verificação de redundância é realizada depois de ter sido pesquisado MV de pesquisa temporal de cada bloco de referência co-localizado, o grupo de MV de pesquisa de um único MV de pesquisa temporal neste exemplo.
Em um outro processo de derivação de MVP incorporando uma realização da presente invenção, a verificação de MVP redundante pode ser evocada sempre que todos os MVs de pesquisa para cada bloco de referência foram pesquisados. A Fig. 6 ilustra um exemplo de derivação de MVP espacial que verifica a redundância depois que todos os MVs de pesquisa para cada bloco superior foram pesquisados. For exemplo, os MVs de pesquisa apresentando Ia prioridade até 4a prioridade são pesquisados primeiro para o bloco Bo. Depois de terem sido pesquisados todos os MVs de pesquisa para o bloco BQ, a verificação de redundância é realizada se um MV de pesquisa disponível for encontrado para o bloco. Se um MV de pesquisa estiver disponível e o MV de pesquisa disponível não for o mesmo que um MVP previamente derivado, o MV de pesquisa é aceito como o MVP espacial e a derivação de MVP espacial termina. Se um MV de pesquisa estiver disponível e o MV de pesquisa disponível for o mesmo que um MVP previamente derivado, o processo de derivação de MVP espacial se desloca para o próximo bloco de referência espacial. Se não existir qualquer MV de pesquisa disponível para o bloco, não há necessidade de verificação de redundância e o processo de derivação de MVP espacial se desloca para o próximo bloco de referência espacial. O mesmo processo é repetido para o bloco Bi e então para o bloco B2. Uma vez que a verificação de redundância é realizada depois de terem sido pesquisados os MVs de pesquisa de Ia prioridade até 4a prioridade, o grupo de MV de pesquisa espacial consiste na Ia prioridade até a 4a prioridade neste exemplo. Também a ordem de pesquisa espacial pesquisa do bloco Bo ao B2. Em outras palavras, o bloco Bo tem uma prioridade de pesquisa mais alta que a do bloco Bi, e o bloco Bi tem pesquisa de prioridade mais alta que a do bloco B2. A Fig. 7 ilustra um exemplo de derivação de MVP temporal que verifica a redundância depois de terem sido pesquisados todos os MVs para cada bloco temporal. Depois de terem sido pesquisados todos os MVs de pesquisa para o bloco TRB, a verificação de redundância é realizada para se determinar se um MV de pesquisa disponível é encontrado para o bloco. Se for encontrado um MV de pesquisa disponível e o MV de pesquisa disponível não for o mesmo que um MVP previamente derivado, o MV de pesquisa é aceito como o MVP temporal e a derivação de MVP temporal termina. Ao contrário, a derivação de MVP temporal irá se deslocar para o próximo bloco temporal de referência. Se não existir qualquer MV de pesquisa para o bloco, não há necessidade de verificação de redundância e o processo de derivação de temporal se desloca para o próximo bloco temporal. Após ter sido processado o bloco TRB, o mesmo processo é repetido para o bloco TCT. Uma vez que a verificação de redundância é realizada depois de terem sido pesquisados os MVs de pesquisa de Ia prioridade a 3a prioridade, o grupo de MV de pesquisa temporal consiste na Ia prioridade até a 3a prioridade neste exemplo.
Em ainda um outro processo de derivação de MVP incorporando uma realização da presente invenção, a verificação de MVP redundante pode ser evocada sempre depois da pesquisa de todos os MVs da mesma prioridade para diferentes blocos de referência. A Fig. 8 ilustra um exemplo de derivação MVP espacial que verifica a redundância depois de terem sido pesquisados todos os MVs de pesquisa da mesma prioridade para diferentes blocos superiores. Por exemplo, os MVs de Ia prioridade para os blocos Bo até B2 são pesquisados primeiro. A verificação de redundância é realizada se um MV de pesquisa disponível for encontrado para os MVs de Ia prioridade dos blocos Bo até B2. Se um MV de pesquisa disponível for encontrado e o MV de pesquisa disponível não for 0 mesmo que um MPV previamente derivado, o MV de pesquisa é aceito como o MVP espacial e a derivação de MVP espacial termina. Se um MV de pesquisa disponível for encontrado e o MV de pesquisa disponível for o mesmo que um MVP previamente derivado, a derivação de MVP espacial se desloca para a próxima prioridade de MVs para os blocos Bo até B2. Se não for encontrado qualquer MV de pesquisa disponível para os MVs de Ia prioridade dos blocos Bo até B2, não há necessidade de verificação de redundância e a derivação de MVP espacial se desloca para a próxima prioridade de MVs para os blocos Bo até B2. O mesmo processo é repetido para os MVs de 2a prioridade, MVs de 3a prioridade e então para os MVs de 4a prioridade. Uma vez que a verificação de redundância é realizada depois de terem sido pesquisados os MVs de pesquisa espacial com uma mesma prioridade para todos os blocos espaciais de referência, o grupo de MV de pesquisa espacial consiste em MVs de pesquisa espacial com a mesma prioridade de todos os blocos espaciais de referência neste caso. A Fig. 9 ilustra um exemplo de derivação de MVP temporal que verifica a redundância depois de terem sido pesquisados todos os MVs da mesma prioridade para diferentes blocos de referência co-localizados. Por exemplo, os MVs de Ia prioridade para os blocos TRB e TCT são pesquisados primeiro. A verificação de redundância é realizada para se determinar se um MV de pesquisa disponível é encontrado para os MVs de Ia prioridade dos blocos TRB e TCT- Se for encontrado um MV de pesquisa disponível e o MV de pesquisa não for o mesmo que um MPV previamente derivado, o MV de pesquisa é aceito como o MVP temporal e a derivação de MVP temporal termina. Se for encontrado um MV de pesquisa disponível e o MV de pesquisa for o mesmo que um MVP previamente derivado, a derivação de MVP temporal se desloca para a próxima prioridade de MVs para os blocos TRB e TCT- Se não for encontrado qualquer MV de pesquisa disponível para os MVs de Ia prioridade dos blocos TRB e TCT, não há necessidade de verificação de redundância e a derivação de MVP temporal se desloca para a próxima prioridade de MVs para os blocos TRB e TCT- O mesmo processo é repetido para os MVs de 2a prioridade e então para os MVs de 3a prioridade.
O procedimento de verificação do MVP redundante pode ser desabilitado durante a derivação de um MVP. A Fig. 10 ilustra um exemplo incorporando uma realização da presente invenção em que nenhum procedimento de verificação de MVP redundante é evocado durante a derivação do MVP superior para o modo Inter. O MVP esquerdo é o primeiro disponível dentro dos blocos de referência à esquerda (isto é, Ao e Ai), e o MVP superior é também o primeiro disponível dentro dos blocos de referência na parte superior (isto é, Bo, Bi e B2). O processo de verificação de redundância é realizado depois de serem derivados o MVP esquerdo espacial e o MVP superior espacial. Desta forma, o processo de pesquisa do MVP esquerdo espacial e do MVP superior espacial pode ser realizado em paralelo. Além disto, o processo de verificação de redundância pode ser realizado depois de serem derivados o MVP esquerdo espacial, o MVP superior espacial, e o MVP temporal.
As realizações de derivação de MVP de acordo com a presente invenção como descrita acima podem ser implementadas em vários equipamentos, códigos de programa, ou uma combinação de ambos. Por exemplo, uma realização da presente invenção pode ser um circuito integrado em um chip de compressão de vídeo ou códigos de programa integrados em um software de compressão de vídeo para realizar o processamento descrito aqui. Uma realização da presente invenção pode ser também códigos de programa a serem executados em um Processador de Sinal Digital (“Digital Signal Processor” - DSP) para realizar o processamento descrito aqui. A invenção pode envolver também um número de funções a serem realizadas por um processador de computador, um processador de sinal digital, um microprocessador, ou matrizes de portas de campo programáveis (“field programmable gate array” - FPGA). Estes processadores podem ser configurados para realizar tarefas particulares de acordo com a invenção, executando um código de programa legível em máquina ou código de firmware que define os métodos particulares incorporados pela invenção. O código de programa ou código de firmware podem ser desenvolvidos em diferentes linguagens de programação e diferentes formatos ou estilos. O código de programa pode ser também compilado para diferentes plataformas alvo. Entretanto, diferentes formatos, estilos e linguagens de códigos de programa e outros meios de códigos de configuração para realizar as tarefas de acordo com a invenção não se afastam do espírito e escopo da invenção.
A invenção pode ser concretizada em outras fonnas específicas sem se afastar de seu espírito ou características essenciais. Os exemplos descritos devem ser considerados em todos os aspectos apenas como ilustrativos e não restritivos. O escopo da invenção é, desta forma, indicado pelas reivindicações anexas em vez de pela descrição acima. Todas as alterações que recaiam no significado e faixa de equivalência das reivindicações devem ser consideradas como englobadas em seu escopo.